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

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

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

> Записи и файлы, срочно нужна помощь!
gryzlik
сообщение 12.12.2006 17:34
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Женский
Реальное имя: Катя

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


Ребят, помогите.
Плохо понимаю тему, но что-то постаралась сделать. Не работает. Исправьте, пожалуйста!

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


Type Uchenik=record
fam: string[15];
name: string[15];
otch: string[20];
rost:140..250;
massa:40..100;
end;
var a:array[1..100] of Uchenik;
fin,fout:text;
i,j:integer;
procedure Rost(a[i].rost:integer;var n:integer;i,min,max,Sr,k:integer);
begin
S:=0;max:=0;min:=250;k:=0;
for i:=1 to n do begin
S:=S+a[i].rost;
Sr:=S/n;
if a[i].rost>170 then k:=k+1;
if a[i].rost>max then max:=a[i].rost;
if a[i].rost<min then min:=a[i].rost;
writeln('Srednii rost=',Sr);
writeln('Samyi vysokii rost=',max,'u uchenika',a[i].fam,a[i].name,a[i].otch);
writeln('Samyi nizkii rost=',min,'u uchenika',a[i].fam,a[i].name,a[i].otch);
writeln('Basketbolom mogut zanimatsa',k,'chelovek);
end;
BEGIN
assign(fin, 'stud.pas');
resert(fin);
i:=0;
repeat i:=i+1:
with a[i] do
readln(fin,fam,name,otch,rost,massa);
until eof(fin);
close(fin);
Rost;
END.




Программа вообще не работает. Кроме того, предварительно, я полагаю, нужен файл stud.pas в той же папке. Как его создать?(хотя бы одну строку!). Я не понимаю. Нужно же ,чтобы имя, фамилия, рост и т.п. стояли как бы под одним i.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 3)
volvo
сообщение 12.12.2006 18:17
Сообщение #2


Гость






Цитата
нужен файл stud.pas в той же папке. Как его создать?
Обычно в подобных задачах не работают с текстовыми файлами, а нужно работать с типизированными... Для этого опиши процедуру InputData:

Type rec_file = file of Uchenik;

Procedure InputData(var f: rec_file);
var Rec: Uchenik;
begin
repeat
write('Фамилия (пустая строка - для окончания ввода данных) : '); readln(rec.fam);
if rec.fam <> '' then begin
write('Имя : '); readln(rec.name;
write('Отчество : '); readln(rec.otch);
write('Рост [ 140 .. 250] см : '); readln(rec.rost);
write('Вес [40 .. 100] кг : '); readln(rec.massa);
write(f, rec);
end;
until rec.fam = '';
reset(f); { Переоткрываем файл для чтения, чтобы все записи в него записались }
end;


и вызывай так:
...
Assign(my_file, 'uchenik.dat'); Rewrite(my_file); { <--- Создаем новый файл }
InputData(my_file); { <--- и заполняем его ... }
...


У тебя в программе довольно много синтаксических ошибок, она не будет компилироваться. Попробуй исправить эти ошибки сам, если не получится, говори, поможем smile.gif
 К началу страницы 
+ Ответить 
gryzlik
сообщение 12.12.2006 18:25
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Женский
Реальное имя: Катя

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


К сожалению, программы нужно писать именно по моему типу, так как InputData мы еще не проходили. У меня есть одна задача и по ней мне нужно составить свою. Изначально данная задача тожен не работает. Не могли бы вы отредактировать все-таки мою задачу с созданием того файла? А насчет синтаксических ошибок, я не могу их найти. Проблема в обозначениях?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 12.12.2006 18:33
Сообщение #4


Гость






Цитата
InputData мы еще не проходили
А Rost уже проходили? Что значит "не проходили InputData"? Это процедура, вообще-то... Ее нельзя проходить или нет, ты использовала в своей программе процедуру, значит, это НЕ запрещено...

А чужие программы (да еще с недостаточно точным условием, например, какой файл надо использовать, текстовый или типизированный) я не переделываю... Легче написать заново...
 К началу страницы 
+ Ответить 

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

 



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