Вывести на экран фамилии студентов рекомендованных к отчислению - Pascal

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

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

[QUOTE=albert12;9050894]Составить список, содержащий сведения об N студентах. Для каждого учащегося указать: - фамилия; - ИНН (идентификационный номер налогоплательщика); - дата рождения; - год поступления в университет; - курс; - группа; - оценки текущей сессии по трем предметам. Информацию о каждом студенте оформить в виде записи. Совокупность записей объединить в массив. Составить программу, которая обеспечивает ввод исходных данных, об-работку и вывод на экран информации в соответствии с вариантом задания, приведенного в таблице Вывести на экран фамилии студентов рекомендованных к отчислению Критерий средний балл студента должен быть ниже значения заданного с клавиатуры

Решение задачи: «Вывести на экран фамилии студентов рекомендованных к отчислению»

textual
Листинг программы
  1. {$MODE TP}
  2. const
  3.     m_max = 3;
  4. type
  5.     TMarks = Array[0..m_max - 1] Of Byte;
  6.     TStudent = record
  7.         surname: String[50];
  8.         vatId: String;
  9.         birthDate: String[10];
  10.         admissionYear: Word;
  11.         studyCourse: Byte;
  12.         group: String[20];
  13.         marks: TMarks;
  14.     end;
  15. function GetAvr(const marks: TMarks): Single;
  16. var
  17.     Result: Single;
  18.     j: 0..m_max;
  19. begin
  20.     Result := 0;
  21.     for j := 0 to m_max - 1 do
  22.         Result := Result + marks[j];
  23.     GetAvr := Result / m_max;
  24. end;
  25. var
  26.     ar: Array[Byte] Of TStudent;
  27.     i, j, n: Byte;
  28.     avr: Single;
  29. begin
  30.     repeat
  31.         Write('How much students add? '); ReadLn(n);
  32.     until (n > 0);
  33.     for i := 0 to n - 1 do
  34.         with ar[i] do
  35.         begin
  36.             Write('Input surname: '); ReadLn(surname);
  37.             Write('Input VAT identification number: '); ReadLn(vatId);
  38.             Write('Input date of birth: '); ReadLn(birthDate);
  39.             Write('Input admission year: '); ReadLn(admissionYear);
  40.             Write('Input course: '); ReadLn(studyCourse);
  41.             Write('Input group: '); ReadLn(group);
  42.             for j := 0 to m_max - 1 do
  43.             begin
  44.                 Write('Input ', j + 1, ' mark: '); ReadLn(marks[j]);
  45.             end;
  46.         end;
  47.     WriteLn; WriteLn;
  48.     Write('Input critical avr: '); ReadLn(avr);
  49.     for i := 0 to n - 1 do
  50.         with ar[i] do
  51.             if (GetAvr(marks) < avr)
  52.             then
  53.                 WriteLn(surname);
  54. end.

Объяснение кода листинга программы

  1. Объявляются константа m_max (максимальное количество оценок у студента) и тип TMarks (массив оценок), а также тип TStudent (структура для описания студента).
  2. Создается функция GetAvr для расчета среднего балла по оценкам.
  3. Объявляются переменные ar (массив студентов), i, j (счетчики), n (количество студентов), avr (критический средний балл).
  4. Запрашивается количество студентов вводимых в систему.
  5. Вводится информация о каждом студенте (фамилия, идентификационный номер, дата рождения, год поступления, курс, группа, оценки).
  6. Запрашивается критический средний балл.
  7. Происходит проверка среднего балла каждого студента, и если он ниже заданного критического значения, выводится фамилия этого студента.

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


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

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

13   голосов , оценка 3.769 из 5

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

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

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