Programowanie Proceduralne

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

Download "Programowanie Proceduralne"

Transkrypt

1 Programowanie Proceduralne Bożena Woźna-Szcześniak Jan Długosz University, Poland Wykład 1

2 Wprowadzenie Cel wykładów z programowania proceduralnego Wykład jest poświęcony językowi C i jego celem jest nauczenie projektowania i psania programów w tym języku. Zalecana Literatura Kernighan Brian W., Ritchie Dennis M. Język ANSI C. Wydawnictwa Naukowo-Techniczne. Warszawa, 2004 i późniejsze. Stephen Prata. Język C. Szkoła Programowania. Wydanie V. Wydawnictwo Helion i poźniejsze.

3 Wprowadzenie Cel wykładów z programowania proceduralnego Wykład jest poświęcony językowi C i jego celem jest nauczenie projektowania i psania programów w tym języku. Zalecana Literatura Kernighan Brian W., Ritchie Dennis M. Język ANSI C. Wydawnictwa Naukowo-Techniczne. Warszawa, 2004 i późniejsze. Stephen Prata. Język C. Szkoła Programowania. Wydanie V. Wydawnictwo Helion i poźniejsze.

4 Wprowadzenie Plan Wprowadzenie do C Pisanie programów w C Nasz pierwszy program - podstawy

5 Wprowadzenie do C Rozwój języka C Język C został zaprojektowany przez Dennisa Ritchie ego w laboratoriach AT&T Bell na poczatku lat 70-tych XX wieku. Poprzednikiem języka C był interpretowany język B, który Ritchie rozwinał właśnie w język C. Pierwszy okres rozwoju języka to lata W roku 1973 w języku C udało się zaimplementować jadro (ang. kernel) systemu operacyjnego Unix. W roku 1978 Brian Kernighan i Dennis Ritchie opublikowali dokumentację języka: The C Programming Language (wydanie polskie, Język ANSI C). Englewood Cliffs, NJ: Prentice Hall. ISBN

6 Wprowadzenie do C Rozwój języka C Język C został zaprojektowany przez Dennisa Ritchie ego w laboratoriach AT&T Bell na poczatku lat 70-tych XX wieku. Poprzednikiem języka C był interpretowany język B, który Ritchie rozwinał właśnie w język C. Pierwszy okres rozwoju języka to lata W roku 1973 w języku C udało się zaimplementować jadro (ang. kernel) systemu operacyjnego Unix. W roku 1978 Brian Kernighan i Dennis Ritchie opublikowali dokumentację języka: The C Programming Language (wydanie polskie, Język ANSI C). Englewood Cliffs, NJ: Prentice Hall. ISBN

7 Wprowadzenie do C Rozwój języka C Język C został zaprojektowany przez Dennisa Ritchie ego w laboratoriach AT&T Bell na poczatku lat 70-tych XX wieku. Poprzednikiem języka C był interpretowany język B, który Ritchie rozwinał właśnie w język C. Pierwszy okres rozwoju języka to lata W roku 1973 w języku C udało się zaimplementować jadro (ang. kernel) systemu operacyjnego Unix. W roku 1978 Brian Kernighan i Dennis Ritchie opublikowali dokumentację języka: The C Programming Language (wydanie polskie, Język ANSI C). Englewood Cliffs, NJ: Prentice Hall. ISBN

8 Wprowadzenie do C Rozwój języka C Język C został zaprojektowany przez Dennisa Ritchie ego w laboratoriach AT&T Bell na poczatku lat 70-tych XX wieku. Poprzednikiem języka C był interpretowany język B, który Ritchie rozwinał właśnie w język C. Pierwszy okres rozwoju języka to lata W roku 1973 w języku C udało się zaimplementować jadro (ang. kernel) systemu operacyjnego Unix. W roku 1978 Brian Kernighan i Dennis Ritchie opublikowali dokumentację języka: The C Programming Language (wydanie polskie, Język ANSI C). Englewood Cliffs, NJ: Prentice Hall. ISBN

9 Wprowadzenie do C Rozwój języka C Język C został zaprojektowany przez Dennisa Ritchie ego w laboratoriach AT&T Bell na poczatku lat 70-tych XX wieku. Poprzednikiem języka C był interpretowany język B, który Ritchie rozwinał właśnie w język C. Pierwszy okres rozwoju języka to lata W roku 1973 w języku C udało się zaimplementować jadro (ang. kernel) systemu operacyjnego Unix. W roku 1978 Brian Kernighan i Dennis Ritchie opublikowali dokumentację języka: The C Programming Language (wydanie polskie, Język ANSI C). Englewood Cliffs, NJ: Prentice Hall. ISBN

10 Wprowadzenie do C Rozwój języka C Wersja języka C opisana w The C Programming Language często nazywana jest K&R C (od nazwisk autorów), aby odróżnić ja od późniejszego standardu C89 wprowadzonego w roku 1989, nazywanego dziś ANSI C lub też Standard C. W roku 1990 standard ANSI C został zmodyfikowany i nazwany C90. W roku 1999 standard C90 został zmodyfikowany i nazwany C99. W roku 2007 ogłoszono pracę nad nowym standardem C1X. Na wykładzie z programowania prodeduralnego i laboratoriach będziemy używać standardu C89/C99.

11 Wprowadzenie do C Rozwój języka C Wersja języka C opisana w The C Programming Language często nazywana jest K&R C (od nazwisk autorów), aby odróżnić ja od późniejszego standardu C89 wprowadzonego w roku 1989, nazywanego dziś ANSI C lub też Standard C. W roku 1990 standard ANSI C został zmodyfikowany i nazwany C90. W roku 1999 standard C90 został zmodyfikowany i nazwany C99. W roku 2007 ogłoszono pracę nad nowym standardem C1X. Na wykładzie z programowania prodeduralnego i laboratoriach będziemy używać standardu C89/C99.

12 Wprowadzenie do C Rozwój języka C Wersja języka C opisana w The C Programming Language często nazywana jest K&R C (od nazwisk autorów), aby odróżnić ja od późniejszego standardu C89 wprowadzonego w roku 1989, nazywanego dziś ANSI C lub też Standard C. W roku 1990 standard ANSI C został zmodyfikowany i nazwany C90. W roku 1999 standard C90 został zmodyfikowany i nazwany C99. W roku 2007 ogłoszono pracę nad nowym standardem C1X. Na wykładzie z programowania prodeduralnego i laboratoriach będziemy używać standardu C89/C99.

13 Wprowadzenie do C Rozwój języka C Wersja języka C opisana w The C Programming Language często nazywana jest K&R C (od nazwisk autorów), aby odróżnić ja od późniejszego standardu C89 wprowadzonego w roku 1989, nazywanego dziś ANSI C lub też Standard C. W roku 1990 standard ANSI C został zmodyfikowany i nazwany C90. W roku 1999 standard C90 został zmodyfikowany i nazwany C99. W roku 2007 ogłoszono pracę nad nowym standardem C1X. Na wykładzie z programowania prodeduralnego i laboratoriach będziemy używać standardu C89/C99.

14 Wprowadzenie do C Rozwój języka C Wersja języka C opisana w The C Programming Language często nazywana jest K&R C (od nazwisk autorów), aby odróżnić ja od późniejszego standardu C89 wprowadzonego w roku 1989, nazywanego dziś ANSI C lub też Standard C. W roku 1990 standard ANSI C został zmodyfikowany i nazwany C90. W roku 1999 standard C90 został zmodyfikowany i nazwany C99. W roku 2007 ogłoszono pracę nad nowym standardem C1X. Na wykładzie z programowania prodeduralnego i laboratoriach będziemy używać standardu C89/C99.

15 Wprowadzenie do C Gdzie jest stosowany język C? C stał się popularny poza Laboratoriami Bella (gdzie powstał) po 1980 roku i stał się dominujacym językiem do programowania: systemów operacyjnych z rodziny Linux. mikrokontrolerów: samochody, samolotach, urzadzeniach kuchennych, itp. systemów wbudowanych: telefony komórkowe, ipod-y, itp. procesorów sygnałowych (ang. digital signal processor - DSP), czyli procesorów do cyfrowej obróbki sygnałów: systemy telewizji cyforowej, odtwarzacze audio, itp.... wszędzie tam, gdzie zależy nam na pisaniu szybkich i niskopoziomowych programów. Na bazie języka C w latach osiemdziesi atych Bjarne Stroustrup stworzył język C++, który wprowadza możliwość programowania obiektowego.

16 Wprowadzenie do C Gdzie jest stosowany język C? C stał się popularny poza Laboratoriami Bella (gdzie powstał) po 1980 roku i stał się dominujacym językiem do programowania: systemów operacyjnych z rodziny Linux. mikrokontrolerów: samochody, samolotach, urzadzeniach kuchennych, itp. systemów wbudowanych: telefony komórkowe, ipod-y, itp. procesorów sygnałowych (ang. digital signal processor - DSP), czyli procesorów do cyfrowej obróbki sygnałów: systemy telewizji cyforowej, odtwarzacze audio, itp.... wszędzie tam, gdzie zależy nam na pisaniu szybkich i niskopoziomowych programów. Na bazie języka C w latach osiemdziesi atych Bjarne Stroustrup stworzył język C++, który wprowadza możliwość programowania obiektowego.

17 Wprowadzenie do C Gdzie jest stosowany język C? C stał się popularny poza Laboratoriami Bella (gdzie powstał) po 1980 roku i stał się dominujacym językiem do programowania: systemów operacyjnych z rodziny Linux. mikrokontrolerów: samochody, samolotach, urzadzeniach kuchennych, itp. systemów wbudowanych: telefony komórkowe, ipod-y, itp. procesorów sygnałowych (ang. digital signal processor - DSP), czyli procesorów do cyfrowej obróbki sygnałów: systemy telewizji cyforowej, odtwarzacze audio, itp.... wszędzie tam, gdzie zależy nam na pisaniu szybkich i niskopoziomowych programów. Na bazie języka C w latach osiemdziesi atych Bjarne Stroustrup stworzył język C++, który wprowadza możliwość programowania obiektowego.

18 Wprowadzenie do C Cechy języka C Niewielka liczba słów kluczowych. auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while

19 Wprowadzenie do C Cechy języka C Niewielka liczba słów kluczowych. auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while

20 Wprowadzenie do C Cechy języka C Możliwość definiowania złożonych struktur danych: struktury, unie. Jawne stosowanie wskaźników - zarzadzanie pamięcia i tablicami. Kompilacja do kodu natywnego (ang. native code), czyli kodu pracujacego z danym procesorem (np. Intel x86) i zbiorem jego instrukcji. Współpraca z macro preprocessor-em: m.in. obsługa dyrektywy #include, #ifndef, #define, #endif, itp. Szeroka gama bibliotek standardowych.

21 Wprowadzenie do C Cechy języka C Możliwość definiowania złożonych struktur danych: struktury, unie. Jawne stosowanie wskaźników - zarzadzanie pamięcia i tablicami. Kompilacja do kodu natywnego (ang. native code), czyli kodu pracujacego z danym procesorem (np. Intel x86) i zbiorem jego instrukcji. Współpraca z macro preprocessor-em: m.in. obsługa dyrektywy #include, #ifndef, #define, #endif, itp. Szeroka gama bibliotek standardowych.

22 Wprowadzenie do C Cechy języka C Możliwość definiowania złożonych struktur danych: struktury, unie. Jawne stosowanie wskaźników - zarzadzanie pamięcia i tablicami. Kompilacja do kodu natywnego (ang. native code), czyli kodu pracujacego z danym procesorem (np. Intel x86) i zbiorem jego instrukcji. Współpraca z macro preprocessor-em: m.in. obsługa dyrektywy #include, #ifndef, #define, #endif, itp. Szeroka gama bibliotek standardowych.

23 Wprowadzenie do C Cechy języka C Możliwość definiowania złożonych struktur danych: struktury, unie. Jawne stosowanie wskaźników - zarzadzanie pamięcia i tablicami. Kompilacja do kodu natywnego (ang. native code), czyli kodu pracujacego z danym procesorem (np. Intel x86) i zbiorem jego instrukcji. Współpraca z macro preprocessor-em: m.in. obsługa dyrektywy #include, #ifndef, #define, #endif, itp. Szeroka gama bibliotek standardowych.

24 Wprowadzenie do C Cechy języka C Możliwość definiowania złożonych struktur danych: struktury, unie. Jawne stosowanie wskaźników - zarzadzanie pamięcia i tablicami. Kompilacja do kodu natywnego (ang. native code), czyli kodu pracujacego z danym procesorem (np. Intel x86) i zbiorem jego instrukcji. Współpraca z macro preprocessor-em: m.in. obsługa dyrektywy #include, #ifndef, #define, #endif, itp. Szeroka gama bibliotek standardowych.

25 Wprowadzenie do C Standardowe zbiory nagłówkowe stdio.h - funkcje standardowego wejścia/wyjścia, obsługa plików stdlib.h - najbardziej podstawowe funkcje, np. do zarzadzania pamięcia ctype.h - klasyfikowanie znaków. math.h - funkcje matematyczne string.h - funkcje do obsługi łańcuchów znaków limits.h/float.h - właściwości typów całkowitych/zmiennoprzecinkowych zależne od implementacji. time.h - funkcje obsługi czasu. stdarg.h - narzędzia dla funkcji ze zmienna liczba argumentów. locale.h - ustawienia międzynarodowe. errno.h - deklaracje kodów błędów.

26 Wprowadzenie do C Cechy języka C Język C nie posiada obsługi: wyjatków. sprawdzania zakresów, np. zakresów tablic (ang. range-checking). sprawdzania zgodności typów podczas czasu wykonania. automatycznego zarzadzania dynamicznie przydzielona pamięcia (ang. garbage collection). obiektów - nie jest to język zorientowany na programowanie obiektowe tak ja np. C++, Java, C#, czy Python. metod/funkcji wirtualnych - możliwość istnienia wielu funkcji o tej samej nazwie, powiazana z możliwościa wyboru konkretnej metody podczas czasu wykonania (ang. polymorphism).

27 Wprowadzenie do C Cechy języka C Język C nie posiada obsługi: wyjatków. sprawdzania zakresów, np. zakresów tablic (ang. range-checking). sprawdzania zgodności typów podczas czasu wykonania. automatycznego zarzadzania dynamicznie przydzielona pamięcia (ang. garbage collection). obiektów - nie jest to język zorientowany na programowanie obiektowe tak ja np. C++, Java, C#, czy Python. metod/funkcji wirtualnych - możliwość istnienia wielu funkcji o tej samej nazwie, powiazana z możliwościa wyboru konkretnej metody podczas czasu wykonania (ang. polymorphism).

28 Wprowadzenie do C Cechy języka C Język C nie posiada obsługi: wyjatków. sprawdzania zakresów, np. zakresów tablic (ang. range-checking). sprawdzania zgodności typów podczas czasu wykonania. automatycznego zarzadzania dynamicznie przydzielona pamięcia (ang. garbage collection). obiektów - nie jest to język zorientowany na programowanie obiektowe tak ja np. C++, Java, C#, czy Python. metod/funkcji wirtualnych - możliwość istnienia wielu funkcji o tej samej nazwie, powiazana z możliwościa wyboru konkretnej metody podczas czasu wykonania (ang. polymorphism).

29 Wprowadzenie do C Cechy języka C Język C nie posiada obsługi: wyjatków. sprawdzania zakresów, np. zakresów tablic (ang. range-checking). sprawdzania zgodności typów podczas czasu wykonania. automatycznego zarzadzania dynamicznie przydzielona pamięcia (ang. garbage collection). obiektów - nie jest to język zorientowany na programowanie obiektowe tak ja np. C++, Java, C#, czy Python. metod/funkcji wirtualnych - możliwość istnienia wielu funkcji o tej samej nazwie, powiazana z możliwościa wyboru konkretnej metody podczas czasu wykonania (ang. polymorphism).

30 Wprowadzenie do C Cechy języka C Język C nie posiada obsługi: wyjatków. sprawdzania zakresów, np. zakresów tablic (ang. range-checking). sprawdzania zgodności typów podczas czasu wykonania. automatycznego zarzadzania dynamicznie przydzielona pamięcia (ang. garbage collection). obiektów - nie jest to język zorientowany na programowanie obiektowe tak ja np. C++, Java, C#, czy Python. metod/funkcji wirtualnych - możliwość istnienia wielu funkcji o tej samej nazwie, powiazana z możliwościa wyboru konkretnej metody podczas czasu wykonania (ang. polymorphism).

31 Wprowadzenie do C Cechy języka C Język C nie posiada obsługi: wyjatków. sprawdzania zakresów, np. zakresów tablic (ang. range-checking). sprawdzania zgodności typów podczas czasu wykonania. automatycznego zarzadzania dynamicznie przydzielona pamięcia (ang. garbage collection). obiektów - nie jest to język zorientowany na programowanie obiektowe tak ja np. C++, Java, C#, czy Python. metod/funkcji wirtualnych - możliwość istnienia wielu funkcji o tej samej nazwie, powiazana z możliwościa wyboru konkretnej metody podczas czasu wykonania (ang. polymorphism).

32 Pisanie programów w C Plan Wprowadzenie do C Pisanie programów w C Nasz pierwszy program - podstawy

33 Pisanie programów w C Program w języku C Program w C to plik (zbiór) tekstowy, który zawiera instrukcje języka C (czyli ciagi znaków), zgodne z obowiazuj acym standardem tego języka (obecnie c99). Pliki z programami źródłowymi w języku C powinny mieć rozszerzenie c.

34 Pisanie programów w C Kompilacja programu w C Podstawowym (i najprostszym) poleceniem kompilacji pliku o nazwie plik.c jest gcc plik.c które w przypadku pomyślnym generuje plik wykonywalny o nazwie a.out umieszczony w tym samym katalogu, zaś w przypadku niepomyślnym wyświetla listę komunikatów o błędach.

35 Pisanie programów w C Kompilacja programu w C Jeśli chcemy, żeby plik wynikowy miał dowolna inna ustalona przez nas nazwę (rozszerzenie out nie jest obowiazkowe), możemy użyć polecenia postaci: gcc plik.c -o nazwa Polecenie gcc umożliwia również jednoczesna kompilację i połaczenie w całość kilku plików źródłowych zawierajacych różne fragmenty (ale nie dowolne) jednego programu.

36 Pisanie programów w C Kompilacja programu w C Jeśli chcemy, żeby plik wynikowy miał dowolna inna ustalona przez nas nazwę (rozszerzenie out nie jest obowiazkowe), możemy użyć polecenia postaci: gcc plik.c -o nazwa Polecenie gcc umożliwia również jednoczesna kompilację i połaczenie w całość kilku plików źródłowych zawierajacych różne fragmenty (ale nie dowolne) jednego programu.

37 Pisanie programów w C Kompilacja programu w C Aby kompilować programy zgodne z najnowszym standardem c99 należy użyć następujacego polecenia: gcc -std=c99 plik.c -o nazwa Aby kompilator gcc traktował ostrzeżenia jako błędy należy użyć następujacego polecenia: gcc -std=c99 -Wall plik.c -o nazwa Do przeprowadzania bardziej skomplikowanych kompilacji i łaczeń zalecany jest program make współpracujacy z zawierajacym polecenia dla niego plikiem Makefile o tym na jednym z późniejszych wykładów.

38 Pisanie programów w C Kompilacja programu w C Aby kompilować programy zgodne z najnowszym standardem c99 należy użyć następujacego polecenia: gcc -std=c99 plik.c -o nazwa Aby kompilator gcc traktował ostrzeżenia jako błędy należy użyć następujacego polecenia: gcc -std=c99 -Wall plik.c -o nazwa Do przeprowadzania bardziej skomplikowanych kompilacji i łaczeń zalecany jest program make współpracujacy z zawierajacym polecenia dla niego plikiem Makefile o tym na jednym z późniejszych wykładów.

39 Pisanie programów w C Kompilacja programu w C Aby kompilować programy zgodne z najnowszym standardem c99 należy użyć następujacego polecenia: gcc -std=c99 plik.c -o nazwa Aby kompilator gcc traktował ostrzeżenia jako błędy należy użyć następujacego polecenia: gcc -std=c99 -Wall plik.c -o nazwa Do przeprowadzania bardziej skomplikowanych kompilacji i łaczeń zalecany jest program make współpracujacy z zawierajacym polecenia dla niego plikiem Makefile o tym na jednym z późniejszych wykładów.

40 Pisanie programów w C Kompilacja programu w C W przypadku pomyślnego przebiegu kompilacji kompilator gcc nie wyświetla żadnego komunikatu, zwraca jedynie sterowanie do linii poleceń. W przypadku błędów kompilator gcc wyprowadza na standardowe wyjście błędów (czyli zazwyczaj na ekran) od razu cała listę wykrytych błędów wraz z podanymi numerami linii programu, w których występuja.

41 Pisanie programów w C Kompilacja programu w C W przypadku pomyślnego przebiegu kompilacji kompilator gcc nie wyświetla żadnego komunikatu, zwraca jedynie sterowanie do linii poleceń. W przypadku błędów kompilator gcc wyprowadza na standardowe wyjście błędów (czyli zazwyczaj na ekran) od razu cała listę wykrytych błędów wraz z podanymi numerami linii programu, w których występuja.

42 Pisanie programów w C debugowanie Kompilacja programu w C - odrobaczanie/debugowanie, ang. debugging Aby kompilator gcc przekazał informacje o komilowanym programie do programu debugującego gdb należy użyć następujacego polecenia: gcc -g -std=c99 -Wall plik.c -o nazwa

43 Pisanie programów w C debugowanie Kompilacja programu w C - odrobaczanie/debugowanie bws@bws:~/programy$ gcc -g -Wall p1.c -o p1 bws@bws:~/programy$ gdb p1 GNU gdb (GDB) 7.1-ubuntu Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later < This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". For bug reporting instructions, please see: < Reading symbols from /home/bws/programy/p1...done. (gdb) r Starting program: /home/bws/programy/p1 Hello word! Program exited normally. (gdb) q bws@bws:~/programy$

44 Pisanie programów w C debugowanie Kompilacja programu w C - używanie gdb break linenumber - utwórz punkt zatrzymania programu w linii linenumber break file:linenumber - utwórz punkt zatrzymania programu w linii linenumber pliku file. run lub r - uruchom program c - kontynuuj wykonywanie next lub n - wykonaj następna linię step - wykonaj następna linię lub wejdź do funkcji quit lub q - wyjście z programu gdb print expression lub p expression - drukuj bieżaca wartość wyrażenia expression help lub h- help programu

45 Pisanie programów w C debugowanie Kompilacja programu w C - używanie gdb bws@bws:~/programy$ gdb p1gnu gdb (GDB) 7.1-ubuntu... Reading symbols from /home/bws/programy/p1...done. (gdb) break 2 Breakpoint 1 at 0x40056c: file p1.c, line 2. (gdb) r Starting program: /home/bws/programy/p1 Breakpoint 1, main () at p1.c:4 4 printf("hello word! \n"); (gdb) n Hello word! 5 int a = 1; (gdb) next 6 printf("a = %d",a); (gdb) print a $1 = 1 (gdb) p a $2 = 1 (gdb) c Continuing. a = 1 Program exited normally. (gdb) q #include <stdio. h> i n t main ( void ) { p r i n t f ( " Hello word! \ n " ) ; i n t a = 1 ; p r i n t f ( " a = %d ", a ) ; r e t u r n 0 ; }

46 Pisanie programów w C Debugowanie pamięci Debugowanie pamięci - program valgrind bws@bws:~/programy$ valgrind./p1 ==13211== Memcheck, a memory error detector ==13211== Copyright (C) , and GNU GPL d, by Julian Seward et al. ==13211== Using Valgrind SVN-Debian and LibVEX; rerun with -h for copyright info ==13211== Command:./p1 ==13211== Hello word! a = 1==13211== ==13211== HEAP SUMMARY: ==13211== in use at exit: 0 bytes in 0 blocks ==13211== total heap usage: 0 allocs, 0 frees, 0 bytes allocated ==13211== ==13211== All heap blocks were freed -- no leaks are possible ==13211== ==13211== For counts of detected and suppressed errors, rerun with: -v ==13211== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 4)

47 Pisanie programów w C Debugowanie pamięci Debugowanie pamięci - program valgrind bws@bws:~/programy$ valgrind ls ==13217== Memcheck, a memory error detector ==13217== Copyright (C) , and GNU GPL d, by Julian Seward et al. ==13217== Using Valgrind SVN-Debian and LibVEX; rerun with -h for copyright info ==13217== Command: ls ==13217== p0.c p1 p1.c p2.c ==13217== ==13217== HEAP SUMMARY: ==13217== in use at exit: 19,194 bytes in 11 blocks ==13217== total heap usage: 538 allocs, 527 frees, 83,869 bytes allocated ==13217== ==13217== LEAK SUMMARY: ==13217== definitely lost: 120 bytes in 1 blocks ==13217== indirectly lost: 0 bytes in 0 blocks ==13217== possibly lost: 0 bytes in 0 blocks ==13217== still reachable: 19,074 bytes in 10 blocks ==13217== suppressed: 0 bytes in 0 blocks ==13217== Rerun with --leak-check=full to see details of leaked memory ==13217== ==13217== For counts of detected and suppressed errors, rerun with: -v ==13217== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 4)

48 Nasz pierwszy program Plan Wprowadzenie do C Pisanie programów w C Nasz pierwszy program - podstawy

49 Nasz pierwszy program Struktura Struktura pliku źródłowego.c /* Rozpocznij od komentarza zawierajacego opis zawartości pliku */ Dyrektywy #include dołaczanie (standardowych) bibliotek Inne definicje dla preprocessora Prototypy funkcji i deklaracje zmiennych Definicja funkcji main() { Ciało funkcji main } Definicje pozostałych funkcji

50 Nasz pierwszy program Struktura Komentarze Jednoliniowy: // this is a simple comment Wieloliniowy: /* To jest komentarz wieloliniowy Druga linia Trzecia linia */ Ignorowane przez kompilator Moga wystapić prawie wszędzie. Komentarze wileoliniowe nie moga być zagnieżdżane.

51 Nasz pierwszy program Struktura Najprostszy program w C i n t main ( void ) { r e t u r n 0 ; }

52 Nasz pierwszy program Struktura Dyrektywa #include Dyrektywa #include < standardowy zbiór nagłówkowy > lub #include zbiór nagłówkowy w bieżącym katalogu programisty wczytuje/dołacza do programu zawartość zbioru nagłówkowego, np. #include <stdio.h> dołacza do programu zbiór stdio.h zawierajacy podstawowe funkcje wejścia/wyjścia

53 Nasz pierwszy program Struktura Dyrektywa #include Dyrektywa #include < standardowy zbiór nagłówkowy > lub #include zbiór nagłówkowy w bieżącym katalogu programisty wczytuje/dołacza do programu zawartość zbioru nagłówkowego, np. #include <stdio.h> dołacza do programu zbiór stdio.h zawierajacy podstawowe funkcje wejścia/wyjścia

54 Nasz pierwszy program Struktura Dyrektywa #include # include < s t d i o. h> i n t main ( void ) { p r i n t f ( " Hello word! " ) ; r e t u r n 0 ; }

55 Nasz pierwszy program Typy danych Standardowe typy danych Typ Przykłady stałych Formanty funkcji printf char a, \n % c bool 0, 1 % d, % u short - % hd, % hx, % ho unsigned short - % hu,% hx, % ho int 12, -97, 0xFFE0, 0177 %d, %i, %x, %o unsigned int 12u, 100U, 0XFFu %u, %x, %o long 12L,-2001, 0xffffL %ld, %li, %lx, %lo unsigned long 12UL,100ul, 0xffeeUL %ld, %li,%lx, %lo long long 0xe5e5e5e5LL, 500ll %lld, %llx, %llo unsigned long long 12ull, 0xffeeULL %llu, %llx, %llo float 12.34f,3.1e-5f, 0x1.5p10, 0x1P-1 %f, %e, %g, %a double 12.24,3.1e-5, 0x.1p3 %lf, %e, %g, %a long double 12.34l,3.1e-5l %Lf, %Le, %Lg

56 Nasz pierwszy program Definicje zmiennych Definicje zmiennych Zanim zmienna zostanie użyta musi zostać zdefiniowana: # i n clude < s t d i o. h> i n t main ( void ) { char c ; s h o r t s1, s2, s3 ; / / l i s t a zmiennych unsigned s h o r t u s i ; i n t i ; unsigned i n t u i ; long l ; long i n t l i ; unsigned long u l i ; long long l l i ; unsigned long long u l l ; f l o a t f ; double d1 ; long double ld, l d 2 ; / / l i s t a zmiennych r e t u r n 0 ; }

57 Nasz pierwszy program Definicje zmiennych Definicje zmiennych Definicje zmiennych dla standardowych typów połaczone z inicjalizacja. # i n clude < s t d i o. h> i n t main ( void ) { char c = a ; s h o r t s = 12; unsigned s h o r t u s i = 12; i n t i = 12; unsigned i n t u i = 12u ; long l = 12L ; unsigned long u l i = 13UL ; long long l l i = 12LL ; unsigned long long u l l = 12 u l l ; f l o a t f = f ; double d = ; long double l d = l ; r e t u r n 0 ; }

58 Nasz pierwszy program Operatory Operatory arytmetyczne #include <stdio.h> int main (void) { int a = 100, b = 2, c =25, d = 4, result; result = a - b; // odejmowanie printf ("a - b = %i\n", result); result = b * c; // mnożenie printf ("b * c = %i\n", result); result = a / c; // dzielenie printf ("a / c = %i\n", result); result = a + b * c; // priorytety printf ("a + b * c = %i\n", result); printf ("a * b + c * d = %i\n", a * b + c * d); return 0; }

59 Nasz pierwszy program Operatory Wyniki a - b = 98 b * c = 50 a / c = 4 a + b * c = 150 a * b + c * d = 300

60 Nasz pierwszy program Operatory Arytmetyka inaczej #include <stdio.h> int main(void) { int a, b; printf("podaj pierwsza liczbe: "); scanf("%d", &a); printf("podaj druga liczbe: "); scanf("%d", &b); printf("%d + %d = %d\n", a, b, a + b); printf("%d - %d = %d\n", a, b, a - b); printf("%d * %d = %d\n", a, b, a * b); printf("%d / %d = %d\n", a, b, a / b); printf("%d %% %d = %d\n", a, b, a % b); return 0; }

61 Nasz pierwszy program Operatory Operatory logiczne i porównania Operator Znaczenie > wiekszy od < mniejszy od <= mniejszy od lub równy >= wiekszy od lub równy == równy! = różny && iloczyn logiczny (and) suma logiczna (or)! negacja (not)

62 Nasz pierwszy program Operatory Operatory przypisania a=b=c=d=3; Znaczy tyle samo, co a=3; b=3; c=3; d=3;

63 Nasz pierwszy program Operatory Operatory przypisania Operator Znaczenie + = a+ = b znaczy a = a+b = a = b znaczy a = a b = a = b znaczy a = a b / = a/ = b znaczy a = a/b % = a% = b znaczy a = a%b

64 Nasz pierwszy program Operatory Operator dekrementacji #include <stdio.h> int main (void) { int a = 3; printf("%d\n", a); // dekrementacja przedrostkowa // najpierw zmniejsz, potem użyj printf("%d\n", --a); printf("%d\n", a); // dekrementacja przyrostkowa // najpierw użyj, potem zmiejsz printf("%d\n", a--); printf("%d\n", a); return 0; }

65 Nasz pierwszy program Operatory Operator inkrementacji #include <stdio.h> int main (void) { int a = 3; printf("%d\n", a); // inkrementacja przedrostkowa // najpierw zwiększ, potem użyj printf("%d\n", ++a); printf("%d\n", a); // inkrementacja przyrostkowa // najpierw użyj, potem zwiększ printf("%d\n", a++); printf("%d\n", a); return 0; }

66 Instrukcja warunkowa if #include <stdio.h> int main(void) { int a, b; printf("podaj pierwszą liczbę: "); scanf("%d", &a); printf("podaj drugą liczbę: "); scanf("%d", &b); printf("%d + %d = %d\n", a, b, a + b); printf("%d - %d = %d\n", a, b, a - b); printf("%d * %d = %d\n", a, b, a * b); if (b!= 0) { printf("%d / %d = %d\n", a, b, a / b); printf("%d %% %d = %d\n", a, b, a % b); } return 0; }

67 Instrukcja warunkowa if-else #include <stdio.h> int main (void) { char c; printf ("Podaj pojedyńczy znak: "); scanf ("%c", &c); if ((c>= a && c<= z ) (c>= A && c<= Z )) { printf ("To jest litera.\n"); } else if ( c >= 0 && c <= 9 ) { printf ("To jest cyfra.\n"); } else { printf ("To jest znak specjalny.\n"); } return 0; }

68 Instrukcje iteracyjne while #include <stdio.h> int main (void) { int k = 0; while ( k < 5 ) { printf ("%d. Hello!\n", k + 1); ++k; } return 0; }

69 Instrukcje iteracyjne while - Wypisywanie liczby od prawej do lewej #include <stdio.h> int main (void) { int number, rightdigit; printf ("Podaj liczbę: "); scanf ("%d", &number); while (number!= 0) { rightdigit = number % 10; printf ("%d", rightdigit); number /= 10; } printf ("\n"); return 0; }

70 Instrukcje iteracyjne do-while #include <stdio.h> int main (void) { int s = 0, a; do { printf("podaj liczbę: "); scanf("%d", &a); if (a > 0) { continue; } if (a == 0) { break; } s += a; } while(1); printf("suma wprowadzonych liczb ujemnych = %d\n", s); return 0; }

71 Tablice #include <stdio.h> int main(void) { long tab[12]={31,28,31,30,31,30,31,31,30,31,30,31}; // Wypisujemy elementy tablicy tab int k = 0; while (k < 12) { printf("%ld ", tab[k]); ++k; } printf("\n"); // Obliczamy sume wszystkich elementów tablicy tab long s = 0; k = 0; while (k < 12) { s += tab[k]; ++k; } printf("%ld\n", s); return 0; }

72 Instrukcja iteracyjna for #include <stdio.h> int main(void) { long a[]={31,28,31,30,31,30,31,31,30,31,30,31}; int const n = sizeof(a) / sizeof(a[0]); // Wypisanie tablicy int k; for (k = 0; k < n; ++k) { printf("%ld ", a[k]); } printf("\n"); // Obliczanie sumy elementów tablicy long s = 0; for (k = 0; k < n; ++k) { s += a[k]; } printf("suma = %ld\n", s); return 0; }

Wykład 2

Wykład 2 Wstęp do programowania 1 Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 2 Pisanie programów w C Plan Wprowadzenie do C Pisanie programów w C Nasz pierwszy program - podstawy

Bardziej szczegółowo

Wykład 1

Wykład 1 Wstęp do programowania 1 Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 1 Wprowadzenie Cel wykładów z programowania proceduralnego Wykład jest poświęcony językowi C i jego

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

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

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

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

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

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Temat 1: Podstawowe pojęcia: program, kompilacja, kod Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,

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

( wykł. dr Marek Piasecki )

( wykł. dr Marek Piasecki ) INE 1007 Informatyka 1 Język programowania C++ ( wykł. dr Marek Piasecki ) Literatura: dowolny podręcznik do języka C++ (na laboratoriach Borland C++ 3.1) Robert Lafore Jerzy Grębosz Andrzej Zalewski Programowanie

Bardziej szczegółowo

Programowanie Proceduralne

Programowanie Proceduralne Programowanie Proceduralne Struktury Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 10 Co dziś będzie: Definiowanie struktury Deklarowanie zmiennych bȩda cych strukturami

Bardziej szczegółowo

Wartości domyślne, szablony funkcji i klas

Wartości domyślne, szablony funkcji i klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2012 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Programowanie w języku C++

Programowanie w języku C++ INE 2022 JĘZYKI PROGRAMOWANIA 1 INE 0050 WSTĘP DO PROGRAMOWANIA Programowanie w języku C++ ( wykł. dr Marek Piasecki ) Literatura: do wykładu dowolny podręcznik do języka C++ na laboratoriach Borland C++

Bardziej szczegółowo

wykład I uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Wstęp do języka C wykład I dr Jarosław Mederski Spis Ogólne informacje

wykład I uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Wstęp do języka C wykład I dr Jarosław Mederski Spis Ogólne informacje Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 5 6 7 Charakter wykładu ˆ zakłada znajomość idei programowania strukturalnego (np. w Pascalu) oraz podstaw używania środowiska UNIX (wykonywanie

Bardziej szczegółowo

Języki programowania - podstawy

Języki programowania - podstawy Języki programowania - podstawy Andrzej Dudek Wydział Techniczno Informatyczny W Jeleniej Górze Dudek A. Informatyka przemysłowa tendencje i wyzwania 26.10.2015 1 /24 Algorytm określony sposób rozwiązania

Bardziej szczegółowo

Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory

Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-19 Pętla while Pętla while Pętla

Bardziej szczegółowo

Co nie powinno być umieszczane w plikach nagłówkowych:

Co nie powinno być umieszczane w plikach nagłówkowych: Zawartość plików nagłówkowych (*.h) : #include #define ESC 27 dyrektywy dołączenia definicje stałych #define MAX(x,y) ((x)>(y)?(x):(y)) definicje makr int menu(char* tab[], int ilosc); struct

Bardziej szczegółowo

Programowanie strukturalne język C - wprowadzenie

Programowanie strukturalne język C - wprowadzenie Programowanie strukturalne język C - wprowadzenie Dr inż. Sławomir Samolej D102 C, tel: 865 1766, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.pl Cechy programowania strukturalnego Możliwość

Bardziej szczegółowo

Wprowadzenie do Valgrinda

Wprowadzenie do Valgrinda Wprowadzenie do Valgrinda Jan Karwowski Wydział Matematyki i Nauk Informacyjnych PW 10 lutego 2015 Jan Karwowski (MiNI) Wprowadzenie do Valgrinda 10 lutego 2015 1 / 33 Valgrind Valgrind jest narzędziem

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

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy złożone Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy podstawowe Typy całkowite: char short int long Typy zmiennopozycyjne float double Modyfikatory : unsigned, signed Typ wskaźnikowy

Bardziej szczegółowo

1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998.

1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998. Literatura Język C 1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998. 2. Andrzej Zalewski, Programowanie w językach C i C++ z wykorzystaniem pakietu Borland C++, Nakom, Poznań

Bardziej szczegółowo

Podstawy programowania w języku C

Podstawy programowania w języku C Ćwiczenie 1 1.1. Pierwszy program w C Podstawy programowania w języku C Program w języku C, składa się ze zmiennych, stałych oraz funkcji. Zmienne i stałe służą do przechowywania danych, na których program

Bardziej szczegółowo

Sieciowa komunikacja procesów - XDR i RPC

Sieciowa komunikacja procesów - XDR i RPC *** abc.x Przyklad pliku RPCGEN Obliczanie sumy, roznicy i iloczynu dwoch liczb calkowitych *** ************************************ Wywolanie procedury odleglej dopuszcza tylko jeden argument wywolania

Bardziej szczegółowo

Microsoft IT Academy kurs programowania

Microsoft IT Academy kurs programowania Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego

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

Język ANSI C. Pierwsze starcie. Programowanie Proceduralne 1

Język ANSI C. Pierwsze starcie. Programowanie Proceduralne 1 Język ANSI C Pierwsze starcie. Programowanie Proceduralne 1 Znowu trochę historii 1972 Dennis Ritchie (Bell Labs.,New Jersey), projekt języka C na bazie języka B 1973 UNIX, jądro w C, pierwszy przenośny

Bardziej szczegółowo

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe: Podstawy Informatyki Metalurgia, I rok Historia Lata 0-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard Koniec lat 80 standard

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Przemysław Gawroński D-10, p. 234 Wykład 1 8 października 2018 (Wykład 1) Wstęp do programowania 8 października 2018 1 / 12 Outline 1 Literatura 2 Programowanie? 3 Hello World (Wykład

Bardziej szczegółowo

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++ Podstawy Informatyki Metalurgia, I rok Wykład 6 Krótki kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard

Bardziej szczegółowo

Język ANSI C. Pierwsze starcie. Programowanie Proceduralne 1

Język ANSI C. Pierwsze starcie. Programowanie Proceduralne 1 Język ANSI C Pierwsze starcie. Programowanie Proceduralne 1 Znowu trochę historii 1972 Dennis Ritchie (Bell Labs.,New Jersey), projekt języka C na bazie języka B 1973 UNIX, jądro w C, pierwszy przenośny

Bardziej szczegółowo

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

Język C - podstawowe informacje

Język C - podstawowe informacje Język C - podstawowe informacje Michał Rad AGH Laboratorium Maszyn Elektrycznych 2014-12-05 Outline Program w języku C Funkcje Składnia Instrukcje sterujace Na koniec... Po kolei napisać program (zwykły

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

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

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++ Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard

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

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

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

Bardziej szczegółowo

Zmienne, stałe i operatory

Zmienne, stałe i operatory Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe

Bardziej szczegółowo

Języki i metody programowania. Omówienie języków C, C++ i Java

Języki i metody programowania. Omówienie języków C, C++ i Java Języki i metody programowania Omówienie języków C, C++ i Java Język C Język programowania ogólnego przeznaczenia Historia: M. Richards - BCPL - lata 60-te ubiegłego stulecia K. Thompson - B dla UNIX (DEC

Bardziej szczegółowo

Uniwersytet Rzeszowski

Uniwersytet Rzeszowski Uniwersytet Rzeszowski Interdyscyplinarne Centrum Modelowania Komputerowego Inżynieria oprogramowania Część 1: Tworzenie dokumentacji projektowej Opracował: dr inż. Przemysław Pardel v2.01 2014 1. Dokumentacja

Bardziej szczegółowo

Wykład. Materiały bazują częściowo na slajdach Marata Dukhana

Wykład. Materiały bazują częściowo na slajdach Marata Dukhana Wykład Materiały bazują częściowo na slajdach Marata Dukhana Języki programowania Kompilowane np. C, C++, Pascal Interpretowane np. JavaScript, PHP, Python, VBA Pośrednie np. Java, C# Znane kompilatory

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

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

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

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych

Bardziej szczegółowo

wykład III uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - zarządzanie pamięcią, struktury,

wykład III uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - zarządzanie pamięcią, struktury, , Programowanie, uzupełnienie notatek: dr Jerzy Białkowski , 1 2 3 4 , Wczytywanie liczb , Wczytywanie liczb 1 #include 2 #include < s t d l i b. h> 3 4 int main ( ) { 5 int rozmiar, numer

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

WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH

WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH Klasa: 3TIR - Technik informatyk Program: 351203 Wymiar: 4 h tygodniowo Podręcznik: Kwalifikacja E.14 Programowanie

Bardziej szczegółowo

PowerShell. Sławomir Wawrzyniak 05.11.2010

PowerShell. Sławomir Wawrzyniak 05.11.2010 PowerShell Sławomir Wawrzyniak 05.11.2010 Czym jest PowerShell - Czym jest PowerShell - Do czego może się przydać - Zalety PowerShell - Podobieństwo do basha Wprowadzenie - Jak uruchomić PowerShell - Główne

Bardziej szczegółowo

Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD

Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD 1. Wprowadzenie DuŜa grupa sterowników mikroprocesorowych wymaga obsługi przycisków, które umoŝliwiają uŝytkownikowi uruchamianie

Bardziej szczegółowo

ECLIPSE wnioski z dwóch pierwszych laboratoriów

ECLIPSE wnioski z dwóch pierwszych laboratoriów PODSTAWY PROGRAMOWANIA 3-4 WYKŁAD 22-10-2015 ECLIPSE wnioski z dwóch pierwszych laboratoriów Dodanie pliku i konfiguracji startowej (każdy uruchamiany program powinien mieć własna konfigurację startową)

Bardziej szczegółowo

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą

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

Programowanie I C / C++ laboratorium 03 arytmetyka, operatory

Programowanie I C / C++ laboratorium 03 arytmetyka, operatory Programowanie I C / C++ laboratorium 03 arytmetyka, operatory Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-19 Typ znakowy Typ znakowy Typ wyliczeniowy # include

Bardziej szczegółowo

Programowanie 2. Język C++. Wykład 2.

Programowanie 2. Język C++. Wykład 2. 2.1 Definicja, deklaracja, wywołanie funkcji.... 1 2.2 Funkcje inline... 4 2.3 Przekazanie do argumentu funkcji wartości, adresu zmiennej.... 5 2.4 Wskaźniki do funkcji... 8 2.5 Przeładowanie funkcji...

Bardziej szczegółowo

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak Katedra Elektrotechniki Teoretycznej i Informatyki wykład 12 - sem.iii M. Czyżak Język C - preprocesor Preprocesor C i C++ (cpp) jest programem, który przetwarza tekst programu przed przekazaniem go kompilatorowi.

Bardziej szczegółowo

Wskaznik. Przekazywanie wyniku funkcji przez return. Typy i zmienne wskaznikowe. Zmienna wskazywana. typ * nazwa_wkaznika

Wskaznik. Przekazywanie wyniku funkcji przez return. Typy i zmienne wskaznikowe. Zmienna wskazywana. typ * nazwa_wkaznika Wyklad 6 Typy i zmienne: wskaznikowe, referencyjne Funkcje deklaracja, definicja. Zasieg deklaracji i widocznosc zmiennych Przekazywanie parametrów przez wartosc, referencje i wskaznik Przekazywanie wyniku

Bardziej szczegółowo

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych Spis treści 1. Wstęp... 9 1.1. Inżynieria oprogramowania jako proces... 10 1.1.1. Algorytm... 11 1.2. Programowanie w językach wysokiego poziomu... 11 1.3. Obiektowe podejście do programowania... 12 1.3.1.

Bardziej szczegółowo

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h> Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch

Bardziej szczegółowo

Języki i metodyka programowania. Wprowadzenie do języka C

Języki i metodyka programowania. Wprowadzenie do języka C Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia

Bardziej szczegółowo

Preprocesor języka C

Preprocesor języka C języka C Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2012 Bogdan Kreczmer Niniejszy

Bardziej szczegółowo

Stuck in the loop. Sterowanie. Marcin Makowski. 29 października Zak lad Chemii Teoretycznej UJ

Stuck in the loop. Sterowanie. Marcin Makowski. 29 października Zak lad Chemii Teoretycznej UJ Sterowanie Zak lad Chemii Teoretycznej UJ 29 października 2007 1 2 3 4 arytmetyczne +, -, *, / % (dzielenie modulo) operatory sa lewostronnie l aczne priorytety: (*, /, %), (+, -) nie istnieje operator

Bardziej szczegółowo

ROZDZIAŁ 2. Operatory

ROZDZIAŁ 2. Operatory Bibliografia [1] Jerzy Grębosz, Symfonia C++, Oficyna Kallimach, Kraków, 1999, [2] Jerzy Grębosz, Pasja C++, Oficyna Kallimach, Kraków, 1999, [3] Bjarne Stroustrup, Język C++, WNT, Warszawa, 1997, [4]

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

Programowanie I C / C++ laboratorium 01 Organizacja zajęć

Programowanie I C / C++ laboratorium 01 Organizacja zajęć Programowanie I C / C++ laboratorium 01 Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-12 Program zajęć Zasady zaliczenia Program operacje wejścia i wyjścia instrukcje

Bardziej szczegółowo

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja! Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja! Krzysztof Grudzień kgrudzi@kis.p.lodz.pl! Zbigniew Chaniecki zch@kis.p.lodz.pl 1 program zajęć - wykład Podstawowe pojęcia

Bardziej szczegółowo

nowe operatory &. (kropka) * operator rzutowy ->, (przecinek) sizeof

nowe operatory &. (kropka) * operator rzutowy ->, (przecinek) sizeof nowe operatory &. (kropka) * operator rzutowy ->, (przecinek) sizeof 1 adres zmiennej Do pobrania adresu zmiennej używa się jednoargumentowego operatora & (uwaga & może mieć także znaczenie dwuargumentowego

Bardziej szczegółowo

ZAJ CIA 4. Podstawowe informacje o algorytmie. Operatory relacyjne i logiczne, instrukcja warunkowa if

ZAJ CIA 4. Podstawowe informacje o algorytmie. Operatory relacyjne i logiczne, instrukcja warunkowa if ZAJ CIA 4. Podstawowe informacje o algorytmie. Operatory relacyjne i logiczne, instrukcja warunkowa if. ALGORYTM Algorytm jest przepisem opisuj cym krok po kroku rozwi zanie problemu lub osi gni cie jakiego

Bardziej szczegółowo

Wstęp do Programowania 2

Wstęp do Programowania 2 Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 1 Literatura Literatura podstawowa: Prata Stephen. Szkoła programowania. Język C++. Wydanie V. Helion,

Bardziej szczegółowo

PERSON Kraków 2002.11.27

PERSON Kraków 2002.11.27 PERSON Kraków 2002.11.27 SPIS TREŚCI 1 INSTALACJA...2 2 PRACA Z PROGRAMEM...3 3. ZAKOŃCZENIE PRACY...4 1 1 Instalacja Aplikacja Person pracuje w połączeniu z czytnikiem personalizacyjnym Mifare firmy ASEC

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

INFORMATYKA Studia Niestacjonarne Elektrotechnika

INFORMATYKA Studia Niestacjonarne Elektrotechnika INFORMATYKA Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel. 81-538-42-93 m.lanczont@pollub.pl http://lanczont.pollub.pl

Bardziej szczegółowo

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje. Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using

Bardziej szczegółowo

Projektowanie i programowanie obiektowe (materiały do wykładu cz. VI)

Projektowanie i programowanie obiektowe (materiały do wykładu cz. VI) Projektowanie i programowanie obiektowe (materiały do wykładu cz. VI) Jacek Cichosz www.zssk.pwr.wroc.pl Katedra Systemów i Sieci Komputerowych Politechnika Wrocławska Dziedziczenie 221 Dziedziczenie Dziedziczenie

Bardziej szczegółowo

WYKŁAD 10. Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo. Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5

WYKŁAD 10. Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo. Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5 WYKŁAD 10 Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5 Tomasz Zieliński ZMIENNE O ZŁOŻONEJ BUDOWIE (1) Zmienne

Bardziej szczegółowo

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji? Zadanie 01 W przedstawionym ponizej programie w jezyku ANSI C w miejscu wykropkowanym brakuje jednej linii: #include... int main() { printf("tralalalala"); return 0; } A. B. "iostream" C.

Bardziej szczegółowo

Elementy cyfrowe i układy logiczne

Elementy cyfrowe i układy logiczne Elementy cyfrowe i układy logiczne Wykład Legenda Zezwolenie Dekoder, koder Demultiplekser, multiplekser 2 Operacja zezwolenia Przykład: zamodelować podsystem elektroniczny samochodu do sterowania urządzeniami:

Bardziej szczegółowo

Algorytmy i Struktury Danych.

Algorytmy i Struktury Danych. Algorytmy i Struktury Danych. Standard Template Library. Część 1. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 6 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych.

Bardziej szczegółowo

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard

Bardziej szczegółowo

Informatyka, I stopień. Programowanie (PRO300.1)

Informatyka, I stopień. Programowanie (PRO300.1) Uniwersytet Śląski w Katowicach str. 1 Kierunek i poziom studiów: Informatyka, I stopień Sylabus modułu: Programowanie (PRO0.1) Nazwa wariantu modułu (opcjonalnie): 1. Informacje ogólne koordynator modułu

Bardziej szczegółowo

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1 PODSTAWOWE ELEMENTY JĘZYKA JAVA WYRAŻENIA, OPERATORY, INSTRUKCJE 1. Operatory arytmetyczne +, -, /,*, % Przykład 1 programu z interfejsem konsolowym public class Lab2_1 // Tworzy generator liczb losowych,

Bardziej szczegółowo

PL/SQL. Zaawansowane tematy PL/SQL

PL/SQL. Zaawansowane tematy PL/SQL PL/SQL Zaawansowane tematy PL/SQL Cele Przypomnienie kursorów Przypomnienie procedur i funkcji składowanych Poznanie pakietów składowanych 2 Bazę danych Oracle możemy traktować jakby była złożona z dwóch

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje

Bardziej szczegółowo

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym

Bardziej szczegółowo

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące. Programowanie II prowadzący: Adam Dudek Lista nr 8 Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące. Jest to najważniejsza cecha świadcząca o sile programowania

Bardziej szczegółowo

Here comes the sun. Wyk lad niesystematyczny. Marcin Makowski. 24 października Zak lad Chemii Teoretycznej UJ

Here comes the sun. Wyk lad niesystematyczny. Marcin Makowski. 24 października Zak lad Chemii Teoretycznej UJ Wyk lad niesystematyczny Zak lad Chemii Teoretycznej UJ 24 października 2008 Przeglad jezyka Gdzie szukać narzedzi i informacji? 1 Wst ep 2 3 Przeglad jezyka 4 Gdzie szukać narz Przeglad jezyka Gdzie szukać

Bardziej szczegółowo

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal Instrukcja wyboru, pętle 2 wykład. Podstawy programowania - Paskal Tematy Instrukcja wyboru jeden z wielu wariantów: case Pętle while repeat for Instrukcje sterowania pętli break continue goto Instrukcja

Bardziej szczegółowo

Podstawy programowania w języku C

Podstawy programowania w języku C Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu

Bardziej szczegółowo

z programowania z przykładowymi rozwiązaniami

z programowania z przykładowymi rozwiązaniami Idź do Spis treści Przykładowy rozdział Katalog książek Katalog online Zamów drukowany katalog Twój koszyk Dodaj do koszyka Cennik i informacje Zamów informacje o nowościach Zamów cennik Czytelnia Fragmenty

Bardziej szczegółowo

O autorze... 9 Wprowadzenie... 11

O autorze... 9 Wprowadzenie... 11 Spis tre ci O autorze... 9 Wprowadzenie... 11 Rozdzia 1. Sterownik przemys owy... 15 Sterownik S7-1200... 15 Budowa zewn trzna... 16 Budowa wewn trzna... 19 Cykl programu oraz tryby pracy... 21 Zestaw

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

Komunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET

Komunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET PoniŜszy dokument zawiera opis konfiguracji programu STEP7 dla sterowników SIMATIC S7 300/S7 400, w celu stworzenia komunikacji między dwoma stacjami S7 300 za pomocą sieci Industrial Ethernet, protokołu

Bardziej szczegółowo

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016 Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,

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 programowania. Wykład 2 Zmienne i obsługa wejścia/wyjścia. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład 2 Zmienne i obsługa wejścia/wyjścia. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład 2 Zmienne i obsługa wejścia/wyjścia Krzysztof Banaś Podstawy programowania 1 Programowanie Programowanie typowe kroki zapis kodu źródłowego w pliku tekstowym kompilacja usuwanie

Bardziej szczegółowo

0.1 Hierarchia klas. 0.1.1 Diagram. 0.1.2 Krótkie wyjaśnienie

0.1 Hierarchia klas. 0.1.1 Diagram. 0.1.2 Krótkie wyjaśnienie 0.1 Hierarchia klas 0.1.1 Diagram 0.1.2 Krótkie wyjaśnienie Po pierwsze to jest tylko przykładowe rozwiązanie. Zarówno na wtorkowych i czwartkowych ćwiczeniach odbiegaliśmy od niego, ale nie wiele. Na

Bardziej szczegółowo

Inżynieria Wytwarzania Systemów Wbudowanych

Inżynieria Wytwarzania Systemów Wbudowanych GUT Intel 2015/16 1/1 Inżynieria Wytwarzania Systemów Wbudowanych Wykład 2 Iwona Kochańska Katedra Systemów Elektroniki Morskiej WETI PG October 11, 2018 Dobre praktyki GUT Intel 2015/16 2/1 Łatwość pielęgnacji

Bardziej szczegółowo