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

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

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

 
 Ответить  Открыть новую тему 
> Записи и файлы, срочно нужна помощь!
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


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


Гость






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

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

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

 





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