background image

Instrukcje iteracyjne

Pętla for ma postać:

for (inicjalizacja; warunek_pętli; aktualizacja)

treść pętli

Treść pętli to dowolna instrukcja lub blok instrukcji ujęty w nawiasy klamrowe { }. 
Wykonanie pętli obejmuje 

1. zainicjowanie wartości początkowych, 
2. sprawdzenie warunku pętli, czy pętla ma być wykonana, 
3. wykonanie instrukcji znajdujących się w treści pętli, 
4. aktualizacja wartości. 

Rys. Realizacja pętli for

Przykład

background image

Pętla while ma postać:

while (warunek logiczny)

treść pętli

Treść pętli to dowolna instrukcja lub blok instrukcji ujęty w nawiasy klamrowe { }. 

Jeżeli warunek logiczny ma wartość true to jest wykonywana treść pętli. Po wykonaniu 

treści pętli, program sprawdza warunek logiczny. Jeżeli warunek logiczny będzie miał 

wartość false, wykonywanie pętli zostanie przerwane. 

Rys. Realizacja pętli while

Przykład

background image

Pętla do ma postać: 

do treść pętli

while (warunek logiczny);

Po wykonaniu treści pętli sprawdzany jest warunek logiczny. Przy spełnionym warunku 
program ponownie przechodzi do wykonania treści pętli a przy niespełnionym wychodzi z 
pętli (wykonuje instrukcję po pętli). 

Rys. Realizacja pętli do

Przykład

background image

Instrukcje warunkowe

Instrukcja warunkowa if ma postać:

if (warunek logiczny)

instrukcja

Jeśli warunek jest prawdziwy, to program wykonuje instrukcję (pojedynczą instrukcję lub 
blok), natomiast jeśli jest fałszywy - program pomija instrukcję. 

Rys. Realizacja instrukcji if

Przykład

background image

Instrukcja warunkowa if else ma postać 

if (warunek logiczny)
instrukcja1
else 
instrukcja2

Jeśli warunek jest prawdziwy, to program wykonuje instrukcję1 (pojedynczą instrukcję lub 
blok), natomiast jeśli jest fałszywy program wykonuje instrukcję2. 

Rys. Realizacja instrukcji if else

Przykład

background image

Operatory logiczne

Operator

Znaczenie

!

NOT

&&

AND

||

OR

Operatory sumy i iloczynu logicznego mają priorytet niższy niż operatory relacyjne, 

co oznacza, że wyrażenie 
x < 1 || x > 42

jest interpretowane jako 

(x < 1) || (x > 42)

Operator zaprzeczenia ma priorytet wyższy od operatorów relacyjnych i 

arytmetycznych. Dlatego, aby zanegować wyrażenie relacyjne, należy ująć je w nawiasy. 
!(x > 0)

Przykład

Wczytanie wartości dodatniej; podanie liczby mniejszej lub równej 0 albo wartości 
nieliczbowej - wyjście z pętli. 

W przykładzie wykorzystano jedną z własności obiektu cin i operatora >>. Jeżeli wczytanie 
danych do zmiennej wartosc się udało, wyrażenie 
cin >> wartosc
rzutowane na typ bool, przyjmuje wartość true, w przeciwnym razie (np. gdy podano 
wartość nie liczbową dla zmiennej liczbowej) przyjmuje wartość false. 

background image

Ćwiczenia

1. Napisz program, który oblicza 1!, 2!, ..., n!, dla n wczytanego z wejścia. 
2. Napisz program, który wczytuje ilość wierszy a następnie drukuje piramidkę z 

gwiazdek. 

Podaj ilosc wierszy: 7

 

      *

      

***

     

*****

    

*******

  **********
 ************
**************

3. Napisz program, który wczyta dwie liczby całkowite i wydrukuje sumę wszystkich 

liczb między nimi (z nimi włącznie). 

4. Napisz program, proszący o podanie ciągu liczb zakończonego 0. Po każdej liczbie 

program powinien wydrukować dotychczasową sumę liczb. 

5. Bank oferuje dwa rodzaje lokat: 

I. wariant: 10% oprocentowanie stałe (zysk = 10% pierwotnego kapitału), 
II. wariant: 5 % opocentowanie składane (zysk = 5% aktualnego stanu lokaty). 

Napisz program, który wyznaczy po ilu latach II wariant oszczędzania jest 
korzystniejszy od I wariantu oraz wyświetli zestawienie wartości lokat w obu 
wariantach. 

6. Napisz program, który wczytuje dane z klawiatury aż do znaku @, a następnie 

wyświetla te dane z wyjątkiem kropek, przekształcając duże litery w małe i 
odwrotnie. Do sprawdzenia czy wczytano małą lub dużą literę i do konwersji 
wykorzystaj funkcje znakowe z biblioteki cctype: 
islower() - zwraca true, jeśli argument jest małą literą 
isupper() - zwraca true, jeśli argument jest dużą literą 
tolower() - jeśli argument jest dużą literą funkcja zwraca odpowiadającą jej małą 
literę, w przeciwnym razie zwraca niezmieniony argument 
toupper() - jeśli argument jest małą literą funkcja zwraca odpowiadającą jej dużą 
literę, w przeciwnym razie zwraca niezmieniony argument. 

Wczytanie pojedynczego znaku 

char znak;
cin.get(znak);


Document Outline