
- •Лабораторна робота № 1
- •1 Теоретичні відомості
- •2 Хід роботи
- •3 Контрольні запитання
- •Лабораторна робота № 2
- •1 Теоретичні відомості
- •2 Хід роботи
- •3 Контрольні запитання
- •Лабораторна робота №3
- •Теоретичні відомості.
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №4
- •1. Теоретичні відомості
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №5
- •1. Теоретичні відомості
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №6
- •1. Теоретичні відомості
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №7
- •1. Теоретичні відомості
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №8
- •1. Теоретичні відомості
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №9
- •1. Теоретичні відомості
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №10
- •Теоретичні відомості.
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №11
- •1. Теоретичні відомості
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №12
- •1. Теоретичні відомості
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №13
- •1. Теоретичні відомості
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №14
- •1. Теоретичні відомості
- •2. Хід роботи
- •3. Контрольні запитання
- •Лабораторна робота №15
- •1. Теоретичні відомості
- •2. Хід роботи
- •3. Контрольні запитання
3. Контрольні запитання
Коли доцільно використовувати підпрограми-функції?
Що таке фактичні і формальні параметри?
Які функції називають рекурсивними?
Як формується звертання до підпрограм-функцій мовою Pascal?
Як здійснюється передача обчисленного значення функції в головну програму?
Лабораторна робота №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