Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
samost_pascal_delphi_2012.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
4.33 Mб
Скачать

Команда циклу з передумовою (while).

Оператор циклу з передумовою WHILE використовується, якщо якусь дію або декілька дій необхідно виконати багато раз, але наперед невідомо скільки разів і це залежить від якоїсь умови. Команда while виглядає так:

while <логічний вираз> do <оператор>;

Конструкція читається: поки виконується умова робити ...

Умова - це логічний вираз, істинність якого перевіряється на початку кожної ітерації.

Оператор, наступний за ключовим словом do називається тілом циклу. На місці тіла циклу може бути записаний складовий оператор begin ... end. В цьому випадку цикл з передумовою матиме вигляд:

while < логічний вираз > do

begin

<оператори>

end;

Дія оператора. Перед кожним новим виконанням тіла циклу перевіряється логічний вираз і якщо воно істинне (TRUE), то виконується тіло циклу, а інакше цикл закінчується і виконується команда, наступна за даною алгоритмічною конструкцією.

Примітка:

  1. Усередині тіла циклу обов'язково повинен бути вираз, який змінює логічний вираз, в іншому випадку виникає ситуація так званого "нескінченного циклу".

  2. Цикл може жодного разу не виконатися, якщо логічний вираз спочатку помилковий.

Приклад. Хай змінні х, s рівні х = 4, s = 0. Після виконання команди

while х <= 8 do begin s := s + х; х := х + 1 end;

вони отримають значення s=4+5+6+7+8= 30, х = 9.

Приклад. Вивести на екран таблицю чисел від 20 до 30, їх квадрати і куби, використовуючи команду while, можна так:

i := 20;

while i <= 30 do

begin

writeln(i:4, i * i:6, i * i * i:8);

i := i + 1

end;

Задача 10.

Визначити дійсне додатне число а, для якого виконується співвідношення а/2 = 0 в комп'ютерній арифметиці дійсних чисел. Таке число є значенням нижньої додатньої межі типу даних real.

program MinRealNumber;

var а : real;

begin

а:=l;

while а / 2 > 0 do а := а / 2;

writeln(‘a =', а) {Відповідь: а = 2.9E-39};

end.

Команда циклу з післяумовою (repeat).

Цикл з післяумовою repeat організовує виконання циклу, що складається з будь-якого числа операторів, з невідомим наперед числом повторень. Тіло циклу виконується хоча б один раз. Вихід з циклу здійснюється при істинності деякого логічного виразу.

repeat < оператори > until < логічний вираз >;

Оператори, записані між ключовими словами repeat і until, складають тіло циклу. Оскільки слова rеpeat і until є своєрідними операторними дужками, то крапку з комою перед словом until можна не ставити. Тіло циклу може бути порожнім або містити один або більш операторів.

Дія оператора. Оператори виконуються в циклі, поки значення логічного виразу не стане істинним. Істинний логічний вираз еквівалентний умові виходу з циклу. Цикл завжди виконається хоча б один раз не дивлячись на значення логічного виразу.

Задача 11.

Обчислити суму введених чисел до підтвердження закінчення введення.

program SUM_Repеat;

var sum, I, Num:integer;

Ch:Char;

begin { - початок тіла головної програми}

writeln; {- пропуск рядка}

writeln('<<< обчислення суми чисел >>>');

writeln; {- пропуск рядка}

sum:=0;

I:=1;

Repeat

writeln (' Введіте', I, -е число" Num = ? -> ');

readln(Num);

sum:=sum+ Num; {Підсумовування з накопиченням}

Inc (I); {Збільшення і на 1}

writeln (' Закінчити підсумовування Y(Так) ');

readln(Ch);

Until ( (Ch='Y') OR (Ch='y'));

writeln(' було просуммировано', I, ' чисел, сума чисел рівна ', sum);

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]