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

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

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

 
 Ответить  Открыть новую тему 
> Типизированные файлы, Задача на типизированные файлы...
rikimaru
сообщение 21.12.2005 21:17
Сообщение #1





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

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


Дюди, спасите меня, грозит недопуск к сессии!!!

Осталось сдать одну программу, но я не могу её написать!

Надо написать программу ведения файла, содержащего сведения о расписании занятий:
- день недели;
- номер пары;
- название предмета;
- фамилия преподавателя.
В программе должны быть реализованы следующие функции:
· ввод записей;
· корректировка записей;
· удаление записей;
· просмотр записей на экране.
Требуемая функция выбирается с помощью меню.
+нужно реальзовать функцию, которая выводит в текстовый файл сведения о расписании занятий каждого преподавателя по дням недели.
Все процедуры и функции должны быть в отдельном Unit'e

Короче, если у кого-нибуть есть время и желание помочь бедному студенту, то напишите пожалуйста! ОЧЕНЬ НАДО!

СПАСИБО!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 21.12.2005 21:22
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


Используй поиск " задача записи", "типизированный файл"

таких задач решено огромное количество ...


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
rikimaru
сообщение 22.12.2005 1:10
Сообщение #3





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

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


СТранно... ничего именно решенного, я к сожалению не нашел unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
rikimaru
сообщение 22.12.2005 18:14
Сообщение #4





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

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


Help me HELP PLEASE!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 22.12.2005 18:23
Сообщение #5


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


вот тебе пример писал кому-то давно, без файла :


program kuznecov_3;

uses crt;

type

TFirm = record
firmName : string[21];
s : single;
end;

TArea = record
firmN : byte;
firms : array[1..20] of TFirm;
end;

TBase = array[1..20] of TArea;

var
k,l : byte;
base : TBase;

procedure FillData(var r : TBase; n : byte);
var
i,j : byte;
begin
for i := 1 to n do
with r[i] do begin
writeln('Rayon № ',i);
write('Vvedite kolichestvo firm dla rayona № ',i,' : ');
readln(firmN);
for j := 1 to firmN do
with firms[j] do begin
write('Vvedite nazvanie predptiyatia № ',j,' : ');
readln(firmName);
write('Vvedite dohod predpriyatiya : ');
readln(s);
writeln;
end;
clrscr;
end;

writeln('Spasibo, vvod zaverhen, najmite <Enter>');
readln;
clrscr;
end;

function GetAreaSum(r : TBase; areaN : byte) : single;
var
t : byte;
sum : single;
begin
sum := 0;
with r[areaN] do
for t := 1 to firmN do
sum := sum + firms[t].s;

GetAreaSum := sum;

end;
procedure ShowAreaSum;
var
i : byte;
begin

clrscr;

write('Vvedite nomer rayona : ');
readln(i);

writeln('Summa dohodov firm rayona № ',i,' = ',GetAreaSum(base, i):2:2);
writeln('Najmite <Enter>');
readln;

end;

procedure ShowAllAreaSum(n : byte);
var
i : byte;
begin
clrscr;
for i := 1 to n do
writeln('Summa dohodov dla rayona № ',i,' = ',GetAreaSum(base,i):3:2);

writeln('Najmite <Enter>');
readln;
end;

procedure ShowSortedTable(r : TBase; n : byte);
procedure Sort(var b : TBase);
var
i : byte;
temp : TArea;
flag : boolean;
begin

repeat
flag := true;
for i := 1 to n-1 do
if not(GetAreaSum(b,i)>=GetAreaSum(b,i+1)) then begin
temp := b[i];
b[i] := b[i+1];
b[i+1] := temp;
flag := false;
end;
until flag;

end;

var
i : byte;
begin
Sort®;
for i := 1 to n do
with r[i] do
writeln('Rayon № ',i,' s=',GetAreaSum(r, i):3:2);

writeln('Najmite <Enter>');
readln;
end;

procedure menu(var quit : boolean);

begin

clrscr;

writeln('Vibirite punkt menu : ');
writeln;
writeln('1 -> Vivesti summu dohodov po zadannomu rayonu.');
writeln('2 -> Vivesti summu dohodov po vsem rayonam.');
writeln('3 -> Vivesti otsortirovannie dannie');
writeln;
writeln('4 -> Zavershit rabotu programmi.');

case readkey of
'1': ShowAreaSum;
'2': ShowAllAreaSum(k);
'3': ShowSortedTable(base, k);
'4': quit := true;
end;

exit;

end;

var
q : boolean;

begin

q := false;

clrscr;

write('Vvedite kolichestro rayonov : ');

readln(k);

FillData(base, k);

while not(q) do menu(q);

end.




еще раз настоятельно советую использовать поиск

Сообщение отредактировано: klem4 - 22.12.2005 18:24


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Агри
сообщение 22.12.2005 19:06
Сообщение #6


Гость






Обидно будет, если не сдам одну-единственную задачу и не получу автомата.
Помогите, пожалуйста. В упор не доходит, как делать.

Задача: Есть файл, содержащий текст программы на Паскале. Преобразовать его в файл слов. Проверить в нём соответствие begin и end, case и end. Подсчитать кол-во соответствующих операторов.

Изучаем мы, конечно, Delphi, но преобразовать из Паскаля в Делфи смогу.
В поиске подобного не нашла.
Заранее благодарна.
 К началу страницы 
+ Ответить 

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

 



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