Внутренняя спецификация к сегменту 1.2. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Внутренняя спецификация к сегменту 1.2.



1. подзадача.

 Определить номер максимального элемента заданного одномерного массива.

2. состав данных.

тип имя смысл структура

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

цел.

К

массив из количеств отр. эл-тов

масс.одном.5-эл.

выходные данные

цел.

imax

№-строки c max колич. отр. Эл-тов

Пр.перем

промежуточные данные

цел.

i

№- столбца

Пр.перем

цел.

n

Очередной максимальный эл-т

Пр.перем

 

Вспомогательный алгоритм к сегменту 1.2.

 

Сегмент 1.3.

Внутренняя спецификация к сегменту 1.3.

1. подзадача.

 Вычислить среднее арифметическое исходной матрицы 

2. состав данных.

тип имя смысл структура

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

вещ.

А

Исходная матрица

масс.двум.5стр,6стол.

выходные данные

вещ.

SR1

Среднее арифм. исх. матрицы

Пр.перем

промежуточные данные

цел.

i

№-строки

Пр.перем

цел.

j

№-столбца

Пр.перем

вещ.

s

Сумма элементов матрицы

Пр.перем

 

Вспомогательный алгоритм к сегменту 1.3.

Сегмент 1.4.

Внутренняя спецификация к сегменту 1.4.

1. подзадача.

 Сформировать матрицу В путём замены всех отрицательных элементов матрицы А их модулями.

2. состав данных.

тип имя смысл структура

входные данные

Вещ.

А

Исходная матрица

масс.двум. 5стр.6стол.

выходные данные

Вещ.

В

Полученная матрица

масс.двум.5стр.6стол.

промежуточные данные

цел.

i

№-строки

Пр.перем

цел.

j

№-столбца

Пр.перем

Вспомогательный алгоритм к сегменту 1.4.

.

Паскаль программа блочной структуры.

PROGRAM Z_4_3_3_v2;

TYPE MATRICA=array[1..5,1..6] of real;

MASSIV=array[1..6] of real;

VAR A,B:MATRICA;

K:MASSIV;

i,j:integer;

f1,f2:text;

Procedure MASK(Var A:MATRICA; Var K:MASSIV);

Var i,j:integer;

Begin

For i:=1 to 5 do

begin

K[i]:=0;

For j:=1 to 6 do

   begin

     if A[i,j]<0 then

       K[i]:=K[i]+1

   end

end

End;

Function STR(Var K:integer):integer;

Type MURRAY=array[1..10922] of integer;

Var i,imax,n:integer;

Begin

n:=MURRAY(K)[1];

imax:=1;

For i:=1 to 5 do

If MURRAY(K)[i]>=n Then

begin

   n:=MURRAY(K)[i];

   imax:=i;

end;

STR:=imax

End;

Function SRED(Var A:MATRICA):real;

Var i,j:integer;

SR,S:real;

Begin

S:=0;

For i:=1 to 5 do

For j:=1 to 6 do

S:=S+A[i,j];

SR:=S/30;

SRED:=SR

End;

Procedure NEWMATR(Var A:MATRICA;Var B:MATRICA);

Var i,j:integer;

Begin

For i:=1 to 5 do

begin

For j:=1 to 6 do

   begin

     If A[i,j]<0 then

       B[i,j]:=abs(A[i,j])

     Else

       B[i,j]:=A[i,j]

   end

end

End;

BEGIN

assign(f1,'isdan.pas');

  assign(f2,'vdan.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;

Writeln(f2,' ':35,'Результаты');

Writeln(f2);

MASK(A,K);

If STR(K,5)=1 Then

begin

NEWMAS(A,B);

Writeln(f2,' ':20,'SR1=',SR1:6:1,' ':15,'SR2=',SR2:6:1);

end

else  Write(f2, ‘Наибольшее кол-во эл-тов не в первой строке');

close(f1);

close(f2);

END.

                                                  



Поделиться:


Последнее изменение этой страницы: 2020-03-02; просмотров: 107; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.58.216.18 (0.006 с.)