Автор: elvis 5.05.2004 0:45
пробывал решить задачу, не получилось, мож кто нашел ошибку.
Имеются экзаменационные ведомости трех групп по Физике.
Разработать алг. и программу определения сколько человек в каждой группе
получили на экзамене оценку 5 , сколько-4 , сколько-3 . Упорядочить
результаты по числу 5.
Указания: 1) решить с использованием процедур и функций.
2) в решении использовать тип данных ЗАПИСЬ с полями:
- порядковый номер,
- Ф.И.О. ,
- экзаменационная оценка.
Код
program ocenki_po_fizike;
uses crt;
type student=record
nomer:integer;
fio:string;
ocenka:integer;
end;
sp=array[1..50] of student;
var spisok:sp;
k,ng:integer;
procedure Vvod(c:integer);
var i:integer;
begin
WriteLn('Введите ФИО студентов и балл');
for i:=1 to c do begin
Write(i,')');
Spisok[i].Nomer:=i;
ReadLn(Spisok[i].FIO,Spisok[i].ocenka);
end;
end;
procedure obrab(c:integer);
var pyat,chet,tri:integer;
begin
pyat:=0;
chet:=0;
tri:=0;
with student do begin
for nomer:=1 to c do begin
case ocenka of
5:pyat:=pyat+1;
4:chet:=chet+1;
3:tri:=tri+1;
end;
end;
writeln('Студентов получивших оценку:');
writeln('"5"-,pyat:5:0);
writeln('"4"-,chet:5:0);
writeln('"3"-,tri:5:0);
end;
Begin
ClrScr;
WriteLn('Программа для определения количества студентов получивших оценку');
WriteLn('Введите кол-во студентов в 1 группе');
ReadLn(c);
Vvod(c);
obrab(c);
WriteLn('Введите кол-во студентов во 2 группе');
ReadLn(c);
Vvod(c);
obrab(c);
WriteLn('Введите кол-во студентов в 3 группе');
ReadLn(c);
Vvod(c);
obrab(c);
End.
Автор: BlackShadow 5.05.2004 17:49
Ты Pascal хоть раз запускал???
Код
Type
TStudent=Record
FIO:String;
Mark:Integer
End;
Var
Data:Array[1.50] Of TStudent;
i,n:Integer;
Const
TotalMarks:Array[3..5] Of Integer = (0,0,0);
Procedure Input;
Begin
Write('Enter Amount Of Students: ');
ReadLn(n);
For i:=1 To n Do
Begin
Write(i,'). Name: ');
ReadLn(Data[i].FIO);
Write(' Mark: ');
ReadLn(Data[i].Mark)
End
End;
Procedure Process;
Begin
For i:=1 To n Do
Inc(TotalMarks[Data[i].Mark])
End;
Procedure OutPut;
Begin
WriteLn('Total:");
For i:=5 DownTo 3 Do
WriteLn(i,' - ',TotalMarks[i])
End;
Begin
Input;
Process;
OutPut
End.
А фраза
Цитата
with student do begin
for nomer:=1 to c do begin
case ocenka of
Меня вообще добила.