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

UptoLike

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

Program EqualHeight;
Uses Crt;
Type Mas = Array [1..20] of Integer;
Var
Spart, Zenit : Mas; {массивы ростов игроков}
N, M, i, j : Integer; {N - к-во игроков "Спартака", M -
"Зенита"}
Flag : Boolean;
Name : String; {название команды}
{------------------------------------------}
Procedure Input(NCommand : Integer; Var Number : Integer; Var
Rost:Mas);
{NCommand - номер команды (равен 1 или 2)}
Begin {описание процедуры ввода данных по команде}
If NCommand=1 then Name:='Спартак' else Name:='Зенит';
Write('Введите количество игроков команды ', Name, ': ');
ReadLn(Number);
WriteLn('Введите роста игроков:');
For i := 1 to Number do
begin Write(i, ' игрок - '); ReadLn(Rost[i]) end;
WriteLn
End;
{------------------------------------------}
Procedure Search; {описание процедуры поиска решения задачи}
Begin
i:=1; Flag:=FALSE;
While (i<=N) and not Flag do {цикл по игрокам Спартака}
begin
j:=1;
While (j<=M) and not Flag do {цикл по игрокам Зенита}
If Spart[i]=Zenit[j] then Flag:=TRUE else j:=j+1;
i:=i+1
end;
End;
{------------------------------------------------------------}
Procedure OutResult; {описание процедуры вывода результата}
Begin
Write('О т в е т : в командах Спартак и Зенит ');
If Flag then Write('есть игроки ') else Write('нет игроков
');
WriteLn('одинакового роста.');
ReadLn
End;
{------------------------------------------}
BEGIN ClrScr; {вызов процедур}
Input(1, N, Spart); {ввод данных для первой команды}
Input(2, M, Zenit); {ввод данных для второй команды
}
Search; {поиск решения задачи}
OutResult {вывод результата}
END.
Program EqualHeight;
  Uses Crt;
  Type Mas = Array [1..20] of Integer;
  Var
    Spart, Zenit : Mas;     {массивы ростов игроков}
    N, M, i, j   : Integer; {N - к-во игроков "Спартака", M -
"Зенита"}
    Flag         : Boolean;
    Name         : String; {название команды}
{------------------------------------------}
Procedure Input(NCommand : Integer; Var Number : Integer; Var
Rost:Mas);
               {NCommand - номер команды (равен 1 или 2)}
 Begin {описание процедуры ввода данных по команде}
    If NCommand=1 then Name:='Спартак' else Name:='Зенит';
    Write('Введите количество игроков команды ', Name, ': ');
    ReadLn(Number);
    WriteLn('Введите роста игроков:');
    For i := 1 to Number do
      begin Write(i, ' игрок - '); ReadLn(Rost[i]) end;
    WriteLn
 End;
{------------------------------------------}
Procedure Search; {описание процедуры поиска решения задачи}
 Begin
   i:=1; Flag:=FALSE;
   While (i<=N) and not Flag do {цикл по игрокам Спартака}
     begin
       j:=1;
       While (j<=M) and not Flag do {цикл по игрокам Зенита}
         If Spart[i]=Zenit[j] then Flag:=TRUE else j:=j+1;
       i:=i+1
     end;
 End;
{------------------------------------------------------------}
Procedure OutResult; {описание процедуры вывода результата}
  Begin
    Write('О т в е т : в командах Спартак и Зенит ');
    If Flag then Write('есть игроки ') else Write('нет игроков
');
    WriteLn('одинакового роста.');
    ReadLn
  End;
{------------------------------------------}
BEGIN ClrScr; {вызов процедур}
  Input(1, N, Spart); {ввод данных для первой команды}
  Input(2, M, Zenit); {ввод данных для второй команды}
  Search;             {поиск решения задачи}
  OutResult           {вывод результата}
END.