Информатика 10-11. Книга 2. Практика алгоритмизации и программирования. Шауцукова Л.З. - 32 стр.

UptoLike

Составители: 

Школьный АЯ
алг Поменять местами строки (арг цел N, M, арг цел P, Q,
арг рез вещ таб А[1:N, 1:M] )
нач цел j, вещ Tmp
нц для j от 1 до M | цикл по элементам строк матрицы
Tmp:=A[P, j]; A[P, j]:=A[Q, j]; A[Q, j]:=Tmp
кц
кон
Исполнение алгоритма
j Tmp A[1,j] A[3,j]
1
2
3
1
2
1
3
1
3
1
2
1
Блок-схема (фрагмент)
Turbo Pascal
Program Exchange;
Uses Crt;
Type Mas = Array [1..10, 1..10] of Real;
Var A : Mas;
N, M, P, Q, i, j : Integer;
Tmp : Real;
{--------------------------------------------------------------}
Procedure InputOutput(Var A:Mas); {описание процедуры ввода-
вывода}
Begin
ClrScr;
Write('Количество строк - '); ReadLn(N);
Write('Количество столбцов - '); ReadLn(M);
For i := 1 to N do
For j := 1 to M do
begin Write('A[' , i , ', ' , j , '] = ? ');
Read(A[i, j])
end; WriteLn;
WriteLn('Номера строк, которые нужно поменять местами :');
Write('P = '); ReadLn(P); Write('Q = '); ReadLn(Q);
WriteLn;
ClrScr; WriteLn('Исходная матрица : ' ) ;
For i := 1 to N do
begin
For j := 1 to M do Write(A[i, j] : 5 : 1);
WriteLn
end; WriteLn
End; { of InputOutput}
{--------------------------------------------------------}
Школьный АЯ
алг Поменять местами строки (арг цел N, M, арг цел P, Q,
                             арг рез вещ таб А[1:N, 1:M] )
нач цел j, вещ Tmp
  нц для j от 1 до M | цикл по элементам строк матрицы
    Tmp:=A[P, j]; A[P, j]:=A[Q, j]; A[Q, j]:=Tmp
  кц
кон
                                           Блок-схема (фрагмент)


          Исполнение алгоритма

     j    Tmp    A[1,j]      A[3,j]
     1     1        3            1
     2     2        1            2
     3     1        3            1




Turbo Pascal
Program Exchange;
  Uses Crt;
  Type Mas = Array [1..10, 1..10] of Real;
  Var A      : Mas;
  N, M, P, Q, i, j : Integer;
  Tmp     : Real;
{--------------------------------------------------------------}
 Procedure InputOutput(Var A:Mas); {описание процедуры ввода-
вывода}
  Begin
     ClrScr;
     Write('Количество строк - '); ReadLn(N);
     Write('Количество столбцов - '); ReadLn(M);
     For i := 1 to N do
       For j := 1 to M do
          begin Write('A[' , i , ', ' , j , '] = ? ');
                 Read(A[i, j])
          end; WriteLn;
     WriteLn('Номера строк, которые нужно поменять местами :');
     Write('P = '); ReadLn(P); Write('Q = '); ReadLn(Q);
WriteLn;
     ClrScr; WriteLn('Исходная матрица : ' ) ;
     For i := 1 to N do
       begin
          For j := 1 to M do Write(A[i, j] : 5 : 1);
          WriteLn
       end; WriteLn
  End; { of InputOutput}
{--------------------------------------------------------}