Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Programowanie imperatywne i język C Copyright, 2006 © Jerzy R. Nawrocki Wstęp do.

Podobne prezentacje


Prezentacja na temat: "Programowanie imperatywne i język C Copyright, 2006 © Jerzy R. Nawrocki Wstęp do."— Zapis prezentacji:

1 Programowanie imperatywne i język C Copyright, 2006 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.pl http://www.cs.put.poznan.pl/jnawrocki/wdi/ Wstęp do informatyki Wykład 2

2 J.Nawrocki, Programowanie imperatywne i C Imperatywność Oktawian August 63 p.n.e – 14 n.e. Pierwszy Imperator Rzymu łac. imperare rozkazywać

3 J.Nawrocki, Programowanie imperatywne i C Klasy języków programowania Języki programowania Ciąg rozkazów Opis problemu Fortran Algol Pascal C C++ Java Prolog ILOG ImperatywneDeklaratywne

4 J.Nawrocki, Programowanie imperatywne i C Historia języka C 1966: Kompilator języka BCPL 1969: Język B 1972: Język C Ken Thompson, UNIX B.Kernighan, D.Ritchie, The C Programming Language. Lex, YACC, AWK Stroustrap, C++, 1983

5 J.Nawrocki, Programowanie imperatywne i C Plan wykładu Programy z jedną instrukcją Koncepcja zmiennej Drukowanie wartości zmiennej Czytanie liczb Instrukcja warunkowa Uproszczona instrukcja warunkowa Instrukcja powtarzania while Modularyzacja i funkcje.

6 J.Nawrocki, Programowanie imperatywne i C Plan wykładu Programy z jedną instrukcją Koncepcja zmiennej Drukowanie wartości zmiennej Czytanie liczb Instrukcja warunkowa Uproszczona instrukcja warunkowa Instrukcja powtarzania while Modularyzacja i funkcje Pisz Bitwa pod Akcjum.

7 J.Nawrocki, Programowanie imperatywne i C Schemat najprostszego programu...... Start Stop void main() {... return; } Instrukcje begin... end.

8 J.Nawrocki, Programowanie imperatywne i C Program z instrukcją drukowania void main() { printf ("Bitwa pod Akcjum\n"); return; } Bitwa pod Akcjum begin writeln ('Bitwa pod Akcjum') end. drukuj.. drukuj.. Start Stop

9 J.Nawrocki, Programowanie imperatywne i C Program z instrukcją drukowania void main() { printf ("Bitwa pod Akcjum\n"); return; } Bitwa pod Akcjum begin writeln ('Bitwa pod Akcjum') end. drukuj.. drukuj.. Start Stop

10 J.Nawrocki, Programowanie imperatywne i C Program z instrukcją drukowania void main() { printf ("Bitwa pod Akcjum\n"); return; } Bitwa pod Akcjum begin writeln ('Bitwa pod Akcjum') end. drukuj.. drukuj.. Start Stop

11 J.Nawrocki, Programowanie imperatywne i C Program z instrukcją drukowania void main() { printf ("Bitwa pod Akcjum\n"); return; } Bitwa pod Akcjum begin writeln ('Bitwa pod Akcjum') end. drukuj.. drukuj.. Start Stop

12 J.Nawrocki, Programowanie imperatywne i C Program z instrukcją drukowania void main() { printf ("Bitwa pod Akcjum\n"); return; } Bitwa pod Akcjum begin writeln ('Bitwa pod Akcjum'); end. drukuj.. drukuj.. Start Stop

13 J.Nawrocki, Programowanie imperatywne i C Kompilacja programu i wykonanie obliczeń 1. Zapisanie programu w pliku Akc.cAkc.exe Dane wejściowe Bitwa pod Akcjum Wyniki 3. Wykonanie obliczeń przez Akc.exe 2. Kompilacja np. tcc Akc.c

14 J.Nawrocki, Programowanie imperatywne i C Plan wykładu Programy z jedną instrukcją Koncepcja zmiennej Drukowanie wartości zmiennej Czytanie liczb Instrukcja warunkowa Uproszczona instrukcja warunkowa Instrukcja powtarzania while Modularyzacja i funkcje Zapamiętaj sobie 31.

15 J.Nawrocki, Programowanie imperatywne i C Zmienna jako pamięć Zmienna Cel: Pamiętanie wartości (np. liczby) Dwie operacje do wyboru: Zapisanie jakieś wartości. Odczytanie wartości. Zapisz 5

16 J.Nawrocki, Programowanie imperatywne i C Zmienna jako pamięć Zmienna 5 Cel: Pamiętanie wartości (np. liczby) Dwie operacje do wyboru: Zapisanie jakieś wartości. Odczytanie wartości. Zapisz 5 Zapisz 121

17 J.Nawrocki, Programowanie imperatywne i C Zmienna jako pamięć Zmienna 121 Cel: Pamiętanie wartości (np. liczby) Dwie operacje do wyboru: Zapisanie jakieś wartości. Odczytanie wartości. Zapisz 5 Odczytaj Zapisz 121 Jest 121

18 J.Nawrocki, Programowanie imperatywne i C Zmienna jako pamięć Zmienna 121 Cel: Pamiętanie wartości (np. liczby) Dwie operacje do wyboru: Zapisanie jakieś wartości. Odczytanie wartości. Zapisz 5 Odczytaj Zapisz 121 Jest 121 Zapisz 18

19 J.Nawrocki, Programowanie imperatywne i C Zmienna jako pamięć Zmienna 18 Cel: Pamiętanie wartości (np. liczby) Dwie operacje do wyboru: Zapisanie jakieś wartości. Odczytanie wartości. Zapisz 5 Odczytaj Zapisz 121 Jest 121 Zapisz 18

20 J.Nawrocki, Programowanie imperatywne i C Zmienna jako pamięć Zmienna X 11 W programie można używać wielu zmiennych. Dlatego trzeba je nazywać. Zmienna Y 22 Zmienna SUMA 33

21 J.Nawrocki, Programowanie imperatywne i C Zmienna jako pamięć Zmienna X 11 W programie można używać wielu zmiennych. Dlatego trzeba je nazywać. Zmienna Y 22 Zmienna SUMA 33 Zapisz w X 18

22 J.Nawrocki, Programowanie imperatywne i C Zmienna jako pamięć Zmienna X 18 W programie można używać wielu zmiennych. Dlatego trzeba je nazywać. Zmienna Y 22 Zmienna SUMA 33 Zapisz w X 18 Zapisz w Y 2

23 J.Nawrocki, Programowanie imperatywne i C Zmienna jako pamięć Zmienna X 18 W programie można używać wielu zmiennych. Dlatego trzeba je nazywać. Zmienna Y 2 Zmienna SUMA 33 Zapisz w X 18 Zapisz w Y 2 Zapisz w SUMA sumę X+Y

24 J.Nawrocki, Programowanie imperatywne i C Zmienna jako pamięć Zmienna X 18 W programie można używać wielu zmiennych. Dlatego trzeba je nazywać. Zmienna Y 2 Zmienna SUMA 20 Zapisz w X 18 Zapisz w Y 2 Zapisz w SUMA sumę X+Y Ukryty odczyt

25 J.Nawrocki, Programowanie imperatywne i C Zmienna jako pamięć Zmienna X 18 Zmienna Y 2 Zmienna SUMA 20 Zapisz w X 18 Zapisz w Y 2 Zapisz w SUMA sumę X+Y void main() {... X = 18; Y = 2; SUMA = X + Y;... }

26 J.Nawrocki, Programowanie imperatywne i C Zmienna jako pamięć Zmienna X 18 Zmienna Y 2 Zmienna SUMA 20 Zapisz w X 18 Zapisz w Y 2 Zapisz w SUMA sumę X+Y begin... X := 18; Y := 2; SUMA := X + Y;... end.

27 J.Nawrocki, Programowanie imperatywne i C Typy zmiennych Komputer inaczej przetwarza Liczby całkowite (.., -2, -1, 0, 1, 2,..) Liczby rzeczywiste (-1.5, 0.5, 2.3,..) Pojedyncze znaki ('a', 'b', 'z', 'A', 'Z', '+', '-', '*', '$', '0', '9',..) Ciągi znaków ("on", "rok 1956",..) Zmienna: typ + nazwa Przykładowe typy zmiennych w języku C: int – liczby całkowite (ang. integer) float – liczby rzeczywiste (ang. floating point) char – znaki (ang. character) integer real char

28 J.Nawrocki, Programowanie imperatywne i C Schemat najprostszego programu void main() {... return; } Instrukcje

29 J.Nawrocki, Programowanie imperatywne i C Prosty program ze zmiennymi void main() {... return; } Instrukcje Deklaracje zmiennych Zmienna: typ + nazwa Deklaracje zmiennych: typ nazwy_oddzielone_przecinkami ;

30 J.Nawrocki, Programowanie imperatywne i C Zmienna jako pamięć void main() {... X = 18; Y = 2; SUMA = X + Y;... } void main() { int X, Y, SUMA; X = 18; Y = 2; SUMA = X + Y; return; } Deklaracje zmiennych: typ nazwy_oddzielone_przecinkami ;

31 J.Nawrocki, Programowanie imperatywne i C Zmienna jako pamięć var X, Y, SUMA: integer; begin X := 18; Y := 2; SUMA := X + Y; end. Deklaracje zmiennych: nazwy_oddzielone_przecinkami : typ; void main() { int X, Y, SUMA; X = 18; Y = 2; SUMA = X + Y; return; }

32 J.Nawrocki, Programowanie imperatywne i C Plan wykładu Programy z jedną instrukcją Koncepcja zmiennej Drukowanie wartości zmiennej Czytanie liczb Instrukcja warunkowa Uproszczona instrukcja warunkowa Instrukcja powtarzania while Modularyzacja i funkcje Pisz co zapamiętałeś.

33 J.Nawrocki, Programowanie imperatywne i C Drukowanie wartości zmiennej void main() { int X, Y, SUMA; X = 18; Y = 2; SUMA = X + Y; return; } Nie widać wyników!

34 J.Nawrocki, Programowanie imperatywne i C Drukowanie wartości zmiennej void main() { int X, Y, SUMA; X = 18; Y = 2; SUMA = X + Y; printf(.. ); return; } Nie widać wyników!

35 J.Nawrocki, Programowanie imperatywne i C Drukowanie wartości zmiennej printf(" format ", zmienne ); Ogólniejsza postać printf: %d oznacza int printf("X = %d \n", X );

36 J.Nawrocki, Programowanie imperatywne i C Drukowanie wartości zmiennej printf(" format ", zmienne ); Ogólniejsza postać printf: %d oznacza int printf("X = %d \n", X );

37 J.Nawrocki, Programowanie imperatywne i C Drukowanie wartości zmiennej printf(" format ", zmienne ); Ogólniejsza postać printf: printf("X = %d \n", X); X = 18 %d oznacza int

38 J.Nawrocki, Programowanie imperatywne i C Drukowanie wartości zmiennej printf(" format ", zmienne ); Ogólniejsza postać printf: %d oznacza int printf("X = %d \n", X); X = 18 void main() { int X, Y, SUMA; X = 18; Y = 2; SUMA = X + Y; printf("%d \n", SUMA); return; } 20

39 J.Nawrocki, Programowanie imperatywne i C Drukowanie wartości zmiennej var X, Y, SUMA: integer; begin X := 18; Y := 2; SUMA := X + Y; writeln(SUMA); end. 20

40 J.Nawrocki, Programowanie imperatywne i C Plan wykładu Programy z jedną instrukcją Koncepcja zmiennej Drukowanie wartości zmiennej Czytanie liczb Instrukcja warunkowa Uproszczona instrukcja warunkowa Instrukcja powtarzania while Modularyzacja i fukcje Czytaj, co pisze Livia Drusilla

41 J.Nawrocki, Programowanie imperatywne i C Czytanie liczb void main() { int X, Y, SUMA; X = 18; Y = 2; SUMA = X + Y; printf("%d \n", SUMA); return; } 20 Przecież można prościej!

42 J.Nawrocki, Programowanie imperatywne i C Czytanie liczb void main() { int X, Y, SUMA; X = 18; Y = 2; SUMA = X + Y; printf(" 20 \n"); return; } 20 Przecież można prościej!

43 J.Nawrocki, Programowanie imperatywne i C Zadanie Napisać program wyświetlający sumę dowolnych dwóch liczb całkowitych. 18 2 0 5 -3 1 18 + 2 = 20 0 + 5 = 5 -3 + 1 = -2

44 J.Nawrocki, Programowanie imperatywne i C void main() { int X, Y, SUMA; X = 18; Y = 2; SUMA = X + Y; printf("%d + %d = %d \n", X, Y, SUMA); return; } Czytanie liczb 18 + 2 = 20 Jak wczytać wartości X, Y ?

45 J.Nawrocki, Programowanie imperatywne i C Czytanie liczb Jak wczytać wartości X, Y ? scanf(" format ", adresy_zmiennych ); scanf(" %d ", &X ); void main() { int X; scanf("%d", &X); printf("%d \n", X ); return; }

46 J.Nawrocki, Programowanie imperatywne i C Czytanie liczb Jak wczytać wartości X, Y ? scanf(" format ", adresy_zmiennych ); scanf(" %d ", &X ); scanf(" %d %d ", &X, &Y );

47 J.Nawrocki, Programowanie imperatywne i C Czytanie liczb Jak wczytać wartości X, Y ? scanf(" format ", adresy_zmiennych ); scanf(" %d ", &X ); scanf(" %d %d ", &X, &Y ); & - bardzo ważny!

48 J.Nawrocki, Programowanie imperatywne i C void main() { int X, Y, SUMA; X = 18; Y = 2; SUMA = X + Y; printf("%d + %d = %d \n", X, Y, SUMA); return; } Czytanie liczb

49 J.Nawrocki, Programowanie imperatywne i C void main() { int X, Y, SUMA; scanf("%d %d", &X, &Y); SUMA = X + Y; printf("%d + %d = %d \n", X, Y, SUMA); return; } Czytanie liczb 18 + 2 = 20 18 2

50 J.Nawrocki, Programowanie imperatywne i C void main() { int X, Y, SUMA; scanf("%d %d", &X, &Y); SUMA = X + Y; printf("%d + %d = %d \n", X, Y, SUMA); return; } Czytanie liczb 0 + 5 = 5 0 5

51 J.Nawrocki, Programowanie imperatywne i C var X, Y, SUMA: integer; begin read(X, Y); SUMA := X + Y; writeln(X, ' + ', Y, ' = ', SUMA); end. Czytanie liczb 0 + 5 = 5 0 5

52 J.Nawrocki, Programowanie imperatywne i C Plan wykładu Programy z jedną instrukcją Koncepcja zmiennej Drukowanie wartości zmiennej Czytanie liczb Instrukcja warunkowa Uproszczona instrukcja warunkowa Instrukcja powtarzania while Modularyzacja i funkcje Jeśli idzie > 1 legion, to wystaw 2; w przeciwnym razie wystaw 1.

53 J.Nawrocki, Programowanie imperatywne i C Zadanie Napisać program wyświetlający minimum z dwóch liczb całkowitych. 18 2 -3 1 min(18, 2)= 2 min(-3, 1)= -3 5 min(5, 5)= 5

54 J.Nawrocki, Programowanie imperatywne i C Schemat rozwiązania Start Czytaj X,Y X < Y TakDrukuj(X) NieDrukuj(Y) Stop

55 J.Nawrocki, Programowanie imperatywne i C Schemat rozwiązania Start Czytaj X,Y X < Y Tak Drukuj(X) Nie Drukuj(Y) Stop

56 J.Nawrocki, Programowanie imperatywne i C Instrukcja warunkowa if ( warunek ) { instrukcje_1 } else { instrukcje_2 } if ( ładna_pogoda ) { o_19tej_idziemy_na_spacer; } else { o_19tej_idziemy_do_kina; }

57 J.Nawrocki, Programowanie imperatywne i C Instrukcja warunkowa Czytaj X,Y X < Y Tak Drukuj(X) Nie Drukuj(Y) void main() { return; }

58 J.Nawrocki, Programowanie imperatywne i C Instrukcja warunkowa X < Y Tak Drukuj(X) Nie Drukuj(Y) void main() { scanf("%d %d", &X, &Y); return; } Czytaj X,Y

59 J.Nawrocki, Programowanie imperatywne i C Instrukcja warunkowa X < Y Tak Drukuj(X) Nie Drukuj(Y) void main() { int X, Y; scanf("%d %d", &X, &Y); return; } Czytaj X,Y

60 J.Nawrocki, Programowanie imperatywne i C Instrukcja warunkowa X < Y Tak Drukuj(X) Nie Drukuj(Y) void main() { int X, Y; scanf("%d %d", &X, &Y); return; } Czytaj X,Y

61 J.Nawrocki, Programowanie imperatywne i C Instrukcja warunkowa Czytaj X,Y X < Y Tak Drukuj(X) Nie Drukuj(Y) void main() { int X, Y; scanf("%d %d", &X, &Y); if ( X < Y ) { }else { } return; }

62 J.Nawrocki, Programowanie imperatywne i C Instrukcja warunkowa Czytaj X,Y X < Y Tak Drukuj(X) Nie Drukuj(Y) void main() { int X, Y; scanf("%d %d", &X, &Y); if ( X < Y ) { }else { } return; }

63 J.Nawrocki, Programowanie imperatywne i C Instrukcja warunkowa Czytaj X,Y X < Y Tak Drukuj(X) Nie Drukuj(Y) void main() { int X, Y; scanf("%d %d", &X, &Y); if ( X < Y ) { printf("min(%d, %d)= %d \n", X, Y, X); }else { } return; } min(0, 5)= 0 0 5

64 J.Nawrocki, Programowanie imperatywne i C Instrukcja warunkowa Czytaj X,Y X < Y Tak Drukuj(X) Nie Drukuj(Y) void main() { int X, Y; scanf("%d %d", &X, &Y); if ( X < Y ) { printf(" min(%d, %d)= %d \n", X, Y, X); }else { } return; } min(0, 5)= 0 0 5

65 J.Nawrocki, Programowanie imperatywne i C Instrukcja warunkowa Czytaj X,Y X < Y Tak Drukuj(X) Nie Drukuj(Y) void main() { int X, Y; scanf("%d %d", &X, &Y); if ( X < Y ) { printf(" min( %d, %d )= %d \n", X, Y, X ); }else { } return; } min(0, 5)= 0 0 5

66 J.Nawrocki, Programowanie imperatywne i C Instrukcja warunkowa Czytaj X,Y X < Y Tak Drukuj(X) Nie Drukuj(Y) void main() { int X, Y; scanf("%d %d", &X, &Y); if ( X < Y ) { printf("min(%d, %d)= %d \n", X, Y, X); }else { printf("min(%d, %d)= %d \n", X, Y, Y); } return; }

67 J.Nawrocki, Programowanie imperatywne i C Instrukcja warunkowa Czytaj X,Y X < Y Tak Drukuj(X) Nie Drukuj(Y) void main() { int X, Y; scanf("%d %d", &X, &Y); if ( X < Y ) { printf("min(%d, %d)= %d \n", X, Y, X ); }else { printf("min(%d, %d)= %d \n", X, Y, Y); } return; }

68 J.Nawrocki, Programowanie imperatywne i C void main() { int X, Y; scanf("%d %d", &X, &Y); if ( X < Y ) { printf("min(%d, %d)= %d \n", X, Y, X); }else { printf("min(%d, %d)= %d \n", X, Y, Y); } return; } Instrukcja warunkowa min(18, 2)= 2 18 2

69 J.Nawrocki, Programowanie imperatywne i C void main() { int X, Y; scanf("%d %d", &X, &Y); if ( X < Y ) { printf("min(%d, %d)= %d \n", X, Y, X); }else { printf("min(%d, %d)= %d \n", X, Y, Y); } return; } Instrukcja warunkowa min(18, 2)= 2 18 2

70 J.Nawrocki, Programowanie imperatywne i C var X, Y: integer; begin read(X, Y); if ( X < Y ) begin writeln('min(', X, ', ', Y, ')= ', X); end else begin writeln('min(', X, ', ', Y, ')= ', Y); end end. Instrukcja warunkowa min(18, 2)= 2 18 2

71 J.Nawrocki, Programowanie imperatywne i C Plan wykładu Programy z jedną instrukcją Koncepcja zmiennej Drukowanie wartości zmiennej Czytanie liczb Instrukcja warunkowa Uproszczona instrukcja warunkowa Instrukcja powtarzania while Modularyzacja i funkcje Jeśli Marek Antoniusz nie ustąpi, to wypowiemy wojnę Egiptowi.

72 J.Nawrocki, Programowanie imperatywne i C Zadanie Napisać program wyświetlający wartość bezwzględną podanej liczby całkowitej. 3 -3 3 3

73 J.Nawrocki, Programowanie imperatywne i C Schemat rozwiązania Nie X < 0 Tak X – X Drukuj X Czytaj X

74 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa if ( warunek ) { instrukcje } if ( pożar ) { dzwonPoStrazPozarna; }

75 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa X < 0 Tak Nie Drukuj X Czytaj X X – X void main() { return; }

76 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa X < 0 Tak Nie Drukuj X Czytaj X X – X void main() { return; }

77 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa void main() { int X; scanf("%d", &X); return; } X < 0 Tak Nie Drukuj X Czytaj X X – X

78 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa X < 0 Tak Nie Drukuj X Czytaj X X – X void main() { int X; scanf("%d", &X); return; }

79 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa X < 0 Tak Nie Drukuj X Czytaj X X – X void main() { int X; scanf("%d", &X); return; }

80 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa void main() { int X; scanf("%d", &X); if ( X < 0 ) { X = -X; } return; } X < 0 Tak Nie Drukuj X Czytaj X X – X

81 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa void main() { int X; scanf("%d", &X); if ( X < 0 ) { X = -X; } return; } X < 0 Tak Nie Drukuj X Czytaj X X – X

82 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa X < 0 Tak Nie Drukuj X Czytaj X X – X void main() { int X; scanf("%d", &X); if ( X < 0 ) { X = -X; } return; }

83 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa X < 0 Tak Nie Drukuj X Czytaj X X – X void main() { int X; scanf("%d", &X); if ( X < 0 ) { X = -X; } printf("%d \n", X); return; }

84 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa X < 0 Tak Nie Drukuj X Czytaj X X – X void main() { int X; scanf("%d", &X); if ( X < 0 ) { X = -X; } printf("%d \n", X); return; }

85 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa void main() { int X; scanf("%d", &X); if ( X < 0 ) { X = -X; } printf("%d \n", X); return; } 3 X

86 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa void main() { int X; scanf("%d", &X); if ( X < 0 ) { X = -X; } printf("%d \n", X); return; } 3 X

87 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa void main() { int X; scanf("%d", &X); if ( X < 0 ) { X = -X; } printf("%d \n", X); return; } 3 3 X

88 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa void main() { int X; scanf("%d", &X); if ( X < 0 ) { X = -X; } printf("%d \n", X); return; } 3 3 X

89 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa void main() { int X; scanf("%d", &X); if ( X < 0 ) { X = -X; } printf("%d \n", X); return; } 3 3 X

90 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa void main() { int X; scanf("%d", &X); if ( X < 0 ) { X = -X; } printf("%d \n", X); return; } 3 3 3 X

91 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa void main() { int X; scanf("%d", &X); if ( X < 0 ) { X = -X; } printf("%d \n", X); return; } -3 X

92 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa void main() { int X; scanf("%d", &X); if ( X < 0 ) { X = -X; } printf("%d \n", X); return; } -3 X

93 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa void main() { int X; scanf("%d", &X); if ( X < 0 ) { X = -X; } printf("%d \n", X); return; } -3 X

94 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa void main() { int X; scanf("%d", &X); if ( X < 0 ) { X = -X; } printf("%d \n", X); return; } -3 X

95 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa void main() { int X; scanf("%d", &X); if ( X < 0 ) { X = -X; } printf("%d \n", X); return; } -3 X

96 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa void main() { int X; scanf("%d", &X); if ( X < 0 ) { X = -X; } printf("%d \n", X); return; } -3 3 X

97 J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa void main() { int X; scanf("%d", &X); if ( X < 0 ) { X = -X; } printf("%d \n", X); return; } -3 3 X 3

98 J.Nawrocki, Programowanie imperatywne i C Relacje w języku C void main() { int a, b; scanf("%d %d", &a, &b); if (a < b) {printf("%d mniejsze niz %d\n", a, b);} if (a <= b) {printf("%d mniejsze lub rowne %d\n",a, b);} if (a == b) {printf("%d rowne %d\n", a, b);} if (a != b) {printf("%d rozne od %d\n", a, b);} if (a >= b) {printf("%d wieksze lub rowne %d\n", a, b);} if (a > b) {printf("%d wieksze niz %d\n", a, b);} return; } 1 5 1 mniejsze niz 5 1 mniejsze lub rowne 5 1 rozne od 5

99 J.Nawrocki, Programowanie imperatywne i C Plan wykładu Programy z jedną instrukcją Koncepcja zmiennej Drukowanie wartości zmiennej Czytanie liczb Instrukcja warunkowa Uproszczona instrukcja warunkowa Instrukcja powtarzania while Modularyzacja i funkcje Jak długo Marek Antoniusz jest z Kleopatrą, będziemy walczyć.

100 J.Nawrocki, Programowanie imperatywne i C Zadanie Napisać program obliczający liczbę cyfr dziesiętnych podanej liczby naturalnej (0, 1, 2,..). 0 9 10 0 ma cyfr: 1 9 ma cyfr: 1 10 ma cyfr: 2 9999 ma cyfr: 2 100100 ma cyfr: 3

101 J.Nawrocki, Programowanie imperatywne i C Analiza zadania Napisać program obliczający liczbę cyfr dziesiętnych podanej liczby naturalnej (0, 1, 2,..). 0,.. 9, 10,.. 99, 100,.. 999, 1 000,.. 9 999, 10 000,..

102 J.Nawrocki, Programowanie imperatywne i C Analiza zadania Napisać program obliczający liczbę cyfr dziesiętnych podanej liczby naturalnej (0, 1, 2,..). 0,.. 9, 10,.. 99, 100,.. 999, 1 000,.. 9 999, 10 000,..

103 J.Nawrocki, Programowanie imperatywne i C 0,.. 9, 10,.. 99, 100,.. 999, 1 000,.. 9 999, 10 000,.. Analiza zadania C=1 G=10 1 cyf. X<10 2 cyf. X<100 3 cyfry X<1000 4 cyfry X<10000 X >= G C= C + 1 G= G * 10 Tak C= C + 1 G= G * 10 Tak C= C + 1 G= G * 10 Tak X >= G C= Cyfr G= Granica

104 J.Nawrocki, Programowanie imperatywne i C Schemat rozwiązania Nie Tak C C + 1 G G * 10 Drukuj C X >= G Czytaj X C 1 G 10

105 J.Nawrocki, Programowanie imperatywne i C Przykładowe obliczenie Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 Jak to sprawdzić ? X X C C G G 9

106 J.Nawrocki, Programowanie imperatywne i C Przykładowe obliczenie Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 Jak to sprawdzić ? X X C C G G 9

107 J.Nawrocki, Programowanie imperatywne i C Przykładowe obliczenie Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 Jak to sprawdzić ? 9 X X C C G G 9

108 J.Nawrocki, Programowanie imperatywne i C Przykładowe obliczenie Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 Jak to sprawdzić ? 9 X X C C G G 9

109 J.Nawrocki, Programowanie imperatywne i C Przykładowe obliczenie Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 Jak to sprawdzić ? 9 1 X X C C G G 9

110 J.Nawrocki, Programowanie imperatywne i C Przykładowe obliczenie Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 Jak to sprawdzić ? 9 1 X X C C G G 9

111 J.Nawrocki, Programowanie imperatywne i C Przykładowe obliczenie Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 Jak to sprawdzić ? 9 1 10 X X C C G G 9

112 J.Nawrocki, Programowanie imperatywne i C Przykładowe obliczenie Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 Jak to sprawdzić ? 9 1 10 X X C C G G 9

113 J.Nawrocki, Programowanie imperatywne i C Przykładowe obliczenie Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 Jak to sprawdzić ? 9 1 10 X X C C G G 9

114 J.Nawrocki, Programowanie imperatywne i C Przykładowe obliczenie Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 Jak to sprawdzić ? 9 1 10 X X C C G G 9

115 J.Nawrocki, Programowanie imperatywne i C Przykładowe obliczenie Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 Jak to sprawdzić ? 9 1 10 X X C C G G 9

116 J.Nawrocki, Programowanie imperatywne i C Przykładowe obliczenie Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 Jak to sprawdzić ? 9 1 10 X X C C G G 9

117 J.Nawrocki, Programowanie imperatywne i C Przykładowe obliczenie Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 Jak to sprawdzić ? 9 1 10 X X C C G G 9 9 ma cyfr: 1

118 J.Nawrocki, Programowanie imperatywne i C Przykładowe obliczenie Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 Aha! 9 1 10 X X C C G G 9 9 ma cyfr: 1

119 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 X X C C G G 87

120 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 X X C C G G 87

121 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 X X C C G G

122 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 X X C C G G

123 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 1 X X C C G G

124 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 1 X X C C G G

125 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 1 10 X X C C G G 87

126 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 1 10 X X C C G G 87

127 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 1 10 X X C C G G 87

128 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 1 10 X X C C G G 87

129 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 1 10 X X C C G G 87 2

130 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 10 X X C C G G 87 1 2

131 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 10 X X C C G G 87 1 2 100

132 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 10 X X C C G G 87 1 2 100

133 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 10 X X C C G G 87 1 2 100

134 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 10 X X C C G G 87 1 2 100

135 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 10 X X C C G G 87 1 2 100

136 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 10 X X C C G G 87 1 2 100

137 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 10 X X C C G G 87 1 2 100

138 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 10 X X C C G G 87 1 2 100

139 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 10 X X C C G G 87 1 2 100

140 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 10 X X C C G G 87 1 2 100

141 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 10 X X C C G G 1 2 100 87 87 ma cyfr: 2

142 J.Nawrocki, Programowanie imperatywne i C Inny przykład obliczeń Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 10 X X C C G G 1 2 100 87 87 ma cyfr: 2

143 J.Nawrocki, Programowanie imperatywne i C Instrukcja powtarzania Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10

144 J.Nawrocki, Programowanie imperatywne i C Instrukcja powtarzania Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 while ( warunek ) { instrukcje; } while ( X >= G ) { C= C + 1; G= G * 10; }

145 J.Nawrocki, Programowanie imperatywne i C Program w C Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 void main() { return; }

146 J.Nawrocki, Programowanie imperatywne i C Program w C Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 void main() { return; }

147 J.Nawrocki, Programowanie imperatywne i C Program w C void main() { scanf("%d", X); C= 1; G= 10; return; } Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10

148 J.Nawrocki, Programowanie imperatywne i C Program w C void main() { int X, C, G; scanf("%d", X); C= 1; G= 10; return; } Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10

149 J.Nawrocki, Programowanie imperatywne i C Program w C void main() { int X, C, G; scanf("%d", X); C= 1; G= 10; return; } Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 Co dalej?

150 J.Nawrocki, Programowanie imperatywne i C Program w C void main() { int X, C, G; scanf("%d", &X); C= 1; G= 10; printf("%d ma cyfr: %d \n", X, C); return; } Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 5 5 ma cyfr: 1

151 J.Nawrocki, Programowanie imperatywne i C Program w C void main() { int X, C, G; scanf("%d", &X); C= 1; G= 10; printf("%d ma cyfr: %d \n", X, C); return; } Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 87 87 ma cyfr: 1

152 J.Nawrocki, Programowanie imperatywne i C Program w C Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 void main() { int X, C, G; scanf("%d", X); C= 1; G= 10; while (X >= G) { C= C + 1; G= G * 10; } printf("%d ma cyfr: %d \n", X, C); return; }

153 J.Nawrocki, Programowanie imperatywne i C Program w C Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10 void main() { int X, C, G; scanf("%d", X); C= 1; G= 10; while (X >= G) { C= C + 1; G= G * 10; } printf("%d ma cyfr: %d \n", X, C); return; } 87 87 ma cyfr: 2

154 J.Nawrocki, Programowanie imperatywne i C Program w Pascalu var X, C, G: integer; read(X); C:= 1; G:= 10; while (X >= G) begin C= C + 1; G= G * 10; end; writeln(X, ' ma cyfr: ', C); end. 87 87 ma cyfr: 2

155 J.Nawrocki, Programowanie imperatywne i C Plan wykładu Programy z jedną instrukcją Koncepcja zmiennej Drukowanie wartości zmiennej Czytanie liczb Instrukcja warunkowa Uproszczona instrukcja warunkowa Instrukcja powtarzania while Modularyzacja i funkcje Jak długo Marek Antoniusz jest z Kleopatrą, będziemy walczyć.

156 J.Nawrocki, Programowanie imperatywne i C Koncepcja modularyzacji Start wahadłowca Discovery (26.VII.2005)

157 J.Nawrocki, Programowanie imperatywne i C Koncepcja modularyzacji Discovery (9.VIII.2005)

158 J.Nawrocki, Programowanie imperatywne i C Koncepcja modularyzacji System wahadłowca Rakieta ET Discovery Monitor

159 J.Nawrocki, Programowanie imperatywne i C Koncepcja modularyzacji tg(x) sin(x) cos(x) tg(x) = sin(x) / cos(x)

160 J.Nawrocki, Programowanie imperatywne i C Funkcje cos ( /2 ) = 0

161 J.Nawrocki, Programowanie imperatywne i C Funkcje cos ( /2 ) = 0 Nazwa funkcji

162 J.Nawrocki, Programowanie imperatywne i C Funkcje cos ( /2 ) = 0 Argument (parametr aktualny) Nazwa funkcji

163 J.Nawrocki, Programowanie imperatywne i C Funkcje cos ( /2 ) = 0 Argument (parametr aktualny) Nazwa funkcji Wynik

164 J.Nawrocki, Programowanie imperatywne i C Funkcje nast ( 3 ) = 4 void main() { int X, Y; scanf("%d", &X); Y= X + 1; printf("%d \n", Y); return; } void main() { int X, Y; scanf("%d", X); Y= nast(X); printf("%d \n", Y); return; } int nast(int n) { return n+1; } Napisać program wyświetlający liczbę o 1 większą od podanej. 3 4

165 J.Nawrocki, Programowanie imperatywne i C Funkcje void main() { int X, Y; scanf("%d", X); Y= nast(X) ; printf("%d \n", Y); return; } int nast(int n) { return n+1; }

166 J.Nawrocki, Programowanie imperatywne i C Funkcje void main() { int X, Y; scanf("%d", X); Y= nast( X ); printf("%d \n", Y); return; } int nast( int n ) { return n +1; }

167 J.Nawrocki, Programowanie imperatywne i C Funkcje void main() { int X, Y; scanf("%d", X); Y= nast (X); printf("%d \n", Y); return; } int nast(int n) { return n+1 ; }

168 J.Nawrocki, Programowanie imperatywne i C Funkcje void main() { int X, Y; scanf("%d", X); Y= nast (X); printf("%d \n", Y); return; } int nast(int n) { return n+1 ; }

169 J.Nawrocki, Programowanie imperatywne i C Funkcje void main() { int X, Y ; scanf("%d", X); Y = nast(X); printf("%d \n", Y); return; } int nast(int n) { return n+1; }

170 J.Nawrocki, Programowanie imperatywne i C Funkcje TypWyniku NazwaFun ( Param ){ Deklaracje Instrukcje Instrukcje return Wynik ; } int nast( int n ){ return n+1 ; }

171 J.Nawrocki, Programowanie imperatywne i C Funkcje Program = zbiór funkcji Wykonanie zaczyna się od funkcji main void main() { int X, Y; scanf("%d", X); Y= nast(X); printf("%d \n", Y); return; } int nast( int n ){ return n+1 ; }

172 J.Nawrocki, Programowanie imperatywne i C Funkcje void main() { printf("Fly by Lot\n"); return; } Żaden Brak parametrów Brak wyniku Program = zbiór funkcji Wykonanie zaczyna się od funkcji main

173 J.Nawrocki, Programowanie imperatywne i C Ile cyfr ma podana liczba X? void main() { int X, C, G; scanf("%d", &X); C= 1; G= 10; while (X >= G) { C= C + 1; G= G * 10; } printf("%d ma cyfr: %d \n", X, C); return; }

174 J.Nawrocki, Programowanie imperatywne i C Ile cyfr ma podana liczba X? void main() { int X, C, G; scanf("%d", &X); C= 1; G= 10; while (X >= G) { C= C + 1; G= G * 10; } printf("%d ma cyfr: %d \n", X, C); return; } void main() { int X, C; scanf("%d", &X); C= LiczbaCyfr(X); printf("%d ma cyfr: %d \n", X, C); return; } int LiczbaCyfr(int n) { int C, G; C= 1; G= 10; while (n >= G) { C= C + 1; G= G * 10; } return C; }

175 J.Nawrocki, Programowanie imperatywne i C Wszystkie funkcje w jednym pliku int LiczbaCyfr(int n) { int C, G;... return C; } void main() { int X, C; scanf("%d", &X); C= LiczbaCyfr(X); printf("%d ma cyfr: %d \n", X, C); return; }

176 J.Nawrocki, Programowanie imperatywne i C Podsumowanie Drukowanie i czytanie liczb w C. Instrukcje warunkowe if. Instrukcja powtarzania while. Funkcje jako narzędzie modularyzacji Podsumujmy.

177 J.Nawrocki, Programowanie imperatywne i C Ocena wykładu 1. Wrażenie ogólne? (1 - 6) 2. Tempo (wolniej, OK., szybciej)? 3. Czy dowiedziałeś się czegoś ważnego? 4. Co poprawić i jak? Sprawdźmy jakość.


Pobierz ppt "Programowanie imperatywne i język C Copyright, 2006 © Jerzy R. Nawrocki Wstęp do."

Podobne prezentacje


Reklamy Google