Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Podstawy programowania PP – WYK2 Wojciech Pieprzyca.

Podobne prezentacje


Prezentacja na temat: "Podstawy programowania PP – WYK2 Wojciech Pieprzyca."— Zapis prezentacji:

1 Podstawy programowania PP – WYK2 Wojciech Pieprzyca

2 Stałe Za pomocą modyfikatora const możemy zadeklarować stałą tzn. zmienną, której wartości nie można zmieniać w trakcie programu. Każda stała w czasie deklaracji musi być jednocześnie zainicjalizowana tzn. trzeba jej przyporządkować wartość. Deklaracja stałej: const typ nazwa = wartosc; Przykłady: const float pi = 3.14; const int liczba = 5;

3 Zmienne globalne, lokalne, zakresy ważności (1) Zmienne globalne swoim zakresem obejmują cały program, oznacza to, że możemy odwoływać się do nich z dowolnego miejsca w programie, Zmienne lokalne swój zakres ograniczają do bloku programu w którym zostały zadeklarowane, blok programu rozpoczyna się nawiasem klamrowym otwierającym {, a kończy nawiasem zamykającym }. Typowym przykładem bloku jest funkcja. Jeżeli zadeklarujemy zmienną globalną i lokalną o takich samych nazwach, to w ramach bloku z deklaracją zmiennej lokalnej będzie obowiązywała wartość zmiennej lokalnej, a poza nim wartość zmiennej globalnej. Mówimy, wówczas, że zmienna lokalna zasłania wartość zmiennej globalnej.

4 Zmienne globalne, lokalne, zakresy ważności (2) #include //zmienna globalna int zm=100; int main(int argc, char *argv[]) { cout << Zmienna przed deklaracja lokalnej: << zm << endl; //zmienna lokalna int zm = 200; cout << Zmienna po deklaracji lokalnej: << zm << endl;

5 Zmienne globalne, lokalne, zakresy ważności (3) //nowy blok programu { int b = 2; cout << Zmienna b w bloku: << b << endl; } //b=3 BŁĄD! Zmienna b nie jest widoczna poza //blokiem getch(); return 0; }

6 Instrukcja warunkowe if (1) Instrukcja if służy do sterowania przebiegiem programu i wyboru jednej z kilku alternatywnych dróg jego realizacji w zależności od aktualnych warunków. Składnia: If (warunek) instrukcja1 else instrukcja2 Warunek jest wyrażeniem, które może przyjmować wartość zero (fałsz) lub wartość różną od zera (prawda).

7 Instrukcja warunkowe if (2) Działanie instrukcji warunkowej if: 1. obliczenie wartości wyrażenia warunkowego, 2. jeżeli wartość wyrażenia jest różna od 0 to wykonywana jest instrukcja1, 3. jeżeli wartość wyrażenia jest równa 0 to wykonywana jest instrukcja2

8 Instrukcja warunkowe if (3) int main(int argc, char *argv[]) { int liczba; cout << Podaj liczbe: ; cin >> liczba; if (liczba>10) cout << Liczba wieksza od 10 (prawda) – warunek jest spelniony; else cout << Liczba niewieksza od 10 (fałsz) – warunek jest niespelniony; getch(); return 0; }

9 Operatory Podstawowe operatory arytmetyczne +,-,*,/ Operator przypisania = Operatory porównania,>=,<=,== Przykład: if (liczba==10) cout << Ta liczba to 10; Operator modulo (reszta z dzielenia) % Przykład: if (liczba%10==0) cout << Ta liczba jest podzielna przez 10;

10 Instrukcja warunkowa switch (1) Switch jest instrukcją warunkową podobną do instrukcji if. Jednak zamiast wielokrotnie sprawdzać warunki dotyczące tej samej zmiennej, możemy uprościć zapis w następujący sposób: switch (zmienna) { case wartosc1 : instrukcja1; break; case wartosc2 : instrukcja2; break; …. case wartoscN : instrukcjaN; break; default : instrukcja_domyslna; break; }

11 Instrukcja warunkowa switch (2) Idea działania instrukcji switch jest następująca: - na początku określana jest wartość zmiennej, - w zależności od wartości zmiennej (wartosc1, wartosc2, …, wartoscN) wybierana jest jedna z instrukcji (instrukcja1 dla wartosci1, instrukcja2 dla wartosci2, …, instrukcjaN dla wartosciN), - instrukcja break powoduje zakończenie wykonywania instrukcji switch, powinno się ją stosować po zakończeniu definiowania instrukcji dla każdego przypadku wartości. Jeżeli tego nie zrobimy to wykonywane będą wszystkie instrukcje poniżej danego przypadku case aż do wystąpienia instrukcji break albo zakończenia bloku switch,

12 Instrukcja warunkowa switch (3) - opcja default określa zachowanie domyślne, wykonywane wtedy, gdy żaden z przypadków (case) nie odpowiada aktualnie określonej wartości, - używane wartości wyboru mogą być typu całkowitego lub znakowego.

13 Instrukcja warunkowa switch (4) Przykład: char znak; cout << Podaj znak (m,n,o): ; cin >> znak; switch (znak) { case m : cout << Nacisnales M jak Marta; break; case n : cout << Nacisnales N jak Natalia; break; case o : cout << Nacisnales O jak Ola; break; default : cout << Tego znaku nie rozpoznaje; break; }

14 Instrukcja warunkowa switch (5) To samo moglibyśmy zrealizować za pomocą ciągu instrukcji warunkowych if. char znak; cout << Podaj znak (m,n,o): ; cin >> znak; if (znak==m) cout << Nacisnales M jak Marta; else if (znak==n) cout << Nacisnales N jak Natalia; else if (znak==o) cout << Nacisnales O jak Ola; else cout << Tego znaku nie rozpoznaje;

15 Pętla for (1) Pętla for służy nam do wielokrotnego wykonania określonego bloku instrukcji. Koncepcja działania pętli for: –na początku inicjalizowana jest zmienna warunkowa, –w kolejnych krokach sprawdza się czy spełniony jest warunek kontynuowania pętli, jeśli nie to kończy się wykonywanie pętli, jeśli tak to przechodzimy do kolejnego kroku wykonywania pętli,

16 Pętla for (2) –w każdym kroku zmienna warunkowa ulega zmianie, co zwykle polega na zmniejszeniu lub zwiększeniu jej wartości, –należy pamiętać o tym, aby zmienna warunkowa była zadeklarowana przed jej użyciem. for (inicjalizacja; warunek; krok) { //instrukcje }

17 Pętla for (3) int i; for (i=1; i<11; i++) { cout << Aktualnie jesteśmy w kroku: << i << endl; } ++ jest operatorem inkrementacji, oznacza dokładnie to samo co i=i+1 0.Zmienna i jest inicjalizowana wartością 1, 1.Sprawdzany jest warunek (1<11), ponieważ jest spełniony to przechodzimy do pierwszego kroku (iteracji) wykonywania pętli, 2.Wyświetlany jest tekst aktualnie jesteśmy w kroku 1, 3.Zmienna i jest zwiększana o 1 (czyli i=2),

18 Pętla for (4) 5.Sprawdzany warunek jest nadal spełniony (2<11), 6.Wyświetlany jest tekst aktualnie jesteśmy w kroku 2, 7.Zmienna i jest zwiększana o 1 (czyli i=3), 8.Kroki 4,5,6 są powtarzane dla kolejnych wartości i=3,4,5,6,7,8,9 9.Sprawdzany warunek jest nadal spełniony (10<11), 10.Wyświetlany jest tekst aktualnie jesteśmy w kroku 10, 11.Zmienna i jest zwiększana o 1 (czyli i=11), 12.Sprawdzany warunek NIE JEST spełniony (11<11) pętla kończy swoje działanie

19 Pętla while (1) Pętla while podobnie jak pętla for służy do wielokrotnego wykonywania określonego bloku instrukcji. Ten rodzaj pętli stosuje się zwykle wówczas, gdy nie znamy dokładnej liczby iteracji (powtórzeń) pętli. Postać pętli while jest następująca: while (warunek) { //instrukcje }

20 Pętla while (2) Instrukcje umieszczone wewnątrz bloku while są wykonywane tak długo jak spełniony jest warunek. Ze względu na inną składnie pętli while w porównaniu do for, należy pamiętać o samodzielnym zadeklarowaniu i zainicjalizowaniu zmiennej warunkowej, a później odpowiednim zmienianiu jej wartości w ramach pętli while.

21 Pętla while (3) int i=1; while (i<11) { cout << Aktualnie jesteśmy w kroku: << i << endl; i++; } Działanie dla tego przykładu jest prawie analogiczne jak pętli for: 0.Zmienna i jest deklarowana i inicjalizowana wartością 1, 1.Sprawdzany jest warunek (1<11), ponieważ jest spełniony to przechodzimy do pierwszego kroku (iteracji) wykonywania pętli, 2.Wyświetlany jest tekst aktualnie jesteśmy w kroku 1, 3.Zmienna i jest zwiększana o 1 (czyli i=2),

22 Pętla while (4) 4.Sprawdzany warunek jest nadal spełniony (2<11), 5.Wyświetlany jest tekst aktualnie jesteśmy w kroku 2, 6.Zmienna i jest zwiększana o 1 (czyli i=3), 7.Kroki 4,5,6 są powtarzane dla kolejnych wartości i=3,4,5,6,7,8,9 8.Sprawdzany warunek jest nadal spełniony (10<11), 9.Wyświetlany jest tekst aktualnie jesteśmy w kroku 10, 10.Zmienna i jest zwiększana o 1 (czyli i=11), 11.Sprawdzany warunek NIE JEST spełniony (11<11) pętla kończy swoje działanie

23 Pętla while (5) Drugi przykład: Program typu zgadywanie liczby. Najpierw losowana jest liczbę z zakresu 0-9, a następnie użytkownik pytany jest o liczbę tak długo aż jej nie zgadnie. Dodatkowo program udziela podpowiedzi czy szukana liczba jest mniejsza czy większa od wpisanej. Do losowania liczb służą funkcje randomize() oraz rand(). Dodatkowo operator % powoduje, że brane są pod uwage reszty z dzielenie przez 10 (a więc tylko liczby 0..9).

24 Pętla while (6) randomize(); int los = rand()%10; int liczba = -1; while (liczba!=los) { cout << Zgadnij liczbe (0-9):; cin >> liczba; if (los==liczba) cout << Zgadłeś!; else if (los>liczba) cout << Nie zgadłeś, liczba jest większa; else if (los<liczba) cout << Nie zgadłeś, liczba jest mniejsza; }

25 Pętla do while (1) Pętla do-while różni się od while jedynie tym, iż warunek wykonania pętli sprawdzany jest na końcu przebiegu pętli, a co za tym idzie, taki rodzaj pętli na pewno wykona się przynajmniej raz, nawet jeżeli wartość wyrażenia warunkowego jest niespełniona już w pierwszej iteracji. do { //instrukcje }while(warunek);

26 Pętla do while (2) Przykład: Int liczba=0; do { cout << Podaj liczbe:; cin >> liczba; }while(liczba!=0);


Pobierz ppt "Podstawy programowania PP – WYK2 Wojciech Pieprzyca."

Podobne prezentacje


Reklamy Google