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

2. Команда циклу з параметром (for)

Цикли з заданою кількістю повторень називають також циклами з лічильником. Число повторень тіла циклу в цьому випадку рахується за допомогою спеціальної змінної (лічильника), для якої відомі початкові та кінцеві (порогові) значення, а також крок зміни. Управління циклом виконується за допомогою порівняння поточних значень лічильника з заданим порогом. Змінну лічильника часто називають параметром циклу, а сам цикл -циклом з параметром.

Оператор циклу з параметром (for) має два види. Розглянемо перший: for <параметр> := <вираз 1> to <вираз 2> do <оператор 1>; Тут for (для), to (до), do (виконати) - зарезервовані (службові) слова; параметр - це змінна цілого, символьного, логічного або перерахованого типу, крім дійсного, а вирази 1 і 2 - це деякі константи такого ж самого типу, що й параметр вказівки які задають початкове та кінцеве значення параметра.

Дія команди. Параметру циклу присвоюється значення виразу 1. Якщо це значення менше, або рівне, ніж значення виразу 2, то виконується оператор 1. Після виконання оператору 1 значення параметра автоматично збільшується на 1 і знову порівнюється зі значенням виразу 2 і т.д. Коли значення параметра стане більшим, ніж значення виразу 2, то виконується наступна після циклу команда. Якщо під час першого порівняння виявиться, що значення виразу 1 більше ніж значення виразу 2, то тіло циклу не виконається жодного разу.

Блок-схема циклу з параметром має вигляд:

Примітка.

  1. Вказівку повторення з параметром зручно використовувати в тих випадках, коли попередньо можна визначити кількість повторень.

  1. Параметр циклу повинен бути описаним у розділі змінних.

  1. Значення параметру циклу після закінчення виконання вказівки повторення володіє кінцевим значенням, тому перед повторним його ви користуванням йому необхідно знову присвоїти нове початкове значення.

  2. Після службового слова do може стояти тільки один оператор. Якщо ж у циклі необхідно виконати групу операторів, то їх замикають в оператори! дужки beginend.

Приклад. Нехай s = 0. Після виконання команди циклу for i:= 4 to 6 do begin s:=s+i; z:=2*i end; змінна s набуде значення 0+4+5+6=15, а змінна z =12.

Зауваження. Значення параметра в середині циклу змінювати не можна.

Розглянемо другий різновид команди циклу for: for <параметр> := <вираз 1> downto <вираз 2> do <оператор 1>;

Ця команда діє як попередня, але значення параметра зменшується на 1 (downto - вниз до).

Приклад. Нехай s= 0. Після виконання команди циклу for i:= 6 do downto 4 begin s:=s+i z:=2*i end; змінна s набуде значення 0+6+5+4=15, а змінна z = 8.

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

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

Оператор циклу з передумовою while (поки) призначений для організації багатократного виконання групи вказівок (тіло циклу) до тих пір, доки залишається істинною умова виконання циклу.

Оператор циклу з передумовою має вигляд:

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

begin

<вказівка 1>;

<вказівка 2>;

……….;

<вказівка N>

end;

Тут while (поки), do (виконати) - зарезервовані слова; логічний вираз -умова, яка визначає виконання циклу.

Дія команди. Обчислюється значення логічного виразу (умови). Якщо умова істинна (приймає значення true), то виконується група вказівок (тіло циклу). Виконання програми знову повертається до перевірки умови циклу. Якщо умова хибна (приймає значення false), то виконується вказівка, яка знаходиться після оператору повторення з передумовою.

Блок-схема оператора циклу з передумовою має вигляд:

Примітка.

  1. Якщо умова у вказівці повторення хибна при першій же перевірці, то тіло циклу не виконується жодного разу. Умова оператора є умовою входження в цикл.

  2. Умову оператора повторення з передумовою необхідно підбирати таким чином, щоб в деякий момент вона змінила своє значення з true на false, інакше виникне ситуація “зациклювання” програми.

  3. Програмісту необхідно самому потурбуватись про необхідність збільшення (зменшення) лічильника циклу на 1. Це можна зробити таким чином I:=I+1.

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

Приклад. Нехай змінні x, s мають значення x= 4, s= 0. Після виконання команди

while x<=8 do

begin

s:=s+x; x:=x+1

end;

вони набудуть значень s=4+5+6+7+8=30, x=9.

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

while i <= 30 do

begin

writeln(i:4, sqr(i):6, exp(3*ln(i)):8); i:= i + 1

end.

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

program SUMA1;

var I,N,S: integer; begin

writeln(‘Введіть кількість натуральних чисел:’);

write(‘N=’);

readln(N);

I:=1;

S:=0;

while I<=N do

begin

S:=S+i; i:=i+1 end; writeln(‘S=’,S)

end.