Similar presentations:
Модули. Предпосылки возникновения модульного подхода. (Лекция 6)
1. Лекция № 6
Модули1
2. Предпосылки возникновения модульного подхода:
возрастающиеобъемы ПС;
увеличивающаяся внутренняя
сложность ПС;
коллективный характер разработки
ПС
2
3.
Df: Набор связанных процедур вместе сданными
которые
они
обрабатывают,
называют модулем.
Df: Программный модуль это любой фрагмент
описания
процесса,
оформляемый
как
самостоятельный
программный
продукт,
пригодный для использования в описаниях
процесса.
3
4. Критерии приемлемости модуля (по Майерсу)
Размер модуля – измеряется числом содержащихся в нем строк илиоператоров.
Прочность модуля – это мера его внутренних связей. Логическая
независимость, результат работы программного модуля зависит только
от исходных данных, но не зависит от работы других модулей.
Функциональная
прочность,
модуль
выполняет
перечень
регламентируемых операций для реализации каждой отдельной
функции, причем полностью. Информационная прочность – это
модуль, реализующий несколько функций над одной и той же
структурой данных, которая считается неизвестной вне этого модуля.
Сцепление модуля – это мера его зависимости по данным от других
модулей. Слабые информационные связи, обмен информацией между
модулями должен быть минимизирован.
Рутинность модуля – это его независимость от предыстории
обращения к нему.
4
5. Структура модуля
Заголовокмодуля
Заголовок
модуля
;
Интерфейсная
часть
UNIT
Секция
реализации
Секция
инициализации
Идентификатор
модуля
5
end
.
6. Интерфейсная часть (секция связи)
INTERFACEСпецификация
использования
Элемент
интерфейса
6
7.
Спецификацияиспользования
USES
Идентификатор
модуля
;
,
Элемент интерфейса
Описание констант
Описание типов
Описание переменных
Заголовок процедуры
Заголовок функции
7
8. Секция реализации
IMPLEMENTATIONЭлемент реализации
Спецификация
использования
Элемент
реализации
Описание меток
Описание констант
Описание типов
Описание переменных
Описание процедур
Описание функций
8
9. Инициализирующая часть
BEGINоператоры
;
9
10.
Задача: Выполнить сортировку элементовмассива в том случаи, если его сумма
является положительной.
10
11. Этапы разработки ПС
1112. Функциональная структуры алгоритма
задачаМодуль 1
Описания
данных
Модуль 2
ввод
массива
нахождение
суммы элементов
массива
вывод элементов
массива
сортировка
элементов массива
12
13. Основная программа
usesop, obrabotki;
var
mas : massiv;
m
: integer;
begin
writeln(‘Введите количество элементов массива’);
readln(m);
vvod(mas, m);
rezul(mas, m);
if summ(mas, m)>0 then sortr(mas, m);
rezul(mas, m);
end.
13
14. Модуль содержащий описания используемые, как в основной программе так и в других модулях
unit op;Interface
const k=200;
type massiv=array[1..k] of integer;
implementation
end.
14
15. Модуль обработки
unit obrabotki;interface
uses op;
procedure vvod(var ma :massiv; n :integer);
procedure sortr(var ma :massiv; n :integer);
procedure rezul(var ma :massiv; n :integer);
function summ(var ma :massiv; n :integer) :real;
15
16.
implementationvar i
: integer;
procedure vvod(var ma :massiv; n :integer);
begin
randomize;
for i:=1 to n do
ma[i]:=random(12);
end;
procedure sortr(var ma :massiv; n :integer);
var j, temp, min
: integer;
begin
for i:=1 to n-1 do begin
min:=i;
for j:=i+1 to n do
if ma[j]<ma[min] then min:=j;
temp:=ma[i];
ma[i]:=ma[min];
ma[min]:=temp
end;
end;
16
17.
procedure rezul(var ma :massiv; n :integer);begin
writeln;
for i:=1 to n do
write(ma[i],' ');
end;
function summ(var ma :massiv; n :integer) :real;
var s
: real;
begin
s:=0;
for i:=1 to n do s:=s+ma[i];
summ:=s
end;
end.
17