Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пояснительная записка2.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.68 Mб
Скачать

Министерство образования Республики Беларусь

УО «Полоцкий государственный университет»

Кафедра технологий программирования

КУРСОВАЯ РАБОТА

по курсу:

«Основы алгоритмизации и программирования»

на тему:

«Разработка приложения, использующего однофайловую базу данных на Pascal»

Выполнил

Стасько А. А.

Группа 11-ИТ-3

Проверила

Кеда И.С.

Полоцк

2012 г.

СОДЕРЖАНИЕ

Введение……………………………………………………………………………………4

  1. Постановка задачи……………………………………………………………....6

    1. Описание необходимых входных данных……..…………..…..6

  2. Проектирование программы……………………………………..………..7

  3. Описание программы…………………………………………………….…….9

  4. Тестирование программы………………………………………………....13

Заключение………………………………………………………………….….……….20

Список использованной литературы……………………………….........21

Приложение 1……………………………………………………..…………..……….22

ВВЕДЕНИЕ

Эта курсовая работа направлена на развитие навыков в структурном программировании. Язык Pascal, на котором она выполняется, идеально подходит для этого, так как не отягощен лишними для начинающих программистов сложностями и, в то же время, обладает достаточными возможностями для реализации структурной программы.

Для выполнения курсовой работы я использую систему PascalABC.

Система Pascal ABC основана на языке Delphi Pascal и призвана осуществить постепенный переход от простейших программ к модульному, объектно-ориентированному, событийному и компонентному программированию. Некоторые языковые конструкции в Pascal ABC допускают, наряду с основным, упрощенное использование, что позволяет использовать их на ранних этапах обучения. Например, в модулях может отсутствовать разделение на секцию интерфейса и секцию реализации. Тела методов можно определять непосредственно внутри классов (в стиле Java и C#), что позволяет создавать классы практически сразу после изучения записей, процедур и функций.

Ряд модулей системы программирования Pascal ABC специально создавался для учебных целей:

  • Модуль растровой графики GraphABC обходится без объектов, хотя его возможности практически совпадают с графическими возможностями Borland Delphi. Он доступен в несобытийных программах и позволяет легко создавать анимацию без мерцания

  • Модуль Events позволяет создавать простейшие событийные программы без использования объектов (события представляют собой обычные процедурные переменные)

  • Модули Timers и Sounds позволяют создавать таймеры и звуки, которые также реализованы в процедурном стиле. Эти модули можно использовать даже в консольных программах

  • Модуль контейнерных классов Containers позволяет работать с основными структурами данных (динамические массивы, стеки, очереди, множества), реализованными в виде классов

  • Модуль векторной графики ABCObjects предназначен для быстрого изучения основ объектно-ориентированного программирования, а также позволяет создавать достаточно сложные игровые и обучающие программы

  • Модуль визуальных компонентов VCL позволяет создавать событийные приложения с главной формой в стиле Delphi. Классы VCL немного упрощены по сравнению с аналогичными классами Delphi. Имеется редактор форм и инспектор объектов. Технология восстановления формы по коду программы позволяет обойтись для приложения с главной формой одним файлом В языке Pascal ABC имеются арифметические операции с типизированными указателями (в стиле языка C), а также тип complex, предназначенный для работы с комплексными числами.

Компилятор Pascal ABC является компилятором переднего плана (front-end). Это означает, что он не генерирует исполняемый код в виде .exe-файла, а создает в результате компиляции дерево программы в памяти, которое затем выполняется с помощью встроенного интерпретатора. В итоге скорость работы программы примерно в 20 раз медленнее скорости работы этой же программы, откомпилированной в среде Borland Pascal, и в 50 раз медленнее этой программы, откомпилированной в среде Borland Delphi.

Система Pascal ABC позволяет:

  • программировать на языке Паскаль, подобном Delphi Pascal, включая объектно-ориентированные расширения

  • работать с графикой

  • создавать событийные приложения

  • работать с исполнителями Робот и Чертежник

  • использовать мини-версию электронного задачника Programming Taskbook, содержащую 200 учебных заданий по следующим темам:

    • скалярные типы данных и управляющие операторы

    • обработка последовательностей

    • минимум и максимум

    • одномерные и двумерные массивы

    • символы и строки

    • типизированные и текстовые файлы

    • процедуры и функции, рекурсия

    • указатели и динамические структуры данных

1.Постановка задачи

Создать типизированный файл, содержащий сведения о реализованном товаре в лесном хозяйстве: название, сорт дерева, количество, цена товара за единицу, общая стоимость. Программа должна выполнять следующие дополнительные функции: создание новой базы данных; открытие базы из файла; сохранение базы в файл; добавление записей; удаление записей; поиск записей по заданному полю; сортировку по одному из полей методом Шелла; вывод данных на экран; выход из программы. Для реализации основных действий алгоритма использовать подпрограммы. Для обработки записей реализовать динамическую структуру данных двухсвязный линейный список.

1.1 Описание необходимых входных данных

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

Так как разрабатываемое приложение будет работать с данными о товарах, то выделим в качестве входных данных информацию о каждом товаре. О каждом из них необходима следующая информация:

  • наименование;

  • сорт дерева;

  • количество;

  • цена за единицу;

  • общая стоимость;

Информация о товаре может быть доступна либо в виде внешнего файла (храниться на диске), либо как вручную введенные данные в самом приложении.

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

2. Проектирование программы

Опираясь на поставленные задачи в предыдущем пункте, приступим к проектированию приложения.

Для хранения информации о студентах необходимо создать новый тип данных вида запись, поля которой могут хранить следующую информацию о каждом из студентов:

  • Номер записи. Тип данных – integer;

  • Наименование. Тип данных – string;

  • Сорт дерева. Тип данных – string;

  • Количество. Тип данных – string;

  • Цена за единицу. Тип данных – string.

  • Общая стоимость. Тип данных – string.

Следующим шагом проектирования необходимо решить, каким образом данные о товаре будут храниться на жестком диске. Решение данной проблемы является хранение данных в типизированном файле.

Таким образом, для работы с файлом необходимо разработать следующие процедуры и функции:

    • Процедуру для сохранения базы данных в файл.

    • Процедуру чтения данных из базы данных.

    • Оптимальным выбором для хранения данных в оперативной памяти будет использование динамической структуры. В качестве динамической структуры выберем динамическую структуру вида двухсвязный список. Разумность использования динамического двухсвязного списка можно рассмотреть со следующих сторон:

  1. Размер списка не является статической величиной. При необходимости ее всегда можно увеличить, либо уменьшить путем выделения памяти под новые элементы, либо освобождения памяти из-под элементов списка.

  2. Можно обратиться к любому элементу списка.

    • Интерфейс программы должен иметь следующие особенности:

  1. Предоставлять пользователю возможность открытия базы данных, сохранения изменений в базе данных;

  2. Предоставлять возможность вывода на дисплей информации;

3.Возможность добавлять новую информацию;

4.Возможности редактирования информации;

5.Возможность удаления информации;

6.Возможность сортировки информации;

7.Возможность поиска информации;

8.Возможность проверки на некорректный ввод данных.