Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


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 хибний, то буде виконуватися оператор, що випливає за цим умовним оператором.

 
 

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

Наприклад:

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, далі виконується оператор, що випливає за цим умовним оператором.

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

 
 

Наприклад:

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

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

if a+1<0 then

begin

x:=x+1;

k:=a+b

End

Else

begin

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 і не відомо кількість циклів. Для розв’язання задач подібного типу використовується конструкція вигляду:





Поделиться с друзьями:


Дата добавления: 2016-03-27; Мы поможем в написании ваших работ!; просмотров: 370 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Настоящая ответственность бывает только личной. © Фазиль Искандер
==> читать все изречения...

2341 - | 2066 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.