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

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:

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.

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

TAK

START

Wprowadź(lng,s)

lng<30

STOP

Placa:=lng*s

Placa:=lng*s+(lng-30)*s*0,5

Wprowadź(Placa)

NIE