background image

Algorytmy i struktury danych  

Algorytmy z powtórzeniami (Pętle) 

Laboratorium 2 

1.  Pętla while 

 
Kod w C++ 

Schemat blokowy 

 
 

while(wyraz_war)  

 

instrukcje 

}

 

 

 

 

 

 

Przykład  

 

Kod w C++ 

Schemat blokowy 

 

n=50; 
while (n<=1000) 

    n=2*n; 

 
 

 

 

2. 

Pętla for

 

 

Kod w C++ 

Schemat blokowy 

 

for(instr_pocz; wyraz_warun; instr_krok)  
 {  
   instrukcje 

    } 

 

Wyjaśnienie, oznaczeń w kodzie: 

  instr_pocz  –  jest  to  instrukcja  wykonywana  zanim 

pętla zostanie  po raz pierwszy uruchomiona.  

  wyraz_warun – jest to wyrażenie, które obliczane jest 

przed każdym obiegiem pętli. Jeśli jest ono różne od 
zera,  to  wykonywane  zostają  instrukcje  będące 
treścią pętli. 

  instr_krok  –instrukcja  wykonywana  na  zakończenie 

każdego  obiegu  pętli.  Jest  to  ostatnia  instrukcja, 
wykonywana  bezpośrednio  przed  obliczeniem 
wyrażenia wyraz_warun 

  instrukcje – jedna lub więcej instrukcji.  

 

 

wyraz_war

instrukcje

instr_pocz

tak

nie

instr_krok

 

 
 
 

wyraz_war

instrukcje

nie

tak

n<=1000

n=2*n

nie

tak

n=50

background image

Algorytmy i struktury danych  

Algorytmy z powtórzeniami (Pętle) 

Laboratorium 2 

Przykład  

 

Kod w C++ 

Schemat blokowy 

 
 
 
for (i = 0; i < 10; i++) 

 

cout<<”Witam ! ”; 

 

 
 
 
 

 

 
 
 

 

 

 

3.  Pętla  do...while 

 

Kod w C++ 

Schemat blokowy 

 

do 

  instrukcje 

while(wyraz_war);

  

 

 

 
 
 
 
 
 

 

 

 

Przykład  

 

Kod w C++ 

Schemat blokowy 

 
 
 

int c = 1; 
 

do  

 

 

 

cout <<  c  << „  ”; 

 

 

c++; 

 

}  

 

while (c <= 10); 

 
 

 
 
 

 

 

 

i < 10

i = 0

tak

i++

nie

wypisz(

”Witam”) 

wyraz_war

instrukcje

tak

nie

c=c+1

tak

nie

c=1

cout<<c<<

” ”

c<=10

background image

Algorytmy i struktury danych  

Algorytmy z powtórzeniami (Pętle) 

Laboratorium 2 

 

1.  Określ jaką wartość będzie mieć zmienna m po wykonaniu następującego algorytmu:   

 
 
 
 
 
 
 
 
 
 
 
 
 
 

2.  Zapisz poniższy fragment algorytmu w pseudokodzie. Przeanalizuj działanie tego algorytmu. 

 
 
 
 
 
 
 
 
 
 
 
 
 
 

3.  Zapisz poniższy fragment algorytmu w pseudokodu. Przeanalizuj działanie programu. 

 

i < n

start

s = 0
n = 3

i = 1

stop

s = s + i

i = i + 1

tak

nie

wypisz(s)

 

 

 
4.  Zaproponuj  algorytm  wczytywania  ciągu  dziesięciu  liczb  całkowitych  i  wyznaczania  ilości 

liczb ujemnych w tym ciągu. 

 
5.  Zaproponuj algorytm obliczania liczby a do potęgi n (liczby a i n są wczytywane z klawiatury). 
 
6.  Napisz  algorytm  wczytywania  ciągu  liczb  aż  do  momentu,  gdy  suma  liczb  dodatnich  w  tym 

ciągu przekroczy wartość 10. 

START

m=1

n=2
p=0

p<10

T

N

p=p+1

m=m*n

wypisz(m)

STOP

x=x+m

m=m+1

wypisz( x) 

m=1 

x=0

tak

nie

m<5