4.3.1 блочная ( ИЗ 6 ) (Задача с экзамена)
Описание файла
Файл "4.3.1 блочная ( ИЗ 6 )" внутри архива находится в следующих папках: Задача с экзамена, ИЗЭШКИ 15 ВАРИАНТ 2 СЕМ. 99% правильно, ИЗ6. Документ из архива "Задача с экзамена", который расположен в категории "". Всё это находится в предмете "информатика" из 2 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. .
Онлайн просмотр документа "4.3.1 блочная ( ИЗ 6 )"
Текст из документа "4.3.1 блочная ( ИЗ 6 )"
10
ИЗ №6 Вар 16 (N*+1) // 4.3.1
I) Внешняя спецификация программы
1) Задача: Если сумма элементов последнего столбца матрицы А положительна, присвоить каждому из элементов Х1, Х2, ..., Х5 значение среднего арифметического соответствующей по номеру строки матрицы.
2) Состав данных:
Тип | Имя | Смысл | Структура |
Входные данные | |||
вещ | A | заданная матрица | двумерный массив; 5 строк, 5 столбцов |
Выходные данные | |||
вещ | X | среднее арифм. строк | массив одномерный, 5 элементов |
Промежуточные данные | |||
цел | I | номер строки | простая переменная |
цел | J | номер столбца | простая переменная |
вещ | S | сумма эл. последн. столбца | простая переменная |
3) Входная форма:
<A(1,1)> <A(1,2)> .. <A(1,5)> ...................... ...................... ...................... <A(5,1)> <A(5,2)> .. <A(5,5)> |
4) Выходная форма:
О бр.1 | RESULT |
О бр.2 | <X(1)> <X(2)> <X(3)> <X(4)> <X(5)> |
О бр.3 | Сумма элементов последнего столбца отрицательна |
5/6) При декомпозиции задачи выделим следующие подпрограммы:
1 - Найти сумму элементов последнего столбца матрицы
2 - Найти среднее арифметическое каждой строки матрицы
7) Вычислительных аномалий нет.
8) Тесты:
№ | Назначение | Входные данные | Выходные данные |
1 | Получение положительного результата | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | Х(1)=1 Х(2)=1 Х(3)=1 Х(4)=1 Х(5)=1 |
2 | Получение отрицательного результата | 1 1 1 1 -2 2 3 4 6 -4 1 1 1 1 -1 2 2 2 2 -2 3 3 3 3 -3 | Сумма элементов последнего столбца отрицательна |
Внутренняя спецификация программы
Подзадача 1: Найти сумму элементов последнего столбца матрицы
Тип | Имя | Смысл | Структура |
Входные данные | |||
вещ | М | заданная матрица | двумерный массив; 5 строк, 5 столбцов |
Выходные данные | |||
вещ | SP | сумма последнего столбца | простая переменная |
Промежуточные данные | |||
цел | I | номер строки | простая переменная |
function FS(M,I,SP)
Подзадача 2: Найти среднее арифметическое каждой строки матрицы
Тип | Имя | Смысл | Структура |
Входные данные | |||
вещ | М | заданная матрица | двумерный массив; 5 строк, 5 столбцов |
Выходные данные | |||
вещ | X | среднее арифм. элем. строк | массив одномерный, 5 элементов |
Промежуточные данные | |||
цел | I | номер строки | простая переменная |
цел | J | номер столбца | простая переменная |
вещ | SS | сумма эл. строки | простая переменная |
procedure FX(M,SR)
function FS(M,I,SP)
procedure FX(M,SR)
Основной алгоритм
Определить сумму элементов последнего столбца матрицы
Начало
Ввод: {А}
Определить S
по проц. FS (A)
S>0
Вывод по обр.3
Определить {Х}
по проц. FX (A)
Вывод {Х} по обр.2
Конец
Определить среднее арифметическое каждой строки матрицы
III) Паскаль программа
P
ОБРАТИ ВНИМАНИЕ
rogram IZ_6;TYPE matr=array [1..5,1..5] of real;
vec=array [1..5] of real;
v ar A:matr;
X:vec;
S:real;
i,j:integer;
fp1,fp2:text;
function FS(var M:matr):real;
var i:integer;
SP:real;
b
ОБРАТИ ВНИМАНИЕ
eginSP:=0;
For i:=1 to 5 do
SP:=SP+M[i,5];
FS:=SP;
end;
procedure FX(var M:matr; var SR:vec);
var i,j:integer;
SS:real;
begin
f
ОБРАТИ ВНИМАНИЕ
or i:=1 to 5 dobegin
SS:=0;
for j:=1 to 5 do
SS:=SS+M[i,j];
SR[i]:=SS/5;
end;
end;
B EGIN
assign(fp1,'TEST*.pas'); { * - номер теста }
assign(fp2,'OUTTEST*.pas'); { * - номер теста }
reset(fp1);
rewrite(fp2);
for i:=1 to 5 do
for j:=1 to 5 do
read(fp1,A[i,j]);
writeln(fp2,' ':2,'RESULTS');
S:=FS(A);
if S>0 then
begin
FX(A,X);
for i:=1 to 5 do
write(fp2,' ',X[i]);
writeln(fp2);
end
else
writeln(fp2,'Сумма элементов последнего столбца отрицательна');
Close(fp1);
Close(fp2);
END.