задача по записям, в чем ошибка? |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
задача по записям, в чем ошибка? |
elvis |
4.05.2004 20:45
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Репутация: 0 |
пробывал решить задачу, не получилось, мож кто нашел ошибку.
Имеются экзаменационные ведомости трех групп по Физике. Разработать алг. и программу определения сколько человек в каждой группе получили на экзамене оценку 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 13:49
Сообщение
#2
|
Гость |
Ты 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 Меня вообще добила. Сообщение отредактировано: BlackShadow - 5.05.2004 13:52 |
Текстовая версия | 28.03.2024 18:28 |