!"" ' #$$$%&' ()*$+&',! Nazwy programów, polece, katalogów, wyniki działania wydawanych polece.

Wielkość: px
Rozpocząć pokaz od strony:

Download "!"" ' #$$$%&' ()*$+&',! Nazwy programów, polece, katalogów, wyniki działania wydawanych polece."

Transkrypt

1 !"" "! "#$%&$ ' #$$$%&' ()*$+&',! (" " $! #)' -$$!.$$/)$! ! 3$ Czcionka o stałej szerokoci Nazwy programów, polece, katalogów, wyniki działania wydawanych polece. Czcionka o stałej szerokoci pogrubiona Podaje tekst, który naley dosłownie przepisa. W przypadku plików ródłowych wyrónia istotniejsze fragmenty. Czcionka o stałej szerokoci kursyw Tekst komentarza w przykładowych sesjach przy terminalu. Czcionka o stałej szerokoci kursyw pogrubiona Wyrónia istotniejsze fragmenty wyników działania wydawanych polece. "! ')$ Celem wiczenia jest zapoznanie studenta z podstawami pracy z kompilatorem GNU cc (gcc), który de facto jest standardem we wszystkich dystrybucjach systemu LINUX. Praca z nim nie jest specjalnie trudna (przynajmniej do czasu, gdy nie musimy uywa jego bardzo zaawansowanych moliwoci), jednak wymaga poznania paru podstawowych jego elementów. opracowali: dr in. Artur Gramacki, dr in. Jarosław Gramacki 1

2 Przede wszystkim naley uwiadomi sobie (i to zaakceptowa), e praca z tym kompilatorem odbywa bdzie si wyłcznie w trybie tekstowym. Innymi słowy wszystkie polecenia bd wydawane wprost z konsoli systemowej. Poniewa zwykle ilo tych polece jest do dua, niemal zawsze bdziemy posługiwa si programem make ułatwiajcym tworzenie bardziej złoonych aplikacji. Praca z programem make bdzie tematem jednego z kolejnych laboratoriów. Na pocztek moemy spokojnie obej si bez tego narzdzia. 4! 3$$)$) Najprostszy program w jzyku C moe mie nastpujc klasyczn posta (uwaga: numery poszczególnych linii nie s czci kodu ródłowego. Umieszczono je wyłcznie w celu łatwiejszego odwoływania si do niego): 1 #include<stdio.h> 2 int main(void) 3 4 printf("hello, world!\n"); 5 return(0); 6 Zadaniem powyszego programu jest, jak pewnie nie trudno si domyle, wywietlenie napisu Hello, world! na ekranie komputera. W linii 1 umieszczono tzw. dyrektyw #include, która zleca dołczy w czasie kompilacji programu zawarto tzw. pliku nagłówkowego o nazwie stdio.h (tam zawarta jest min. definicja funkcji standardowej printf i wiele, wiele innych informacji. Warto choby pobienie zapozna si z jego zawartoci, cho prawdopodobnie na pocztku wikszo jego zawartoci bdzie dla nas kompletnie nieczytelna). W linii 2 umieszczona jest deklaracja funkcji main. W kadym pliku ródłowym w jzyku C musi istnie przynajmniej jedna funkcja i musi ona nazywa si main. Napis int oznacza, e funkcja zwraca bdzie liczb (zmienn) typu całkowitego, natomiast napis void oznacza, e funkcja nie otrzymuje z zewntrz adnych parametrów. W liniach 3-6 znajduje si ciało funkcji main. Wewntrz niej znajduje si standardowa funkcja o nazwie printf, której zadaniem jest wywietlenie na ekranie podanego jako jej argument napisu. Znaki sterujce \n nakazuj po wywietleniu napisu ustawi kursor w nowej linii. Po wywietleniu napisu funkcja koczy działanie i zwraca do rodowiska wywołujcego warto 0, co zwykło si interpretowa jako poprawne zakoczenie działania programu. Aby skompilowa powyszy program wydajemy polecenie: $ gcc hello.c W wyniku otrzymujemy skompilowany plik o nazwie a.out. Gdy chcemy, aby plik wynikowy miał inn nazw (a zwykle tak chcemy), wówczas wydajemy polecenie kompilacji w takiej jak poniej postaci: $ gcc hello.c o hello Wówczas powstanie plik wynikowy o nazwie hello (bez typowego dla systemów DOS / Windows rozszerzenia.exe cho nic oczywicie nie stoi na przeszkodzie, aby takie rozszerzenie nada plikowi wynikowemu. W rodowiskach UNIX nie jest to jednak praktykowane). opracowali: dr in. Artur Gramacki, dr in. Jarosław Gramacki 2

3 Uwaga: Ostatnia linia w pliku ródłowym MUSI by poprawnie zakoczona, tzn. ostatnim znakiem musi by znak koca linii (LF ang. line feed, kod ASCII 0A). Gdy bdzie inaczej kompilator wygeneruje ostrzeenie: $ gcc hello.c -o hello hello.c:6:2: warning: no newline at end of file Poprawny plik ródłowy Hello world (ogldany jako kody szesnastkowe) bdzie wygldał wic jak poniej. Znak koca linii, o którym mowa wyej, został powikszony i wytłuszczony: E63 6C C F 2E68 #include<stdio.h 3E0A 696E D61 696E F >.int main(void) 0A7B 0A E C 6C6F..printf("Hello 2C20 776F 726C C 6E22 293B 0A72, world!\n");.r E B0A 7D0A eturn(0);.. O tym, e plik powstał moemy przekona si wydajc polecenie ls l systemu operacyjnego. Zwrómy uwag na atrybut x tego pliku. Oznacza on, e plik jest wykonywalny (ang. executable). Aby uruchomi skompilowany włanie program wydajemy nastpujce polecenie: $./hello Hello, world! (uwaga: kropka oznacza, e chcemy wykona program znajdujcy si w katalogu biecym. Bez tej kropki system, operacyjny bdzie poszukiwał wskazanego pliku w katalogach zapisanych w zmiennej systemowej $PATH a to w niektórych sytuacjach moe by bardzo grone. Czy domylasz si dlaczego?). Kompilujc program kompilatorem gcc moemy poda kompilatorowi róne szczegółowe informacje w jaki sposób ma kompilowa nasze programy. Informacje te podajemy w formie tzw. przełczników kompilatora. Ich pełen opis zajmuje kilkanacie stron w dokumentacji (patrz polecenie man gcc lub Poniej podajemy tylko kilka przykładowych opcji: -Ikatalogu -Lkatalogu -lcostam -Wall -w -pedantic -pedanticerrors -werror wstawia katalog na pocztek listy katalogów, które kompilator bdzie przegldał w poszukiwaniu plików nagłówkowych wstawia katalog na pocztek listy katalogów, które kompilator bdzie przegldał w poszukiwaniu bibliotek dołcza bibliotek o nazwie libcostam. Uwaga: w systemach z rodziny UNIX przyjło si, e biblioteki maj nazwy rozpoczynajce si od słowa lib. Wobec tego, gdy napiszemy lcostam kompilator gcc bdzie szukał na dysku pliku o nazwie libcostam.a lub libcostam.so. Rozszerzenia.a oraz.so s standardowymi rozszerzeniami bibliotek w systemie UNIX i uywajc przełcznika l nie podajemy ich jawnie wywietla wszystkie ostrzeenia kompilatora gcc wyłcza wszystkie ostrzeenia kompilatora. Uywanie tej opcji nie jest zalecane. Wywietla wszystkie ostrzeenia wymagane przez ANSI C Wywietla wszystkie błdy wymagane przez ANSI C ostrzeenia zamienia na błdy, zatrzymujc kompilacj opracowali: dr in. Artur Gramacki, dr in. Jarosław Gramacki 3

4 -g wstawia do pliku wynikowego (binarnego) standardowe informacje wyszukiwania błdów (tzw. informacje dla debuggera bdzie o nim mowa w jednym z kolejnych wicze) -ggdb -ansi podobnie jak g, ale informacji tych jest znacznie wicej ciekawy przełcznik o walorach dydaktycznych. cisła kontrola zgodnoci ze standardem ANSI C. Poniej wykonano pewien cig czynnoci demonstrujcych działanie tych przełczników. Aby zmusi kompilator go wygenerowania ostrzeenia zmieniono druga lini w przykładowym programie na: void main(void) Kompilator bdzie wówczas ostrzegał nas o niepoprawnej definicji funkcji main. Definicja mówi, e funkcja nie zwraca adnej wartoci (słowo kluczowe void), cho w rzeczywistoci funkcja zwraca warto typu całkowitego. Zwykle powinnimy dy do tego, aby eliminowa przyczyny pojawiania si ostrzee kompilatora. W bardzo prostych programach moe nie jest to a tak istotne, jednak w złoonych projektach ostrzeenia kompilatora mog by zwiastunem trudnych do zdiagnozowania błdów w działaniu programów. Zwrómy równie uwag na zmian wielkoci pliku wynikowego po uyciu opcji g oraz ggdb. Na pocztku mamy tylko plik ródłowy. -rw-r--r-- 1 root root 82 Sep 21 21:53 hello.c Kompilujemy plik ródłowy. Powstaje plik wynikowy a.out. Jest to plik wykonywalny (atrybut x). $ gcc hello.c -rwxr-xr-x 1 root root 4819 Sep 22 00:12 a.out -rw-r--r-- 1 root root 82 Sep 21 21:53 hello.c Wykonujemy program. Uwaga na kropk. $./a.out Hello, world! Kompilujemy plik ródłowy. Powstaje plik wynikowy hello. $ gcc hello.c -o hello -rwxr-xr-x 1 root root 4819 Sep 22 00:13 a.out -rwxr-xr-x 1 root root 4819 Sep 22 00:13 hello -rw-r--r-- 1 root root 82 Sep 21 21:53 hello.c Kompilujemy plik ródłowy. Dodajemy informacje dla debuggera. Rozmiar pliku wynikowego powiksza si. $ gcc hello.c -o hello -g -rwxr-xr-x 1 root root 4819 Sep 22 00:13 a.out -rwxr-xr-x 1 root root Sep 22 00:14 hello opracowali: dr in. Artur Gramacki, dr in. Jarosław Gramacki 4

5 -rw-r--r-- 1 root root 82 Sep 21 21:53 hello.c $ gcc hello.c -o hello -ggdb -rwxr-xr-x 1 root root 4819 Sep 22 00:13 a.out -rwxr-xr-x 1 root root Sep 22 00:14 hello -rw-r--r-- 1 root root 82 Sep 21 21:53 hello.c Plik ródłowy został zmieniony. W drugiej linii jest: void main(void). Kompilator generuje ostrzeenie (ang. warning). $ gcc hello.c -o hello hello.c: In function `main': hello.c:5: warning: `return' with a value, in function returning void hello.c:3: warning: return type of `main' is not `int' Za pomoc przełcznika w ignorujemy wszystkie ew. ostrzeenia kompilatora. Nie jest to jednak dobra praktyka! Ostrzeenia kompilatora mog by preludium do powanych kłopotów! $ gcc hello.c -o hello -w -rwxr-xr-x 1 root root 4803 Sep 22 00:26 hello -rw-r--r-- 1 root root 83 Sep 22 00:25 hello.c Program uruchomił si, mimo ostrzee kompilatora. W ogólnoci tak by nie musi. Program moe nie działa lub działa z trudnymi do zdiagnozowania błdami. $./hello Hello, world! $ 5!.)$67 Tylko bardzo proste programy składaj si wyłcznie z jednego pliku ródłowego. Zwykle tych plików jest wiele, gdy dzielenie kodów ródłowych na wiele plików jest po prostu wygodne i zwiksza efektywno programowania. Proces kompilacji programów za pomoc kompilatora gcc składa si z czterech etapów: przetwarzania wstpnego, kompilacji, asemblacji oraz łczenia. Nie wnikajc w tej chwili w szczegóły powiedzmy tylko tyle, e efektem porednim pomidzy plikiem ródłowym a plikiem wynikowym jest tzw. kod obiektowy (plik poredni). Gdy plików ródłowych jest kilka, kilka jest te plików obiektowych. Za pomoc programu scalajcego (ang. linker) naley połczy je w jeden plik wykonywalny. Obrazuje to poniszy rysunek: plik1.c Kompilator gcc plik1.o Linker plik2.c plik3.c Kompilator gcc Kompilator gcc plik2.o plik3.o Program wykonywalny opracowali: dr in. Artur Gramacki, dr in. Jarosław Gramacki 5

6 Kady z plików ródłowych mona oczywicie kompilowa oddzielnie, ale chcc otrzyma jeden wynikowy plik wykonywalny naley skompilowa je w taki sposób, aby automatycznie nastpiło utworzenie plików obiektowych oraz (tu jednego) pliku wynikowego. Wykonanie powyszego zadania z uyciem kompilatora gcc jest bardzo proste. Naley po prostu w wierszu polece gcc poda nazw wszystkich plików ródłowych, które maj by skompilowane. Reszta zostanie wykonana automatycznie. Poniej zamieszczono przykład programu z 3 plikami ródłowymi oraz sposób ich kompilacji. Prosimy o bardzo wnikliwe zapoznanie si z plikami ródłowymi oraz z przykładowym zapisem sesji przy terminalu. // calc.c #include <stdio.h> #include <stdlib.h> // Funkcje nazywam div2, bo istnieje juz w bibliotece standardowe // funkcja o nazwie div extern double add (double, double); extern double sub (double, double); extern double mul (double, double); extern double div2(double, double); // extern gdy definicje funkcji znajduj si w innym pliku int main(void) double a, b; char str[80]; printf("\n\nprosty kalkulator: \n"); printf("==================\n\n"); printf ("Podaj pierwsza liczbe (a): "); gets(str); a = atof(str); printf ("Podaj druga liczbe (b): "); gets(str); b = atof(str); printf("\n"); printf("liczba a: %8.2f\nLiczba b: %8.2f\n\n", a, b); printf("a + b: %8.2f\n", add(a, b)); printf("a - b: %8.2f\n", sub(a, b)); printf("a * b: %8.2f\n", mul(a, b)); printf("a / b: %8.2f\n", div2(a, b)); printf("\n *** Koniec ***\n\n"); return 0; // addsub.c double add (double a, double b) return a + b; double sub (double a, double b) return a - b; opracowali: dr in. Artur Gramacki, dr in. Jarosław Gramacki 6

7 // muldiv.c double mul (double a, double b) return a * b; double div2 (double a, double b) return a / b; Na pocztku mamy tylko 3 pliki ródłowe. -rw-r--r-- 1 root root 130 Sep 21 23:57 addsub.c -rw-r--r-- 1 root root 761 Sep 22 00:35 calc.c -rw-r--r-- 1 root root 130 Sep 21 23:57 muldiv.c Kompilujemy pliki. Kompilator gcc wie co z nimi zrobi. Automatycznie stworzy pliki obiektowe oraz połczy je w jeden wynikowy plik wykonywalny. Ostrzeenia o uywaniu funkcji gets wynikaj z podatnoci tej funkcji na ataki hacker-ów (przepełnienie bufora). $ gcc calc.c addsub.c muldiv.c -o calc /tmp/ccnhljiv.o: In function `main': /tmp/ccnhljiv.o(.text+0x3e): the `gets' function is dangerous and should not be used. W wyniku kompilacji powstaje plik wykonywalny. -rw-r--r-- 1 root root 130 Sep 21 23:57 addsub.c -rwxr-xr-x 1 root root 6049 Sep 22 00:39 calc -rw-r--r-- 1 root root 761 Sep 22 00:35 calc.c -rw-r--r-- 1 root root 130 Sep 21 23:57 muldiv.c Tym razem kompilujemy pliki ródłowe tylko do postaci obiektowej. Na dysku powstaj pliki z rozszerzeniem.o $ gcc -c calc.c addsub.c muldiv.c -rw-r--r-- 1 root root 130 Sep 21 23:57 addsub.c -rw-r--r-- 1 root root 793 Sep 22 00:39 addsub.o -rwxr-xr-x 1 root root 6049 Sep 22 00:39 calc -rw-r--r-- 1 root root 761 Sep 22 00:35 calc.c -rw-r--r-- 1 root root 1904 Sep 22 00:39 calc.o -rw-r--r-- 1 root root 130 Sep 21 23:57 muldiv.c -rw-r--r-- 1 root root 794 Sep 22 00:39 muldiv.o Utworzone pliki obiektowe łczymy w jeden wynikowy plik wykonywalny. Pliki calc oraz calc2 maj identyczne rozmiary i de facto identyczn struktur. $ gcc calc.o addsub.o muldiv.o -o calc2 calc.o: In function `main': calc.o(.text+0x3e): the `gets' function is dangerous and should not be used. -rw-r--r-- 1 root root 130 Sep 21 23:57 addsub.c -rw-r--r-- 1 root root 793 Sep 22 00:39 addsub.o opracowali: dr in. Artur Gramacki, dr in. Jarosław Gramacki 7

8 -rwxr-xr-x 1 root root 6049 Sep 22 00:39 calc -rw-r--r-- 1 root root 761 Sep 22 00:35 calc.c -rw-r--r-- 1 root root 1904 Sep 22 00:39 calc.o -rwxr-xr-x 1 root root 6049 Sep 22 00:40 calc2 -rw-r--r-- 1 root root 130 Sep 21 23:57 muldiv.c -rw-r--r-- 1 root root 794 Sep 22 00:39 muldiv.o Oczywicie gdy zmodyfikujemy tylko jeden plik, to nie ma potrzeby kompilowania wszystkich plików ródłowych. Przeanalizuj takie podejcie: $ gcc -c calc.c $ gcc calc.o addsub.o muldiv.o -o calc2 Załómy, e w katalogu biecym znajduj si pliki ródłowe, a w podkatalogu moje-pliki-n nasze własne pliki nagłówkowe. Niech pocztek pliku calc.c wyglda tak: // calc.c #include <stdio.h> #include <stdlib.h> #include "moj.h" // tak zwykło si pisa dla plików niestandardowych... Przykładowa zawarto pliku moj.h: // moj.h #define AUTOR Artur_Gramacki Aby teraz poprawnie skompilowa program, naley uy przełcznika -I $ gcc -c Imoje-pliki-n calc.c Uycie przełcznika pedantic bardzo rygorystycznie sprawdza poprawno kodu. W tym przypadku pokazuje, e w pliku moj.k zapomnielimy nacisn Enter na kocu wiersza $ gcc -c Imoje-pliki-n pedantic calc.c In file included from calc.c:5: moje-pliki-n/moj.h:1: warning: file does not end in newline Uruchamiamy nasz program. $./calc Prosty kalkulator: ================== Podaj pierwsza liczbe (a): 10 Podaj druga liczbe (b): 20 Liczba a: Liczba b: a + b: a - b: a * b: a / b: 0.50 *** Koniec *** I to by było na tyle! opracowali: dr in. Artur Gramacki, dr in. Jarosław Gramacki 8

%$-,./+,-.0! Nazwy programów, polece, katalogów, wyniki działania wydawanych polece.

%$-,./+,-.0! Nazwy programów, polece, katalogów, wyniki działania wydawanych polece. !" $$$%&'! (%&'$)*)$$ +,-.!!" " " %$-,./+,-.0! $%& 1$$! %$$23$! 45 45!6$ Czcionka o stałej szerokoci Nazwy programów, polece, katalogów, wyniki działania wydawanych polece. Czcionka o stałej szerokoci

Bardziej szczegółowo

Wstęp do Programowania, laboratorium 02

Wstęp do Programowania, laboratorium 02 Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite

Bardziej szczegółowo

Programowanie Proceduralne

Programowanie Proceduralne Programowanie Proceduralne Makefile Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 14 Co to jest Makefile Makefile jest plikiem reguł dla programu make. Wykorzystywany jest

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania :: Roman Grundkiewicz :: 014 Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania - Roman Grundkiewicz - 013Z Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

Bardziej szczegółowo

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor

Bardziej szczegółowo

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga! Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)

Bardziej szczegółowo

Wprowadzenie do kompilatorów

Wprowadzenie do kompilatorów Wprowadzenie do kompilatorów Czy ja kiedykolwiek napisz jaki kompilator? Jakie zadania ma do wykonania kompilator? Czy jzyk formalny to rodzaj jzyka programowania? Co to jest UML?, Czy ja kiedykolwiek

Bardziej szczegółowo

Sposoby przekazywania parametrów w metodach.

Sposoby przekazywania parametrów w metodach. Temat: Definiowanie i wywoływanie metod. Zmienne lokalne w metodach. Sposoby przekazywania parametrów w metodach. Pojcia klasy i obiektu wprowadzenie. 1. Definiowanie i wywoływanie metod W dotychczas omawianych

Bardziej szczegółowo

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Podstawy programowania C dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Tematy Struktura programu w C Typy danych Operacje Instrukcja grupująca Instrukcja przypisania Instrukcja warunkowa Struktura

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Wydział Elektrotechniki, Informatyki i Telekomunikacji. Instytut Informatyki i Elektroniki. Instrukcja do zajęć laboratoryjnych

Wydział Elektrotechniki, Informatyki i Telekomunikacji. Instytut Informatyki i Elektroniki. Instrukcja do zajęć laboratoryjnych Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych wersja: 1.32 Nr ćwiczenia: 5 Temat: Cel ćwiczenia: Wymagane przygotowanie teoretyczne:

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania

Bardziej szczegółowo

Wstęp. do języka C na procesor 8051. (kompilator RC51)

Wstęp. do języka C na procesor 8051. (kompilator RC51) Wstęp do języka C na procesor 8051 (kompilator RC51) Kompilator języka C Kompilator RC51 jest kompilatorem języka C w standardzie ANSI Ograniczeń w stosunku do ANSI jest niewiele głównie rzadkie operacje

Bardziej szczegółowo

Tworzenie oprogramowania

Tworzenie oprogramowania Tworzenie oprogramowania Język C Budowa programu napisanego w języku C podział na pliki z definicjami funkcji, korzystanie z bibliotek systemowych i własnych automatyzacja kompilacji za pomocą make dzielenie

Bardziej szczegółowo

RODOWISKO DEV-C++ Wymagania sprz towe (zalecane): - Microsoft Windows 2000, XP - 32 MB RAM - 400 MHz Intel compatible CPU, 200 MB free disk space

RODOWISKO DEV-C++ Wymagania sprz towe (zalecane): - Microsoft Windows 2000, XP - 32 MB RAM - 400 MHz Intel compatible CPU, 200 MB free disk space rodowisko Dev-C++: RODOWISKO DEV-C++ - produkcja: Bloodshed Software - internet: www.bloodshed.net - licencja: Free Software distributed under the GNU General Public License - wersja: 5.0 beta 9.2 (4.9.9.2)

Bardziej szczegółowo

#include void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

Wprowadzenie do środowiska Qt Creator

Wprowadzenie do środowiska Qt Creator 1.Instalacja środowiska Qt Creator Qt Creator jest wygodnym środowiskiem programistycznym przeznaczonym do tworzenia projektów, czyli aplikacji zarówno konsolowych, jak i okienkowych z wykorzystaniem biblioteki

Bardziej szczegółowo

... Ireneusz Mrozek. Wydział Informatyki

... Ireneusz Mrozek. Wydział Informatyki Ireneusz Mrozek Wydział Informatyki Proces wykonujcy si program Proces jednostka pracy systemu zarzdzan przez system operacyjny. W skład procesu wchodz: - program; - dane - zawarto rejestrów, stosu; -

Bardziej szczegółowo

Metodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

Metodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA Metodyki i Techniki Programowania 1 1 ZAJ CIA 3. 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA IDE zintegrowane środowisko programistyczne, zawierające kompilator, edytor tekstu i linker,

Bardziej szczegółowo

Planowanie adresacji IP dla przedsibiorstwa.

Planowanie adresacji IP dla przedsibiorstwa. Planowanie adresacji IP dla przedsibiorstwa. Wstp Przy podejciu do planowania adresacji IP moemy spotka si z 2 głównymi przypadkami: planowanie za pomoc adresów sieci prywatnej przypadek, w którym jeeli

Bardziej szczegółowo

Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu Informatyka, Ćwiczenie 1 1. Uruchomienie Microsoft Visual C++ I. ZałoŜenie nowego projektu Wybieramy menu: File>New>Files jak na rys. poniŝej Zapisujemy projekt pod nazwą LAN, w katalogu d:\temp\lab typu

Bardziej szczegółowo

Errata. Instalacja sklepu internetowego

Errata. Instalacja sklepu internetowego Errata. Instalacja sklepu internetowego Aplikacja sklepu internetowego została napisana i przetestowana w rodowisku PHP 4 oraz MySQL 4.0. Poniewa jednak na płycie CD-ROM dołczonej do ksiki znajduje si

Bardziej szczegółowo

#include int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

Piotr Dwieczkowski. Code coverage. Mierzenie pokrycia kodu, teoria oraz praktyka w C/C++

Piotr Dwieczkowski. Code coverage. Mierzenie pokrycia kodu, teoria oraz praktyka w C/C++ Piotr Dwieczkowski Code coverage Mierzenie pokrycia kodu, teoria oraz praktyka w C/C++ Plan Co to jest pokrycie kodu? Możliwe sposoby wykorzystania Rodzaje statystyk Wady i zalety mierzenia porycia kodu

Bardziej szczegółowo

Systemy operacyjne laboratorium 3 Paweł Gmys strona 1

Systemy operacyjne laboratorium 3 Paweł Gmys strona 1 Systemy operacyjne laboratorium 3 Paweł Gmys strona 1 Windows Host Script WSH udostpnia dwa tryby uruchamiania skryptów: tekstowy i graficzny. O sposobie przetwarzania programu moe zadecydowa powłoka systemowa

Bardziej szczegółowo

Zastosowanie programu Microsoft Excel do analizy wyników nauczania

Zastosowanie programu Microsoft Excel do analizy wyników nauczania Grayna Napieralska Zastosowanie programu Microsoft Excel do analizy wyników nauczania Koniecznym i bardzo wanym elementem pracy dydaktycznej nauczyciela jest badanie wyników nauczania. Prawidłow analiz

Bardziej szczegółowo

{Opracowała Małgorzata Roguska} Tematy lekcji:

{Opracowała Małgorzata Roguska} Tematy lekcji: Pascal {Opracowała Małgorzata Roguska} Tematy lekcji: c) Ogólne omówienie Pascala, d) rodowisko Borland Pascala 7.0 (BP 7.0), e) Struktura programu w Pascalu, a. identyfikatory b. słowa kluczowe c. literały

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Programowanie. Ćwiczenie Język C. Środowisko programowania Visual Studio

Programowanie. Ćwiczenie Język C. Środowisko programowania Visual Studio Programowanie Ćwiczenie Język C. Środowisko programowania Visual Studio Tematy ćwiczenia praca ze środowiskiem, tworzenie i uruchomienie programu, struktura programu, deklaracje i definicje typy standardowe,

Bardziej szczegółowo

Środowisko Keil. Spis treści. Krzysztof Świentek. Systemy wbudowane. 1 Trochę teorii. 2 Keil

Środowisko Keil. Spis treści. Krzysztof Świentek. Systemy wbudowane. 1 Trochę teorii. 2 Keil Środowisko Krzysztof Świentek Systemy wbudowane Spis treści 1 2 Źródła 1 http://infocenter.arm.com 2 http://www.keil.com/arm/mdk.asp 3 http://pl.wikipedia.org Spis treści 1 2 Co to jest toolchain? Zbiór

Bardziej szczegółowo

Przegldanie stron wymaga odpowiedniej mikroprzegldarki w urzdzeniu mobilnym lub stosownego emulatora.

Przegldanie stron wymaga odpowiedniej mikroprzegldarki w urzdzeniu mobilnym lub stosownego emulatora. I. Temat wiczenia Podstawy tworzenia stron WAP II. Wymagania Podstawowe wiadomoci z technologii Internetowych. III. wiczenie 1. Wprowadzenie WAP (ang. Wireless Application Protocol) - to protokół umoliwiajcy

Bardziej szczegółowo

Programowanie niskopoziomowe

Programowanie niskopoziomowe Programowanie niskopoziomowe Programowanie niskopoziomowe w systemie operacyjnym oraz poza nim Tworzenie programu zawierającego procedury asemblerowe 1 Programowanie niskopoziomowe w systemie operacyjnym

Bardziej szczegółowo

Java Code Signing 1.4 6.0. Uycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii Java. wersja 1.1 UNIZETO TECHNOLOGIES SA

Java Code Signing 1.4 6.0. Uycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii Java. wersja 1.1 UNIZETO TECHNOLOGIES SA Java Code Signing 1.4 6.0 Uycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii Java wersja 1.1 Spis treci 1. WSTP... 3 2. TWORZENIE KLUCZA PRYWATNEGO I CERTYFIKATU... 3 2.1. TWORZENIE

Bardziej szczegółowo

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)

Bardziej szczegółowo

Laboratorium 0: System Linux, edytor vim i kompilator gcc. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Laboratorium 0: System Linux, edytor vim i kompilator gcc. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski Laboratorium 0: System Linux, edytor vim i kompilator gcc dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 24 lutego 2015 1. Wprowadzenie W tej instrukcji został zawarty opis środowiska, które będzie

Bardziej szczegółowo

Wstęp do programowania 1

Wstęp do programowania 1 Wstęp do programowania 1 Struktury Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 12 Struktura dla dat - przykład #include struct Date { int y; short m; short

Bardziej szczegółowo

Nazwy programów, polece, katalogów, wyniki działania wydawanych polece.

Nazwy programów, polece, katalogów, wyniki działania wydawanych polece. !"! " #$%& $$'()*+'$%,)-#! #$!$ $!!%&" -$$!.$$&%$! /0 /10!2$ Czcionka o stałej szerokoci Nazwy programów, polece, katalogów, wyniki działania wydawanych polece. Czcionka o stałej szerokoci pogrubiona Podaje

Bardziej szczegółowo

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego,

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego, Wstp GeForms to program przeznaczony na telefony komórkowe (tzw. midlet) z obsług Javy (J2ME) umoliwiajcy wprowadzanie danych według rónorodnych wzorców. Wzory formularzy s pobierane z serwera centralnego

Bardziej szczegółowo

3 Przygotował: mgr inż. Maciej Lasota

3 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 3 1/8 Język C Instrukcja laboratoryjna Temat: Instrukcje warunkowe, pętle. 3 Przygotował: mgr inż. Maciej Lasota 1) Instrukcje warunkowe. Instrukcje warunkowe pozwalają zdefiniować warianty

Bardziej szczegółowo

Program 14. #include #include using namespace std;

Program 14. #include <iostream> #include <ctime> using namespace std; Program 14 Napisać: * funkcję słuŝącą do losowego wypełniania tablicy liczbami całkowitymi z podanego zakresu (*). Parametrami funkcji mają być tablica, jej długość oraz dwie liczby stanowiące krańce przedziału

Bardziej szczegółowo

Program do konwersji obrazu na cig zero-jedynkowy

Program do konwersji obrazu na cig zero-jedynkowy Łukasz Wany Program do konwersji obrazu na cig zero-jedynkowy Wstp Budujc sie neuronow do kompresji znaków, na samym pocztku zmierzylimy si z problemem przygotowywania danych do nauki sieci. Przyjlimy,

Bardziej szczegółowo

Podstawy programowania w C materiały dla ucznia:

Podstawy programowania w C materiały dla ucznia: Podstawy programowania w C materiały dla ucznia: Tematy lekcji: 1 Język C: edycja i kompilacja programów. Ogólna struktura i budowa programu. 2 Podstawowe elementy języka C słowa kluczowe, instrukcje podstawowe.

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

Low Level Virtual Machine

Low Level Virtual Machine Wprowadzenie Low Level Virtual Machine J. Lamecki 14 czerwca 2011 Outline Wprowadzenie 1 Wprowadzenie Co to jest LLVM? Dlaczego moduªowy kompilator? Cechy LLVM 2 Format LLVM IR Bloki podstawowe SSA 3 U»yte

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Podstawy Kompilatorów

Podstawy Kompilatorów Podstawy Kompilatorów Laboratorium 1 Celem laboratorium jest zapoznanie się ze środowiskiem i sprawdzenie poprawności działania narzędzi. Nazwy programów i rezultaty będą takie same w systemie operacyjnym

Bardziej szczegółowo

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po

Bardziej szczegółowo

SFML. (Simple and Fast Multimedia Library)

SFML. (Simple and Fast Multimedia Library) SFML (Simple and Fast Multimedia Library) I Przygotowanie do tworzenia programów z użyciem biblioteki SFML w środowisku Code::Blocks.... 2 II Struktura programu... 3 III Obiekty graficzne... 3 1. Podstawowe

Bardziej szczegółowo

Wesoła szkoła i przyjaciele, kl. 2 Plan wynikowy zaj komputerowych

Wesoła szkoła i przyjaciele, kl. 2 Plan wynikowy zaj komputerowych Wesoła szkoła i przyjaciele, kl. 2 Plan wynikowy zaj komputerowych Numer zaj 1. 2. 3. 4. Temat zaj Zakres materiału Osignicia ucznia Znowu razem Bdmy bezpieczni! Bdmy uwani! Ogród pełen barw i smaków Sprztamy

Bardziej szczegółowo

Podstawy programowania - 1

Podstawy programowania - 1 Podstawy programowania - 1 doc. dr inż. Tadeusz Jeleniewski Wykład: sobota B, godz. 10.30 12.55 sala 12 Laboratorium: sobota B, godz. 13.00 15.25 sala 2 sobota B, godz. 15.30-17.55 sala 2 e-mail: tadeusz.jeleniewski@pwr.wroc.pl

Bardziej szczegółowo

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation). Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation). 1. Programowanie zdarzeniowe Programowanie zdarzeniowe

Bardziej szczegółowo

Programowanie strukturalne i obiektowe

Programowanie strukturalne i obiektowe Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie

Bardziej szczegółowo

1.Wstęp. 2.Generowanie systemu w EDK

1.Wstęp. 2.Generowanie systemu w EDK 1.Wstęp Celem niniejszego ćwiczenia jest zapoznanie z możliwościami debuggowania kodu na platformie MicroBlaze oraz zapoznanie ze środowiskiem wspomagającym prace programisty Xilinx Platform SDK (Eclipse).

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16 M. Trzebiński C++ 1/16 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IFJ PAN 6lipca2015 Uruchomienie maszyny w CC1 M. Trzebiński C++ 2/16

Bardziej szczegółowo

Laboratorium numer 1 Przygotowanie stanowiska programistycznego

Laboratorium numer 1 Przygotowanie stanowiska programistycznego Opracowanie autorskie: In. Mirosław Ochodek Konsultacja metodyczna: Prof. PWSZ dr in. Bolesław Ochodek PROGRAMOWANIE OBIEKTOWE Laboratorium numer 1 Przygotowanie stanowiska programistycznego 1. POBRANIE

Bardziej szczegółowo

Automatyzacja kompilacji. Automatyzacja kompilacji 1/28

Automatyzacja kompilacji. Automatyzacja kompilacji 1/28 Automatyzacja kompilacji Automatyzacja kompilacji 1/28 Automatyzacja kompilacji 2/28 Wstęp Polecenia kompilacji gcc -Wall -c komunikat.c -o komunikat.o gcc -Wall -c main.c -o main.o gcc -Wall -c test.c

Bardziej szczegółowo

KURS C/C++ WYKŁAD 1. Pierwszy program

KURS C/C++ WYKŁAD 1. Pierwszy program KURS C/C++ WYKŁAD 1 Pierwszy program Tworzenie programu odbywa sie w dwóch etapach: 1. opracowanie kodu źródłowego 2. generowanie kodu wynikowego Pierwszy etap polega na zapisaniu algorytmu za pomocą instrukcji

Bardziej szczegółowo

geometry a w przypadku istnienia notki na marginesie: 1 z 5

geometry a w przypadku istnienia notki na marginesie: 1 z 5 1 z 5 geometry Pakiet słuy do okrelenia parametrów strony, podobnie jak vmargin.sty, ale w sposób bardziej intuicyjny. Parametry moemy okrela na dwa sposoby: okrelc je w polu opcji przy wywołaniu pakiety:

Bardziej szczegółowo

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C Grzegorz Cygan Wstęp do programowania mikrosterowników w języku C Mikrosterownik Inne nazwy: Microcontroler (z języka angielskiego) Ta nazwa jest powszechnie używana w Polsce. Mikrokomputer jednoukładowy

Bardziej szczegółowo

C++ - [1-3] Debugowanie w Qt Creator

C++ - [1-3] Debugowanie w Qt Creator Slajd 1 z 10 C++ - [1-3] Debugowanie w Qt Creator Nysa 2004-2013. Autor: Wojciech Galiński. wersja dnia 15 maja 2013 r. Slajd 2 z 10 Pojęcia związane z debugowaniem DEBUGOWANIE (z ang. debugging odrobaczanie)

Bardziej szczegółowo

Podstawowe obiekty AutoCAD-a

Podstawowe obiekty AutoCAD-a LINIA Podstawowe obiekty AutoCAD-a Zad1: Narysowa lini o pocztku w punkcie o współrzdnych (100, 50) i kocu w punkcie (200, 150) 1. Wybierz polecenie rysowania linii, np. poprzez kilknicie ikony. W wierszu

Bardziej szczegółowo

Zaawansowane programowanie w C++

Zaawansowane programowanie w C++ Zaawansowane programowanie w C++ Micha l Tanaś, PhD Adam Mickiewicz University, Faculty of Physics http://www.amu.edu.pl/~mtanas Michal.Tanas@amu.edu.pl Wykonanie klasycznego programu System operacyjny

Bardziej szczegółowo

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład I - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Zaliczenie przedmiotu Do zaliczenia przedmiotu niezbędne jest

Bardziej szczegółowo

Programowanie w C. dr inż. Stanisław Wszelak

Programowanie w C. dr inż. Stanisław Wszelak Programowanie w C dr inż. Stanisław Wszelak Przeszłość i przyszłość składni programowania w C Ken Thompson Denis Ritchie Bjarne Stoustrup Zespoły programistów B C C++ C# 1969 rok Do SO UNIX 1972 rok C++

Bardziej szczegółowo

Java Podstawy. Michał Bereta www.michalbereta.pl mbereta@pk.edu.pl

Java Podstawy. Michał Bereta www.michalbereta.pl mbereta@pk.edu.pl Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu

Bardziej szczegółowo

PROGRAMOWANIE w C prolog

PROGRAMOWANIE w C prolog PROGRAMOWANIE w C prolog dr inż. Jarosław Stańczyk Uniwersytet Przyrodniczy we Wrocławiu Wydział Biologii i Hodowli Zwierząt Katedra Genetyki 1 / jaroslaw.stanczyk@up.wroc.pl programowanie w c 17.10.2014

Bardziej szczegółowo

FUNKCJE WZORCOWE. Wykład 10. Programowanie Obiektowe (język C++) Funkcje wzorcowe wprowadzenie (2) Funkcje wzorcowe wprowadzenie (1)

FUNKCJE WZORCOWE. Wykład 10. Programowanie Obiektowe (język C++) Funkcje wzorcowe wprowadzenie (2) Funkcje wzorcowe wprowadzenie (1) Programowanie Obiektowe (język C++) Wykład 10. FUNKCJE WZORCOWE Funkcje wzorcowe wprowadzenie (1) Funkcje wzorcowe wprowadzenie (2) int max ( int a, int b ) return a>b? a : b; Aby mieć analogiczną funkcję

Bardziej szczegółowo

Narz«dzia do programowania w j«zyku C

Narz«dzia do programowania w j«zyku C Narz«dzia do programowania w j«zyku C Cz«æ I Opracowa : dr iný. Zbigniew Jaworski 1. Kompilator j«zyka C J«zyk C jest j«zykiem og lnego stosowania. Jest on jednak æciæle zwiˆzany z systemem Unix, dlaêpotrzeb

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Zadania do wykonaj przed przyst!pieniem do pracy:

Zadania do wykonaj przed przyst!pieniem do pracy: wiczenie 3 Tworzenie bazy danych Biblioteka tworzenie kwerend, formularzy Cel wiczenia: Zapoznanie si ze sposobami konstruowania formularzy operujcych na danych z tabel oraz metodami tworzenia kwerend

Bardziej szczegółowo

Programowanie niskopoziomowe

Programowanie niskopoziomowe W. Complak, J.Kniat, M. Antczak, K. Kwarciak, G. Palik, A. Rybarczyk, Ł. Wielebski Materiały Programowanie niskopoziomowe http://www.cs.put.poznan.pl/arybarczyk/c_w_0.pdf Spis treści 1. Instalacja środowiska

Bardziej szczegółowo

Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi.

Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi. Przykład: $ ls more Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi. Tworzenie łącza #include int pipe(int filedes[2]); Przykład: int

Bardziej szczegółowo

Praktyka Programowania

Praktyka Programowania Praktyka Programowania Dariusz Dereniowski Materiały udostępnione przez Adriana Kosowskiego Katedra Algorytmów i Modelowania Systemów Politechnika Gdańska deren@eti.pg.gda.pl Gdańsk, 2010 strona przedmiotu:

Bardziej szczegółowo

Ćwiczenie 1. Przygotowanie środowiska JAVA

Ćwiczenie 1. Przygotowanie środowiska JAVA Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.

Bardziej szczegółowo

Programowanie C# mgr in. Dariusz Ku. p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus

Programowanie C# mgr in. Dariusz Ku. p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus Programowanie C# mgr in. Dariusz Ku p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus Translacja kodu Kod ródłowy Java, C# Kompilator Kompilator Kod poredni Interpreter Maszyna wirtualna

Bardziej szczegółowo

Temat 1. Podstawy Środowiska Xcode i wprowadzenie do języka Objective-C

Temat 1. Podstawy Środowiska Xcode i wprowadzenie do języka Objective-C Temat 1. Podstawy Środowiska Xcode i wprowadzenie do języka Objective-C Wymagana wiedza wstępna: 1) Student musi 1) Znać język C 2) Znać zasady zarządzania pamięcią w komputerze 3) Znać pojecie wskaźnika

Bardziej szczegółowo

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami 1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami Celem tych zajęć jest zrozumienie i oswojenie z technikami programowania przy pomocy wskaźników w języku C++. Proszę przeczytać rozdział 8.

Bardziej szczegółowo

Wprowadzenie do programowania w języku C

Wprowadzenie do programowania w języku C Wprowadzenie do programowania w języku C Część trzecia Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów

Bardziej szczegółowo

Instrukcja obsługi dodatku InsERT GT Smart Documents

Instrukcja obsługi dodatku InsERT GT Smart Documents Instrukcja obsługi dodatku InsERT GT Smart Documents InsERT, grudzie 2003 http://www.insert.com.pl/office2003 InsERT GT Smart Documents to przygotowany przez firm InsERT specjalny dodatek, umoliwiajcy

Bardziej szczegółowo

Microsoft Authenticode. Uycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii MS Authenticode. wersja 1.1 UNIZETO TECHNOLOGIES SA

Microsoft Authenticode. Uycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii MS Authenticode. wersja 1.1 UNIZETO TECHNOLOGIES SA Microsoft Authenticode Uycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii MS Authenticode wersja 1.1 Spis treci 1. WSTP... 3 2. TWORZENIE KLUCZA PRYWATNEGO I CERTYFIKATU... 3 3. INSTALOWANIE

Bardziej szczegółowo

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład I I Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Zaliczenie przedmiotu Na laboratorium można zdobyć 100 punktów. Do zaliczenia niezbędne jest

Bardziej szczegółowo

Funkcja (podprogram) void

Funkcja (podprogram) void Funkcje Co to jest funkcja? Budowa funkcji Deklaracja, definicja i wywołanie funkcji Przykłady funkcji definiowanych przez programistę Przekazywanie argumentów do funkcji Tablica jako argument funkcji

Bardziej szczegółowo

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VI Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Operacje na plikach Operacje na plikach Aby móc korzystać z pliku należy go otworzyć w odpowiednim

Bardziej szczegółowo

Sposoby wykrywania i usuwania błędów. Tomasz Borzyszkowski

Sposoby wykrywania i usuwania błędów. Tomasz Borzyszkowski Sposoby wykrywania i usuwania błędów Tomasz Borzyszkowski Mylić się jest rzeczą ludzką Typy błędów: błędy specyfikacji: źle określone wymagania błędy projektowe: nieodpowiednie struktury danych i algorytmy

Bardziej szczegółowo

Zasady programowania Dokumentacja

Zasady programowania Dokumentacja Marcin Kędzierski gr. 14 Zasady programowania Dokumentacja Wstęp 1) Temat: Przeszukiwanie pliku za pomocą drzewa. 2) Założenia projektu: a) Program ma pobierać dane z pliku wskazanego przez użytkownika

Bardziej szczegółowo

Języki programowania obiektowego Nieobiektowe elementy języka C++

Języki programowania obiektowego Nieobiektowe elementy języka C++ Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Preprocesor koncepcja, rola zasady wykorzystania Co to jest

Bardziej szczegółowo

Wstęp. Opis programu :

Wstęp. Opis programu : Wstęp Program komputerowy to ciąg zrozumiałych dla komputera poleceń, każdy program jest napisany w jakimś języku programowania (np. C#, C++, Batch :), Java, Basic, PHP i wiele, wiele innych ). Każdy z

Bardziej szczegółowo

Programowanie mikrokontrolerów AVR

Programowanie mikrokontrolerów AVR Programowanie mikrokontrolerów AVR Czym jest mikrokontroler? Mikrokontroler jest małym komputerem podłączanym do układów elektronicznych. Pamięć RAM/ROM CPU wykonuje program Układy I/O Komunikacje ze światem

Bardziej szczegółowo

Mozilla Firefox 2.0.0.2 PL. Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Mozilla Firefox 2.0.0.2 PL. wersja 1.1

Mozilla Firefox 2.0.0.2 PL. Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Mozilla Firefox 2.0.0.2 PL. wersja 1.1 Mozilla Firefox 2.0.0.2 PL Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Mozilla Firefox 2.0.0.2 PL wersja 1.1 Spis treci 1. INSTALACJA CERTYFIKATÓW URZDÓW POREDNICH... 3 2. INSTALACJA

Bardziej szczegółowo

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache

Bardziej szczegółowo

Java w Internecie 1. Gosling J., Joy B, Steele G., The Java Language Specification. Addison-Wesley, 1996, (specyfikacja jzyka)

Java w Internecie 1. Gosling J., Joy B, Steele G., The Java Language Specification. Addison-Wesley, 1996, (specyfikacja jzyka) Java w Internecie 1 Krótka historia Javy JAVA W INTERNECIE 1990 - Bill Joy w raporcie Further sugeruje firmie SUN stworzenie rodowiska obiektowego na bazie C++, 1991 - W ramach projektu Green powstaje

Bardziej szczegółowo

Pobieranie argumentów wiersza polecenia

Pobieranie argumentów wiersza polecenia Pobieranie argumentów wiersza polecenia 2. Argumenty wiersza polecenia Lista argumentów Lista argumentów zawiera cały wiersz poleceń, łącznie z nazwą programu i wszystkimi dostarczonymi argumentami. Przykłady:

Bardziej szczegółowo

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

Lekcja 9 - LICZBY LOSOWE, ZMIENNE Lekcja 9 - LICZBY LOSOWE, ZMIENNE I STAŠE 1 Liczby losowe Czasami spotkamy si z tak sytuacj,»e b dziemy potrzebowa by program za nas wylosowaª jak ± liczb. U»yjemy do tego polecenia: - liczba losowa Sprawd¹my

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15 ANALIZA NUMERYCZNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Metoda Eulera 3 1.1 zagadnienia brzegowe....................... 3 1.2 Zastosowanie ró»niczki...................... 4 1.3 Output do pliku

Bardziej szczegółowo

Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, 2015. Wydział Matematyki Stosowanej Politechniki Śląskiej

Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, 2015. Wydział Matematyki Stosowanej Politechniki Śląskiej Laboratorium 1 - Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Punkty Na laboratorium można zdobyć 60 punktów. Ocena ogólna z zajęć:

Bardziej szczegółowo

Poradnik korzystania z serwisu UNET: Konfiguracja programu pocztowego

Poradnik korzystania z serwisu UNET: Konfiguracja programu pocztowego Poradnik korzystania z serwisu UNET: Konfiguracja programu pocztowego Niniejszy opis dotyczy konfiguracji programu pocztowego Outlook Express z pakietu Internet Explorer, pracujcego pod kontrol systemu

Bardziej szczegółowo