Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
ЛАБОРАТОРНА РОБОТА № 7
Освоєння технології структурного та модульного програмування
при розробці й створенні програми мовою Турбо Паскаль
при реалізації на ПЕОМ задач з використанням функцій
Дослідити роботу операторів функцій мови Паскаль; знати призначення, форму запису та особливості вживання функцій. Освоїти методику розробки, відладки Паскаль-програм (ПП) з використанням функцій на персональних ЕОМ.
Теоретичні відомості
Опис функції подібний до опису процедури, однак маються деякі відмінності. Найважливіша з них полягає в тому, що результатом роботи функції є одне (скалярне) значення довільного типу. Тип результату задається в заголовку функції, загальний вигляд якого:
function <ім'я функції> (< список формальних параметрів >): <тип результату>;
Серед операторів у тілі функції обов'язково повинен бути присутнім хоча б один оператор присвоювання, у лівій частині якого знаходиться ім'я функції. Цей оператор і визначає значення, яке виробляється функцією.
Виклик і виконання функції виконуються при обчисленні значення функції:
<ім'я функції> (< список фактичних параметрів >),
який входить у оператор виводу або деякий вираз праворуч від оператора присвоювання в основній програмі.
Розглянемо послідовно етапи створення програми з функціями на конкретному прикладі.
1. Умова завдання:
Маємо одномірні матеріальні масиви А=, В=, С=.. Для кожного з них визначити середнє арифметичне позитивних елементів і вивести їх на екран, а також знайти їх суму і вивести її на екран. Створити процедуру вводу масивів.
2. Створимо ПП з коментарями та відступами
Див. рис. 1.
Program SAPE;
Uses
Crt;
Type
V
ZFctType = Array[l..5O] of Real; {Maxc. pasmep Maccusos}
a
A, B, C : VectType; {flcnonszyemme Maccnsu}
Sum : Real; {Cyuma zuafleuufi gyuxuuu}
B,
l, m, n, {Pasmepu Maccnaos A,
1 :Integer;
Procedure Vvod(Var Ar:VectType; k:Integer);
{Hpouexypa Bsoza oznomepnux Maccusos}
Var
i : integer; {flepemennaa unxna}
Begin
for i:=l to k do
begin _
Wr1te('Ar[', 1, '] = ');
ReadLn(Ar[i])
end
End; {Proc Vvod}
Function SredArP(Var Ar:VectType; k:Integer) Real
{wyuxuns uaxoxzeuns cp. apugm. nonox. an-mos}
Var
Sum : Real;
KolPol,
i : Integer;
Begin
Sum:=O
KolPol.=O; {
for i:=l to
{Cyma nonox. an-Toa Mac.}
{KonMH. non. an-Ios}
{flepemennax unxna}
{O6HynaeM cymy}
O6xynaeM xonnq. non. 3nros}
k do
»~.
if Ar[i] > C then {Ecnu an-I Mac. nonox
begin
Sum:=Sum+Ar[1]; {fiaxannmsaem cymy}
KolPol:=KolPol+l {Ysenuqusaem xonuq
end;
Sred3rP:=Sum/KolPol {Cpenn. apuom. non. 3n-ros }
End; {Bunc SredArP}
Begin
ClrScr;
Write('Vvedite l = ');
ReadLn(l); {Bsoxum xonmq.
WriteLn('Vvedite massiv A
Vvod(A, 1); {Bsonnm Mac. A
WriteLn('Sred.arifm.pol.elt. v massive A
SredArP(A, l));
-_,,~..- U
_. gq
“TOE Mac. A}
Write('Vvedite m = ');
ReadLn(m); {Bsonum xonufi. an-roe Mac. B}
WriteLn('Vvedite massiv B);
Vvod(B, m); {Bsoxnm Mac. B}
WriteLn('Sred.arifm.pol.elt. v massive B
SredArP(B, m));
Write('Vvedite n = ');
ReadLn(n); {Bsozum xonufl. an-mos Mac. C}
WriteLn('Vvedite massiv C);
Vvod(C, n); {Bsonnm Mac. C}
WriteLn('Sred.arifm.pol.elt. v massive C
SredArP(C, n1);
I
-J
L
-J
Рис. 1. Текст програми
3.1. Записати вказаний викладачем варіант завдання. Вивчити рекомендовану літературу та конспект лекцій.
3.2. Програмування задачи:
скласти ПП рішення задачи на ПЕОМ.
3.3. Оформлення звіту
Звіт повинен мати:
номер лабораторної роботи та їх назву;
умову задачі та дані свого варіанту;
лістінг ПП з коментарями та відступами, яка використовує підпрограми;
підготований тест для свого варіанту задачі;
скріншот результатів роботи ПП.
Варіанти завдань наведені в табл. 7 та обираються студентом згідно номера у журналі групи.
Таблиця 7. Варіанти задач з функціями
№ варіанта |
Умова задачі |
1 |
Маємо одномірні матеріальні масиви А=, В=, С=. Створити процедуру вводу масивів. Для кожного з них визначити: суму негативних елементів та вивести їх на екран; знайти їх суму та вивести її на екран. |
2 |
добуток негативних елементів та вивести їх на екран; знайти їх суму та вивести їїна екран. |
3 |
суму елементів, для яких виконується відповідна умова: ; ; та вивести їх на екран; знайти їх суму та вивести її на екран. |
4 |
суму елементів з парними індексами та вивести їх на екран; знайти їх суму та вивести її на екран. |
5 |
добуток перших трьох та останніх трьох елементів та вивести їх на екран; знайти їх суму та вивести її на екран. |
6 |
мінімальний елемент та вивести їх на екран; знайти їх суму та вивести її на екран. |
7 |
середнє арифметичне значення елементів та вивести їх на екран; знайти їх суму та вивести її на екран. |
8 |
квадратний корінь з суми квадратів елементів та вивести їх на екран; знайти їх суму та вивести її на екран. |
9 |
суму абсолютних значень елементів та вивести їх на екран; знайти їх суму та вивести її на екран. |
10 |
кількість негативних елементів та вивести їх на екран; знайти їх суму та вивести її на екран. |
11 |
максимальний елемент та вивести їх на екран; знайти їх суму та вивести її на екран. |
12 |
добуток елементів з непарними індексами та вивести їх на екран; знайти їх суму та вивести її на екран. |
13 |
кількість елементів для яких виконується відповідна умова: ; ; та вивести їх на екран; знайти їх суму та вивести її на екран. |
14 |
добуток елементів масиву, які перебільшують значення D1 (для масиву А), D2(для масиву В), D3(для масиву С) та вивести їх на екран; знайти їх суму та вивести її на екран. |
15 |
різницю сум елементів з парними та з непарними індексами та вивести їх на екран; знайти їх суму та вивести її на екран. |
16 |
кількість нульових елементів та вивести їх на екран; знайти їх суму та вивести їх на екран. |
17 |
середнє арифметичне значення елементів, які перебільшують значення Р1 (для масиву А), Р2 (для масиву В), Р3 (для масиву С) та вивести їх на екран; знайти їх суму та вивести їх на екран. |
18 |
різницю абсолютних значень сум позитивних та негативних елементів та вивести їх на екран; знайти їх суму та вивести її на екран. |
19 |
індекс і максимального елемента та вивести їх на екран; знайти їх суму та вивести її на екран. |
20 |
суму добутків елементів з парними та з непарними індексами та вивести їх на екран; знайти їх суму та вивести її на екран. |
21 |
індекс і найближчого нульового та вивести їх на екран; знайти їх суму та вивести її на екран. |
22 |
суму перших трьох та останніх трьох елементів та вивести їх на екран; знайти їх суму та вивести її на екран. |
23 |
максимальний по абсолютному значенню елемент та вивести їх на екран; знайти їх суму та вивести її на екран. |
24 |
квадратний корінь з добутку квадратів значень елементів та вивести їх на екран; знайти їх суму та вивести її на екран. |
25 |
добуток абсолютних значень елементів та вивести їх на екран; знайти їх суму та вивести її на екран. |
26 |
середнє арифметичне значення абсолютних величин елементів та вивести їх на екран; знайти їх суму та вивести їх на екран. |
27 |
суму абсолютних значень елементів та вивести їх на екран; знайти їх суму та вивести її на екран. |
28 |
максимальний за абсолютним значенням негативний елемент та вивести їх на екран; знайти їх суму та вивести її на екран. |
29 |
добуток негативних елементів та вивести їх на екран; знайти їх суму та вивести її на екран. |
30 |
різницю між добутком та сумою елементів та вивести їх на екран; знайти їх суму та вивести її на екран. |
PAGE 6