Вывести фамилии, имена и отчества всех студентов мужского пола, не сдавших более двух экзаменов - Pascal
Формулировка задачи:
вывести фамилии, имена и отчества всех студентов мужского пола , не сдавших более двх экзаменов
Решение задачи: «Вывести фамилии, имена и отчества всех студентов мужского пола, не сдавших более двух экзаменов»
textual
Листинг программы
type
TStudent = record
fio: String[63];
male: Boolean;
exam: array [1..3] of Integer;
end;
var
st: array [1..10] of Students;
i, j, k, n: Integer;
begin
{...}
for i:=1 to n do with st[i] do
if male then begin
k:=0;
for j:=Low(exam) to High(exam) do
if exam[i]<3 then Inc(k);
if k>2 then WriteLn(fio);
end;
end.
Объяснение кода листинга программы
- Определение типа
TStudentс полями:fio(строка длиной до 63 символов) - содержит фамилию, имя и отчество студента,male(логическое значение) - указывает на пол студента,exam(массив из 3 целых чисел) - содержит оценки студента за экзамены.
- Создание массива студентов
stразмером 10. - Объявление переменных:
i- целочисленная переменная используется в цикле,j- целочисленная переменная используется во вложенном цикле,k- целочисленная переменная, считает количество экзаменов, которые студент не сдал,n- целочисленная переменная, предположительно, указывает на количество студентов.
- Основной блок программы
- Чтение данных (пропущено многоточием).
- Цикл для каждого студента (от 1 до
n), где используется командаwithдля удобства доступа к полям структуры:- Проверка, является ли студент мужского пола.
- Если условие истинно, то переменной
kприсваивается значение 0. - Внутренний цикл проверяет каждую оценку студента за экзамены и увеличивает
kна 1, если студент не сдал экзамен (т.е. его оценка меньше 3). - После этого проверяется, не сдал ли студент более двух экзаменов. Если да, то выводится на экран его
fio(фамилия, имя и отчество). Код написан на Pascal.