Ученики 2-х одинаковых классов сдавали норматив по метанию гранаты. В классе по 30 учеников. Оценки в журнал выставляются по принципу: «5» более 30 м; «4» от 30 до 25 включительно; «3» от 25 до 20 включительно; «2» менее 20 метров — Pascal(Паскаль)

Найти: сколько учеников из 2-х классов сдали на оценку 2 и кто стал чемпионом из учеников по метанию гранаты? Решить через массивы.

Program PascalGuru;

uses crt;

const
  N = 30;

type
  ocenki = 0 .. 5;

var
  Cl1, Cl2: array [1 .. N] of ocenki;
  i, count: integer;
  max, max1, max2: integer;

begin

  for i := 1 to N do
  begin
    clrscr;
    writeln('Vvedite ocenki dlya 1 klassa (vsego 30): ');
    writeln;
    write('Ocenka ', i, ' ucenika: ');
    readln(Cl1[i]);
  end;

  for i := 1 to N do
  begin
    clrscr;
    writeln('Vvedite ocenki dlya 2 klassa (vsego 30): ');
    writeln;
    write('Ocenka ', i, ' ucenika: ');
    readln(Cl2[i]);
  end;
  { ----------------------------------------------------------------- }
  clrscr;
  { "a" }
  count := 0;
  for i := 1 to N do
  begin
    if Cl1[i] = 2 then
      inc(count);
    if Cl2[i] = 2 then
      inc(count);
  end;
  writeln('Variant "a": ');
  writeln('Kolichestvo dvoechnikov: ', count);
  { ----------------------------------------------------------------- }
  writeln;
  max1 := Cl1[1];
  max2 := Cl2[1];
  for i := 2 to N do
  begin
    if Cl1[i] > max1 then
      max1 := Cl1[i];
    if Cl2[i] > max2 then
      max2 := Cl2[i];
  end;

  if max1 > max2 then
    max := max1
  else
    max := max2;
  writeln('Variant "b": ');
  writeln('Cempiony [ocenki: ', max, ']:');
  writeln('-----------------------');
  for i := 1 to N do
    if Cl1[i] = max then
      writeln(i, ' ucenic iz "1" classa!');
  for i := 1 to N do
    if Cl2[i] = max then
      writeln(i, ' ucenic iz "2" classa!');

  readln;
  readln;

end.

Leave a Comment

− 1 = 5