TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

[ следующий ] [ начало главы ] [ предыдущий ] [ содержание ]

Пример 2.3. В баскетбольную команду могут быть приняты ученики, рост которых превышает 170 см. Составьте список кандидатов в команду из учеников класса.  
Система тестов
 
Номер  теста Проверяемый  случай Число  учеников Фамилии Рост Результаты
1 Есть  кандидаты 3 Кулов  Чехин  Уваров 171 165 178 Кулов  Уваров
2 Нет  кандидатов 2 Ершов  Иванов 170 165 Нет  кандидатов
 
Демонстрация
Школьный АЯ
алг Баскетбол (арг цел N, арг лит таб Фам[1:N], арг вещ
               таб Рост[1:N], рез лит таб Канд [1:N] )
нач цел i, k
  k:=0
  нц для i от 1 до N | запись фамилий кандидатов в таблицу Канд
    если Рост[i]>170
      то k:=k+1; Канд [k] := Фам [i]
    все
  кц
  если k=0
    то вывод "В КЛАССЕ НЕТ КАНДИДАТОВ В КОМАНДУ."
    иначе нц для i от 1 до k
            вывод Канд [i]
          кц
 все
кон
 
Исполнение алгоритма
 
N теста i Рост[i] > 170 K Кондидаты в команду
1 1 2 3 + - + 0 1 2 Кулов   Уваров
2 1 2 - - 0 -
 
TurboPascal
Program BascetBall;
  Uses Crt;
  Var
     SurName : Array [1..30] of String;  { фамилии учеников }
     Height  : Array [1..30] of Real;    { рост учеников }
     Cand    : Array [1..30] of String;  { фамилии кандидатов }
     NPupil, i, K : Integer;             { NPupil - число учеников,
                                           K - количество зачисленных}
BEGIN ClrScr;
  Write('В КОМАНДУ ЗАЧИСЛЯЮТСЯ УЧЕНИКИ, ');
  WriteLn('РОСТ КОТОРЫХ ПРЕВЫШАЕТ 170 СМ.'); WriteLn;
  Write('Сколько всего учеников ? ');
  ReadLn(NPupil);
  WriteLn('Введите фамилии и рост учеников :');
  For i := 1 to NPupil do
    begin Write(i, '. Фамилия - '); ReadLn(SurName[i]);
          Write('     Рост - ');    ReadLn(Height[i]);
    end; WriteLn;
  K:=0; { Составление списка команды }
  For i := 1 to NPupil do
    If Height[i]>170 then
      begin K:=K+1; Cand[K] := SurName[i] end;
  If K=0 then WriteLn('В КЛАССЕ НЕТ КАНДИДАТОВ В КОМАНДУ.')
    else
      begin WriteLn('КАНДИДАТЫ В БАСКЕТБОЛЬНУЮ КОМАНДУ :');
            For i := 1 to K do WriteLn( i, '. ' , Cand[i]);
      end;
  ReadLn
END.
 

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz