Вывод на экран записей тех студентов, у которых по обоим предметам оценка 4 или 5 - Pascal ABC
Формулировка задачи:
Решение задачи: «Вывод на экран записей тех студентов, у которых по обоим предметам оценка 4 или 5»
const n=5; type std=record grp:string[4]; fio:string[15]; ocn:array[1..2] of byte; end; var a:array[1..n] of std; i,k:byte; begin writeln('Введите данные студентов'); for i:=1 to n do with a[i] do begin writeln('Студент ',i); write('Введите номер группы, 4 символа: ');readln(grp); write('Введите ФИО, до 15 символов: ');readln(fio); writeln('Введите 2 оценки от 2 до 5'); for k:=1 to 2 do repeat readln(ocn[k]); until ocn[k] in [2..5]; end; writeln('Полный список студентов'); writeln('------------------------------'); writeln('|Группа| ФИО |Оценки|'); writeln('------------------------------'); for i:=1 to n do with a[i] do writeln('|',grp:4,' |',fio:15,'|',ocn[1]:3,ocn[2]:2,' |'); writeln('------------------------------'); writeln('Студенты, у которых оценки не ниже 4'); k:=0; writeln('------------------------------'); writeln('|Группа| ФИО |Оценки|'); writeln('------------------------------'); for i:=1 to n do with a[i] do if (ocn[1] in [4,5])and(ocn[2]in [4,5]) then begin k:=1; writeln('|',grp:4,' |',fio:15,'|',ocn[1]:3,ocn[2]:2,' |'); end; if k=0 then write('Таких студентов нет') else writeln('------------------------------'); end.
Объяснение кода листинга программы
const n = 5; type std = record grp: string[4]; fio: string[15]; ocn: array[1..2] of byte; end; var a: array[1..n] of std; i, k: byte; begin writeln('Введите данные студентов'); for i := 1 to n do with a[i] do begin writeln('Студент ', i); write('Введите номер группы, 4 символа: '); readln(grp); write('Введите ФИО, до 15 символов: '); readln(fio); writeln('Введите 2 оценки от 2 до 5'); for k := 1 to 2 do repeat readln(ocn[k]); until ocn[k] in [2..5]; end; writeln('------------------------------'); writeln('|Группа| ФИО |Оценки|'); writeln('------------------------------'); for i := 1 to n do with a[i] do writeln('|', grp:4, ' |', fio:15, '|', ocn[1]:3, ocn[2]:2, ' |'); writeln('------------------------------'); writeln('Студенты, у которых оценки не ниже 4'); k := 0; writeln('------------------------------'); writeln('|Группа| ФИО |Оценки|'); writeln('------------------------------'); for i := 1 to n do with a[i] do if (ocn[1] in [4,5]) and (ocn[2] in [4,5]) then begin k := 1; writeln('|', grp:4, ' |', fio:15, '|', ocn[1]:3, ocn[2]:2, ' |'); end; if k = 0 then write('Таких студентов нет') else writeln('------------------------------'); end; end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д