Вывести на экран список студентов по успеваемости - Pascal ABC
Формулировка задачи:
Всем привет! Есть задание:
Определить тип данныхзапись, имеющий поля фамилия и оценки по 5 предметам. Определить массив из 10 записей. В программе ввести в массив данные и вывести на экран список студентов по успеваемости.
Наваял следующее:
Не врубаюсь с сортировкой на выводе, помогите. Заранее, спасибо!
Решение задачи: «Вывести на экран список студентов по успеваемости»
textual
Листинг программы
program main; const n=10; Type anketa=record fam: string[10]; Mining: integer; Blacksmith: integer; Riding: integer; Flying: integer; firstaid: integer; end; var student: array [1..n] of anketa; sr: array [1..n] of integer; q,i,j: integer; x:anketa; begin writeln('Введите данные студентов'); for i:=1 to n do begin sr[i]:=0; writeln('Студент ',i); with student[i] do begin write('Фамилия: ');readln(fam); write('Физика: ');readln(Mining); sr[i]:=sr[i]+Mining; write('Русский: ');readln(Blacksmith); sr[i]:=sr[i]+Blacksmith; write('Матан: ');readln(Riding); sr[i]:=sr[i]+Riding; write('Уборка :');readln(Flying); sr[i]:=sr[i]+Flying; write('История: ');readln(firstaid); sr[i]:=sr[i]+firstaid end; end; for i:=1 to n-1 do for j:=i+1 to n do if sr[i]<sr[j] then begin q:=sr[i]; sr[i]:=sr[j]; sr[j]:=q; x:=student[i]; student[i]:=student[j]; student[j]:=x; end; writeln('-------------------------------------------------------'); writeln('| Фамилия |Физика|Русский|Матан|Уборка|История|Всего|'); writeln('-------------------------------------------------------'); for i:=1 to n do with student[i] do begin write('|',fam:10,' |',Mining:4,' |',Blacksmith:5,' |',Riding:3,' |'); writeln(Flying:4,' |',Firstaid:5,' |',sr[i]:4,' |'); end; writeln('-------------------------------------------------------'); end.
Объяснение кода листинга программы
- В начале программы объявляются переменные n, anketa, student, sr, q, i, j, x.
- Переменная n представляет собой количество студентов, которые будут введены.
- Переменная anketa представляет собой структуру данных, которая содержит информацию о студентах.
- Переменная student представляет собой массив, который будет использоваться для хранения информации о студентах.
- Переменная sr представляет собой массив, который будет использоваться для хранения суммарных баллов каждого студента.
- Переменные q, i, j представляют собой переменные, которые будут использоваться для обмена данными между студентами.
- Переменная x представляет собой временную переменную, которая будет использоваться для копирования информации о студенте.
- Программа запрашивает у пользователя ввод данных о студентах и сохраняет эти данные в соответствующих переменных.
- Затем программа выводит на экран список студентов по успеваемости.
- Для каждого студента программа выводит его фамилию, сумму баллов по физике, русскому языку, математике, уборке и истории.
- После вывода списка всех студентов программа выводит общую сумму баллов каждого студента.
- Наконец, программа выводит итоговую таблицу с фамилиями студентов, их суммарными баллами и общим количеством баллов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д