Stefan Sokołowski JĘZYKIPROGRAMOWANIA. Inst. Informatyki UG, Gdańsk, 2012/2013

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

Download "Stefan Sokołowski JĘZYKIPROGRAMOWANIA. Inst. Informatyki UG, Gdańsk, 2012/2013"

Transkrypt

1 Stefan Sokołowski JĘZYKIPROGRAMOWANIA Inst Informatyki UG, Gdańsk, 2012/2013

2 Wykład1OGÓLNEINFORMACJEOC,str1 JĘZYKI PROGRAMOWANIA reguły gry Zasadnicze informacje: stefan/dydaktyka/jezprog szkicowy program wykładu i laboratorium spis literatury slajdydowykładów wartorobićnotatki ale nie warto przepisywać slajdów z ekranu zadania z laboratorium w moich grupach itd

3 Wykład1OGÓLNEINFORMACJEOC,str2 JĘZYKI PROGRAMOWANIA reguły gry Kontakt ze mną: konsultacje: czwartki 12:15 13:00 w pok 57 ssokolowski@infugedupl antyspam: unikać frikoprowajderów, np: o2pl wppl gazetapl najlepiej używać konta mailowego w II UG

4 Wykład1OGÓLNEINFORMACJEOC,str2 JĘZYKI PROGRAMOWANIA reguły gry Kontakt ze mną: konsultacje: czwartki 12:15 13:00 w pok 57 ssokolowski@infugedupl antyspam: unikać frikoprowajderów, np: o2pl wppl gazetapl najlepiej używać konta mailowego w II UG Zaliczenie przedmiotu: zaliczenie laboratorium, egzamin, znajdowanie błędów w wykładzie Najłatwiej jest zaliczyć laboratoria przez sprawdziany Zaliczenie przez rozbójnika na koniec semestru jest trudniejsze Laboratorium musi być zaliczone przed egzaminem

5 Wykład1OGÓLNEINFORMACJEOC,str2 JĘZYKI PROGRAMOWANIA reguły gry Kontakt ze mną: konsultacje: czwartki 12:15 13:00 w pok 57 ssokolowski@infugedupl antyspam: unikać frikoprowajderów, np: o2pl wppl gazetapl najlepiej używać konta mailowego w II UG Zaliczenie przedmiotu: zaliczenie laboratorium, egzamin, znajdowanie błędów w wykładzie Najłatwiej jest zaliczyć laboratoria przez sprawdziany Zaliczenie przez rozbójnika na koniec semestru jest trudniejsze Laboratorium musi być zaliczone przed egzaminem

6 Wykład1OGÓLNEINFORMACJEOC,str2 JĘZYKI PROGRAMOWANIA reguły gry Kontakt ze mną: konsultacje: czwartki 12:15 13:00 w pok 57 ssokolowski@infugedupl antyspam: unikać frikoprowajderów, np: o2pl wppl gazetapl najlepiej używać konta mailowego w II UG Zaliczenie przedmiotu: zaliczenie laboratorium, egzamin, znajdowanie błędów w wykładzie Najłatwiej jest zaliczyć laboratoria przez sprawdziany Zaliczenie przez rozbójnika na koniec semestru jest trudniejsze Laboratorium musi być zaliczone przed egzaminem

7 Wykład1OGÓLNEINFORMACJEOC,str2 JĘZYKI PROGRAMOWANIA reguły gry Kontakt ze mną: konsultacje: czwartki 12:15 13:00 w pok 57 ssokolowski@infugedupl antyspam: unikać frikoprowajderów, np: o2pl wppl gazetapl najlepiej używać konta mailowego w II UG Zaliczenie przedmiotu: zaliczenie laboratorium, egzamin, znajdowanie błędów w wykładzie Najłatwiej jest zaliczyć laboratoria przez sprawdziany Zaliczenie przez rozbójnika na koniec semestru jest trudniejsze Laboratorium musi być zaliczone przed egzaminem

8 Wykład1OGÓLNEINFORMACJEOC,str2 JĘZYKI PROGRAMOWANIA reguły gry Kontakt ze mną: konsultacje: czwartki 12:15 13:00 w pok 57 ssokolowski@infugedupl antyspam: unikać frikoprowajderów, np: o2pl wppl gazetapl najlepiej używać konta mailowego w II UG Zaliczenie przedmiotu: zaliczenie laboratorium, egzamin, znajdowanie błędów w wykładzie Najłatwiej jest zaliczyć laboratoria przez sprawdziany Zaliczenie przez rozbójnika na koniec semestru jest trudniejsze Laboratorium musi być zaliczone przed egzaminem

9 Ramowy program Wykład1OGÓLNEINFORMACJEOC,str3 językc szczegółowo podstawowa książka: K&R, czyli Kernighan BW, Ritchie DM Język ANSI C Wydawnictwa Naukowo-Techniczne, Warszawa 2003 ISBN Należy ją samodzielnie czytać! językjava podstawy inne języki imperatywne informacyjnie

10 Ramowy program Wykład1OGÓLNEINFORMACJEOC,str3 językc szczegółowo podstawowa książka: K&R, czyli Kernighan BW, Ritchie DM Język ANSI C Wydawnictwa Naukowo-Techniczne, Warszawa 2003 ISBN Należy ją samodzielnie czytać! językjava podstawy inne języki imperatywne informacyjnie

11 Ramowy program Wykład1OGÓLNEINFORMACJEOC,str3 językc szczegółowo podstawowa książka: K&R, czyli Kernighan BW, Ritchie DM Język ANSI C Wydawnictwa Naukowo-Techniczne, Warszawa 2003 ISBN Należy ją samodzielnie czytać! językjava podstawy inne języki imperatywne informacyjnie

12 Ramowy program Wykład1OGÓLNEINFORMACJEOC,str3 językc szczegółowo podstawowa książka: K&R, czyli Kernighan BW, Ritchie DM Język ANSI C Wydawnictwa Naukowo-Techniczne, Warszawa 2003 ISBN Należy ją samodzielnie czytać! językjava podstawy inne języki imperatywne informacyjnie

13 Ramowy program Wykład1OGÓLNEINFORMACJEOC,str3 językc szczegółowo podstawowa książka: K&R, czyli Kernighan BW, Ritchie DM Język ANSI C Wydawnictwa Naukowo-Techniczne, Warszawa 2003 ISBN Należy ją samodzielnie czytać! językjava podstawy inne języki imperatywne informacyjnie

14 Ramowy program Wykład1OGÓLNEINFORMACJEOC,str3 językc szczegółowo podstawowa książka: K&R, czyli Kernighan BW, Ritchie DM Język ANSI C Wydawnictwa Naukowo-Techniczne, Warszawa 2003 ISBN Należy ją samodzielnie czytać! językjava podstawy inne języki imperatywne informacyjnie Wszystkie imperatywne języki programowania ogólnego zastosowania są do siebie podobne Wystarczy zrozumieć, jak działa jeden, żeby umieć stosować wszystkie

15 Ramowy program Wykład1OGÓLNEINFORMACJEOC,str3 językc szczegółowo podstawowa książka: K&R, czyli Kernighan BW, Ritchie DM Język ANSI C Wydawnictwa Naukowo-Techniczne, Warszawa 2003 ISBN Należy ją samodzielnie czytać! językjava podstawy inne języki imperatywne informacyjnie Wszystkie imperatywne języki programowania ogólnego zastosowania są do siebie podobne Wystarczy zrozumieć, jak działa jeden, żeby umieć stosować wszystkie

16 Historia C Wykład1OGÓLNEINFORMACJEOC,str4 1971: pierwsza wersja C, Ken Thompson& Dennis Ritchie

17 Historia C Wykład1OGÓLNEINFORMACJEOC,str4 1971: pierwsza wersja C, Ken Thompson& Dennis Ritchie 1972: system operacyjny UNIX napisany w C, Ken Thompson& Dennis Ritchie

18 Historia C Wykład1OGÓLNEINFORMACJEOC,str4 1971: pierwsza wersja C, Ken Thompson& Dennis Ritchie 1972: system operacyjny UNIX napisany w C, Ken Thompson& Dennis Ritchie 1978: The C Programming Language, Brian Kernighan& Dennis Ritchie podręcznik języka, służący jako jego nieformalna specyfikacja

19 Historia C Wykład1OGÓLNEINFORMACJEOC,str4 1971: pierwsza wersja C, Ken Thompson& Dennis Ritchie 1972: system operacyjny UNIX napisany w C, Ken Thompson& Dennis Ritchie 1978: The C Programming Language, Brian Kernighan& Dennis Ritchie podręcznik języka, służący jako jego nieformalna specyfikacja 1989: standaryzacja języka C89, American National Standards Institute

20 Historia C Wykład1OGÓLNEINFORMACJEOC,str4 1971: pierwsza wersja C, Ken Thompson& Dennis Ritchie 1972: system operacyjny UNIX napisany w C, Ken Thompson& Dennis Ritchie 1978: The C Programming Language, Brian Kernighan& Dennis Ritchie podręcznik języka, służący jako jego nieformalna specyfikacja 1989: standaryzacja języka C89, American National Standards Institute 1999: poprawiona standaryzacja języka C99, American National Standards Institute

21 Historia C Wykład1OGÓLNEINFORMACJEOC,str4 1971: pierwsza wersja C, Ken Thompson& Dennis Ritchie 1972: system operacyjny UNIX napisany w C, Ken Thompson& Dennis Ritchie 1978: The C Programming Language, Brian Kernighan& Dennis Ritchie podręcznik języka, służący jako jego nieformalna specyfikacja 1989: standaryzacja języka C89, American National Standards Institute 1999: poprawiona standaryzacja języka C99, American National Standards Institute 2011: następna poprawiona standaryzacja języka C11, American National Standards Institute

22 Dlaczego trzeba znać C? Wykład1OGÓLNEINFORMACJEOC,str5 najbardziej rozpowszechniony język programowania ogólnego zastosowania

23 Dlaczego trzeba znać C? Wykład1OGÓLNEINFORMACJEOC,str5 najbardziej rozpowszechniony język programowania ogólnego zastosowania, stosunkowo prosty, więc nietrudny do nauczenia się

24 Dlaczego trzeba znać C? Wykład1OGÓLNEINFORMACJEOC,str5 najbardziej rozpowszechniony język programowania ogólnego zastosowania, stosunkowo prosty, więc nietrudny do nauczenia się, pozwala programować blisko maszyny, czyli pisać bardzo wydajne programy(ale to jest żmudne)

25 Dlaczego trzeba znać C? Wykład1OGÓLNEINFORMACJEOC,str5 najbardziej rozpowszechniony język programowania ogólnego zastosowania, stosunkowo prosty, więc nietrudny do nauczenia się, pozwala programować blisko maszyny, czyli pisać bardzo wydajne programy(ale to jest żmudne), większość współczesnych języków programowania ma zewnętrzną składnię wzorowaną na C(mimo głębokich różnic)

26 Dlaczego trzeba znać C? Wykład1OGÓLNEINFORMACJEOC,str5 najbardziej rozpowszechniony język programowania ogólnego zastosowania, stosunkowo prosty, więc nietrudny do nauczenia się, pozwala programować blisko maszyny, czyli pisać bardzo wydajne programy(ale to jest żmudne), większość współczesnych języków programowania ma zewnętrzną składnię wzorowaną na C(mimo głębokich różnic) Wady C: niektóre jego cechy stoją w sprzeczności z naturalną intuicją i logiką

27 Dlaczego trzeba znać C? Wykład1OGÓLNEINFORMACJEOC,str5 najbardziej rozpowszechniony język programowania ogólnego zastosowania, stosunkowo prosty, więc nietrudny do nauczenia się, pozwala programować blisko maszyny, czyli pisać bardzo wydajne programy(ale to jest żmudne), większość współczesnych języków programowania ma zewnętrzną składnię wzorowaną na C(mimo głębokich różnic) Wady C: niektóre jego cechy stoją w sprzeczności z naturalną intuicją i logiką, słabo wspiera programistę w poszukiwaniu i poprawianiu błędów

28 Dlaczego trzeba znać C? Wykład1OGÓLNEINFORMACJEOC,str5 najbardziej rozpowszechniony język programowania ogólnego zastosowania, stosunkowo prosty, więc nietrudny do nauczenia się, pozwala programować blisko maszyny, czyli pisać bardzo wydajne programy(ale to jest żmudne), większość współczesnych języków programowania ma zewnętrzną składnię wzorowaną na C(mimo głębokich różnic) Wady C: niektóre jego cechy stoją w sprzeczności z naturalną intuicją i logiką, słabo wspiera programistę w poszukiwaniu i poprawianiu błędów Łacina jest piękniejsza i logiczniejsza od angielskiego, ale dzisiaj można nie znać łaciny, a trzeba znać angielski

29 Wykład1OGÓLNEINFORMACJEOC,str6 Hierarchia bytów w języku programowania WYRAŻENIA reprezentujące wartości(arytmetyczne i inne) Np x, 0, x+y WARUNKI LOGICZNE reprezentujące relacje między wartościami(spełnione lub nie) Np x<0 KOMENDY nakazujące dokonanie zmiany stanu (np zmiany wartości zmiennych) Np if(x<0) x=-x; WYRAŻENIA MODUŁY stanowiące autonomiczne zestawy komend wykonujące pewną logicznie zamkniętą czynność Np double wartbezwzgl(doublex) { if(x<0) x=-x; return x; }

30 Wykład1OGÓLNEINFORMACJEOC,str6 Hierarchia bytów w języku programowania WYRAŻENIA reprezentujące wartości(arytmetyczne i inne) Np x, 0, x+y WARUNKI LOGICZNE reprezentujące relacje między wartościami(spełnione lub nie) Np x<0 WARUNKI LOGICZNE WYRAŻENIA KOMENDY nakazujące dokonanie zmiany stanu (np zmiany wartości zmiennych) Np if(x<0) x=-x; MODUŁY stanowiące autonomiczne zestawy komend wykonujące pewną logicznie zamkniętą czynność Np double wartbezwzgl(doublex) { if(x<0) x=-x; return x; }

31 Wykład1OGÓLNEINFORMACJEOC,str6 Hierarchia bytów w języku programowania WYRAŻENIA reprezentujące wartości(arytmetyczne i inne) Np x, 0, x+y KOMENDY WARUNKI LOGICZNE WYRAŻENIA WARUNKI LOGICZNE reprezentujące relacje między wartościami(spełnione lub nie) Np x<0 KOMENDY nakazujące dokonanie zmiany stanu (np zmiany wartości zmiennych) Np if(x<0) x=-x; MODUŁY stanowiące autonomiczne zestawy komend wykonujące pewną logicznie zamkniętą czynność Np double wartbezwzgl(doublex) { if(x<0) x=-x; return x; }

32 Wykład1OGÓLNEINFORMACJEOC,str6 Hierarchia bytów w języku programowania MODUŁY KOMENDY WARUNKI LOGICZNE WYRAŻENIA WYRAŻENIA reprezentujące wartości(arytmetyczne i inne) Np x, 0, x+y WARUNKI LOGICZNE reprezentujące relacje między wartościami(spełnione lub nie) Np x<0 KOMENDY nakazujące dokonanie zmiany stanu (np zmiany wartości zmiennych) Np if(x<0) x=-x; MODUŁY stanowiące autonomiczne zestawy komend wykonujące pewną logicznie zamkniętą czynność Np double wartbezwzgl(doublex) { if(x<0) x=-x; return x; }

33 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str7 Wszystko poplątane

34 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str7 Wszystko poplątane WARUNKI LOGICZNE są również WARTOŚCIAMI

35 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str7 Wszystko poplątane WARUNKI LOGICZNE są również WARTOŚCIAMI, w dodatku całkowitymi

36 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str7 Wszystko poplątane WARUNKI LOGICZNE są również WARTOŚCIAMI, w dodatku całkowitymi warunek jest spełniony, jeśli ma wartość różną od zera

37 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str7 Wszystko poplątane WARUNKI LOGICZNE są również WARTOŚCIAMI, w dodatku całkowitymi warunek jest spełniony, jeśli ma wartość różną od zera; warunek jest niespełniony, jeśli ma wartość zero

38 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str7 Wszystko poplątane WARUNKI LOGICZNE są również WARTOŚCIAMI, w dodatku całkowitymi warunek jest spełniony, jeśli ma wartość różną od zera; warunek jest niespełniony, jeśli ma wartość zero Npwarunek0>1mawartość0;awarunek0<=1mawartośćróżnąodzera

39 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str7 Wszystko poplątane WARUNKI LOGICZNE są również WARTOŚCIAMI, w dodatku całkowitymi warunek jest spełniony, jeśli ma wartość różną od zera; warunek jest niespełniony, jeśli ma wartość zero Npwarunek0>1mawartość0;awarunek0<=1mawartośćróżnąodzera Przykład: M #include<stdioh> intmain(){ printf(" 1+(0>1) ==%i\n", 1+(0>1)); printf(" 1+(0<=1) ==%i\n", 1+(0<=1)); return 0; }

40 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str7 Wszystko poplątane WARUNKI LOGICZNE są również WARTOŚCIAMI, w dodatku całkowitymi warunek jest spełniony, jeśli ma wartość różną od zera; warunek jest niespełniony, jeśli ma wartość zero Npwarunek0>1mawartość0;awarunek0<=1mawartośćróżnąodzera Przykład: M #include<stdioh> intmain(){ printf(" 1+(0>1) ==%i\n", 1+(0>1)); printf(" 1+(0<=1) ==%i\n", 1+(0<=1)); return 0; } drukuje 1+(0>1)==1 1+(0<=1) == 2

41 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str7 Wszystko poplątane WARUNKI LOGICZNE są również WARTOŚCIAMI, w dodatku całkowitymi warunek jest spełniony, jeśli ma wartość różną od zera; warunek jest niespełniony, jeśli ma wartość zero Npwarunek0>1mawartość0;awarunek0<=1mawartośćróżnąodzera Przykład: M #include<stdioh> intmain(){ printf(" 1+(0>1) ==%i\n", 1+(0>1)); printf(" 1+(0<=1) ==%i\n", 1+(0<=1)); return 0; } drukuje 1+(0>1)==1 1+(0<=1) == 2 chociaż warunków logicznych w zasadzie nie powinno się dodawać do liczb

42 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str8 Wszystko poplątane WARUNKI LOGICZNE są również WARTOŚCIAMI, w dodatku całkowitymi warunek jest spełniony, jeśli ma wartość różną od zera; warunek jest niespełniony, jeśli ma wartość zero

43 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str8 Wszystko poplątane WARUNKI LOGICZNE są również WARTOŚCIAMI, w dodatku całkowitymi warunek jest spełniony, jeśli ma wartość różną od zera; warunek jest niespełniony, jeśli ma wartość zero Np komenda if traktuje test-1 jako spełniony; a test 0 jako niespełniony

44 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str8 Wszystko poplątane WARUNKI LOGICZNE są również WARTOŚCIAMI, w dodatku całkowitymi warunek jest spełniony, jeśli ma wartość różną od zera; warunek jest niespełniony, jeśli ma wartość zero Np komenda if traktuje test-1 jako spełniony; a test 0 jako niespełniony Przykład: M #include<stdioh> intmain(){ if(-1) printf(" spelniony\n"); else printf(" niespelniony\n"); return 0; }

45 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str8 Wszystko poplątane WARUNKI LOGICZNE są również WARTOŚCIAMI, w dodatku całkowitymi warunek jest spełniony, jeśli ma wartość różną od zera; warunek jest niespełniony, jeśli ma wartość zero Np komenda if traktuje test-1 jako spełniony; a test 0 jako niespełniony Przykład: M #include<stdioh> intmain(){ if(-1) printf(" spelniony\n"); else printf(" niespelniony\n"); return 0; } drukuje spelniony

46 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str8 Wszystko poplątane WARUNKI LOGICZNE są również WARTOŚCIAMI, w dodatku całkowitymi warunek jest spełniony, jeśli ma wartość różną od zera; warunek jest niespełniony, jeśli ma wartość zero Np komenda if traktuje test-1 jako spełniony; a test 0 jako niespełniony Przykład: M #include<stdioh> intmain(){ if(-1) printf(" spelniony\n"); else printf(" niespelniony\n"); return 0; } drukuje spelniony chociaż w zasadzie nie powinno się uzależniać drogi w programie od liczby

47 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str9 Wszystko poplątane KOMENDY również mają WARTOŚCI wartością przypisania x = wyr; jest wartość wyrażenia wyr;

48 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str9 Wszystko poplątane KOMENDY również mają WARTOŚCI wartością przypisania x = wyr; jest wartość wyrażenia wyr; wartością komendy czytania jest liczba wczytanych rzeczy;

49 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str9 Wszystko poplątane KOMENDY również mają WARTOŚCI wartością przypisania x = wyr; jest wartość wyrażenia wyr; wartością komendy czytania jest liczba wczytanych rzeczy; wartością komendy drukowania jest liczba wydrukowanych znaków

50 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str9 Wszystko poplątane KOMENDY również mają WARTOŚCI wartością przypisania x = wyr; jest wartość wyrażenia wyr; wartością komendy czytania jest liczba wczytanych rzeczy; wartością komendy drukowania jest liczba wydrukowanych znaków Przykład: M #include<stdioh> intmain(){ double x; printf(" wartosc komendy x = 05+05;:%lf\n", x = 05+05); return 0; }

51 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str9 Wszystko poplątane KOMENDY również mają WARTOŚCI wartością przypisania x = wyr; jest wartość wyrażenia wyr; wartością komendy czytania jest liczba wczytanych rzeczy; wartością komendy drukowania jest liczba wydrukowanych znaków Przykład: M #include<stdioh> intmain(){ double x; printf(" wartosc komendy x = 05+05;:%lf\n", x = 05+05); return 0; } drukuje wartosc komendy x = 05+05;:

52 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str9 Wszystko poplątane KOMENDY również mają WARTOŚCI wartością przypisania x = wyr; jest wartość wyrażenia wyr; wartością komendy czytania jest liczba wczytanych rzeczy; wartością komendy drukowania jest liczba wydrukowanych znaków Przykład: M #include<stdioh> intmain(){ double x; printf(" wartosc komendy x = 05+05;:%lf\n", x = 05+05); return 0; } drukuje wartosc komendy x = 05+05;: chociaż w zasadzie komendy powinno się wykonywać, a nie drukować

53 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str10 Wszystko poplątane KOMENDY również mają WARTOŚCI wartością przypisania x = wyr; jest wartość wyrażenia wyr; wartością komendy czytania jest liczba wczytanych rzeczy; wartością komendy drukowania jest liczba wydrukowanych znaków Przykład: M #include<stdioh> intmain(){ intn; doublex,y; n=scanf("%lf%lf",&x,&y); printf(" wartosc komendy czytania:%i\n", n); return 0; }

54 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str10 Wszystko poplątane KOMENDY również mają WARTOŚCI wartością przypisania x = wyr; jest wartość wyrażenia wyr; wartością komendy czytania jest liczba wczytanych rzeczy; wartością komendy drukowania jest liczba wydrukowanych znaków Przykład: M #include<stdioh> intmain(){ intn; doublex,y; n=scanf("%lf%lf",&x,&y); printf(" wartosc komendy czytania:%i\n", n); return 0; } drukuje wartosc komendy czytania: 2

55 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str10 Wszystko poplątane KOMENDY również mają WARTOŚCI wartością przypisania x = wyr; jest wartość wyrażenia wyr; wartością komendy czytania jest liczba wczytanych rzeczy; wartością komendy drukowania jest liczba wydrukowanych znaków Przykład: M #include<stdioh> intmain(){ intn; doublex,y; n=scanf("%lf%lf",&x,&y); printf(" wartosc komendy czytania:%i\n", n); return 0; } drukuje wartosc komendy czytania: 2 chociaż w zasadzie czytanie jest czynnością a nie wartością

56 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str11 Wszystko poplątane KOMENDY również mają WARTOŚCI wartością przypisania x = wyr; jest wartość wyrażenia wyr; wartością komendy czytania jest liczba wczytanych rzeczy; wartością komendy drukowania jest liczba wydrukowanych znaków Przykład: M #include<stdioh> intmain(){ intk; k=printf(" \n"); printf(" wartosc komendy drukowania:%i\n", k); return 0; }

57 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str11 Wszystko poplątane KOMENDY również mają WARTOŚCI wartością przypisania x = wyr; jest wartość wyrażenia wyr; wartością komendy czytania jest liczba wczytanych rzeczy; wartością komendy drukowania jest liczba wydrukowanych znaków Przykład: M #include<stdioh> intmain(){ intk; k=printf(" \n"); printf(" wartosc komendy drukowania:%i\n", k); return 0; } drukuje wartosc komendy drukowania: 11

58 Hierarchia bytów w C Wykład1OGÓLNEINFORMACJEOC,str11 Wszystko poplątane KOMENDY również mają WARTOŚCI wartością przypisania x = wyr; jest wartość wyrażenia wyr; wartością komendy czytania jest liczba wczytanych rzeczy; wartością komendy drukowania jest liczba wydrukowanych znaków Przykład: M #include<stdioh> intmain(){ intk; k=printf(" \n"); printf(" wartosc komendy drukowania:%i\n", k); return 0; } drukuje wartosc komendy drukowania: 11 chociaż w zasadzie drukowanie również jest czynnością a nie wartością

59 Wykład1OGÓLNEINFORMACJEOC,str12 Typy wyrażeń całkowity int int */% ==!=<><=>=

60 Wykład1OGÓLNEINFORMACJEOC,str13 Typy wyrażeń rzeczywisty double double int E-23 -fabsfloorsqrtlogexpsincostan +-*/pow ==!=<><=>=

61 Typy wyrażeń znakowy char Wykład1OGÓLNEINFORMACJEOC,str14 a char ==!=<><=>= int

62 Wykład1OGÓLNEINFORMACJEOC,str15 Jawne konwersje typów(rzutowania) (int) (char) double int char (double) (int) Przykład: M (int)(char)(int)357 = =(int)(char)35 =(int) # =35

63 Niejawne konwersje typów Wykład1OGÓLNEINFORMACJEOC,str16 int double Prawie w każdym kontekście, w którym dopuszczalna jest wartość rzeczywista, można użyć wartości całkowitej

64 Niejawne konwersje typów Wykład1OGÓLNEINFORMACJEOC,str16 int double Prawie w każdym kontekście, w którym dopuszczalna jest wartość rzeczywista, można użyć wartości całkowitej Np double x; x=1; powoduje zamianę wartości całkowitej 1 na rzeczywistą 10, a dopiero potem jej przypisanie zmiennej x

65 Niejawne konwersje typów Wykład1OGÓLNEINFORMACJEOC,str16 int double Prawie w każdym kontekście, w którym dopuszczalna jest wartość rzeczywista, można użyć wartości całkowitej Np double x; x=1; powoduje zamianę wartości całkowitej 1 na rzeczywistą 10, a dopiero potem jej przypisanie zmiennej x Wyjątek: printf("%lf\n", 1); działa błędnie

66 Niejawne konwersje typów Wykład1OGÓLNEINFORMACJEOC,str16 int double Prawie w każdym kontekście, w którym dopuszczalna jest wartość rzeczywista, można użyć wartości całkowitej Np double x; x=1; powoduje zamianę wartości całkowitej 1 na rzeczywistą 10, a dopiero potem jej przypisanie zmiennej x Wyjątek: printf("%lf\n", 1); działa błędnie char int Jak wyżej Ale printf("%i\n", a ); nie drukuje znaku ea tylko liczbę97(kodasciiznakua)

67 Niejawne konwersje typów Wykład1OGÓLNEINFORMACJEOC,str16 int double Prawie w każdym kontekście, w którym dopuszczalna jest wartość rzeczywista, można użyć wartości całkowitej Np double x; x=1; powoduje zamianę wartości całkowitej 1 na rzeczywistą 10, a dopiero potem jej przypisanie zmiennej x Wyjątek: printf("%lf\n", 1); działa błędnie char int Jak wyżej Ale printf("%i\n", a ); nie drukuje znaku a tylko liczbę97(kodasciiznakua)

68 Niejawne konwersje typów Wykład1OGÓLNEINFORMACJEOC,str16 int double Prawie w każdym kontekście, w którym dopuszczalna jest wartość rzeczywista, można użyć wartości całkowitej Np double x; x=1; powoduje zamianę wartości całkowitej 1 na rzeczywistą 10, a dopiero potem jej przypisanie zmiennej x Wyjątek: printf("%lf\n", 1); działa błędnie char int Jak wyżej Ale printf("%i\n", a ); nie drukuje znaku a tylko liczbę97(kodasciiznakua) OinnychtypachwCbędziejeszczemowa

69 Wykład1OGÓLNEINFORMACJEOC,str17 Priorytety i łączność operatorów w C Ponieważ wszystko ma wartość, do wszystkiego można stosować operacje, trzeba tylko wiedzieć, jakie są ich priorytety

70 Wykład1OGÓLNEINFORMACJEOC,str17 Priorytety i łączność operatorów w C Ponieważ wszystko ma wartość, do wszystkiego można stosować operacje, trzeba tylko wiedzieć, jakie są ich priorytety Przykład: MCo wydrukuje #include<stdioh> intmain(){ int x,y; x=0; y=1; if(x==y+y) printf(" TAK\n"); else printf("nie\n"); return 0; }

71 Wykład1OGÓLNEINFORMACJEOC,str17 Priorytety i łączność operatorów w C Ponieważ wszystko ma wartość, do wszystkiego można stosować operacje, trzeba tylko wiedzieć, jakie są ich priorytety Przykład: MCo wydrukuje #include<stdioh> intmain(){ int x,y; x=0; y=1; if(x==y+y) printf(" TAK\n"); else printf("nie\n"); return 0; } Czy test x==y+y oznacza (x==y)+y czy x==(y+y)?

72 Wykład1OGÓLNEINFORMACJEOC,str18 Priorytety i łączność operatorów w C(K&R, str82) Priorytet Operatory Łączność wysoki () [] -> lewostronna! * & (typ) sizeof prawostronna * / % lewostronna + - lewostronna << >> lewostronna < <= > >= lewostronna ==!= lewostronna & lewostronna ^ lewostronna lewostronna && lewostronna lewostronna?: prawostronna = += -= *= /= %= ^= = <<= >>= prawostronna niski, lewostronna

73 Wykład1OGÓLNEINFORMACJEOC,str18 Priorytety i łączność operatorów w C(K&R, str82) Priorytet Operatory Łączność wysoki () [] -> lewostronna! * & (typ) sizeof prawostronna * / % lewostronna + - lewostronna << >> lewostronna < <= > >= lewostronna ==!= lewostronna & lewostronna ^ lewostronna lewostronna && lewostronna lewostronna?: prawostronna = += -= *= /= %= ^= = <<= >>= prawostronna niski, lewostronna Ponieważ priorytet porównania == jest niższy od priorytetu dodawania +, test x==y+y oznacza x==(y+y)

74 Wykład1OGÓLNEINFORMACJEOC,str19 Priorytety i łączność operatorów w C Ponieważ wszystko ma wartość, do wszystkiego można stosować operacje, trzeba tylko wiedzieć, jakie są ich priorytety Przykład: MCo wydrukuje #include<stdioh> intmain(){ printf(" ==%i\n", 4-2-1); return 0; }

75 Wykład1OGÓLNEINFORMACJEOC,str19 Priorytety i łączność operatorów w C Ponieważ wszystko ma wartość, do wszystkiego można stosować operacje, trzeba tylko wiedzieć, jakie są ich priorytety Przykład: MCo wydrukuje #include<stdioh> intmain(){ printf(" ==%i\n", 4-2-1); return 0; } Czy wyrażenie oznacza (4-2)-1 czy 4-(2-1)?

76 Wykład1OGÓLNEINFORMACJEOC,str20 Priorytety i łączność operatorów w C(K&R, str82) Priorytet Operatory Łączność wysoki () [] -> lewostronna! * & (typ) sizeof prawostronna * / % lewostronna + - lewostronna << >> lewostronna < <= > >= lewostronna ==!= lewostronna & lewostronna ^ lewostronna lewostronna && lewostronna lewostronna?: prawostronna = += -= *= /= %= ^= = <<= >>= prawostronna niski, lewostronna Ponieważ odejmowanie - łączy do lewej, wyrażenie oznacza (4-2)-1 ijegowartościąjest 1

77 Wykład1OGÓLNEINFORMACJEOC,str21 Priorytety i łączność operatorów w C Trzebauważać

78 Wykład1OGÓLNEINFORMACJEOC,str21 Priorytety i łączność operatorów w C Trzebauważać Przykład: MCo wydrukuje #include<stdioh> intmain(){ if(! 1==2) printf(" nierowne\n"); else printf(" rowne\n"); return 0; }

79 Wykład1OGÓLNEINFORMACJEOC,str21 Priorytety i łączność operatorów w C Trzebauważać Przykład: MCo wydrukuje #include<stdioh> intmain(){ if(! 1==2) printf(" nierowne\n"); else printf(" rowne\n"); return 0; } Jesteśmy skłonni tak czytać: Jeśli nieprawdą jest, że 1==2, to drukować nierowne, w przeciwnym razie drukować rowne Ponieważ 1==2 jest nieprawdą, więc powinno zostać wydrukowane nierowne

80 Wykład1OGÓLNEINFORMACJEOC,str21 Priorytety i łączność operatorów w C Trzebauważać Przykład: MCo wydrukuje #include<stdioh> intmain(){ if(! 1==2) printf(" nierowne\n"); else printf(" rowne\n"); return 0; } Jesteśmy skłonni tak czytać: Jeśli nieprawdą jest, że 1==2, to drukować nierowne, w przeciwnym razie drukować rowne Ponieważ 1==2 jest nieprawdą, więc powinno zostać wydrukowane nierowne

81 Wykład1OGÓLNEINFORMACJEOC,str21 Priorytety i łączność operatorów w C Trzebauważać Przykład: MCo wydrukuje #include<stdioh> intmain(){ if(! 1==2) printf(" nierowne\n"); else printf(" rowne\n"); return 0; } Jesteśmy skłonni tak czytać: Jeśli nieprawdą jest, że 1==2, to drukować nierowne, w przeciwnym razie drukować rowne Ponieważ 1==2 jest nieprawdą, więc powinno zostać wydrukowane nierowne Tymczasem: Program drukuje rowne!

82 Wykład1OGÓLNEINFORMACJEOC,str22 Priorytety i łączność operatorów w C(K&R, str82) Priorytet Operatory Łączność wysoki () [] -> lewostronna! * & (typ) sizeof prawostronna * / % lewostronna + - lewostronna << >> lewostronna < <= > >= lewostronna ==!= lewostronna & lewostronna ^ lewostronna lewostronna && lewostronna lewostronna?: prawostronna = += -= *= /= %= ^= = <<= >>= prawostronna niski, lewostronna Ponieważ priorytet negacji! jest wyższy niż priorytet równości ==, test! 1==2 oznacza (!1)==2 i jego wartością jest fałsz

83 Wykład1OGÓLNEINFORMACJEOC,str23 Priorytety nie rozstrzygają wszystkich wątpliwości Przykład: MCzykomenda y=(x=1)+(x=2); nadazmiennej y wartość2,czy3, czy4?

84 Wykład1OGÓLNEINFORMACJEOC,str23 Priorytety nie rozstrzygają wszystkich wątpliwości Przykład: MCzykomenda y=(x=1)+(x=2); nadazmiennej y wartość2,czy3, czy4? Testnamoimkomputerzedaje4,alenainnychmożebyćinaczej

85 Wykład1OGÓLNEINFORMACJEOC,str23 Priorytety nie rozstrzygają wszystkich wątpliwości Przykład: MCzykomenda y=(x=1)+(x=2); nadazmiennej y wartość2,czy3, czy4? Testnamoimkomputerzedaje4,alenainnychmożebyćinaczej Przykład: MCzykomenda i=0;a[i]=i++; wpisze0czy1,doa[0]czydoa[1]?

86 Wykład1OGÓLNEINFORMACJEOC,str23 Priorytety nie rozstrzygają wszystkich wątpliwości Przykład: MCzykomenda y=(x=1)+(x=2); nadazmiennej y wartość2,czy3, czy4? Testnamoimkomputerzedaje4,alenainnychmożebyćinaczej Przykład: MCzykomenda i=0;a[i]=i++; wpisze0czy1,doa[0]czydoa[1]? Testnamoimkomputerzedaje0wa[0],alenainnychmożebyćinaczej

87 Wykład1OGÓLNEINFORMACJEOC,str23 Priorytety nie rozstrzygają wszystkich wątpliwości Przykład: MCzykomenda y=(x=1)+(x=2); nadazmiennej y wartość2,czy3, czy4? Testnamoimkomputerzedaje4,alenainnychmożebyćinaczej Przykład: MCzykomenda i=0;a[i]=i++; wpisze0czy1,doa[0]czydoa[1]? Testnamoimkomputerzedaje0wa[0],alenainnychmożebyćinaczej programowanie w poprzek naturalnej hierarchii logicznej

88 Wykład1OGÓLNEINFORMACJEOC,str23 Priorytety nie rozstrzygają wszystkich wątpliwości Przykład: MCzykomenda y=(x=1)+(x=2); nadazmiennej y wartość2,czy3, czy4? Testnamoimkomputerzedaje4,alenainnychmożebyćinaczej Przykład: MCzykomenda i=0;a[i]=i++; wpisze0czy1,doa[0]czydoa[1]? Testnamoimkomputerzedaje0wa[0],alenainnychmożebyćinaczej programowanie w poprzek naturalnej hierarchii logicznej, naruszanie dyscypliny typów

89 Wykład1OGÓLNEINFORMACJEOC,str23 Priorytety nie rozstrzygają wszystkich wątpliwości Przykład: MCzykomenda y=(x=1)+(x=2); nadazmiennej y wartość2,czy3, czy4? Testnamoimkomputerzedaje4,alenainnychmożebyćinaczej Przykład: MCzykomenda i=0;a[i]=i++; wpisze0czy1,doa[0]czydoa[1]? Testnamoimkomputerzedaje0wa[0],alenainnychmożebyćinaczej programowanie w poprzek naturalnej hierarchii logicznej, naruszanie dyscypliny typów, korzystanie z komend o nieustalonej kolejności wykonania

90 Wykład1OGÓLNEINFORMACJEOC,str23 Priorytety nie rozstrzygają wszystkich wątpliwości Przykład: MCzykomenda y=(x=1)+(x=2); nadazmiennej y wartość2,czy3, czy4? Testnamoimkomputerzedaje4,alenainnychmożebyćinaczej Przykład: MCzykomenda i=0;a[i]=i++; wpisze0czy1,doa[0]czydoa[1]? Testnamoimkomputerzedaje0wa[0],alenainnychmożebyćinaczej programowanie w poprzek naturalnej hierarchii logicznej, naruszanie dyscypliny typów, korzystanie z komend o nieustalonej kolejności wykonania to złe praktyki, których nie wolno stosować

91 Wykład1OGÓLNEINFORMACJEOC,str24 Operatory charakterystyczne dla C ++,-- dodanie(odjęcie) jedynki od zmiennej całkowitej

92 Wykład1OGÓLNEINFORMACJEOC,str24 Operatory charakterystyczne dla C ++,-- dodanie(odjęcie) jedynki od zmiennej całkowitej; n++ oznacza n=n+1,n-- oznacza n=n-1

93 Wykład1OGÓLNEINFORMACJEOC,str24 Operatory charakterystyczne dla C ++,-- dodanie(odjęcie) jedynki od zmiennej całkowitej; n++ oznacza n=n+1,n-- oznacza n=n-1 Np a[n++]=0; oznacza a[n]=0; n=n+1; a[++n]=0; oznacza n=n+1; a[n]=0; Toniejesttosamo!

94 Wykład1OGÓLNEINFORMACJEOC,str24 Operatory charakterystyczne dla C ++,-- dodanie(odjęcie) jedynki od zmiennej całkowitej; n++ oznacza n=n+1,n-- oznacza n=n-1 Np a[n++]=0; oznacza a[n]=0; n=n+1; a[++n]=0; oznacza n=n+1; a[n]=0; Toniejesttosamo! +=,-=,*=,/=,%= połączenie operacji z przypisaniem

95 Wykład1OGÓLNEINFORMACJEOC,str24 Operatory charakterystyczne dla C ++,-- dodanie(odjęcie) jedynki od zmiennej całkowitej; n++ oznacza n=n+1,n-- oznacza n=n-1 Np a[n++]=0; oznacza a[n]=0; n=n+1; a[++n]=0; oznacza n=n+1; a[n]=0; Toniejesttosamo! +=,-=,*=,/=,%= połączenie operacji z przypisaniem; Np n+=1 oznacza n=n+1 lubn++ n*=4 oznacza n=n*4

96 Wykład1OGÓLNEINFORMACJEOC,str24 Operatory charakterystyczne dla C ++,-- dodanie(odjęcie) jedynki od zmiennej całkowitej; n++ oznacza n=n+1,n-- oznacza n=n-1 Np a[n++]=0; oznacza a[n]=0; n=n+1; a[++n]=0; oznacza n=n+1; a[n]=0; Toniejesttosamo! +=,-=,*=,/=,%= połączenie operacji z przypisaniem; Np n+=1 oznacza n=n+1 lubn++ n*=4 oznacza n=n*4 &,,, ˆ,<<,>> operacjebitowe(koniunkcja,alternatywa,negacja, różnica symetryczna, przesunięcia)

JĘZYKI PROGRAMOWANIA

JĘZYKI PROGRAMOWANIA Stefan Sokołowski JĘZYKI PROGRAMOWANIA Inst Informatyki UG, Gdańsk, 2014/2015 Wykład1OGÓLNEINFORMACJEOC,str1 JĘZYKI PROGRAMOWANIA reguły gry Zasadnicze informacje: http://infugedupl/ stefan/dydaktyka/jezprog

Bardziej szczegółowo

JĘZYKIFORMALNE IMETODYKOMPILACJI

JĘZYKIFORMALNE IMETODYKOMPILACJI Stefan Sokołowski JĘZYKIFORMALNE IMETODYKOMPILACJI Inst. Informatyki Stosowanej, PWSZ Elbląg, 2009/2010 JĘZYKI FORMALNE reguły gry Wykład1,2X2009,str.1 Zasadnicze informacje: http://iis.pwsz.elblag.pl/

Bardziej szczegółowo

Operatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo

Operatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo Operatory w C++ Operatory arytmetyczne + dodawanie - odejmowanie * mnożenie / dzielenie % modulo Operatory relacyjne (porównania) < mniejszy niż większy niż >= większy lub równy

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

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

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

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1 Operatory Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1 Przypomnienie: operatory Operator przypisania = przypisanie x = y x y Operatory arytmetyczne

Bardziej szczegółowo

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem. Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Typy c.d. 2 Typy zmiennych Instrukcja typedef -

Bardziej szczegółowo

Języki i paradygmaty programowania

Języki i paradygmaty programowania Języki i paradygmaty programowania Instytut Teleinformatyki ITI PK Kraków marzec 2012 Spis rzeczy 1 Operatory w C/C++ Operatory Operatory w C/C++ operator - rodzaj funkcji wbudowanej w język; różnica notacja

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

JĘZYKI FORMALNE I METODY KOMPILACJI

JĘZYKI FORMALNE I METODY KOMPILACJI Stefan Sokołowski JĘZYKI FORMALNE I METODY KOMPILACJI Inst Informatyki Stosowanej, PWSZ Elbląg, 2015/2016 JĘZYKI FORMALNE reguły gry Wykład1,str1 Zasadnicze informacje: http://iispwszelblagpl/ stefan/dydaktyka/jezform

Bardziej szczegółowo

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA I. KARTA PRZEDMIOTU 1. Nazwa przedmiotu: PODSTAWY PROGRAMOWANIA. Kod przedmiotu: Ovi1 3. Jednostka prowadząca: Wydział Mechaniczno-Elektryczny 4. Kierunek: Mechatronika 5. Specjalność: Eksploatacja Systemów

Bardziej szczegółowo

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. Podstawy programowania Programowanie wyrażeń 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. W językach programowania są wykorzystywane

Bardziej szczegółowo

Jerzy Nawrocki, Wprowadzenie do informatyki

Jerzy Nawrocki, Wprowadzenie do informatyki Jerzy Nawrocki, Jerzy Nawrocki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Cel wykładu Programowanie imperatywne i język C Zaprezentować paradygmat programowania imperatywnego

Bardziej szczegółowo

Podstawy Programowania Podstawowa składnia języka C++

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

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

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

Proste algorytmy w języku C

Proste algorytmy w języku C Proste algorytmy w języku C Michał Rad AGH Laboratorium Maszyn Elektrycznych 2016-12-01 Outline Język C Zadanie pierwsze - obliczanie miejsc zerowych wielomianu Zadanie drugie - znajdowanie największego

Bardziej szczegółowo

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Wyrażenia 2 Wyrażenia w języku C są bardziej elastyczne niż wyrażenia w jakimkolwiek innym języku

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

PODSTAWY PROGRAMOWANIA STRUKTURALNEGO (C) SYLABUS A. Informacje ogólne

PODSTAWY PROGRAMOWANIA STRUKTURALNEGO (C) SYLABUS A. Informacje ogólne PODSTAWY PROGRAMOWANIA STRUKTURALNEGO (C) SYLABUS A. Informacje ogólne Elementy składowe sylabusu Nazwa jednostki prowadzącej kierunek Nazwa kierunku studiów Poziom kształcenia Profil studiów Forma studiów

Bardziej szczegółowo

operator zmiany znaku operatory mnożenia, dzielenia, dzielenia modulo operatory dodawania, odejmowania

operator zmiany znaku operatory mnożenia, dzielenia, dzielenia modulo operatory dodawania, odejmowania http://torus.uck.pk.edu.pl/~fialko Operatory, wyrażenia, instrukcja przypisania Operatory arytmetyczne * / + - % operator zmiany znaku operatory mnożenia, dzielenia, dzielenia modulo operatory dodawania,

Bardziej szczegółowo

Deklaracje. W większości języków programowania(nie we wszystkich) wymaga się, żeby użyte w programie zmienne były wcześniej zadeklarowane:

Deklaracje. W większości języków programowania(nie we wszystkich) wymaga się, żeby użyte w programie zmienne były wcześniej zadeklarowane: Deklaracje Wykład5TYPYDANYCH,str1 W większości języków programowania(nie we wszystkich) wymaga się, żeby użyte w programie zmienne były wcześniej zadeklarowane: int i,j,n; double x, tab[1000]; } przykładowe

Bardziej szczegółowo

Jerzy Nawrocki, Wprowadzenie do informatyki

Jerzy Nawrocki, Wprowadzenie do informatyki Jerzy Nawrocki, Jerzy Nawrocki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Cel wykładu Programowanie imperatywne i język C Zaprezentować paradygmat programowania imperatywnego

Bardziej szczegółowo

JĘZYKI FORMALNE I METODY KOMPILACJI

JĘZYKI FORMALNE I METODY KOMPILACJI Stefan Sokołowski JĘZYKI FORMALNE I METODY KOMPILACJI Inst Informatyki Stosowanej, PWSZ Elbląg, 2018/2019 JĘZYKI FORMALNE reguły gry Wykład1,str1 Zasadnicze informacje: http://iispwszelblagpl/ stefan/dydaktyka/jezform

Bardziej szczegółowo

W większości języków programowania(nie we wszystkich) wymaga się, żeby użyte w programie zmienne były wcześniej zadeklarowane:

W większości języków programowania(nie we wszystkich) wymaga się, żeby użyte w programie zmienne były wcześniej zadeklarowane: Deklaracje W większości języków programowania(nie we wszystkich) wymaga się, żeby użyte w programie zmienne były wcześniej zadeklarowane: int i,j,n; double x, tab[1000]; przykładowe deklaracje w C Pierwsze

Bardziej szczegółowo

Podstawy programowania strukturalnego (C) SYLABUS A. Informacje ogólne

Podstawy programowania strukturalnego (C) SYLABUS A. Informacje ogólne Podstawy programowania strukturalnego (C) SYLABUS A. Informacje ogólne Elementy składowe sylabusu Nazwa jednostki prowadzącej kierunek Nazwa kierunku studiów Poziom kształcenia Profil studiów Forma studiów

Bardziej szczegółowo

ZAAWANSOWANE JĘZYKI PROGRAMOWANIA

ZAAWANSOWANE JĘZYKI PROGRAMOWANIA Stefan Sokołowski ZAAWANSOWANE JĘZYKI PROGRAMOWANIA Inst. Informatyki, UG Gdańsk, 2015/2016 Zaawansowane Języki Programowania Wykład1,str.1 Na http://sigma.ug.edu.pl/ stefan/dydaktyka/zaawjezprog będą

Bardziej szczegółowo

Spis treści JĘZYK C - OPERATORY BITOWE. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF32

Spis treści JĘZYK C - OPERATORY BITOWE. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF32 Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1D300 017 (studia stacjonarne)

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

Podstawy programowania w języku C i C++

Podstawy programowania w języku C i C++ Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,

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

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch. Instrukcje warunkowe i skoku. Spotkanie 2 Dr inż. Dariusz JĘDRZEJCZYK Wyrażenia i operatory logiczne Instrukcje warunkowe: if else, switch Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania

Bardziej szczegółowo

Wykład 2 Składnia języka C# (cz. 1)

Wykład 2 Składnia języka C# (cz. 1) Wizualne systemy programowania Wykład 2 Składnia języka C# (cz. 1) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Budowa projektu 2 Struktura programu

Bardziej szczegółowo

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa Język C część 1 Literatura [1] Brian W. Kernighan, Dennis M. Ritchie: Język ANSI C, Wydawnictwa Naukowo Techniczne, Warszawa 2003 [2] Anna Strudzioska-Walczak, Krzysztof Walczak, Nakuka programowania dla

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

Błędy leksykalne są na ogół nietrudne do znalezienia.

Błędy leksykalne są na ogół nietrudne do znalezienia. Rodzaje błędów w programach Wykład9.UWAGIOGÓLNE,str.1 Błąd leksykalny pojedyncza jednostka leksykalna(operator, słowo kluczowe, liczba itp.), której nie przewiduje definicja języka. Mn:=1; Sygn. błędu

Bardziej szczegółowo

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów Operatory są elementami języka C++. Istnieje zasada, że z elementami języka, takimi jak np. słowa kluczowe, nie można dokonywać żadnych zmian, przeciążeń, itp. PRZECIĄŻANIE OPERATORÓW Ale dla operatorów

Bardziej szczegółowo

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu

Bardziej szczegółowo

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009 Informatyka 1 zajęcia nr 1 Elektrotechnika, semestr II rok akademicki 2008/2009 mgr inż.. Paweł Myszkowski Plan dzisiejszych zajęć 1. Organizacja laboratorium przedmiotu 2. Algorytmy i sposoby ich opisu

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

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

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

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 8/9 Wykład nr 4 (.3.9) Rok akademicki 8/9, Wykład nr 4 /33 Plan wykładu

Bardziej szczegółowo

Odczyt danych z klawiatury Operatory w Javie

Odczyt danych z klawiatury Operatory w Javie Odczyt danych z klawiatury Operatory w Javie Operatory W Javie występują następujące typy operatorów: Arytmetyczne. Inkrementacji/Dekrementacji Przypisania. Porównania. Bitowe. Logiczne. Pozostałe. Operacje

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

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Programowanie I C15

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Programowanie I C15 KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia: Profil kształcenia: Forma studiów:

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2011/2012 Pracownia nr 1 (14.10.2011) Rok akademicki 2011/2012,

Bardziej szczegółowo

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 4. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 4. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 4 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Obliczenia matematyczne (operatory) Operator

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

Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE, ZAGNIEŻDŻANIE IF-ELSE.

Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE, ZAGNIEŻDŻANIE IF-ELSE. Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: ES1D200 009 (studia stacjonarne)

Bardziej szczegółowo

Spis treści JĘZYK C - OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE, INSTRUKCJA WARUNKOWA IF. Informatyka 1

Spis treści JĘZYK C - OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE, INSTRUKCJA WARUNKOWA IF. Informatyka 1 Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: ES1C200 009 (studia stacjonarne)

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej  Wydział Mechaniczny Technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium

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

WSTĘP DO PROGRAMOWANIA

WSTĘP DO PROGRAMOWANIA Stefan Sokołowski WSTĘP DO PROGRAOWANIA Inst Informatyki UG, Gdańsk, 2014/2015 Wykład1ALGORYTAPROGRA,str1 WSTĘP DO PROGRAOWANIA reguły gry Zasadnicze informacje: http://infugedupl/ stefan/dydaktyka/wstepdoprog

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

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy WSKAŹNIKI KLASOWE

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy WSKAŹNIKI KLASOWE WSKAŹNIKI KLASOWE Wskaźniki klasowe Każdy obiekt zajmuje fragment pamięci i wszystkie obiekty tego samego typu zajmują fragmenty pamięci tej samej długości początek miejsca w pamięci zajmowanego przez

Bardziej szczegółowo

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5. Operatory w Javie W Javie występują następujące typy operatorów: Arytmetyczne. Inkrementacji/Dekrementacji Przypisania. Porównania. Bitowe. Logiczne. Pozostałe. Operacje wykonywane są na operandach (argumentach

Bardziej szczegółowo

Wstęp do Informatyki i Programowania (kierunek matematyka stosowana)

Wstęp do Informatyki i Programowania (kierunek matematyka stosowana) Wstęp do Informatyki i Programowania (kierunek matematyka stosowana) Jacek Cichoń Przemysław Kobylański Instytut Matematyki i Informatyki Politechnika Wrocławska Na podstawie: M.Summerfield.Python 3. Kompletne

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

Programowanie komputerowe. Zajęcia 1

Programowanie komputerowe. Zajęcia 1 Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program

Bardziej szczegółowo

Rodzaje błędów w programach. Wykład9.UWAGIOGÓLNE,str.1

Rodzaje błędów w programach. Wykład9.UWAGIOGÓLNE,str.1 Wykład9.UWAGIOGÓLNE,str.1 Wykład9.UWAGIOGÓLNE,str.1 Błąd leksykalny pojedyncza jednostka leksykalna(operator, słowo kluczowe, liczba itp.), której nie przewiduje definicja języka. Wykład9.UWAGIOGÓLNE,str.1

Bardziej szczegółowo

Język C zajęcia nr 11. Funkcje

Język C zajęcia nr 11. Funkcje Język C zajęcia nr 11 Funkcje W języku C idea podprogramów realizowana jest wyłącznie poprzez definiowanie i wywołanie funkcji. Każda funkcja musi być przed wywołaniem zadeklarowana. Deklaracja funkcji

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

Warunki logiczne instrukcja if

Warunki logiczne instrukcja if Warunki logiczne instrukcja if Prowadzący: Łukasz Dunaj, strona kółka: atinea.pl/kolko 1. Wejdź na stronę kółka, uruchom edytor i wpisz: use console; def test::main() { var y; y = 1; while (y

Bardziej szczegółowo

Elementarne wiadomości o języku C

Elementarne wiadomości o języku C Elementarne wiadomości o języku C 1. Wprowadzenie Oprac.: Zbigniew Rudnicki Pierwszą wersję języka C opracował Dennis Ritchie w roku 1972 (wykorzystując niektóre rozwiazania z opracowanych w latach1967-1970

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

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Laboratorium 3 Instrukcje wyboru 1 INSTRUKCJE WYBORU Instrukcje sterujące to takie instrukcje, które sterują przebiegiem programu w zależności od spełnienia

Bardziej szczegółowo

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ Podstawy programowania Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ 1 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD Część I Wstęp do struktur danych: Tablice 2

Bardziej szczegółowo

Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE. Metodyki i techniki programowania

Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE. Metodyki i techniki programowania Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Metodyki i techniki programowania Kod przedmiotu: TS1C200

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

( 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

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

Wstęp do programowania Laboratorium - wytyczne

Wstęp do programowania Laboratorium - wytyczne Wydział Informatyki i Komunikacji Kierunek Informatyka i Ekonometria Studia I stopnia, stacjonarne Rok I, semestr 2 Wstęp do programowania Laboratorium - wytyczne Rok akademicki 2016/2017 Prowadzący zajęcia

Bardziej szczegółowo

Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE. Informatyka 1

Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE. Informatyka 1 Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: ES1C200 009 (studia stacjonarne)

Bardziej szczegółowo

Warto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda.

Warto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda. Nazwa implementacji: Nauka języka C wyrażenia warunkowe if- Autor: Piotr Fiorek Opis implementacji: Poznanie struktury oraz zastosowania wyrażeń warunkowych if- w języku C. W programie realizującym jakiś

Bardziej szczegółowo

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Cechy C++ Język ogólnego przeznaczenia Można programować obiektowo i strukturalnie Bardzo wysoka wydajność kodu wynikowego

Bardziej szczegółowo

Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne

Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne 1 Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion,

Bardziej szczegółowo

Spis treści JĘZYK C - INSTRUKCJA SWITCH, OPERATORY BITOWE. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF05

Spis treści JĘZYK C - INSTRUKCJA SWITCH, OPERATORY BITOWE. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF05 Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: ES1C200 009 (studia stacjonarne)

Bardziej szczegółowo

WYKŁAD 1 - KONSPEKT. Program wykładu:

WYKŁAD 1 - KONSPEKT. Program wykładu: mgr inż. Jarosław Forenc e-mail: jarekf@pb.bialystok.pl tel. (0-85) 746-93-97 WWW: http://we.pb.bialystok.pl/~jforenc konsultacje: zaliczenie: Program wykładu: WYKŁAD 1 - KONSPEKT 1. Ogólna struktura programu

Bardziej szczegółowo

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.

Bardziej szczegółowo

Wskaźniki. Przemysław Gawroński D-10, p marca Wykład 2. (Wykład 2) Wskaźniki 8 marca / 17

Wskaźniki. Przemysław Gawroński D-10, p marca Wykład 2. (Wykład 2) Wskaźniki 8 marca / 17 Wskaźniki Przemysław Gawroński D-10, p. 234 Wykład 2 8 marca 2019 (Wykład 2) Wskaźniki 8 marca 2019 1 / 17 Outline 1 Wskaźniki 2 Tablice a wskaźniki 3 Dynamiczna alokacja pamięci (Wykład 2) Wskaźniki 8

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Algorytmy liniowe Algorytmy z rozgałęzieniami

Bardziej szczegółowo

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy Wykład 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Algorytmy liniowe Algorytmy z rozgałęzieniami

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

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski Informatyka- wykład Podstawy programowania w Pythonie dr Marcin Ziółkowski Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie 23 listopada 2015 r. JĘZYK PYTHON Język Python jest

Bardziej szczegółowo

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki Wykład 2 - podstawy języka C++ Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje:

Bardziej szczegółowo

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017 Załącznik nr 4 do Uchwały Senatu nr 430/01/2015 SYLABUS DOTYCZY CYKLU KSZTAŁCENIA 2014-2018 realizacja w roku akademickim 2016/2017 1.1. PODSTAWOWE INFORMACJE O PRZEDMIOCIE/MODULE Nazwa przedmiotu/ modułu

Bardziej szczegółowo

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Programowanie w C++ Wykład 5 Katarzyna Grzelak 16 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły

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

Rok akademicki: 2013/2014 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Rok akademicki: 2013/2014 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne Nazwa modułu: Programowanie proceduralne Rok akademicki: 2013/2014 Kod: JFT-1-201-s Punkty ECTS: 5 Wydział: Fizyki i Informatyki Stosowanej Kierunek: Fizyka Techniczna Specjalność: Poziom studiów: Studia

Bardziej szczegółowo

Wstęp do wskaźników w języku ANSI C

Wstęp do wskaźników w języku ANSI C Wstęp do wskaźników w języku ANSI C / Materiał dydaktyczny pomocniczy do przedmiotu Informatyka sem.iii kier. Elektrotechnika/ 1. Wprowadzenie W języku ANSI C dla każdego typu X (wbudowanego, pochodnego,

Bardziej szczegółowo

Składnia języka EPL. EUCIP Programming Language

Składnia języka EPL. EUCIP Programming Language Składnia języka EPL EUCIP Programming Language Język programowania EPL (EUCIP Programming Language) został zaprojektowany na potrzeby weryfikacji rozumienia podstawowych zasad programowania na poziomie

Bardziej szczegółowo

Paradygmaty programowania

Paradygmaty programowania Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów

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

Elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)

Elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES) Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Programowanie komputerów 2 Nazwa modułu w języku angielskim Computer programming

Bardziej szczegółowo