Pętle
Pętla jest to instrukcja która powtarza pewien blok instrukcji, dopóki
jest spełniony odpowiedni warunek. whileW wolnym
tłumaczeniu: wykonuj dopóki jest spełniony warunek. Pętla while jest to pętla
która działa w następujący sposób: Sprawdza czy warunek jest spełniony,
jeżeli tak to wykonuje blok i ponownie sprawdza warunek. Jeżeli nie to ignoruje
blok i kontynuuje działanie programu Składnia:while (warunek) {
instrukcje; } forPętla for jest bardziej skąplikowana.
Jest ona podobna do pętli while z tym że oprócz warunku ma jeszcze instrukcję
inicjującą pętle (wykonywaną przed pierwszym sprawdzeniem warunku), oraz
instrukcję wykonywaną po wykonaniu pętli.Składnia:for (instrukcja1 ;
warunek ; instrukcja2) { instrukcja3; } Jeżeli progran natrafi na pętlę
for to wykonuje instrukcja1, następnie sprawdzany jest warunek. Jeżeli jest on
spełniony to wykonywana jest instrukcja3. Po jej wykonaniu wykonuje się
instrukcje2, i sprawdza warunek.Jeżeli gdzieś warunek nie jest spełniony to
program przerywa działanie pętli, lub wcale jej nie wykonuje. W odróżnieniu
do pętli while ta pętla nie musi posiadać warunku, ani instrukcji 1 i 2. Można w
ten sposób stworzyć pętlę nieskończoną. Trzeba tylko pamiętać żeby w nawiasach
przy deklaracji pętli były dwa średniki. Poprawny jest taki zapis:for
(;;);Ta pętla nie robi nic, i będzie wykonywana w nieskończoność. Program
napisany z tą pętlą wiesza mój komputer.do - whileTa
pętla różni się tylko tym od pętli while że przed pierwszym sprawdzeniem
warunku, wykonane są instrukcje w pętli. Dopiero po pierwszym wykonaniu pętli
sprawdzany jest warunek. Reszta jest jak w pętli whileSkładnia:do{
instrukcje;}while (warunek); Instrukcje skoku
bezwarunkowegoIstnieją trzy instrukcje skoków bezwarunkowych. Jeżeli
program natknie się na tą instrukcję to wykona skok we wskazane (lub domyślne)
miejsce. Oto one:breakJeżeli sobie zażyczymy podczas
wykonywania pętli przerwać jej działanie to możemy w każdej chwili to zrobić
instrukcją break; . Na przykład zrobiliśmy program obliczający liczby pierwsze.
Liczba pierwsza jest to liczba podzielna przez 1 i przez samą siebie. Robimy w
tedy pętle. I na przykład sprawdzamy liczbę 99. i sprawdzamy czy liczba ta jest
podzielna przez jakąś inną liczbę. Stosujemy do tego dzielenie modulo, i jeżeli
wynik jest = 0 to znaczy że liczba jest podzielna przez jakąś inną. I jeżeli
sprawdzamy po kolei liczby 2,3,... to podczas wystąpienia liczby 3, (99%3) wynik
z dzielenia otrzymamy 0. W tedy nie ma sensu sprawdzać czy liczba nie jest
podzielna przez resztę liczb z zakresu 4-98 bo już wiemy że liczba ta nie jest
liczbą pierwszą. W tedy przerywamy pętle instrukcją break; Przeanalizuj
działanie programu pierwsze.cpp.continueInstrukcja ta
kończy działanie ciałą pętli. Czyli jeżeli jeżeli gdzieś w pętli wystąpi
instrukcja continue to program pomija instrukcje występujące po niej i
przystępuje do ponownego sprawdzenia warunku. Np chcemy wyświetlić liczby na
ekranie bez liczby 3. Robimy w tedy taki program:
#include<iostream.h>
void main()
{
for(int i=1;i<=5;i++)
{
if(i==3) continue;
cout << i << endl;
}
}
gotoNie będę się nad tą instrukcją rozpisywał gdyż
stosowanie tej instrukcji zaciemnia kod, i programiści raczej jej nie stosują.
Jest ona raczej dla tych którzy kiedyś programowali w basic'u i nie mogą się
wyzbyć nawyku takich skoków.Składnia:goto etykieta;// i gdzieś
indziej w programie musi się znajdywać coś
takiego:etykieta:instrukcje;Są dwa zastrzeżenia. Instrukcja goto
nie może powodować przeskoczenia poprzez taką definicję w której jawnie lub
niejawnie inicjuje się jakąś zmienną. while.cppfor.cppdo.cpppierwsze.cpp - zastosowanie
instrukcji break;continue.cppgoto.cpp
Wyszukiwarka
Podobne podstrony:
11 (311)ZADANIE (11)Psychologia 27 11 2012359 11 (2)11PJU zagadnienia III WLS 10 11Wybrane przepisy IAAF 10 1106 11 09 (28)info Gios PDF Splitter And Merger 1 11więcej podobnych podstron