Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБ.РОБОТИ-1 семестр.doc
Скачиваний:
1
Добавлен:
10.11.2019
Размер:
713.22 Кб
Скачать

3. Контрольні запитання

  1. Коли доцільно використовувати підпрограми-функції?

  1. Що таке фактичні і формальні параметри?

  1. Які функції називають рекурсивними?

  1. Як формується звертання до підпрограм-функцій мовою Pascal?

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

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

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

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

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

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

Загальний опис процедури:

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

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

begin

<розділ команд процедури>

end;

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

<назва процедури>(<список фактичних параметрів>); .

2. Хід роботи

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

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

,

де s1 і k1 - сума і кількість додатних значень елементів масиву А(А1 , А2 ,…,А10 ) ; s2 і k2 - сума і кількість додатних значень елементів масиву В(В1 , В2 ,…,В15 ) . Для обчислення суми і кількості додатних елементів масиву використати процедуру.

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

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

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

ні

так

б)

а)

Рис.1. Графічний алгоритм

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

Змінна

z

x

а

b

NMA

NMB

s1

k1

s2

k2

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

z

x

а[i]

b[i]

NMA

NMB

s1

k1

s2

k2

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

Program Процедура;

Const

x=3.42;

Type

vector=array[1..20] of real;

Var

NMA,NMB,i,k1,k2:integer;

z,s1,s2:real;

a,b:vector;

Procedure SUMKIL(mas:vector;MM:integer;var s:real;k:integer);

Var

j:integer;

Begin

s:=0;

k:=0;

for j:=1 to MM do

if mas[j]>0 then

begin

s:=s+mas[j];

k:=k+1

end;

end;

Begin

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

read(NMA);

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

for i:=1 to NMA do

read(a[i]);

SUMKIL(a,NMA,s1,k1);

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

read(NMB);

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

for i:=1 to NMB do

read(b[i]);

SUMKIL(b,NMB,s2,k2);

z:=exp(k1*ln(x))*exp(k2*ln(x))/(s1+s2);

writeln('Результати обчислень :');

writeln('z=',z:6:3);

end.

Результати обчислень :

z=0.713

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]