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

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

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.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
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
 К началу страницы 
+ Ответить 

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

 



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