Алгоритм виконання функції F

1. Спочатку функції F присвоюється значення TRUE і перевіряється b>a.

2. Якщоумова виконується, тоді обчислюється значення x1:=b/4.0*a.

3. Інакше перевіряється b=a.

4. Якщо так, то х1:=-55.

5. Якщо ж ця умова не виконується, то залишається умова b<a, у якій треба перевірити на нуль знаменник a виразу (b-5)/a.

6. Якщо ця умова (a=0) виконується (знаменник у виразі (b-5)/a дорівнює нулю), обчислюється складений оператор після THEN, взятий у дужки - begin... end:

¨ У цьому випадку стрічкова змінна s1:=inv1+inv2 буде дорівнює:

Ділення на нуль!!!!!!! Повторіть введення’.

¨ Це повідомлення виводиться на екран.

¨ Функція F приймає значення FALSE і керування передається по EXIT в головну програму.

7. У випадку, якщо знаменник не дорівнює нулю, обчислюється значення x1:=(b-5.0)/a.

8. Далі перевіряється, чи входить значення х1 у допустимий діапазон (для змінних типу INTEGER).

9. Якщо так, то ціла змінна одержує значення х:=trunc(x1).

10. Якщо значення х1 виходить за допустимий діапазон, то:

¨ s1:=inv3+inv4 (‘Результат виходить за діапазон [-3268...32767]!!!!’);

¨ значенння S1 виводиться на екран - Writeln(s1);

¨ виводиться на екран отримане значення Х1 - Writeln(x1);

¨ і нове запрошення - Writeln(Inv1) (‘Повторіть ввод’).

¨ Функція F приймає значення FALSE і керування по EXIT передається в головну програму.

Далі описана процедура введення вихідного значення змінної А з перевіркою на область допустимих значень. Ім'я процедури - Input. У заголовку описані формальні параметри A:integer і inv:string (ім'я змінної). У тілі процедури використовуються локальні змінні al:real і s1:string, у полі опису міток визначена мітка L.

Алгоритм виконання процедури Input

1. На екран повідомляємо про введення змінної А - Write(‘Введіть значення ’+ inv, '===>'). При виконанні цього оператора на екрані з'являється повідомлення: Введіть значення А===>.

2. Вводимо з клавіатури її значення- READLN(a).

3. Перевіряємо чи входить ці значення в допустимий діапазон:

¨ якщо так, то A:=TRUNC(a),

¨ якщо ні, то змінна s1 отримує значення s1:=inv5+inv4

(' значення, що вводиться, виходить за діапазон [-32768...32767]!!!’).

¨ На екран виводиться значення inv1 (‘Повторіть введення’).

¨ Керування передається на мітку L для повторного введення значення А.

Ця процедура може бути використана для введення і контролю діапазону будь-якої цілої змінної типу INTEGER.

Опис головної програми

1. У циклі REPEAT... UNTIL очищається екран (ClrScr), виводиться на екран вид вихідного завдання, через процедуру INPUT вводяться змінні a і b, через функцію F обчислюється шукане значення x.

¨ Якщо значення функції F дорівнює False, керування передається на мітку L1 для повторного введення змінних а і b.

¨ Якщо значення функції F дорівнює TRUE, - виводиться результат (змінна х).

2. На екрані з'являється ‘ Знову? (Y/N)’.

3. Змінна ch:=ReadKey і в залежності від відповіді керування передається на початок циклу (ch:=Y’) чи програма закінчує виконання (ch:= ‘N’).

ДОДАТОК 3

Приклад виконання лабораторної роботи № 3


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: