Inne instrukcje sterujące przebiegiem programu (break, continue, goto), wykorzystanie instrukcji sterujących w pisaniu programów.
Cele ćwiczenia:
umiejętność budowania algorytmów i ich postaci graficznej
zapoznanie z instrukcjami break, continue i goto i ich zastosowaniem w programach
wydruk na ekranie - kolor wydruku, formatowanie wydruku.
Nowe zagadnienia:
instrukcje break „przerwij”, continue „kontynuuj”,
instrukcja skoku goto,
organizacja ekranu w trybie tekstowym, bajt atrybutów,
biblioteka conio
Definicje nowych pojęć
Grupa instrukcji sterująca przebiegiem programu (break, continua, goto oraz return) umożliwiają opuszczenie pętli, przeniesienie wykonywania programu w inne miejsce, zakończenie wykonywania i zwrócenie wartości funkcji. Instrukcja return będzie szerzej omówiona przy omawianiu funkcji.
Instrukcja break „przerwij” powoduje opuszczenie aktualnego poziomu pętli lub instrukcji wyboru. Dopuszczalne zastosowanie tylko w tych instrukcjach.
składnia break;
Instrukcja continue „kontynuuj” powoduje przejście do następnej iteracji. Dopuszczalne zastosowanie tylko w instrukcjach iteracyjnych.
składnia continue;
Instrukcja skoku goto „skocz” umożliwia przekazanie sterowania do określonego miejsca wewnątrz aktualnie wykonywanej funkcji (zasada) programu. Etykieta określa miejsce w programie, do którego ma nastąpić skok.
składnia goto etykieta;
goto PROG_1;
ciąg instrukcji;
PROG_1:
{
instrukcje
}
Zadanie 1
Program wyznaczenia iloczynu ciągu liczb całkowitych o określonej długości różnych od zera.
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int liczba, iloczyn=1, dlugosc, i, poprawny=1;
cout<<”Podaj dlugosc ciagu liczb”<<endl;
cin>>dlugosc;
cout<<”Podaj liczby”<<endl;
for (i=1; i<=dlugosc; i++)
{
cin>>liczba;
if (liczba==0)
{
poprawny=0;
break;
}
iloczyn*=liczba;
}
if (poprawny)
cout<<”Iloczyn liczb wynosi:”<<iloczyn;
else cout<<”Blad danych”;
sytem(“pause”);
return 0;
}
Zadanie 2
Napisz program do wyznaczenia iloczynu liczb rzeczywistych większych od zera znajdujących w ciągu liczb o określonej długości.
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
float liczba, iloczyn=1, dlugosc, i;
cout<<”Podaj dlugosc ciagu liczb”<<endl;
cin>>dlugosc;
cout<<”Podaj liczby”<<endl;
for (i=1; i<=dlugosc; i++)
{
cin>>liczba;
if (liczba<=0)
{
cout<<”Przejdz do kolejnej liczby ciagu”;
continue;
}
iloczyn*=liczba;
}
cout<<”Iloczyn liczb wynosi:”<<iloczyn;
sytem(“pause”);
return(0);
}
Zadanie 3
Program wyznaczenia iloczynu ciągu liczb całkowitych o określonej długości różnych od zera.
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int liczba, iloczyn=1, dlugosc, i, blad=0;
cout<<"Podaj dlugosc ciagu liczb"<<endl;
cin>>dlugosc;
cout<<"Podaj liczby"<<endl;
for (i=1; i<=dlugosc; i++)
{
cin>>liczba;
if (liczba==0)
{ blad=1;
goto E1; }
iloczyn*=liczba;
}
cout<<"Iloczyn liczb wynosi:"<<iloczyn;
E1: if (blad)
cout<<"Blad danych";
system (“pause”);
return 0;
}
Zadania C++ - 5
Narysuj schemat blokowy i napisz program, który z ciągu 15 liczb całkowitych będzie sumował liczby większe od 10. Wykorzystaj w programie instrukcję continue.
Narysuj schemat blokowy i napisz program badający czy z odcinków a, b i c można zbudować trójkąt i określający typ tego trójkąta (równoboczny, prostokątny, równoramienny, różnoboczny).
Narysuj schemat blokowy i napisz program wyznaczający wartość maksymalną z wprowadzonych z klawiatury 10 liczb rzeczywistych.
Narysuj schemat blokowy i napisz program, który dokonuje dzielenia dwóch liczb podanych przez Ciebie a następnie sprawdza czy wynik dzielenia zawiera się w przedziale 0-1.
Narysuj schemat blokowy i napisz program, który pobiera wartości dla 3 zmiennych i wykonuje: -mnożenie liczby drugiej przez trzecią, gdy liczba pierwsza jest większa od trzeciej i liczba druga jest większa od pierwszej, -dzielenie liczby drugiej przez trzecią, gdy liczba druga jest mniejsza od trzeciej albo mniejsza od pierwszej, -dodawanie wszystkich trzech liczb w przypadku, gdy liczba trzecia jest większa od pierwszej i liczba druga nie jest równa 5 lub liczba druga jest większa od trzeciej oraz liczba pierwsza nie jest równa zero.
Narysuj schemat blokowy i napisz program, który sprawdzi czy jesteś pełnoletni.
Narysuj schemat blokowy i napisz program, który oblicza sumę i długość ciągu liczb wprowadzonych z klawiatury.
Narysuj schemat blokowy i napisz program, który drukuje na ekranie sumowanie co czwartej liczby naturalnej z przedziału a,b.
Narysuj schemat blokowy i napisz program, który sprawdza czy w ciągu liczb występują liczby ujemne i jaki procent stanowią z całego ciągu.
Narysuj schemat blokowy i napisz program, który wczytuje oceny kolejnych uczniów i oblicza procentowy udział poszczególnych ocen (2,3,4,5) w analizowanej klasie.
Narysuj schemat blokowy i napisz program, który w zależności od podanego znaku przeprowadzi podstawowe działania kalkulatora (dodawanie, odejmowanie, mnożenie, dzielenie, potęgowanie, obliczanie procentów).
Narysuj schemat blokowy i napisz program, który realizuje drukowanie oceny ucznia w postaci słownej (użytkownik wpisuje ocenę z klawiatury numerycznej).
Narysuj schemat blokowy i napisz program, który realizuje polecenie kierownika sklepu muzycznego „ Jeśli kupisz 3 lub więcej płyt CD to za jedną sztukę zapłacisz o 10 zł taniej”. Normalna cena 1 sztuki wynosi 50 zł. Program ma drukować sumaryczną cenę płyt w zależności od ilości zakupionego towaru.
Narysuj schemat blokowy i napisz program, który testuje wzrost człowieka i przypisuje go do określonej grupy: wysoki, średni, niski, karzeł. Ustalić zakresy grup.
Narysuj schemat blokowy i napisz program, który znajduje rozwiązanie równania ax+b=0, ze sprawdzeniem poprawności wpisania danej a.
Narysuj schemat blokowy i napisz program, który wyświetli na ekranie następującą piramidę (wykorzystaj pętle while oraz manipulator setw).
*
***
*****
*******
Ćwiczenia laboratoryjne nr 5
„Język Programowania” str. 2
2