Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2007, 08:58   #1
Римма
Пользователь
 
Регистрация: 06.12.2006
Сообщений: 31
Вопрос Паскаль. Структуры и алгоритмы обработки данных

Привет всем. Мне нужен ваш помощь, надеюсь что вы не откажитесь. Дали мне задание по Структуры и алгоритмы обработки данных на тему однонаправленное линейно динамический список сделать проект под названием "Библиотека" в Delphi(на языке poscal). Как говорится я теорию поняла читала много литературы по этой теме ну когда начала проектировать уже оказалось что без помощи вас не могу начинать друзья мои. В проекте должна хранятся информация о книгах(Название, автор, год издания, число страниц, количество экземпляров).Можно было удалять, добавлять, сортировать, поиск элементов. У вас какие есть предложения. Я сама на форму поставила кнопку и туда написала макрос который я собрала из литературы, но что то он не работает. Пожалуйста подскажите мне с чего начинать?
Римма вне форума Ответить с цитированием
Старый 08.10.2007, 09:59   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Два варианта это воспользоваться услугами какой нить СУБД или писать в типизированный файл, типа record, в котором ты опишеш поля : Название, автор, год издания, число страниц, количество экземпляров
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.10.2007, 10:10   #3
Римма
Пользователь
 
Регистрация: 06.12.2006
Сообщений: 31
Вопрос

Мне невзя использовать СУБД.Если я буду использовать типизированный файл там можно проводит сотировку, поиск, добавление, удаление.И с чего мне начинать.Открываю Delphi потом на новой форме ставлю кнопку и в кнопке буду писать макрос да?Или можно по другому начинать проект?
Римма вне форума Ответить с цитированием
Старый 08.10.2007, 10:43   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну в принципе можно типизированными файлами, но придется все самой писать и сортировку и добавление...

Ну начни хотя бы с добавления. В принципе еще могу посоветовать воспользоваться StringGrid - это даст тебе таблицу, в которой ты будеш размещать свои записи, потом эту таблицу через TFileStream скидывать в файл, а сотировку, поиск, добавление, удаление производить именно в таблице...

Это типа контрольной?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.10.2007, 11:00   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Stilet, в данном случае твой подход не подойдет, т.к. надо судя по всему ручками делать список, его сортировку, сохранение в типизированный файл. Нам наподобие задания давали на паскале (а не на Object Pascal), но без сортировок всяких. StringGrid в принципе подойдет, но только для отображения, а никак не для хранения
pu4koff вне форума Ответить с цитированием
Старый 08.10.2007, 11:21   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

В таком случае попросим Риммочку поточнее описать задачу. Ибо ООП и класик паскаль разные. Просто написано Delphi - я и предложил так )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.10.2007, 13:25   #7
Римма
Пользователь
 
Регистрация: 06.12.2006
Сообщений: 31
Вопрос

Вот мне преподовател написал после моего запроса а помощи. Дисциплина называется Структуры и алгоритмы обработки данных, то есть
главная цель Вашей работы - реализовать основной набор операций с
заданной структурой, а именно (по вашему заданию) - Программная реализация
однонаправленного линейного динамического списка
никакой базы данных и таблиц базы данных в этом проекте нет.
Вам нужно грамотно описать структуру линейный список, у которого каджый
элемент содержит информационную составляющую, а именно свдения об одной
книге библиотеки.
Список реализуется на основе динамического распределения памяти.
Информационные части тоже хранятся отдельно в динамически выделяемых
областях памяти.
ВАм нужно будет реализовать все основные действия, оформив все
это как приложение в Delphi. Только информационная часть элемента списка в
Вашем случае будет содержать не одно какое-то значение, а информацию о
книге:: название, автор, год издания, число страниц, количество экземпляров
Описание структуры может выглядеть примерно так:

Type Inform=record {запись для информационной составляющей элемента}
name, avtor: string; { поля для названия книги и автора}
God, chis_str, Chis_akz: integer; { год, число страниц, кол-во экз}
end;

PSpisok = ^ tSpisok; { ссылочный тип для адресации элементов списка}

TSpisok = record {тип, определяющий структуру элемента списка}
inf: ^ Inform; {инф. часть - хранится отдельно в динамически
выделяемых областях памяти}
next: PSpisok; {адрес след. элемента списка}
end;

var head, temp, current: PSpisok;


Сама форма может выглядеть след. образом:
для отображения текущего состояния списка можно использовать компонент
StringGrid.
ДОлжны быть след. кнопки:
Добавление нового элемента (новой книги) ДО или ПОСЛЕ заданногоЖ
Удаление
Сортировка
А также кнопки Сохранения и Чтения из файла. При нажатии на Сохранить вся
существующая структура должна сохраняться в файл на диске (можно
использовать текстовый файл). При нажатии Чтение - из файла в StringGrid на
форму дожна загружаться заранее сохраненная структура.
Никаких таблиц при этом не используем.
Вы как считаете это много времени займет?
Римма вне форума Ответить с цитированием
Старый 08.10.2007, 13:52   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

у-у-у горе... Когда наши преподы наконец поймут что за хитню дают...
Ужас... Мы это помню в Паскале делали. Организовывали Запись, последний элемент которой был указателем на следующую запись...

Римма, есть уже какие нибудь наметки и мысли?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.10.2007, 14:04   #9
Римма
Пользователь
 
Регистрация: 06.12.2006
Сообщений: 31
Вопрос

Вот сижу и размышляю.Надеюсь в голову какая нибудь идея придет.
Римма вне форума Ответить с цитированием
Старый 08.10.2007, 14:14   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ты главное начни - организуй работу с одной переменной типа запись, в нее заноси данные, а потом уже и кучу мона достраивать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ shvarz Общие вопросы C/C++ 1 10.05.2008 19:48