Read(r, r, i, i); Read(ch, ch);

Значення вихідних даних можуть відокремлюватися один від одного пробілами і натисканням клавіш табуляції і Enter.

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

Write(A1,A2,...AK);

WriteLn(A1,A2,...AK);

WriteLn;

Перший з цих операторів реалізує виведення значень змінних А1, А2,...,АК у рядок екрана. Другий оператор реалізує виведення значень змінних А1, А2, ..., АК і перехід до початку наступної рядка. Третій оператор реалізує пропуск рядка і перехід до початку наступної рядка.

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

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

Форма представлення значень у полі висновку відповідає типу змінних і виразів: величини цілого типу виводяться як цілі десяткові числа, дійсного типу - як дійсні десяткові числа з десятковим порядком, символьного типу і рядка - у виді символів, логічного типу - у виді логічних констант TRUE і FALSE.

Оператор виведення дозволяє задати ширину поля виведення для кожного елемента списку виведення. У цьому випадку елемент списку виведення має вигляд А:ДО, де А - змінна або рядок, ДО - константа цілого типу. Якщо виведене значення займає в полі виведення менше позицій, чим ДО, то перед цим значенням розташовуються пробіли. Якщо виведене значення не міститься в ширину заданою ДО, то для цього значення буде відведена необхідна кількість позицій. Для величин дійсного типу елемент списку виведення може мати вигляд А:ДО:М, де А - змінна або вираз дійсного типу, ДО - ширина поля виведення, М - число цифр дробової частини виведеного значення. ДО і М - вирази або константи цілого типу. У цьому випадку дійсні значення виводяться у формі десяткового числа з фіксованою крапкою.

Приклад запису операторів виведення:

……………………………………..

var rA, rB: Real;

iP,iQ:Integer;

bR, bS: Boolean;

chT, chV, chU, chW: Char;

………………………………………

WriteLn(rA, rB:10:2);

WriteLn(iP, iQ:8);

WriteLn(b, b:8);

WriteLn(ch, ch, ch, ch);

Оператор переходу

Звичайно оператори в програмі виконуються в тому порядку, у якому вони записані. Оператор переходу перериває природний порядок виконання програми і вказує, що подальше виконання повинне продовжуватися, починаючи з оператора, позначеного міткою, зазначеної в операторі переходу. Приклад запису оператора переходу:

Goto 218;

Мітка ставиться перед відповідним оператором і відокремлюється від нього двокрапкою (:)

218:X:=2*A;

У декларативній частині програми використана мітка повинна бути обов'язково описана.

Умовний оператор

Розрізняють два варіанти запису умовного оператора:

· У короткій формі;

· У повній формі.

Умовний оператор у короткій формі

If (B) then OP1;

працює за правилом: якщо булевський вираз B істинний, то виконується оператор ОР1, далі виконується оператор, що випливає за умовним. Якщо булевський вираз B хибний, то буде виконуватися оператор, що випливає за цим умовним оператором.

 
  Read(r, r, i, i); Read(ch, ch); - student2.ru

Дана мовна конструкція відповідає фрагменту алгоритму:

Наприклад:

if a+1<0 then x:=x+1;

Якщо в якості ОР1 виступає група операторів, то їхній необхідно укласти в операторні дужки begin……...end і використовувати тим самим складений оператор:

if a+1<0 then begin x:=x+1; y:=2*x; z:=x+y end;

Умовний оператор у повній формі

If (B) then OP1 else OP2;

працює за правилом: якщо булевський вираз B істинний, то виконується оператор ОР1, далі виконується оператор, що випливає за умовним. Якщо булевский вираз B хибний, то буде виконуватися оператор OP2, далі виконується оператор, що випливає за цим умовним оператором.

Дана мовна конструкція відповідає фрагменту алгоритму:

 
  Read(r, r, i, i); Read(ch, ch); - student2.ru

Наприклад:

if a+1<0 then x:=x+1 else x:=x-1;

Більш наочно повний умовний оператор записується з використанням горизонтального і вертикального форматування (особливо при наявності складених операторів ОР1 і ОР2):

if a+1<0 then

Read(r, r, i, i); Read(ch, ch); - student2.ru begin

Read(r, r, i, i); Read(ch, ch); - student2.ru x:=x+1;

k:=a+b

End

Else

Read(r, r, i, i); Read(ch, ch); - student2.ru begin

Read(r, r, i, i); Read(ch, ch); - student2.ru x:=x-1;

k:=a-b

End;

За допомогою умовного оператора в комбінації з оператором безумовного переходу можна організувати умовний перехід. Наприклад:

if a-1<10 then goto 4;

2.4.5 Організація циклу

Нагадаємо, що циклом називається багаторазове повторення послідовності операторів. При організації циклу необхідно:

· задати початкове значення параметра циклу;

· виконати тіло циклу;

· змінити значення параметра циклу;

· перевірити умову виходу з циклу;

· продовжувати цикл чи вийти з нього.

У залежності від способу організації циклу деякі з вище приведених кроків можуть мінятися місцями.

2.4.5.1 Безпосередня організація циклу

Використовуючи тільки вже розглянуті оператори можна організувати циклічну обробку інформації. Припустимо, що необхідно організувати обчислення значення y=2*x2-5*x при зміні х від 3 до 45 із кроком 1. Фрагмент програми, що реалізує дану задачу, приведений нижче:

x:=3;{Крок 1 - завдання початкового параметра циклу}

1:y:=2*x*x-5*x; {Крок 2 - тіло циклу}

x:=x+1; {Крок 3 - зміна параметра циклу}

if x<46 then goto 1;{Крок 4 - перевірка умови продовження циклу}

2.4.5.2 Цикл із параметром

З наведеного прикладу видно, що кроки 1, 3, 4 є допоміжними і служать тільки для організації циклу. Тому для спрощення процесу програмування циклу була введена наступна конструкція:

for x:=xn to xk do OP1;

де xn-початкове значення параметра циклу;

xk - кінцеве значення параметра циклу;

OP1-тіло циклу.

Вище приведену організацію циклу тепер можна представити набагато простіше:

for x:=3 to 45 do y:=2*x*x-5*x;

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

Нове значення параметра циклу і перевірка умови виходу з циклу здійснюється автоматично після виконання тіла циклу. Слід також зазначити, що при використанні такого запису оператора циклу крок зміни параметра циклу строго постійний і дорівнює +1. Для завдання кроку –1 використовується трохи відмінна форма запису оператора:

for x:=xn downto xk do OP1;

Якщо xn = xk, то цикл виконується тільки один раз. Якщо xn < xk для першого чи випадку xn > xk для другого, то цикл не виконується жодного разу.

Щоб використовувати дані конструкції організації циклу у випадку, коли крок зміни параметра циклу відмінний від ±1, необхідно вводити допоміжний параметр і розраховувати кількість кроків циклу. Повернемося до вище розглянутого приклада, змінивши крок зміни параметра на 0,5. Тоді:

x:=0; {завдання початкового значення основного параметра}

mkr:=45/0.5; {визначення кількості циклів (дійсне)}

mk:=Trunc(mkr); {перетворення до цілого виду}

for m:=1 to mk do {оператор циклу}

Begin

y:=2*x*x-5*x; {тіло циклу}

x:=x+0.5 {зміна основного параметра}

End;

2.4.5.3 Цикл із передумовою

Цикл із параметром зручно застосовувати у випадку коли відомо (чи може бути обчислена) кількість циклів. Наприклад, необхідно обчислювати значення функції y=2*x2-5*x, починаючи з х=0 із кроком 0,3 до моменту, коли у перевищить 500. Організація циклу з використанням параметра ускладнена тому що крок відмінний від 1 і не відомо кількість циклів. Для розв’язання задач подібного типу використовується конструкція вигляду:

Наши рекомендации