![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
shyrik |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 21 Пол: Мужской Репутация: ![]() ![]() ![]() |
имеется такая задача:
Вычислить средний балл учеников класса, если известны оценки каждого ученика по математике, русскому языку и физике. Распечатать список учеников, имеющих средний балл выше среднего в классе. чё то у меня уже башка плохо соображает, помогите где у меня ошибка??? Код program lab100301; uses crt; type tablica=record name:string[10]; sred,sred1:real; rus,math,fiz:byte; end; var a:tablica; mas:array[1..30] of tablica; s,n:integer; i:integer; begin clrscr; writeln('введите количество учеников '); readln(n); for i:=1 to n do with mas[i] do begin write('фамилия ',i,'-го ученика : '); readln(name); write('русский язык: '); readln(rus); write('математика : '); readln(math); write('физика : '); readln(fiz); sred:=(rus+math+fiz)/3; writeln('sredni bal uchenika ' , name,' ', sred:3:1); end; for i:=1 to n do with mas[i] do begin s:=s+sred[i]; writeln('obshi sredni ocenka',sred1); end; writeln(''); writeln('ученики чей средний бал выше среднего '); writeln(''); writeln(' ________________________ '); writeln('| фамилия |средний балл |'); writeln(' ------------------------ '); for i:=1 to n do with mas[i] do if mas[i].sred>sred1 then begin write('|',name:9,'|'); writeln(sred:14:2,'|'); end; writeln(' --------------------------'); readkey; end. Сообщение отредактировано: volvo - 13.01.2005 17:38 |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
shyrik
Я бы сделал так: Код program lab100301; uses crt; type tablica=record name:string[10]; sred:real; rus,math,fiz:byte; end; var a:tablica; mas:array[1..30] of tablica; s:real; n:integer; i:integer; begin clrscr; writeln('введите количество учеников '); readln(n); for i:=1 to n do with mas[i] do begin write('фамилия ',i,'-го ученика : '); readln(name); write('русский язык: '); readln(rus); write('математика : '); readln(math); write('физика : '); readln(fiz); sred:=(rus+math+fiz)/3; s := s + sred; writeln('sredni bal uchenika ' , name,' ', sred:3:1); end; s := s / n; writeln('obshi sredni ocenka',s); writeln(''); writeln('ученики чей средний бал выше среднего '); writeln(''); writeln(' ________________________ '); writeln('| фамилия |средний балл |'); writeln(' ------------------------ '); for i:=1 to n do with mas[i] do if mas[i].sred>s then begin write('|',name:9,'|'); writeln(sred:14:2,'|'); end; writeln(' --------------------------'); readkey; end. |
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 20:33 |