Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałRadomiła Szubiński Został zmieniony 11 lat temu
1
Programowanie imperatywne i język C Copyright, 2005 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.pl http://www.cs.put.poznan.pl/jnawrocki/wsb-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ą Dwie instrukcje i \n Koncepcja zmiennej Drukowanie wartości zmiennej Czytanie liczb Instrukcja warunkowa Uproszczona instrukcja warunkowa Instrukcja powtarzania while.
6
J.Nawrocki, Programowanie imperatywne i C Plan wykładu Programy z jedną instrukcją Dwie instrukcje i \n Koncepcja zmiennej Drukowanie wartości zmiennej Czytanie liczb Instrukcja warunkowa Uproszczona instrukcja warunkowa Instrukcja powtarzania while Pisz Bitwa pod Akcjum.
7
J.Nawrocki, Programowanie imperatywne i C Schemat najprostszego programu void main() {... return; } Instrukcje
8
J.Nawrocki, Programowanie imperatywne i C Program z jedną instrukcją void main() { printf("Bitwa pod Akcjum\n"); return; } Instrukcja drukowania
9
J.Nawrocki, Programowanie imperatywne i C Program z jedną instrukcją void main() { printf("Bitwa pod Akcjum\n"); return; } Instrukcja drukowania
10
J.Nawrocki, Programowanie imperatywne i C Program z jedną instrukcją void main() { printf ("Bitwa pod Akcjum\n"); return; } Nazwa instrukcji
11
J.Nawrocki, Programowanie imperatywne i C Program z jedną instrukcją void main() { printf ( "Bitwa pod Akcjum\n" ) ; return; } Nawiasy
12
J.Nawrocki, Programowanie imperatywne i C Program z jedną instrukcją void main() { printf(" Bitwa pod Akcjum \n"); return; } Drukowany tekst Bitwa pod Akcjum
13
J.Nawrocki, Programowanie imperatywne i C Program z jedną instrukcją void main() { printf("Bitwa pod Akcjum \n "); return; } Znak nowej linii Bitwa pod Akcjum
14
J.Nawrocki, Programowanie imperatywne i C Program z jedną instrukcją void main() { printf( " Bitwa pod Akcjum\n " ); return; } Cudzysłowy ograniczające tekst
15
J.Nawrocki, Programowanie imperatywne i C Program z jedną instrukcją void main() { printf("Bitwa pod Akcjum\n") ; return; } Średnik kończący instrukcję
16
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
17
J.Nawrocki, Programowanie imperatywne i C Plan wykładu Programy z jedną instrukcją Dwie instrukcje i \n Koncepcja zmiennej Drukowanie wartości zmiennej Czytanie liczb Instrukcja warunkowa Uproszczona instrukcja warunkowa Instrukcja powtarzania while Pisz Pod Akcjum, a potem pisz Zwycięstwo
18
J.Nawrocki, Programowanie imperatywne i C Schemat najprostszego programu void main() {... return; } Instrukcj e
19
J.Nawrocki, Programowanie imperatywne i C Program z dwiema instrukcjami void main() { printf("Bitwa pod Akcjum.\n"); printf("Zwyciestwo.\n"); return; } Bitwa pod Akcjum. Zwyciestwo.
20
J.Nawrocki, Programowanie imperatywne i C Program z dwiema instrukcjami void main() { printf( Bitwa pod Akcjum. \n"); printf( Zwyciestwo. \n"); return; } Bitwa pod Akcjum. Zwyciestwo.
21
J.Nawrocki, Programowanie imperatywne i C Znak nowej linii \n void main() { printf(Bitwa pod Akcjum. \n "); printf(Zwyciestwo. \n "); return; } Bitwa pod Akcjum. Zwyciestwo.
22
J.Nawrocki, Programowanie imperatywne i C Znak nowej linii \n void main() { printf(Bitwa pod \n Akcjum."); printf(Zwyciestwo. \n "); return; } Bitwa pod Akcjum. Zwyciestwo.
23
J.Nawrocki, Programowanie imperatywne i C void main() { printf("Bitwa pod Akcjum \n "); printf("Zwyciestwo. \n "); return; } Znak nowej linii \n void main() { printf("Bitwa pod Akcjum. \n Zwyciestwo. \n "); return; } Bitwa pod Akcjum. Zwyciestwo.
24
J.Nawrocki, Programowanie imperatywne i C Plan wykładu Programy z jedną instrukcją Dwie instrukcje i \n Koncepcja zmiennej Drukowanie wartości zmiennej Czytanie liczb Instrukcja warunkowa Uproszczona instrukcja warunkowa Instrukcja powtarzania while Zapamiętaj sobie 31.
25
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
26
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
27
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
28
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
29
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
30
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
31
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
32
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
33
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
34
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
35
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;... }
36
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)
37
J.Nawrocki, Programowanie imperatywne i C Schemat najprostszego programu void main() {... return; } Instrukcje
38
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 ;
39
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 ;
40
J.Nawrocki, Programowanie imperatywne i C Plan wykładu Programy z jedną instrukcją Dwie instrukcje i \n Koncepcja zmiennej Drukowanie wartości zmiennej Czytanie liczb Instrukcja warunkowa Uproszczona instrukcja warunkowa Instrukcja powtarzania while Pisz co zapamiętałeś.
41
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!
42
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!
43
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 );
44
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 );
45
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
46
J.Nawrocki, Programowanie imperatywne i C Drukowanie wartości zmiennej printf(" format ", zmienne ); Ogólniejsza postać printf: printf("Y= %d; X= %d \n", Y, X); %d oznacza int printf("X = %d \n", X); X = 18
47
J.Nawrocki, Programowanie imperatywne i C Drukowanie wartości zmiennej printf(" format ", zmienne ); Ogólniejsza postać printf: printf("X = %d \n", X); X = 18 printf("Y= %d; X= %d \n", Y, X); %d oznacza int
48
J.Nawrocki, Programowanie imperatywne i C Drukowanie wartości zmiennej printf(" format ", zmienne ); Ogólniejsza postać printf: printf("Y= %d; X= %d \n", Y, X); Y= 2; X= 18 %d oznacza int printf("X = %d \n", X); X = 18
49
J.Nawrocki, Programowanie imperatywne i C Drukowanie wartości zmiennej printf(" format ", zmienne ); Ogólniejsza postać printf: printf("Y= %d; X= %d \n", Y, X); Y= 2; X= 18 %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
50
J.Nawrocki, Programowanie imperatywne i C Plan wykładu Programy z jedną instrukcją Dwie instrukcje i \n Koncepcja zmiennej Drukowanie wartości zmiennej Czytanie liczb Instrukcja warunkowa Uproszczona instrukcja warunkowa Instrukcja powtarzania while Czytaj, co pisze Livia Drusilla
51
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!
52
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!
53
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
54
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 ?
55
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; }
56
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 );
57
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!
58
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
59
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
60
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
61
J.Nawrocki, Programowanie imperatywne i C Plan wykładu Programy z jedną instrukcją Dwie instrukcje i \n Koncepcja zmiennej Drukowanie wartości zmiennej Czytanie liczb Instrukcja warunkowa Uproszczona instrukcja warunkowa Instrukcja powtarzania while Jeśli idzie > 1 legion, to wystaw 2; w przeciwnym razie wystaw 1.
62
J.Nawrocki, Programowanie imperatywne i C Zadanie Napisać program wyświetlający minimum z dwóch liczb całkowitych. 18 2 0 5 -3 1 min(18, 2)= 2 min(0, 5)= 0 min(-3, 1)= -3 5 min(5, 5)= 5
63
J.Nawrocki, Programowanie imperatywne i C Język schematów blokowych R 1 R 1 S S + 1 S S + 1 R2 > 0 Tak Nie Start Stop
64
J.Nawrocki, Programowanie imperatywne i C Schemat rozwiązania Start Czytaj X,Y X < Y TakDrukuj(X) NieDrukuj(Y) Stop
65
J.Nawrocki, Programowanie imperatywne i C Schemat rozwiązania Start Czytaj X,Y X < Y Tak Drukuj(X) Nie Drukuj(Y) Stop
66
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; }
67
J.Nawrocki, Programowanie imperatywne i C Instrukcja warunkowa Czytaj X,Y X < Y Tak Drukuj(X) Nie Drukuj(Y) void main() { return; }
68
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
69
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
70
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
71
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; }
72
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; }
73
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
74
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
75
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
76
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; }
77
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; }
78
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(0, 5)= 0 0 5
79
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
80
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(5, 5)= 5 5
81
J.Nawrocki, Programowanie imperatywne i C Plan wykładu Programy z jedną instrukcją Dwie instrukcje i \n Koncepcja zmiennej Drukowanie wartości zmiennej Czytanie liczb Instrukcja warunkowa Uproszczona instrukcja warunkowa Instrukcja powtarzania while Jeśli Marek Antoniusz nie ustąpi, to wypowiemy wojnę Egiptowi.
82
J.Nawrocki, Programowanie imperatywne i C Zadanie Napisać program wyświetlający wartość bezwzględną podanej liczby całkowitej. 3 0 -3 3 0 3
83
J.Nawrocki, Programowanie imperatywne i C Schemat rozwiązania Nie X < 0 Tak X – X Drukuj X Czytaj X
84
J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa if ( warunek ) { instrukcje } if ( pożar ) { dzwonPoStrazPozarna; }
85
J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa X < 0 Tak Nie Drukuj X Czytaj X X – X void main() { return; }
86
J.Nawrocki, Programowanie imperatywne i C Uproszczona instrukcja warunkowa X < 0 Tak Nie Drukuj X Czytaj X X – X void main() { return; }
87
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
88
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; }
89
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; }
90
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
91
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
92
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; }
93
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; }
94
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; }
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 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
98
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
99
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
100
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
101
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
102
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
103
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
104
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
105
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
106
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
107
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
108
J.Nawrocki, Programowanie imperatywne i C Plan wykładu Programy z jedną instrukcją Dwie instrukcje i \n Koncepcja zmiennej Drukowanie wartości zmiennej Czytanie liczb Instrukcja warunkowa Uproszczona instrukcja warunkowa Instrukcja powtarzania while Jak długo Marek Antoniusz jest z Kleopatrą, będziemy walczyć.
109
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
110
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,..
111
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,..
112
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
113
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
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ć ? 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ć ? 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 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 X X C C G G 9
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 Jak to sprawdzić ? 9 1 X X C C G G 9
119
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
120
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
121
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
122
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
123
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
124
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
125
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
126
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
127
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
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 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 X X C C G G 87
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 X X C C G G
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 X X C C G G
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 1 X X C C G G
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 1 X X C C G G
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 1 10 X X C C G G 87
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 1 10 X X C C G G 87
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 1 10 X X C C G G 87
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 1 10 X X C C G G 87
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 1 10 X X C C G G 87 2
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
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 87 1 2 100
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 87 1 2 100
143
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
144
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
145
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
146
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
147
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
148
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
149
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
150
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
151
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
152
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
153
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; }
154
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; }
155
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; }
156
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
157
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
158
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; return; }
159
J.Nawrocki, Programowanie imperatywne i C Program w C void main() { int X, C, G; scanf("%d", X); C= 1; G= 10; while (X >= G) { C= C + 1; G= G * 10; } return; } Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10
160
J.Nawrocki, Programowanie imperatywne i C Program w C void main() { int X, C, G; scanf("%d", X); C= 1; G= 10; while (X >= G) { C= C + 1; G= G * 10; } return; } Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10
161
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; } return; }
162
J.Nawrocki, Programowanie imperatywne i C Program w C 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; } Nie X >= G Tak C C + 1 G G * 10 Drukuj C Czytaj X C 1 G 10
163
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; }
164
J.Nawrocki, Programowanie imperatywne i C Podsumowanie Drukowanie i czytanie liczb w C. Instrukcje warunkowe if. Instrukcja powtarzania while. Język schematów blokowych jest wygodnym narzędziem opisu algorytmów. Podsumujmy.
165
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ść.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.