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

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

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

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

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

textual
Листинг программы
  1. const n=5;
  2. type std=record
  3.          grp:string[4];
  4.          fio:string[15];
  5.          ocn:array[1..2] of byte;
  6.          end;
  7. var a:array[1..n] of std;
  8.     i,k:byte;
  9. begin
  10. writeln('Введите данные студентов');
  11. for i:=1 to n do
  12. with a[i] do
  13.  begin
  14.   writeln('Студент ',i);
  15.   write('Введите номер группы, 4 символа: ');readln(grp);
  16.   write('Введите ФИО, до 15 символов: ');readln(fio);
  17.   writeln('Введите 2 оценки от 2 до 5');
  18.   for k:=1 to 2 do
  19.    repeat
  20.     readln(ocn[k]);
  21.    until ocn[k] in [2..5];
  22.  end;
  23. writeln('Полный список студентов');
  24. writeln('------------------------------');
  25. writeln('|Группа|      ФИО     |Оценки|');
  26. writeln('------------------------------');
  27. for i:=1 to n do
  28. with a[i] do
  29. writeln('|',grp:4,' |',fio:15,'|',ocn[1]:3,ocn[2]:2,' |');
  30. writeln('------------------------------');
  31. writeln('Студенты, у которых оценки не ниже 4');
  32. k:=0;
  33. writeln('------------------------------');
  34. writeln('|Группа|      ФИО     |Оценки|');
  35. writeln('------------------------------');
  36. for i:=1 to n do
  37. with a[i] do if (ocn[1] in [4,5])and(ocn[2]in [4,5]) then
  38.  begin
  39.   k:=1;
  40.   writeln('|',grp:4,' |',fio:15,'|',ocn[1]:3,ocn[2]:2,' |');
  41.  end;
  42. if k=0 then write('Таких студентов нет')
  43. else writeln('------------------------------');
  44. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы