Вывод на экран записей тех студентов, у которых по обоим предметам оценка 4 или 5 - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Требуется написать программу, которая выполняла бы следующие действия: даны 5 записей, каждая из которых имеет 3 поля: группа, ФИО студента и две оценки. Составить программу для ввода данных в записи и вывода на экран записей тех студентов, у которых по обоим предметам оценка 4 или 5

Решение задачи: «Вывод на экран записей тех студентов, у которых по обоим предметам оценка 4 или 5»

textual
Листинг программы
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.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы