IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Где ошибка?
zaxid
сообщение 13.05.2012 22:15
Сообщение #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.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
zaxid   Где ошибка?   13.05.2012 22:15


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 14:02
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"