• СРОЧНО!! ПАСКАЛЬ!! 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

  • 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.
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years