I. Przepisz do zeszytu temat lekcji i podpunkty:
Temat Rozgałęzienia w algorytmach - instrukcje warunkowe.
Instrukcja warunkowa if...
Instrukcja wyboru switch ...
Funkcje standardowe getchar(), break.
Zmienne logiczne (typ bool), znakowe(typ char).
Ćwicz:
pr. obliczający pole trójkąta o dowolnych bokach a,b,c wczytywanych z klawiatury;
pr. prosty kalkulator - dla dwóch dowolnych liczb 4 podstawowe działania (+,-,*,/);
pr. menu - dla kilku propozycji wybieramy jedną z nich (patrz przykład z pkt.3)
Ad.1 Instrukcja warunkowa ma składnię:
if (warunek_logiczny) insktrukcja;
lub
if (warunek_logiczny) instrukcja1; else instrukcja2;
np.
if (a>0) cout<<”Liczba dodatnia”; else cout<<”Liczba ujemna lub zero”<<endl;
if ( (a>0) && (b>0) || (c<0)) d:=a*b - c;
Uwaga!
Jeżeli trzeba użyć więcej instrukcji niż jedną należy je umieścić w nawiasach składniowych {…}
np. if (liczba > 100000000)
{ cout<<”To nie jest ta liczba. Podaj jeszcze raz”<<endl;
cin>>liczba;}
else {wynik= sqrt(liczba); cout<<”o.k”}
Ad. 2 Instrukcja wyboru ma składnię:
switch (zmienna)
{
case 1: instrukcja_1; break;
case 2: instrukcja_2; break;
case 3: instrukcja_3; break;
default: instrukcja_4;break;
}
int dni, miesiac;
cout<<"podaj miesiac";
cin >>miesiac;
switch ( miesiac)
{case 2: dni=28;break;
case 4:dni=30;break;
case 6:dni=30;break;
case 9:dni=30;break;
case 11:dni=30;break;
default: dni=31; break; }
cout<<"miesiac ma "<<dni<<" dni";
Ad. 3 Funkcja getchar() jest bezparametrową funkcję powodującą wczytanie z klawiatury jednego znaku. W praktyce wykorzystujemy ją najczęściej do oczekiwania na naciśnięcie dowolnego klawisza.
Można również do wprowadzenia wartości wybranego klawisza.
Np.
………………………………….
cout<<"1.Wprowadzanie danych\n";
cout<<"2.Wypisywanie danych\n";
cout<<"3.Poprawianie danych\n";
cout<<"4.Drukowanie danych\n";
cout<<"5.Koniec programu\n";
cout<<endl<<endl<<endl<<endl<<endl;
cout <<"Wybierz numer\n";
nr=getchar();
switch (nr)
{
case '1':
cout<<"Tu bedziemy wprowadzac dane\n"; getchar();break;
case '2': ......
……………}
Ad.4 W starszych wersjach C nie było specjalnego typu logicznego. Wartości liczbowe były porównywane z 0 (false) lub wartością różną od zera (true). Typ znakowy porównywany był ze znakiem pustym (null). Teraz można deklarować zmienną logiczną
np. bool emeryt; emeryt=false; if (emeryt) ……
II. Napisz programy wymienione w punkcie 4 ćwicz. Zachowaj je w swoim roboczym folderze.