- •3.2 Сигмент 1.2.
- •3.2.1Внутренняя спецификация к сигменту 1.2.
- •1. Подзадача.
- •2. Состав данных.
- •3.2.2 Вспомогательный алгоритм к сигменту 1.2.
- •3.3 Сигмент 1.3.
- •3.3.1Внутренняя спецификация к сигменту 1.3.
- •1. Подзадача.
- •2. Состав данных.
- •3.3.2 Вспомогательный алгоритм к сигменту 1.3.
- •3.4 Сигмент 1.4.
- •3.4.1Внутренняя спецификация к сигменту 1.4.
- •1. Подзадача.
- •2. Состав данных.
- •3.4.2 Вспомогательный алгоритм к сигменту 1.4.
- •4. Паскаль программа блочной структуры.
- •5. Паскаль программа модульной структуры.
- •6. Тестовые данные.
- •7. Отладка программ:
- •7.1 Отладка блочной структуры программы
- •7.2 Отладка модульной структуры программы:
- •8. Тестирование:
- •8.1 Драйвер для сегмента 1
- •8.2 Драйвер для сегмента 2
- •8.3 Драйвер для сегмента 3
- •8.4 Драйвер для сегмента 4
- •В процессе тестирования были найдены синтаксические ошибки, которые были тут же локализованы и исправлены.
- •9 Рекомендации по применению:
8. Тестирование:
Для проверки корректности программы использован метод восходящего тестирования.
Для каждой подпрограммы были составлены программы-драйверы:
8.1 Драйвер для сегмента 1
№ |
назначение |
контроль данных |
|
Исходные данные |
выходные данные |
||
1 |
на положительный результат |
2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 1 1 1 1 1 5 5 5 5 5 |
10 15 20 5 25 |
2 |
на аномалию |
1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 |
5 10 15 20 25 |
3 |
на отрицательный результат |
5 5 5 5 5 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 1 1 1 1 1 |
25 10 15 20 5 |
type matr=array[1..5,1..6] of real;
massiv=array[1..5] of real;
var a:matr;
b:massiv;
f1,f2:text;
i,j:integer;
procedure nov(var a;n,m:integer;var b);
type ma=array[1..100,1..100] of real;
mas=array[1..10922] of real;
var i,j:integer;
Begin
for i:=1 to n do
begin
mas(b)[i]:=0;
for j:=1 to m do
mas(b)[i]:=mas(b)[i]+ma(a)[i,j];
end;
End;
BEGIN
assign(f1,'vdoh.pas');
assign(f2,'vidoh.pas');
reset(f1);
rewrite(f2);
for i:=1 to 5 do
begin
for j:=1 to 6 do
read(f1,a[i,j]);
readln(f1);
end;
nov(a,5,10,b);
for i:=1 to 5 do
write(f2,b[i],' ');
writeln(f2);
close(f1);
close(f2);
END.
8.2 Драйвер для сегмента 2
№ |
назначение |
контроль данных |
|
Исходные данные |
выходные данные |
||
1 |
на положительный результат |
10 15 20 5 25 |
k=5 |
2 |
на аномалию |
5 10 15 20 25 |
k=5
|
3 |
на отрицательный результат |
25 10 15 20 5 |
k=1 |
Type massiv=array[1..5] of real;
var b:massiv;
f1,f2:text;
i,j,k:integer;
function max(var b;n:integer):integer;
type mas=array[1..10922] of real;
var k,i:integer;
Begin
k:=1;
for i:=2 to n do
if mas(b)[k]<mas(b)[i] then
begin
mas(b)[k]:=mas(b)[i];
k:=i;
end;
max:=k;
End;
BEGIN
assign(f1,'vdoh.pas');
assign(f2,'vidoh.pas');
reset(f1);
rewrite(f2);
for i:=1 to 5 do
read(f1,b[i]);
readln(f1);
max(b,5)
write(f2,k);
close(f1);
close(f2);
END.
8.3 Драйвер для сегмента 3
Program sigment3;
№ |
назначение |
контроль данных |
|
Исходные данные |
выходные данные |
||
1 |
на положительный результат |
10 15 20 5 25 |
l=4 |
2 |
на аномалию |
5 10 15 20 25 |
l=1
|
3 |
на отрицательный результат |
25 10 15 20 5 |
l=5 |
var b:massiv;
f1,f2:text;
i,j,l:integer;
function min(var b;n:integer):integer;
type mas=array[1..10922] of real;
var l,i:integer;
Begin
l:=1;
for i:=2 to n do
if mas(b)[l]>mas(b)[i] then
begin
mas(b)[l]=mas(b)[i];
l:=i;
end;
min:=l;
End;
BEGIN
assign(f1,'vdoh.pas');
assign(f2,'vidoh.pas');
reset(f1);
rewrite(f2);
for i:=1 to 5 do
read(f1,b[i]);
readln(f1);
min(b,5)
write(f2,l);
close(f1);
close(f2);
END.
