background image

Języki programowania 

Wykład 2

Temat: Instrukcje sterujące

background image

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

background image

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

background image

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;

background image

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";

}

background image

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;

background image

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

background image

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

background image

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

background image

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";

}

background image

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

background image

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"; 

}

}

background image

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;

}

background image

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

background image

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;

background image

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";

}

background image

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;

background image

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

background image

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

background image

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

background image

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";

}

background image

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

background image

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"; 

}

}

background image

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.

background image

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;
}

}

}

background image

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

background image

Instrukcja 

goto

Instrukcji 

goto

 nie należy używać!!!!!

goto

 etykieta

Instrukcja 

goto

 powoduje skok do 

etykiety

.

background image

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

background image

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.

background image

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


Document Outline