СРОЧНО!! ПАСКАЛЬ!! 20 Б Измените текст программы примера так, чтобы решалась следующая...

0 голосов
36 просмотров

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


Информатика (125 баллов) | 36 просмотров
Дан 1 ответ
0 голосов

В запись student добавляете новое поле kurs,
Type student = recordLastName: string ; bal: array [1..5] of integer; 
kurs: integer;average: real end;
В цикле по студентам добавляете ввод курса
with pupil[i] do begin
Write ('Введите фамилию студента №', i ,': '); 
Readln (LastName);
 Write('Введите курс '); Readln(kurs);

В конце программы изменяете вывод
writeln ( 'Студенты первокурсники, имеющие средний балл больший или равный 4');
For i:=1 to n do beginif (pupil[i].average >=4) and (pupil[i].kurs = 1) then 
write (pupil[i].LastName,',  ');



(9.7k баллов)