Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК_ОАиП.doc
Скачиваний:
8
Добавлен:
01.04.2025
Размер:
5.06 Mб
Скачать

Лабораторная работа № 36. Тема: Разработка алгоритмов и программ решения различных задач с использованием библиотечных модулей пользователя.

Цель работы: Научиться разрабатывать алгоритмы и программы решения различных задач с использованием библиотечных модулей пользователя.

Средства: ПЭВМ, среда разработки Pascal.

Актуализация опорных знаний

1. Библиотечный модуль.

2. Структура библиотечного модуля.

3. Создание и использование библиотечного модуля пользователя.

Пример выполнения задания

Задание: Разработать алгоритм и программу нахождения суммы положительных и произведения отрицательных элементов матрицы размером mхn, состоящей из элементов целого типа, с использованием библиотечного модуля пользователя.

Решение: Для решения задачи необходимо: организовать ввод исходных значений,

вычисление суммы положительных и произведения отрицательных элементов двумерного

массива, вывести полученные результаты.

Текст модуля

Unit MyUn;

Interface

Type

matr=array[1..50,1..50] of integer;

Var

s,p:longint;

Procedure Vvod(var a:matr;m,n:integer);

Procedure Obr(a:matr;m,n:integer;var s:longint;var p:longint);

Procedure Vyvod(s,p:longint);

Implementation

Uses Crt;

Procedure Vvod(var a:matr;m,n:integer);

var

i,j:integer;

begin

writeln('Введите элементы массива');

for i:=1 to m do

for j:=1 to n do

begin

write('Введите значение элемента A[',i,',',j,'] ');

readln(a[i,j]);

end;

end;

Procedure Obr(a:matr;m,n:integer; var s:longint; var p:longint);

var

i,j:integer;

38

begin

s:=0;

p:=1;

for i:=1 to m do

for j:=1 to n do

if a[i,j]>=0 then s:=s+a[i,j] else p:=p*a[i,j];

end;

Procedure Vyvod(s,p:longint);

begin

writeln('Сумма положительных элементов равна ',s);

writeln('Произведение отрицательных элементов равно ',p);

end;

begin

s:=0;

p:=1;

end.

Текст программы

Program lr9;

Uses Crt,MyUn;

Var

a:matr;

m,n:integer;

begin

Clrscr; {Очистка экрана}

Writeln('Введите размерность матрицы m,n');

Readln(m,n);

Vvod(a,m,n);

Obr(a,m,n,s,p);

Vyvod(s,p);

end.

Результаты отладки программы

Исходные данные:

m=3, n=3

A[1,1]=-1, A[1,2]=2, A[1,3]=3,

A[2,1]=4, A[2,2]=5, A[2,3]=6,

A[3,1]=7, A[3,2]=8, A[3,3]=-9,

результат S=35, P=9.

Задания

1. Разработать алгоритм и программу решения задачи с использованием библиотечного модуля пользователя, в которой получить новую матрицу путем деления всех элементов матрицы размером 4х4, состоящей из элементов вещественного типа не равных нулю, на ее наибольший по модулю элемент.

2. Разработать алгоритм и программу решения задачи с использованием библиотечного модуля пользователя, найти количество отрицательных элементов в каждом столбце матрицы размером 3х4, состоящей из элементов целого типа.

3. Разработать алгоритм и программу решения задачи с использованием библиотечного модуля пользователя, найти сумму элементов столбца, в котором расположен наименьший элемент в матрице размером 3х3, состоящей из элементов целого типа.

4. Разработать алгоритм и программу решения задачи с использованием библиотечного модуля пользователя, получить новую матрицу путем умножения всех элементов матрицы размером 4х4, состоящей из элементов целого типа, на ее наибольший по модулю элемент.

5. Разработать алгоритм и программу решения задачи с использованием библиотечного модуля пользователя, заменить нулями все элементы, расположенные на главной диагонали матрицы размером 3х3, состоящей из элементов целого типа.

6. Разработать алгоритм и программу решения задачи с использованием библиотечного модуля пользователя, сформировать вектор из суммы элементов строк матрицы размером 4х3, состоящей из элементов целого типа.

7. Разработать алгоритм и программу решения задачи с использованием библиотечного модуля пользователя, сформировать вектор из разностей наибольших и наименьших значений элементов строк матрицы размером 3х4, состоящей из элементов целого типа.

8. Разработать алгоритм и программу решения задачи с использованием библиотечного модуля пользователя, найти среднее арифметическое элементов каждой строки квадратной матрицы размером 3х3, состоящей из элементов целого типа.

9. Разработать алгоритм и программу решения задачи с использованием библиотечного модуля пользователя, найти среднее арифметическое элементов каждого из столбцов квадратной матрицы размером 3х3, состоящей из элементов целого типа.

10. Разработать алгоритм и программу решения задачи с использованием библиотечного модуля пользователя, найти среднее арифметическое из всех отрицательных элементов матрицы размером 4х4, состоящей из элементов целого типа.

11. Разработать алгоритм и программу решения задачи с использованием библиотечного модуля пользователя, найти сумму и произведение всех положительных элементов матрицы размером 3х3, состоящей из элементов целого типа.

12. Разработать алгоритм и программу решения задачи с использованием библиотечного модуля пользователя, найти сумму и произведение всех отрицательных элементов матрицы размером 4х4, состоящей из элементов целого типа.

13. Разработать алгоритм и программу решения задачи с использованием библиотечного модуля пользователя, найти сумму всех элементов матрицы размером 3х3, состоящей из элементов вещественного типа и заменить ею элементы главной диагонали.

14. Разработать алгоритм и программу решения задачи с использованием библиотечного модуля пользователя, найти произведение всех положительных элементов матрицы размером 4х4, состоящей из элементов целого типа и заменить им элементы главной диагонали.

15. Разработать алгоритм и программу решения задачи с использованием библиотечного модуля пользователя, найти сумму наименьших элементов каждой строки матрицы размером 3х4, состоящей из элементов целого типа.

16. Разработать алгоритм и программу решения задачи с использованием библиотечного модуля пользователя, найти количество отрицательных элементов в каждой строке матрицы размером 4х3, состоящей из элементов целого типа.