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

Вказівка цикла з післяумовою

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

Ця вказівка не потребує використання складової вказівки BEGIN... END, коли в тілі необхідно записати декілька вказівок. Цикл виконується поки умова дорівнює False і закінчується при істинності умови.

Запишемо текст попередньо розглянутої програми, використовуючи вказівку циклу з післяумовою :

PROGRAM SUMMA2;

VAR n,s,i: integer;

BEGIN

WRITE (‘Введіть кількість чисел ’);

READLN(N);

S:=0;

I:=1;

REPEAT

IF I MOD 2=0 THEN S:=S+I;

I:=I+1;

UNTIL I>N;

WRITELN (‘Сума парних чисел від 1 до ’ , N, ’ дорівнює ’, S);

END.

Вказівка циклу з лічильником (з параметром)

Вказівка циклу з лічильником підходить для програмування тільки таких циклічних фрагментів, у яких до виконання циклу відомі початкове і кінцеве значення лічильника повторень циклу.

Якщо лічильник циклу при виконанні циклу нарощує своє значення вказівка має вид:

FOR змінна:= ПочатковеЗначенняЛічильника

TO КінцевеЗначенняЛічильника DO вказівка;

Щоб цикл виконався хоча б 1 раз ПочатковеЗначенняЛічильника повинно бути не більше ніж КінцевеЗначенняЛічильника.

Якщо лічильник циклу при виконанні циклу зменшує своє значення вказівка має вид:

FOR змінна:= ПочатковеЗначенняЛічильника

DOWNTO КінцевеЗначенняЛічильника DO вказівка;

Щоб цикл виконався хоча б 1 раз ПочатковеЗначенняЛічильника повинно бути не менше ніж КінцевеЗначенняЛічильника.

Ця вказівка не потребує спеціальної вказівки для збільшення або зменшення значення лічильника, більше того , така вказівка призведе до неправильної роботи циклу.

Необхідно пам’ятати:

  1. Керуюча змінна (лічильник) пованна бути цілого типу.

  2. Початкове і кінцеве значення повинні мати сумісний тип з керуючую змінною.

  3. Коли починає виконуватись вказівка FOR, початкове і кінцеве значення визначається тільки 1 раз і ці значення залишаються незмінними на протязі всієї дії вказівки.

  4. Коли працює вказівка FOR, значення керуючої змінної збільшується при кожному повторенні на одиницю, якщо у вказівці використовується ключове слово DOWNTO , значення керуючої змінної зменшується при кожному повторенні на одиницю.

Запишемо текст попередньо розглянутої програми, використовуючи вказівку циклу з лічильником :

PROGRAM SUMMA3;

VAR n,s,i: integer;

BEGIN

WRITE (‘Введіть кількість чисел ’);

READLN(N);

S:=0;

FOR I:=1 TO N DO IF I MOD 2=0 THEN S:=S+I;

WRITELN (‘Сума парних чисел від 1 до ’ , N, ’ дорівнює ’, S);

END.

Приклад програм з оператором For

1. Задача № 1. Знайти суму всіх натуральних чисел від 1 до 10.

Текст програми:

Program cl;

Uses crt;

Var Sum, і: integer;

Begin

Clrscr;

Sum:= 0;

For і:= 1 to 10 do

Sum:= Sum + i; Writeln('Sum = ', Sum); Readkey; End.

2. Задача № 2. Є послідовність цілих чисел. Визначити скільки в ній чисел кратних 3 і не кратних 5.

Текст програми:

Program c2;

Var k, a,I,n:integer;

Begin

Writeln(‘введіть кількість членів послідовності’);

Readln(n);

For i:=1 to n do begin

Writeln(‘введіть число’);

Readln(a);

If (a mod 3=0) and (a mod 5 < > 0) then k:=k+1;

End;

Writeln(‘k=’,k);

Readln;

End.