КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
DOWNTO вираз 2 DO oneраторЗмінна, ім'я якої стоїть після слова FOR, називається керуючою або параметром циклу. Якщо в циклі треба виконати кілька операторів, то їх слід об'єднати в один складений оператор так, як і в циклі WHILE. Виконання оператора FOR починається з обчислення виразів. Цикл-ДЛЯ забезпечує виконання оператора, який стоїть після слова DO (виконувати), для кожного значення параметра, починаючи від початкового значення, яке дорівнює значенню виразу 1, до кінцевого значення, яке дорівнює значенню виразу 2, включно. Значення параметра, початкове і кінцеве значення не повинні змінюватися всередині циклу (в операторі). Крім того, вони повинні бути одного й того самого скалярного типу. Причому тип може бути тільки такий, для якого визначена стандартна функція succ (pred). Тому використовувати управляючу змінну дійсного типу не можна. Якщо використовується специфікація ТО (до), то значення параметра «збільшується» від початкового до кінцевого значення, якщо ж DOWNTO (down to – вниз до) — то «зменшується». Таким чином, цикл виду FOR v:=A1 TO A2 DO S Дe A1, A2 — вирази, S — оператор, простий чи складений, рівносильний такій послідовності операторів: v:=A1; S; v:=succ(v); S;…; v:=A2; S Цикл виду FOR v:=A1 DOWNTO A2 DO S рівносильний послідовності v:=A1; S; v:=pred(v); S;…; v:=A2; S Якщо до початку виконання циклу значення виразу 2 в операторі FOR...ТО «менше» значення виразу 1, а в операторі FOR... DOWNTO «більше» значення виразу 1, то оператор (тіло циклу) не виконується жодного разу. Після завершення виконання циклу-ДЛЯ значення параметра не визначено. Найчастіше значеннями параметра циклу є цілі числа. Проте вони можуть належати й до iнших впорядкованих типів. Наприклад, за командою FOR letter:= 'A' TO 'Z’ DO оператор cимвольна змінна letter послідовно буде набувати значень від 'Л’ до 'Z’ включно, при яких і виконуватиметься oneратор, що утворює тіло циклу. Приклади 1. Записати програму виведений в зворотному порядку малих букв латинського алфавіту і їх кодів. PROGRAM pr4(output); CONST maxletter=3; VAR letter: char; І: integer; BEGIN wгіtеІп (‘Таблиця кодів малих букв’); i:=1; FOR letter:=’z’ DOWNTO ‘a’ DO BEGIN write (letter, ’:’ ,ord (letter):4,’ ‘:2); IF і MOD maxletter=0 THEN writeln; i:=i+1 END END. Кожен рядок таблиці (крім останнього), міститиме коди трьох букв. 2. Скласти програму знаходження максимального з n дійсних чисел. Число n i самі числа поступають на пристрій вводу. Програма може бути записана так: PROGRAM n_max; {Знаходження максимального з n чисел } VAR n,i: integer; number, max:real; BEGIN readin (n); read (max); {читається перше число} FOR і:=2 TO n DO BEGIN read (number); IF number>max THEN max:=number END; Writeln; writeln(‘Максимальне число дорівнює’,mах) END.
Оператор переходу. Оператори в програмі виконуються, як правило, в порядку їх запису. Змінити цей порядок можна за допомогою оператора переходу, який має вигляд GOTO мітка Мітка — це ціле число, взяте без знака, яке містить не більше чотирьох цифр. Мітки відокремлюються від операторів двокрапкою. Будь-яка мітка, яка використовується в програмі, повинна бути описана в розділі опису міток. Цей розділ починається службовим словом LABEL (мітка) І розміщується перед розділами визначення констант і опису змінних. За допомогою оператора переходу ввійти в середину складеного оператора або в середину процедури не можна. Оператор переходу рекомендується використовувати тільки у особливих випадках, коли доводиться порушувати природну структуру програми. Зауважимо, що без оператора переходу можна обійтися, оскільки розглянутих вище операторів цілком досить для написання будь-якої програми. Приклад. Скласти програму введення п невід'ємних чисел і обчислення їх середнього арифметичного. Якщо зустрінеться від'ємне число, то виконання програми припинити.
|