Вывести на экран фамилии студентов рекомендованных к отчислению - Pascal
Формулировка задачи:
[QUOTE=albert12;9050894]Составить список, содержащий сведения об N студентах. Для каждого учащегося указать:
- фамилия;
- ИНН (идентификационный номер налогоплательщика);
- дата рождения;
- год поступления в университет;
- курс;
- группа;
- оценки текущей сессии по трем предметам.
Информацию о каждом студенте оформить в виде записи. Совокупность записей объединить в массив.
Составить программу, которая обеспечивает ввод исходных данных, об-работку и вывод на экран информации в соответствии с вариантом задания, приведенного в таблице
Вывести на экран фамилии студентов рекомендованных к отчислению
Критерий средний балл студента должен быть ниже значения заданного с клавиатуры
Решение задачи: «Вывести на экран фамилии студентов рекомендованных к отчислению»
textual
Листинг программы
- {$MODE TP}
- const
- m_max = 3;
- type
- TMarks = Array[0..m_max - 1] Of Byte;
- TStudent = record
- surname: String[50];
- vatId: String;
- birthDate: String[10];
- admissionYear: Word;
- studyCourse: Byte;
- group: String[20];
- marks: TMarks;
- end;
- function GetAvr(const marks: TMarks): Single;
- var
- Result: Single;
- j: 0..m_max;
- begin
- Result := 0;
- for j := 0 to m_max - 1 do
- Result := Result + marks[j];
- GetAvr := Result / m_max;
- end;
- var
- ar: Array[Byte] Of TStudent;
- i, j, n: Byte;
- avr: Single;
- begin
- repeat
- Write('How much students add? '); ReadLn(n);
- until (n > 0);
- for i := 0 to n - 1 do
- with ar[i] do
- begin
- Write('Input surname: '); ReadLn(surname);
- Write('Input VAT identification number: '); ReadLn(vatId);
- Write('Input date of birth: '); ReadLn(birthDate);
- Write('Input admission year: '); ReadLn(admissionYear);
- Write('Input course: '); ReadLn(studyCourse);
- Write('Input group: '); ReadLn(group);
- for j := 0 to m_max - 1 do
- begin
- Write('Input ', j + 1, ' mark: '); ReadLn(marks[j]);
- end;
- end;
- WriteLn; WriteLn;
- Write('Input critical avr: '); ReadLn(avr);
- for i := 0 to n - 1 do
- with ar[i] do
- if (GetAvr(marks) < avr)
- then
- WriteLn(surname);
- end.
Объяснение кода листинга программы
- Объявляются константа
m_max
(максимальное количество оценок у студента) и типTMarks
(массив оценок), а также типTStudent
(структура для описания студента). - Создается функция
GetAvr
для расчета среднего балла по оценкам. - Объявляются переменные
ar
(массив студентов),i
,j
(счетчики),n
(количество студентов),avr
(критический средний балл). - Запрашивается количество студентов вводимых в систему.
- Вводится информация о каждом студенте (фамилия, идентификационный номер, дата рождения, год поступления, курс, группа, оценки).
- Запрашивается критический средний балл.
- Происходит проверка среднего балла каждого студента, и если он ниже заданного критического значения, выводится фамилия этого студента.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д