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

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

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

 
 Ответить  Открыть новую тему 
> Опять же записи, очень туплю
Zundell
сообщение 16.12.2006 20:32
Сообщение #1


Пионер
**

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

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


Ребят,помогите плиз!че за фигню пишет?Задание следующее:
Вычислить средний балл группы и распечатать список студентов, имеющих средний балл ниже среднего балла группы!(Я понял так,что средний бал нам уже дан и его я ввожу с клавивтуры.что я и написал)
Type
student=record
Fio:string[50];
GodRow:integer;
GodPost:integer;
SredOz:real;
Kurs:integer;
Gruppa:string[10];
end;
var
S:student;
grup:array[1..25] of student;
i,j,k,sr:integer;
begin
for i:=1 to 25 do
begin with S do begin
writeln('Vvedite FIO:');
readln(FIO);
writeln('Vvedite GodRow:');
readln(GodRow);
writeln('Vvedite GodPost:');
readln(GodPost);
writeln('Vvedite SredOz:');
readln(SredOz);
writeln('Vvedite Gruppa:');
readln(Gruppa);
writeln('Vvedite Kurs:');
readln(Kurs);
end;
sr:=0;
for i:=1 to 25 do
begin
sr:=sr+S.SredOz;{Пишет Type mismatch}
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 16.12.2006 20:34
Сообщение #2


Гость






Присваивание Integer <- Real недопустимо... Делай Sr типа Real ...
 К началу страницы 
+ Ответить 
Zundell
сообщение 16.12.2006 20:39
Сообщение #3


Пионер
**

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

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


Сенкс..говорю же туплю(((
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Zundell
сообщение 16.12.2006 20:51
Сообщение #4


Пионер
**

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

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


sr:=0;
for i:=1 to 25 do
begin
sr:=sr+S.SredOz;
end;
sr:=sr/25;
for i:=1 to 25 do
if sr > S.SredOz then begin
S.SredOz:=


извиняюсь я,но вот терь чет не соображу,как запомнить средний бал меньший общего среднего бала,чтобы его уже потом вывести на печать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Zundell
сообщение 17.12.2006 0:59
Сообщение #5


Пионер
**

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

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


Ребят,помогите плиз...нидапераю никак))заранее признателен
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Zundell
сообщение 17.12.2006 18:13
Сообщение #6


Пионер
**

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

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


Если я пытаюсь сохранить например в A[i] массив,то паскаль ругается!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Zundell
сообщение 18.12.2006 23:56
Сообщение #7


Пионер
**

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

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


Никак не получается сделать...все проблемы со средним балом...я уже 100 переделал..окончат вариант такой,правда там без вывода,но эт не сложно...помогить с нахожд среднего бала всех студентов и сравнения его с сред. балом каждого..плиз!

Uses crt;
Const
n=3;
Type student=record
Fio:string[20];
Grow:integer;
Gpos:integer;
Kurs:integer;
Gruppa:integer;
inf,ist,mat:byte;
sball:real;
Osball:real
end;
var
i,j:integer;S:student;
mas:array[1..5] of student;
s_inf,s_ist,s_mat,osball:real;
begin
for i:=1 to n do with mas[i] do
begin
writeln('i=',i:4);
writeln('FIO');
readln(FIO);
writeln('Grow');
readln(Grow);
writeln('Gpos');
readln(GPos);
writeln('Kurs');
readln(Kurs);
Writeln('Gruppa');
readln(Gruppa);
writeln('Otzenki{[inf,ist,mat]');
readln(inf,ist,mat);
sball:=(inf+ist+mat)/3;
Osball:=(s_inf+s_ist+s_mat)/3;
clrscr;
end;
s_inf:=0;s_ist:=0;s_mat:=0;
for i:=1 to n do
begin
s_inf:=s_inf+mas[i].inf;
s_ist:=s_ist+mas[i].ist;
s_mat:=s_mat+mas[i].mat;
end;
s_inf:=s_inf/n;
s_ist:=s_ist/n;
s_mat:=s_mat/n;
Osball:=(s_inf+s_ist+s_mat)/3;
for i:=1 to n do with mas[i] do
begin
if mas[i].sball<mas[i].osball then
begin
writeln(Fio);



 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 19.12.2006 0:39
Сообщение #8


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


речь идет про такую табличку:
Код
           матем.  физик.  ин.яз
Иванов            5          4          5
Петрова           4         3           3
Сидоров          5          5           5

то есть средний балл Иванова (5+4+5)/3, Петровой (4+3+3)/3, Сидорова (5+5+5)/3
Общий средний (5+4+5+4+3+3+5+5+5)/9


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Zundell
сообщение 19.12.2006 20:45
Сообщение #9


Пионер
**

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

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


фуф...вроде все сделал...терь осталась проблема в том,что он выводит на экран только по одному человеку,чей средний бал меньше общего и чтобы просмотреть другого необходимо на enter нажать!как это исправить,сделать чтоб сразу весь список выводился?
uses crt;
Type
student=record
Fam:string[10];
Grow:integer;
Gpost:integer;
Kurs:integer;
Gruppa:integer;
sr_ball:real;
inf,ist,mat:real;
end;
var
s:student;
mas:array[1..10] of student;
i,j:integer;
SR_grup:real;
s_inf,s_ist,s_mat:real;
begin
for i:=1 to 5 do with mas[i] do
begin
write('Vvedite Familiju: ');
readln(Fam);
write('Vvedite God rowdenija: ');
readln(Grow);
write('Vvedite God postuplenija: ');
readln(Gpost);
write('Vvedite Kurs: ');
readln(Kurs);
write('Vvedite gruppu: ');
readln(gruppa);
write('Vvedite ozenki po informatike,istorii,mathematike: ');
readln(inf,ist,mat);
sr_ball:=(inf+ist+mat)/3;
end;
s_inf:=0;s_ist:=0;s_mat:=0;
for i:=1 to 5 do begin
s_inf:=s_inf+mas[i].inf;
s_ist:=s_ist+mas[i].ist;
s_mat:=s_mat+mas[i].mat;
end;
s_ist:=s_ist/5;
s_inf:=s_inf/5;
s_mat:=s_mat/5;
Sr_grup:=sr_grup+s_inf;
Sr_grup:=sr_grup+s_ist;
Sr_grup:=sr_grup+s_mat;
sr_grup:=sr_grup/3;
for i:=1 to 5 do with mas[i] do begin
if sr_grup>sr_ball then begin
clrscr;
writeln(Fam,' ',Gpost,' ',Grow,' ',Kurs,' ',Kurs,' ',sr_ball:3:2);
writeln('Srednij ball po gruppe',sr_grup:3:2);
readln;
end;
end;
end.


в массиве опечатка [1..5] smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 19.12.2006 21:31
Сообщение #10


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Цитата
for i:=1 to 5 do with mas[i] do begin
if sr_grup>sr_ball then begin
clrscr;
writeln(Fam,' ',Gpost,' ',Grow,' ',Kurs,' ',Kurs,' ',sr_ball:3:2);
writeln('Srednij ball po gruppe',sr_grup:3:2);
readln;
end;

что, по-твоему, делает выделенный оператор?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Zundell
сообщение 19.12.2006 21:45
Сообщение #11


Пионер
**

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

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


дает возможность просмотреть что получилось не нажимая кнтрл ф9! unsure.gif я ошибаюсь?без него у меня не показывает..я попробовал
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 19.12.2006 22:05
Сообщение #12


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


он заставляет программу ждать, пока ты на что-то нажмешь.
и у тебя он ВНУТРИ цикла - то есть ждет после вывода КАЖДОЙ записи.
поставь перед последним end - будет ждать один раз.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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