Где ошибка? |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Где ошибка? |
zaxid |
Сообщение
#1
|
Группа: Пользователи Сообщений: 1 Пол: Мужской Репутация: 0 |
Задание: Составить программу с использованием типа Record. Программа должна выполнять фильтрацию данных в таблице по условию задачи. Количество записей в таблице должно быть не меньше 8. Таблица содержит следующие данные о студенте:
фамилия имя год рождения год поступления в вузы пять оценок за последнюю сессию по 5-балльной шкале. средний балл. * Оформить нахождения среднего балла, ввода данных о студенте и печать личных данных как подпрограммы. Вывести анкетные данные студентов, имеющих все оценки 4. мой код: program v4; uses crt; type stud=record prizv,imya: string; riknar, rikvs: integer; serbal: real; baly: array [1..5] of integer end; inf=array [1..8] of stud; var inform: inf; n:integer; procedure vved(inform:inf; n:integer); var i,j: integer; begin for i:=1 to n do with inform[i] do begin writeln('vvedit dani pro ',i,'-go studenta'); writeln('vvedit prizvyshe'); readln(prizv); writeln('vvedit imya');readln(imya); writeln('vvedit rik narodj'); readln(riknar); writeln('vvedit rik vstupu'); readln(rikvs); for j:=1 to 5 do begin writeln('vvedit bal ',j); readln(baly[j]) end end end; procedure sbal; var i,j,suma: integer; begin for i:=1 to n do with inform[i] do begin suma:=0; for j:=1 to 5 do suma:=suma+baly[j]; serbal:=suma/5; end end; procedure print(inform: inf;n: integer); var i,j: integer; pr: boolean; begin for i:=1 to n do begin pr:= false; with inform[i] do for j:=1 to 5 do if baly[j]<>4 then pr:=true; if pr then begin write(inform[i].imya,' ',inform[i].prizv,' ',inform[i].riknar:4, ' ', inform[i].rikvs:4, ' ', inform[i].serbal:3:2); writeln end end end; begin clrscr; writeln('vvedit kilkist studentiv'); readln(n); vved(inform,n); sbal; print(inform,n); readln end. |
Текстовая версия | 10.01.2025 6:26 |