Пример 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.
 
QBasic

CLS : PRINT "В КОМАНДУ ЗАЧИСЛЯЮТСЯ УЧЕНИКИ, ";
PRINT "РОСТ КОТОРЫХ ПРЕВЫШАЕТ 170 СМ." : PRINT
INPUT "Сколько всего учеников ? " , NPupil
DIM SurName$(NPupil), Height(NPupil), Cand$(NPupil)

PRINT "Введите фамилии и рост учеников :"
FOR i = 1 TO NPupil
  INPUT "Фамилия - " , SurName$(i)
  INPUT "Рост - " , Height(i)
NEXT i : PRINT

K = 0
FOR i = 1 TO NPupil
  IF
Height(i) > 170 THEN K = K + 1 : Cand$(K) = SurName$(i)
NEXT i

IF K = 0 THEN
  PRINT "В КЛАССЕ НЕТ КАНДИДАТОВ В КОМАНДУ."
  ELSE
  PRINT "КАНДИДАТЫ В БАСКЕТБОЛЬНУЮ КОМАНДУ :"
  FOR i = 1 TO K
  PRINT i ; ". " ; Cand$(i)
  NEXT i
END IF
END

Другие записи

10.06.2016. Пример 2.4. Для заданного x вычислить S= х/1! + x2/2! + x3/3! + xn/n! Здесь n! = 1. 2. 3 .... n (читается как "n-факториал").
  Тест Данные Результат X=1 n=3 Школьный АЯ алг Сумма Ряда (арг вещ х, арг цел n, рез вещ S) нач цел i, вещ P | P - очередное слагаемое   S := 1; P := 1   нц для i…
10.06.2016. Пример 2.5. Дан массив X(N). Получить новый массив Y(N) такой, что в нем сначала идут положительные числа, затем нулевые, и затем отрицательные из X.
Тест Данные Результат N=7  X=(-1, 2, 0, 4, -3,-2,0)  Y=(2, 4, 0, 0, -1, -3, -2) Школьный АЯ алг Новый Порядок (арг цел N, арг вещ таб Х[1:N], рез вещ таб Y[1:N]) нач цел…