Podstawy Programowania Lab 3 dod

Instrukcje sterujące programem: switch, break, continue

Instrukcja wyboru switch

switch(wyrażenie)

{

case wart1:

instrA;

break;

case wart2:

instrB;

break;

default:

instrC;

break;

}

Instrukcja switch jak sugeruje nazwa - służy do podejmowania wielowariantowych decyzji. Jeśli wartość wyrażenia odpowiada którejś z wartości podanej w jednej z etykiet case, wówczas wykonywane są instrukcje począwszy od tej etykiety. Wykonywanie ich kończy się po napotkaniu instrukcji break. Powoduje to wyskok z instrukcji switch - czyli wyjście poza jej dolną klamrę.

Jeśli wartość wyrażenia nie zgadza się z żadną z wartości podanych przy etykietach case, wówczas wykonują się instrukcje umieszczone po etykiecie default. W przykładzie etykieta ta znajduje się na końcu instrukcji switch, jednak może być w dowolnym miejscu, nawet na samym jej początku. Co więcej, etykiety default może nie być wcale. Jeśli wartość wyrażenia nie zgadza się z żadną z wartości przy etykietach case, a etykiety default nie ma wcale, wówczas opuszcza się instru­kcję switch nie wykonując niczego.

ZADANIE.1.

#include <iostream>

using namespace std;

int main()

{

int nr;

cout << "Podaj numer: ";

cin >> nr;

switch (nr)

{

case 3:

cout << "*";

break;

case 2:

cout << "-";

break;

case 1:

cout << "!";

break;

default:

cout << "&&&&";

}

}

Polecenie.1.

Uruchom powyższy program i przeanalizuj jego działanie.

Polecenie.2.

Zmodyfikuj program tak, aby zależnie od wartości zmiennej nr na ekranie pojawiły się następujące wydruki:

dla nr=3 *-!

dla nr=2 -!

dla nr=1 !

dla innego n nic się nie wydrukuje

Uwaga: każda etykieta może zawierać instrukcję wyświetlającą tylko jeden znak.

Instrukcja break

Zapoznaliśmy się powyżej z działaniem instrukcji break - polegającym na przerwaniu wykonywania instrukcji switch. Jest jeszcze inne, choć podobne działanie break w stosunku do instrukcji pętli: for, while, do...while. Instrukcja ta powoduje natychmiastowe przerwanie wykonywania tych pętli.

Jeśli mamy do czynienia z kilkoma pętlami - zagnieżdżonymi jedna wewnątrz drugiej, to instrukcja break powoduje przerwanie tylko tej pętli, w której bezpo­średnio tkwi. Jest to więc przerwanie z wyjściem tylko o jeden poziom wyżej.

ZADANIE.2.

int i=7;

while(1)

{

cout << "Petla, i=" << i << "\n";

i = i-1;

if(i<5){

cout << "Przerywamy!";

break;

}

}

Polecenie.1.

Przeanalizuj powyższy program i podaj wynik jego działania. Następnie uruchom go.

Instrukcja continue

Instrukcja continue przydaje się wewnątrz pętli for, while, do...while. Powoduje ona zaniechanie realizacji instrukcji będących treścią pętli, jednak (w przeciwieństwie do instrukcji break) sama pętla nie zostaje przerwana. Con­tinue przerywa tylko ten obieg pętli i zaczyna następny, kontynuując pracę pętli.

ZADANIE.3.

int k;

for(k=0; k<8; k=k+1)

{

cout << "A";

if(k>1)

continue;

cout << "b" << endl;

}

Polecenie.1.

Przeanalizuj powyższy program i podaj wynik jego działania. Następnie uruchom go.

ZADANIE.4.

Napisz program KALKULATOR, który pozwala wykonywać podstawowe działania na dwóch liczbach, tj: dodawanie, odejmowanie, mnożenie i dzielenie. Rodzaj działania jest określany przez wpisanie na klawiaturze operatora odpowiadającego operacji matematycznej. Program kończy się po udzieleniu przez użytkownika odpowiedzi pozytywnej ('t') na pytanie „czy zakończyć program?”.

ZADANIE.5.

Napisz program obliczający dla trzech liczb a, b i c średnie:

A: arytmetyczną: $S_{a} = \frac{a + b + c}{3}$

G: geometryczną: $S_{g} = \sqrt[3]{a \bullet b \bullet c}$

H: harmoniczną: $S_{h} = \frac{3}{\frac{1}{a} + \frac{1}{b} + \frac{1}{c}}$

Wybór średniej która ma być policzona powinien odbywać się przez wybranie odpowiednio a, g lub h (użyj instrukcji wyboru switch).

ZADANIE.6.

Napisz program wypisujący liczby od 1 do 20 do momentu kiedy kolejna liczba będzie podzielna przez 7. Użyj pętli for i instrukcji break.

ZADANIE.7.

Napisz program wyświetlający na ekranie liczby nieparzyste z zakresu od 1 do 20. Skorzystaj w tym celu z pętli for i instrukcji continue.


Wyszukiwarka

Podobne podstrony:
Podstawy Programowania Lab 1 dod
Podstawy Programowania Lab 2 dod
Podstawy Programowania Lab 1 dod
Podstawy Programowania Lab 7
Podstawy Programowania Lab 4
Podstawy Programowania Lab 6
Podstawy Programowania Lab 5
Podstawy Programowania Lab 8
cwiczenie10d2013, WSTI Pawia 55, Semestr I, Podstawy programowania (wyk, lab - L.Grad, Laboratoria
lab 2, Edukacja, ZiIP, sem. I, Podstawy programowania, Laborki i inne, Podstawy Programowania
cwiczenie8d2013, WSTI Pawia 55, Semestr I, Podstawy programowania (wyk, lab - L.Grad, Laboratoria
cwiczenie13d2012, WSTI Pawia 55, Semestr I, Podstawy programowania (wyk, lab - L.Grad, Laboratoria
cwiczenie9d2013, WSTI Pawia 55, Semestr I, Podstawy programowania (wyk, lab - L.Grad, Laboratoria
cwiczenie11d2013, WSTI Pawia 55, Semestr I, Podstawy programowania (wyk, lab - L.Grad, Laboratoria
cwiczenie6d2013, WSTI Pawia 55, Semestr I, Podstawy programowania (wyk, lab - L.Grad, Laboratoria
LAB 4, Edukacja, ZiIP, sem. I, Podstawy programowania, Laborki i inne, Podstawy Programowania
koło 1 lab, TIN inż, Semestr 1, Podstawy programowania
Nowa podstawa programowa WF (1)

więcej podobnych podstron