СРОЧНО!! ПАСКАЛЬ!! 20 Б
Измените текст программы примера так, чтобы решалась следующая задача:
Есть информация по студентам (фамилия, курс (1-5), 5 оценок за последнюю сессию). Вывести через запятую фамилии первокурсников, которые имеют средний балл, больший или равный 4.
Program pr2;
Type student = record {объявление нового типа данных student}
LastName: string ; {фамилия студента}
bal: array [1..5] of integer; {массив для 5-ти оценок}
average: real {средний балл студента}
end;
Var pupil: array [1..100] of student; {массив pupil (максимум из 100 элементов) типа student}
n,i,j,s : integer; {переменные целого типа}
Begin
write (Введите количество студентов: );
readln(n);
For i:=1 to n do begin {запрос данных по n студентам}
with pupil[i] do begin
Write (Введите фамилию студента №, i ,: ); {запрос фамилии студента под номером i}
Readln (LastName);
s:=0; {целочисленная переменная для определения суммы баллов студента}
For j:= 1 to 5 do begin {цикл для обработки 5-ти оценок каждого студента}
write (Введите оценку за экзамен №:, j, : );
readln (bal [j] );
s := s+ bal[j]; {суммирование 5-ти оценок студента}
end;
average:= s/5; {определение среднего значения и запись в переменную average}
end;
end;
writeln;
writeln ( Студенты, имеющие средний балл больший или равный 4);
For i:=1 to n do begin
if pupil[i].average >=4 then {если средний балл студента >=4}
writeln (pupil[i].LastName, (средний бал , pupil[i].average:4:1, )); {то вывод на экран
фамилии студента и его среднего балла}
end;
end

1. Надо добавить точку в последней строке программы. Иначе работать не будет.
2. Меняется всего одна строка в программе:

program pr2;

type
  student = record {объявление нового типа данных student}
    LastName: string; {фамилия студента}
    bal: array [1..5] of integer; {массив для 5-ти оценок}
    average: real {средний балл студента}
  end;

var
  pupil: array [1..100] of student; {массив pupil (максимум из 100 элементов) типа student}
  n, i, j, s: integer;{переменные целого типа}

begin
  write(Введите количество студентов: );
  readln(n);
  for i := 1 to n do
  begin{запрос данных по n студентам}
    with pupil[i] do
    begin
      Write(Введите фамилию студента №, i, : ); {запрос фамилии студента под номером i}
      Readln(LastName);
      s := 0; {целочисленная переменная для определения суммы баллов студента}
      for j := 1 to 5 do
      begin{цикл для обработки 5-ти оценок каждого студента}
        write(Введите оценку за экзамен №:, j, : );
        readln(bal[j] );
        s := s + bal[j]; {суммирование 5-ти оценок студента}
      end;
      average := s / 5; {определение среднего значения и запись в переменную average}
    end;
  end;
  writeln;
  writeln( Студенты, имеющие средний балл больший или равный 4);
  for i := 1 to n do
  begin
    if pupil[i].average >= 4 then {если средний балл студента >=4}
    write(pupil[i].LastName,, );
  end;
end.

Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку
×