Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб.роб..doc
Скачиваний:
20
Добавлен:
06.11.2018
Размер:
5.92 Mб
Скачать

Лабораторна робота № 14

Тема: Turbo Pascal. Алгоритми і програми з використанням підпрограм-функцій.

Мета: Формування умінь створення програм з використанням підпрограм-функцій алгоритмічною мовою високого рівня Turbo Pascal.

1 Теоретичні відомості

Підпрограми призначені для реалізації алгоритмів опрацювання окремих частин (модулів) деякої складної задачі, які можуть взаємодіяти між собою. Кожна підпрограма описується один раз і при необхідності до неї можна багаторазово звертатись. Розрізняють два види підпрограм – підпрограми-функції і підпрограми-процедури.

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

function <назва>(<список формальних параметрів>):

<тип функції>;

<розділи описів і оголошень функції>;

begin

<розділ команд функції, де має бути така команда:

назва:= вираз>

end;

У розділі команд функції має бути команда присвоєння значення деякого виразу назві функції. Результат функції повертається в основну програму через її назву. Виклик функції здійснюється таким чином:

<назва>(<список формальних параметрів>).

2 Хід роботи

2.1 Постановка задачі

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

,

де ; ; ,

використовуючи функцію .

2.2 Графічний алгоритм показаний на рис. 14.1:

а) графічний алгоритм основної програми;

б) графічний алгоритм підпрограми-функції SUM .

2.3 Таблиця ідентифікації змінних

Змінна

Ідентифікатор

x

x

y

y

t

t[i]

q

q[i]

NR

NR

NT

NT

NQ

NQ

2.4 Програма мовою Pascal та результати обчислень

Program PF{Підпрограми функції};

Const

n=100; x=3.2;

Type

vect= array[1..n] of real;

Var

i,NR,NT,NQ:integer;

t,q:vect;

y:real;

Function SUM(mas:vect;k,mm:integer):real;

Var

s:real;

j:integer;

б)

а)

Рисунок 14.1 –1 Графічний алгоритм

Begin

s:=0;

for j:=k to mm do

s:=s+mas[j];

SUM:=s

end;

Begin

writeln('Введіть значення NR,NT,NQ');

read(NR,NT,NQ);

writeln('Введіть елементи масиву t ');

for i:=1 to NT do

read(t[i]);

writeln('Введіть елементи масиву q ');

for i:=1 to NQ do

read(q[i]);

y:=SUM(t,1,NR)*x*x+SUM(t,NR+1,NT)*x+SUM(q,1,NQ);

writeln('РЕЗУЛЬТАТИ ОБЧИСЛЕНЬ:');

write('y=',y:6:3)

end.

РЕЗУЛЬТАТИ ОБЧИСЛЕНЬ:

у= 117.680