Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по ОП.docx
Скачиваний:
27
Добавлен:
14.02.2015
Размер:
200.1 Кб
Скачать

Короткі теоретичні відомості

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

Загальний вигляд оператора циклу з передумовою:

while Вираз (умова) do оператор (тіло циклу).

Виконання оператора циклу з передумовою починається зобчис­лення значеннявиразу.Якщо це значенняFalse, тотіло циклуне виконується (управління передається на оператор, який стоїть од­разу за циклом). Якщо значеннявиразуTrue,тіло циклувиконує­ться, після чого знову обчислюєтьсяумова. Щоб запобігти зацик­люванню, слід передбачити зміну значеннявиразу (умови)всереди­нітіла циклу.Наприклад, після виконання наступного фрагмента програми:

А:= True; Х:= 5;

while A or (Х< 9) do (цикл завершиться, як тільки) begin (вираз набуде значення False}

A:=not А; Х:=Х+2 end

змінна X має значення 11, а змінна А — False.

Оператор циклу з післяумовою repeat until складається з ключового словаrepeat, за яким іде виконуваний у цикліопера тор(послідовність операторів); ключового словаuntil івиразу логічного типу (улови).

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

repeat оператор (тіло циклу) until Вираз (умова).

Виконання цього оператора циклу відбувається так. Спочатку виконується тіло циклу,а потім визначається значеннявиразу логічного типу(умови).Якщо значеннявиразуTrue, то виконання циклу припиняється. Якщо це значенняFalse, то відбувається ви­конаннятіла циклу, а потім знову обчислюєтьсявираз (умова). Наприклад, після виконання наступного фрагмента програми:

А:= True; Х: = 5; repeat

A:=not А; Х:=Х+2 {цикл завершиться, як тільки} until not(A or(Х< 9)) {вираз набуде значення True) змінна X має значення 11, а змінна А - False.

Ще приклад. Оператор repeat until KeyPressed застосовуєть­ся для організації паузи в процесі виконання програми (до натис­кування будь-якої клавіші). В мовіTurbo Pascal логічна функціяKeyPressed контролює натискування клавіш. Якщо жодна з кла­віш не натиснута, то ця функція виробляє значенняFalse, в проти­вному разі -True.

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

Оператор циклу з параметром for складається з ключового сло­ваfor, за яким йдуть параметр циклу; знак присвоєння; початко­вий вираз, що визначає початкове значення параметра циклу; клю­чове словоto абоdownto; кінцевий вираз, що визначає кінцеве значення параметра циклу; ключове словоdo і виконуваний у цик­лі оператор (простий або складений).

Загальний вигляд оператора циклу for:

for параметр:—Виразі to {downto} Вираз2 do оператор,

де параметр- змінна цілого, символьного, логічного або перечис- люваного типу. Параметр циклу(параметр),початковий та кінце­вий вирази (відповідноВиразі і Вираз2)повинні бути одного типу.

При виконанні циклу параметрнабуває послідовних значень даного типу в порядку їх збільшення (якщо є словоto) або змен­шення (якщо є словоdownto). Кількість виконань тіла циклу обчи­слюється як:Вираз2 - Виразі+1(якщо є словоto) абоВиразі-Вираз2 + 1(якщо є словоdownto). Якщо в циклі з словомto (downto) початковий вираз більший (менший) від кінцевого, то тіло циклу не виконується жодного разу. Всередені тіла циклу не слід змінювати значення параметра циклу, хоча така зміна не фіксується як помилка і не впливає на кількість виконань тіла циклу. Після закінчення роботи оператора циклуfor значення параметра циклу дорівнює кінцевому значенню. Якщо тіло циклу не виконалося, то значення параметра циклу не визначено.

Приклад, після виконання наступного фрагмента програми: A:=True; Х:=5;

for К :=1 to 3 do {цикл завершиться, як тільки К} begin {набуде значення більше за 3}

A:=not А; Х:=Х+2 end

змінна X має значення 11, а змінна А - False.

Ще приклад. В результаті виконання наступного оператора: for Ch:='z' downto 'a' do Writeln(Ch) будуть надруковані малі букви англійського алфавіту в зворотному порядку.

Мова Turbo Pascal 7.0 доповнена двома стандартними процеду­рами без параметрівbreak, таcontinue, семантика яких повністю співпадає з аналогічними операторами мови С.

Процедура break припиняє виконання оператора циклу, з яко­го була викликана ця процедура. Управління передається на опе­ратор, який стоїть одразу за оператором циклу.

Процедура continueприпиняє виконання поточної ітерації оператора циклу, в якому була викликана ця процедура, і здійс­нює перехід к виконанню наступної ітерації.