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

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

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

> записи, средний бал по предметам
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 21
Пол: Мужской

Репутация: -  0  +


имеется такая задача:
Вычислить средний балл учеников класса, если известны оценки каждого ученика по математике, русскому языку и физике. Распечатать список учеников, имеющих средний балл выше среднего в классе.

чё то у меня уже башка плохо соображает, помогите где у меня ошибка???

Код
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 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 1)
сообщение
Сообщение #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.
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 30.04.2024 14:49
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name