Języki programowania
Wykład 2
Temat: Instrukcje sterujące
Instrukcje sterujące
Instrukcja do sterowania przebiegiem programu
Prawda – Fałsz
Wartość zero – odpowiada stanowi: fałsz
Wartość różna od zera – odpowiada stanowi: prawda
Instrukcje sterujące
Instrukcja warunkowa
if
Dwie formy instrukcji:
if
(wyrażenie) instrukcja1;
lub
if
(wyrażenie) instrukcja1;
else
instrukcja2;
wyrażenie
to coś, co ma jakąś wartość. Może to
być obiekt,
albo rzeczywiście wyrażenie, którego wartość
trzeba obliczyć.
if
(wyrażenie)
{
instrukcja1;
instrukcja2;
instrukcja3;
}
Blok instrukcji
Instrukcje sterujące
Instrukcja warunkowa
if
- cd
wyrażenie
instrukcja1
Tak
Nie
wyrażenie
instrukcja1
instrukcja2
Tak
Nie
if
(wyrażenie) instrukcja1;
if
(wyrażenie) instrukcja1;
else
instrukcja2;
Instrukcje sterujące
Instrukcja warunkowa
if
- przykład
#include <iostream.h>
main()
{
int i;
cout << "Podaj liczbe calkowita: ";
cin >> i;
if(i-4) cout <<"\nZmienna i miala wartosc rozna od 4\n";
else
cout <<"\nZmienna i miala wartosc rowna 4\n";
}
Instrukcje sterujące
Instrukcja warunkowa
if
– wybór
wielowariantowy
if
(wyrażenie1) instrukcja1;
else if
(wyrażenie2) instrukcja2;
else if
(wyrażenie3) instrukcja3;
else if
(wyrażenie4) instrukcja4;
Instrukcje sterujące
Instrukcja
while
while
(wyrażenie) instrukcja1;
wyrażenie
instrukcja1
Tak
Nie
Uwaga: obliczenie wartości wyrażenia odbywa się
przed
wykonaniem instrukcji1
Instrukcje sterujące
Instrukcja
while
- przykład
#include <iostream.h>
main()
{
int ile;
cout << "Ile gwiazdek ma miec kapitan? : ";
cin >> ile;
cout<<"Wlasnie "<<ile<<" : ";
while(ile) //pętla rysująca gwiazdki
{
cout<<"*";
ile=ile-1;
}
cout<<"\nTeraz zmienna ile ma wartosc "<<ile<<endl;
}
Wygląd ekranu po wykonaniu programu:
Ile gwiazdek ma miec kapitan? : 4
Wlasnie 4 : ****
Teraz zmienna ile ma wartosc 0
Instrukcje sterujące
Instrukcja
do...while...
do
instrukcja1
while
(wyrażenie);
Uwaga: obliczenie wartości wyrażenia odbywa się po
wykonaniem instrukcji1
wyrażenie
instrukcja1
Tak
Nie
Instrukcje sterujące
Instrukcja
do...while...
- przykład
Wygląd ekranu po wykonaniu programu:
Napisz dowolna litere: a
Napisano: a
Napisz dowolna litere: j
Napisano: j
Napisz dowolna litere: k
Napisano: k
Napisz dowolna litere: K
Napisano: K
Napisano K, program zakonczono
#include <iostream.h>
main()
{
char
litera;
do{
cout<<"Napisz dowolna litere: ";
cin>>litera;
cout<<"Napisano: "<<litera<<endl;
}while(
litera !='K'
);
cout<<"Napisano K, program zakonczono\n";
}
Instrukcje sterujące
Instrukcja
for
for(
inst_ini;wyraż_warun;inst_krok
)
tresc_petli;
wyraż_warun
inst_ini
Tak
Nie
tresc_petli
inst_krok
inst_ini
- instrukcja
wykonywana, zanim pętla
zostanie po raz
pierwszy wykonana
wyraż_warun
- wyrażenie
obliczane przed każdym
obiegiem pętli
inst_krok
- instrukcja
wykonywana na zakończenie
każdego obiegu
Instrukcje sterujące
Instrukcja
for
- przykład
Wygląd ekranu po wykonaniu programu:
Ile razy ma wykonac sie petla for? : 4
To jest 1 wykonanie petli for
To jest 2 wykonanie petli for
To jest 3 wykonanie petli for
To jest 4 wykonanie petli for
#include <iostream.h>
main()
{
int i,ile;
cout<<"Ile razy ma wykonac sie petla for? : ";
cin>>ile;
for(i=1;i<=ile;i=i+1)
{
cout<<"To jest "<<i<<" wykonanie petli for\n";
}
}
Instrukcja wyboru
switch
Instrukcja wyboru – służy do podejmowania wielowariantowych
decyzji.
switch
(wyrażenie)
{
case
wart1
:
instrukcja1;
break;
case
wart2
:
instrukcja2;
break;
..........................................
case
wart_n
:
instrukcja_n;
break;
default:
instrukcja_n+1;
break;
}
Instrukcja wyboru
switch
wyrażenie
wart1==
wyrażenie
instrukcja1
Tak
wart2==
wyrażenie
Nie
instrukcja2
Tak
Nie
................
instrukcja_n+1
wart_n==
wyrażenie
instrukcja_n
Tak
Nie
Instrukcje sterujące
Instrukcja warunkowa
if
- cd
wyrażenie
instrukcja1
Tak
Nie
wyrażenie
instrukcja1
instrukcja2
Tak
Nie
if
(wyrażenie) instrukcja1;
if
(wyrażenie) instrukcja1;
else
instrukcja2;
Instrukcje sterujące
Instrukcja warunkowa
if
- przykład
#include <iostream.h>
main()
{
int i;
cout << "Podaj liczbe calkowita: ";
cin >> i;
if(i-4) cout <<"\nZmienna i miala wartosc rozna od 4\n";
else
cout <<"\nZmienna i miala wartosc rowna 4\n";
}
Instrukcje sterujące
Instrukcja warunkowa
if
– wybór
wielowariantowy
if
(wyrażenie1) instrukcja1;
else if
(wyrażenie2) instrukcja2;
else if
(wyrażenie3) instrukcja3;
else if
(wyrażenie4) instrukcja4;
Instrukcje sterujące
Instrukcja
while
while
(wyrażenie) instrukcja1;
wyrażenie
instrukcja1
Tak
Nie
Uwaga: obliczenie wartości wyrażenia odbywa się
przed
wykonaniem instrukcji1
Instrukcje sterujące
Instrukcja
while
- przykład
#include <iostream.h>
main()
{
int ile;
cout << "Ile gwiazdek ma miec kapitan? : ";
cin >> ile;
cout<<"Wlasnie "<<ile<<" : ";
while(ile) //pętla rysująca gwiazdki
{
cout<<"*";
ile=ile-1;
}
cout<<"\nTeraz zmienna ile ma wartosc "<<ile<<endl;
}
Wygląd ekranu po wykonaniu programu:
Ile gwiazdek ma miec kapitan? : 4
Wlasnie 4 : ****
Teraz zmienna ile ma wartosc 0
Instrukcje sterujące
Instrukcja
do...while...
do
instrukcja1
while
(wyrażenie);
Uwaga: obliczenie wartości wyrażenia odbywa się po
wykonaniem instrukcji1
wyrażenie
instrukcja1
Tak
Nie
Instrukcje sterujące
Instrukcja
do...while...
- przykład
Wygląd ekranu po wykonaniu programu:
Napisz dowolna litere: a
Napisano: a
Napisz dowolna litere: j
Napisano: j
Napisz dowolna litere: k
Napisano: k
Napisz dowolna litere: K
Napisano: K
Napisano K, program zakonczono
#include <iostream.h>
main()
{
char
litera;
do{
cout<<"Napisz dowolna litere: ";
cin>>litera;
cout<<"Napisano: "<<litera<<endl;
}while(
litera !='K'
);
cout<<"Napisano K, program zakonczono\n";
}
Instrukcje sterujące
Instrukcja
for
for(
inst_ini;wyraż_warun;inst_krok
)
tresc_petli;
wyraż_warun
inst_ini
Tak
Nie
tresc_petli
inst_krok
inst_ini
- instrukcja
wykonywana, zanim pętla
zostanie po raz
pierwszy wykonana
wyraż_warun
- wyrażenie
obliczane przed każdym
obiegiem pętli
inst_krok
- instrukcja
wykonywana na zakończenie
każdego obiegu
Instrukcje sterujące
Instrukcja
for
- przykład
Wygląd ekranu po wykonaniu programu:
Ile razy ma wykonac sie petla for? : 4
To jest 1 wykonanie petli for
To jest 2 wykonanie petli for
To jest 3 wykonanie petli for
To jest 4 wykonanie petli for
#include <iostream.h>
main()
{
int i,ile;
cout<<"Ile razy ma wykonac sie petla for? : ";
cin>>ile;
for(i=1;i<=ile;i=i+1)
{
cout<<"To jest "<<i<<" wykonanie petli for\n";
}
}
Instrukcja
break
Instrukcja
break
może być stosowana dla instrukcji iteracyjnych:
for, while, do..while
Instrukcja ta powoduje natychmiastowe przerwanie działania
powyższych instrukcji.
Instrukcja
break
–
przykład dla pętli
while
Ekran po wykonaniu programu:
Wywolanie petli dla i = 3
Wywolanie petli dla i = 2
Wywolanie petli dla i = 1
Petla zostala przerwana, i = 0
#include <iostream.h>
main()
{
int i=3;
while(1)
{
cout<<"Wywolanie petli dla i = "<<i<<endl;
i=i-1;
if(i<1)
{
cout<<"Petla zostala przerwana, i = "<<i<<endl;
break;
}
}
}
Instrukcja
break
–
przykład pętli zagnieżdżonych
#include <iostream.h>
main()
{
int i,j;
int max_dlugosc=5;
for(i=0;i<3;i=i+1)
{
for(j=0;j<100;j=j+1)
{
cout<<"*";
if(j>max_dlugosc) break;
}
cout<<"\nWywolanie zewnetrznej petli for dla i =
"<<i<<endl;
}
}
Ekran po wykonaniu programu:
*******
Wywolanie zewnetrznej petli for dla i = 0
*******
Wywolanie zewnetrznej petli for dla i = 1
*******
Wywolanie zewnetrznej petli for dla i = 2
Instrukcja
goto
Instrukcji
goto
nie należy używać!!!!!
goto
etykieta
Instrukcja
goto
powoduje skok do
etykiety
.
Instrukcja
goto
– przykład
#include <iostream.h>
main()
{
int i;
while(1){
cout<<"W petli while nr 1\n";
while(2){
cout<<"W petli while nr 2\n";
for(i=0;i<100;i++){
cout<<"W petli for\n";
goto koniec;
}
}
}
koniec:
cout<<"Przerwano dzialanie petli\n";
}
Może być jednak przydatna to opuszczenia wielokrotnie
zagnieżdżonych pętli, np.:
Ekran po wykonaniu programu:
W petli while nr 1
W petli while nr 2
W petli for
Przerwano dzialanie petli
Instrukcja
continue
Instrukcja
continue
stosowana jest w pętlach
for, while, do..while
Powoduje zaniechanie wykonania instrukcji w bieżącym wywołaniu
instrukcji pętli i przejście do kolejnego obiegu pętli.
Instrukcja
continue
– przykład
#include <iostream.h>
main()
{
int i;
for(i=0;i<10;i++)
{
cout<<"a";
if(i>2) continue;
cout<<"b\n";
}
}
Ekran po wykonaniu programu:
ab
ab
ab
aaaaaaa