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

UptoLike

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

"Нет" 1 + 1
4
2
3
+
-
-
1
"Да" 2 +
-
(кц)
5 2
3
-
-
+
2 "Нет" 1
2
3
+
+
-
(кц)
2
1
2
2
2
-
+
-
-
Turbo Pascal
Program Checking;
Uses Crt;
Var A : Array[1..10, 1..10] of Integer;
N, M, i, j : Integer;
K : Integer; {заданное число}
JMax : Integer; {максимальный элемент столбца}
Flag : Boolean;
{---------------------------------------------------}
Procedure InputOutput; {описание процедуры ввода-вывода}
Begin
ClrScr;
Write('Введите целое K = '); ReadLn(K); WriteLn;
WriteLn('Введите целочисленную матрицу А');
Write('Количество строк - '); ReadLn(N);
Write('Количество столбцов - '); ReadLn(M);
For i := 1 to N do
For j := 1 to M do
begin Write('A[' , i , ', ' , j , '] = ');
ReadLn(A[i, j])
end; ClrScr;
WriteLn('Исходная матрица :'); WriteLn;
For i := 1 to N do
begin
For j := 1 to M do Write(A[i, j] : 4);
WriteLn
end; WriteLn;
End; { of InputOutput }
{--------------------------------------------}
Procedure YesOrNot(Var Flag:Boolean); {описание процедуры
решения задачи}
Begin
Flag:=FALSE; j:=1;
While (j<=M) and not Flag do {цикл по столбцам с прерыванием}
begin JMax:=A[1, j];
For i := 2 to N do {цикл нахождения JMax}
If A[i, j]>JMax then JMax:=A[i, j];
If K=JMax then Flag:=TRUE else j:=j+1 {условие
прерывания}
end;
End;
         1    "Нет"   1    +     1   2     +          -
                                 4   3     -

              "Да"    2     +    5   2     -          +
                            -        3     -
                          (кц)

         2    "Нет"   1     +    2   2     -          -
                      2     +    1   2     +          -
                      3     -    2
                          (кц)
Turbo Pascal
Program Checking;
  Uses Crt;
  Var A            : Array[1..10, 1..10] of Integer;
       N, M, i, j : Integer;
       K           : Integer; {заданное число}
       JMax        : Integer; {максимальный элемент столбца}
       Flag        : Boolean;
{---------------------------------------------------}
Procedure InputOutput; {описание процедуры ввода-вывода}
 Begin
  ClrScr;
  Write('Введите целое K = '); ReadLn(K); WriteLn;
  WriteLn('Введите целочисленную матрицу А');
  Write('Количество строк - '); ReadLn(N);
  Write('Количество столбцов - '); ReadLn(M);
  For i := 1 to N do
     For j := 1 to M do
       begin Write('A[' , i , ', ' , j , '] = ');
              ReadLn(A[i, j])
       end; ClrScr;
  WriteLn('Исходная матрица :'); WriteLn;
  For i := 1 to N do
     begin
       For j := 1 to M do Write(A[i, j] : 4);
       WriteLn
     end; WriteLn;
End; { of InputOutput }
{--------------------------------------------}
Procedure YesOrNot(Var Flag:Boolean); {описание процедуры
решения задачи}
 Begin
  Flag:=FALSE; j:=1;
  While (j<=M) and not Flag do {цикл по столбцам с прерыванием}
     begin JMax:=A[1, j];
       For i := 2 to N do {цикл нахождения JMax}
          If A[i, j]>JMax then JMax:=A[i, j];
       If K=JMax then Flag:=TRUE else j:=j+1 {условие
прерывания}
     end;
 End;