laboratorium 8, Laboratorium 5


Laboratorium 8

Instrukcje while i repeat

Instrukcja while (dopóki)

while  WB  do  Instrukcja;

Działanie instrukcji polega na powtarzaniu wykonywania instrukcji dopóki wyrażenie logiczne WB posiada wartość true. Wartość ta jest sprawdzana każ­dorazowo przed wykonaniem instrukcji.

Istnieje zatem konieczność wykonania w instrukcji (także złożonej) operacji wpływającej na wartość wyrażenia logicznego. Jeśli błędny warunek spowoduje nieskończoną pętlę możemy przerwać program kombinacją klawiszy CTRL+Break.

0x01 graphic

Schemat blokowy instrukcji WHILE

Przykładowy fragment programu oblicza sumę liczb parzystych od 2 do 100:

i := 2;

suma := 0;

while i <= 100 do

begin

suma := suma + i;

i := i + 2;

end;

Instrukcja repeat / until (powtarzaj .. aż)

repeat

ciąg instrukcji

until WB ;

Ciąg instrukcji wewnętrznych jest powtarzany dopóty, dopóki wyrażenie logiczne WB posiada wartość false, zmiana na true powoduje zakończenie pętli. Sprawdzanie warunku odbywa się na końcu pętli, stąd jest ona conajmniej raz wykonywana. Podobnie jak w iteracji while jedna z instrukcji powinna mieć wpływ na wartość wyrażenia logicznego.

0x01 graphic

Schemat blokowy instrukcji REPEAT / UNTIL

Przykładowy fragment programu oblicza sumę liczb parzystych od 2 do 100:

i := 2;

suma := 0;

repeat

suma:=suma+i;

i:=i+2;

until i>100;

writeln(suma);

end.

Program p8;

Uses crt;

Var i:integer;

Begin

Writeln(`Wprowadz liczbe ujemną');

Readln(i);

While i>0 do

Begin

Write(`to nie jest liczba ujemna, popraw');

Readln(i)

End;

Writeln(`wprowadziłeś liczbe ',i)

Repeat until keypressed;

End.

Program p9;

{wystawianie stopni}

Uses crt;

Var punkty:integer;

Begin

Repeat

Writeln (`podaj liczbe punktów');

Readln(punkty);

Case punkty of

1..20 : writeln(`niedostateczny');

21..30 : writeln(`dostateczny');

31..40 :writeln (`dobry');

41..50 :writeln(`bardzo dobry')

else writeln(` blad danych')

end; {case}

until punkty=0;

writeln(`naciśnij dowolny klawisz');

repeat until keypressd;

end.

W programach została użyta funkcja logiczna keypressed z modułu crt. Funkcja ta ma standardowo wartość false, a po naciśnięciu dowolnego klawisza przybiera wartość true. Instrukcja repeat until keypressed jest iteracją powodującą zatrzymanie ekranu użytkownika do momentu naciśnięcia dowolnego klawisza.

Inną przydatna procedura jest procedura break , która powoduje wcześniejsze zakończenie bieżącej pętli.

Instrukcje iteracyjne tego samego i różnego typu mogą się zagnieżdżać.

Programy do samodzielnego wykonania

Zadanie 1.

Napisać program, który dla pobranych od użytkownika ciągu liczb a1, a2,...,an zakończonych liczbą 0 ( zero kończy wprowadzanie danych) wyznaczy i wyświetli element minimalny oraz jego indeks.

Zadanie 2

Napisać program, który wczytuje z klawiatury liczby rzeczywiste do momentu, gdy ich suma przekroczy wartość 1000, wylicza i wyświetla sumę wprowadzonych liczb i ile liczb wczytano.

Zadanie 3

Zmodyfikować program obliczający pola figur opisany w zadaniu 5 z laboratorium 3 tak, aby po obliczeniu pola figury pytał użytkownika czy chce obliczyć pole innej figury i przy odpowiedzi tak obliczał kolejne pole a przy odpowiedzi nie kończył program.

Zadanie 4.

Napisz program, który wprowadza z klawiatury dwie liczby: liczbę n (0<n<20) - rozmiar tablicy kwadratowej i liczbę k (0<k<100) a następnie:

PODSTAWY PROGRAMOWANIA

TEMAT 8: Iteracje - c.d. Instrukcje while i repeat

------------------------------------------------------------------------------------------------------------------------------------------------

3/3



Wyszukiwarka

Podobne podstrony:
Kontrola badań laboratoryjnych
badania laboratoryjne 6
ROZRÓD Badanie terenowe i laboratoryjne mleka
Diagnostyka laboratoryjna chorób serca i mięśni poprzecz (2)
Diagnostyka laboratoryjna zaburzen gospodarki lek 2010
medycyna laboratoryjna
Medycyna laboratoryjna 12 13
7) Laboratoria EMG i MMG na pziomach sily i ko
3 1 5 CCNA1 Laboratorium pl
laboratorium2
Laboratorium 7
Laboratorium jezyk c4 2013
Laboratorium01 PrzygotowanieŚrodowiskaProjektowegoPoznanieEdytoraISymulatoraKompilacjaISymulacjaPrzy
laboratorium artykul 2010 01 28 Nieznany
Diagnostyka laboratoryjna w toku modernizacji

więcej podobnych podstron