Temat: Algorytmy z nieokreśloną liczbą kroków iteracji - instrukcja „dopóki” i powtarzaj” w Delphi.
I. Instrukcja iteracyjna „dopóki”
Instrukcja iteracyjna „while” ma postać:
While wyrażenie do instrukcja;
Gdzie
wyrażenie ma przyjmować wartości logiczne True(prawda) lub False (fałsz);
instrukcja jest pojedyncza lub złożona: begin...end; (ta ostatnia zawiera ciąg instrukcji).
W szczególnej sytuacji, gdy warunek od razu jest fałszywy, instrukcje umieszczone po słowie do mogą w ogóle nie być wykonane.
Wewnątrz bloku instrukcji powinna być zawsze umieszczona instrukcja, która zmienia wartość logiczną warunku, gdyż inaczej pętla się nigdy nie zakończy.
ZADANIE 1
Napisz program, który czyta z klawiatury kolejne pary liczb (a i b), oblicza i wypisuje na ekranie ich iloraz, dopóki druga liczba (dzielnik) nie będzie równa zero. Dla b równego zero program wyprowadza na ekran komunikat o treści „dzielenie przez zero jest niewykonalne” i kończy działanie.
II. Instrukcja iteracyjna „powtarzaj”
Instrukcja iteracyjna „repeat” ma postać:
Repeat
Ciąg instrukcji;
Until wyrażenie;
Gdzie:
wyrażenie musi przyjmować wartości logiczne True(prawda) lub False (fałsz);
ciąg instrukcji to dowolny ciąg instrukcji; gdy instrukcji jest więcej niż jedna - nie trzeba dodawać instrukcji złożonej begin...end
UWAGI
W odróżnieniu od instrukcji dopóki - w instrukcji powtarzaj' instrukcje występujące wewnątrz są powtarzane, dopóki warunek jest fałszywy. Gdy warunek zostanie spełniony następuje wyjście z pętli.
Warunek jest sprawdzany na końcu pętli, więc instrukcje wewnątrz pętli są wykonywane przynajmniej raz.
ZADANIE 2
Napisz program, który czyta z klawiatury liczby i zlicza wśród nich liczby parzyste. Dla liczby równej zero program wyświetla ilość liczb parzystych i kończy działanie.
ZADANIE 3
Powyższe zadania zmodyfikuj tak, aby działały poprawnie ze zmienionymi instrukcjami iteracji: w zadaniu pierwszym instrukcję while...do zamień na repeat...until, a w zadaniu drugim instrukcję repeat... until zamień na while...do.
ZADANIE 4
Algorytm umożliwia obliczenie płacy za nadgodziny tylko dla jednego pracownika. Dodaj do schematu możliwość obliczenia płacy za nadgodziny dla wszystkich pracowników firmy, gdzie zmienna k oznacza liczbę pracowników.
TAK
START
Wprowadź(lng,s)
lng<30
STOP
Placa:=lng*s
Placa:=lng*s+(lng-30)*s*0,5
Wprowadź(Placa)
NIE