Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Листы Лабораторных работ ПАскаль.doc
Скачиваний:
7
Добавлен:
05.11.2018
Размер:
370.69 Кб
Скачать

1. А.Н. Вальвачов, в.С. Крисевич «Программирование на языке Паскаль для персональных эвм»,Минск, вш. – 1989

2. Н.Д. Васюкова, в.В.Тюляева «Практикум по основам программирования на языке Паскаль»,Москва, вш.-1991

ЗМІСТ, ПОСЛІДОВНІСТЬ, МЕТОДИКА ВИКОНАННЯ РОБОТИ

Завдання 1Скласти програму для індивідуального завдання з таблиці 8.1. Варіанти індивідуальних завдань співпадають з номером в журналі та приведені у

Завдання 2 Скласти програму для індивідуального завдання з таблиці 8.1. Варіанти індивідуальних завдань співпадають з номером в журналі

Завдання 3 Виконати індивідуальне завдання №1 з лабораторної роботи №5 використав процедури або функції для оформлення введення-виведення масиву та вирішення задачі.

ПРИКЛАД ВИКОНАННЯ ЗАВДАННЯ:

Приклад № 1

Скласти програму для обчислення значення функції, використовуючи функцію:

Группа 182Группа 190

Var x,y,z,w:real;

function f(a,b:real):real;

begin

f:=sqrt(a+b*b*b)

end;

begin

write('Введіть значення х,y,z:');

readln(x,у,z);

w:=f(x,y)+f(y,z)+f(z,x);

writeln('w=',w:2:8);

readln

end.

Приклад № 2 Розрахувати заданий вираз, який приймає ціле значення для даних a, b в форматі INTEGER, використав оператор IF. Результат Х – теж ціле число (INTEGER або LONGINT).

В програмі повинна бути як мінімум одна процедура або функція. Вихідні дані та результат повинні перевірятися на область допустимих значень

: a*b/4, если b > a

X = -55, если b = a

(b - 5)/a, если b < a

Uses CRT;

Const

inv1='Повторить введення';

inv2='Дылення на нуль!!!!!!! ';

inv3='Результат ';

inv4='виходить за діиапазон [-32768..32767]!!!!';

inv5='Значення яке вводиться ';

invA='A';

invB='B';

Label L1;

var

a,b,x : Integer;

ch : Char;

{Розрахунок значення X с перевіркою на припустимий діапазон для змінної типу INTEGER}

function F (a,b:Integer; Var x:Integer) : Boolean;

Var x1 : Real;

s1 : String;

Begin

F:=True;

if b>a then x1:=b/4.0*a {Тільки так інакше буде помилка !!!!}

else if b=a then x1:=-55

else if a=0 then

Begin

s1:=inv2+inv1;

Writeln(s1);

F:=False;

Exit;

End

else x1:=(b-5.0)/a;

{------ Перевірка результату на припустимий діапазон ------}

if (x1>=-32768)and(x1<=32767) then x:=trunc(x1)

else

Begin

s1:=inv3+inv4;

Writeln(s1);

Writeln(x1);

Writeln(inv1);

F:=False;

Exit;

End

End;

{Процедура введення вихідного значення змінної А з перевіркою на область припустимих значень }

Procedure Input(Var A:integer; inv:String);

Label L;

Var aL :Real;

s1 : String;

Begin

L:

Write('Введите значення '+inv,'===>');

Readln(aL);

if (aL>=-32768)and(aL<=32767) then A:=trunc(aL)

else

Begin

s1:=inv5+inv4;

Writeln(s1);

Writeln(inv1);

goto L;

End

End;

{Головна програма}

begin

Repeat

ClrScr;

Writeln(' Варіант 30');

Writeln(' a*b/4, если b > a');

Writeln(' X = -55, если b = a');

Writeln(' (b - 5)/a, если b < a');

Writeln;

L1:

Input(b,invB);

Input(a,invA);

if F(a,b,x) then Writeln ('x=',x)

else goto L1;

Writeln('Опять? (y/n)');

ch:=ReadKey;

Until (ch='n') or (ch='N');

end.

РЕЗУЛЬТАТИ ВИКОНАННЯ РОБОТИ

Завдання №1

Програма на мові Pascal

Завдання №2

Програма на мові Pascal

Завдання №3

Програма на мові Pascal

КОНТРОЛЬНІ ПИТАННЯ

1. Для чого призначені процедури? Яким чином воні оголошуються та визначаються у програмі?

2. Що включає в себе заголовок процедури?

3. Чим відрізняються фактичні - формальні параметри?

4. Чим відрізняються локальні - глобальні змінні?

5. Для чого призначені функції? Яким чином воні оголошуються та визначаються у програмі?

7.Дайте визначення рекурсії