
6 Вывод
При написании курсового проекта по программированию на языке Pascal, я использовала различные способы хранения данных при решении задачи. Каждый из них имеет свои достоинства и недостатки.
Массив.
Достоинства:
Замена элемента при помощи оператора присваивания;
Прямое обращение к элементу за счет индекса.
Высокая скорость обработки.
Недостатки:
Задание размера массива при описании переменных;
Отсутствие динамики, невозможность удаления или добавления элемента без сдвига других.
Размер выделяемой памяти ограничен, для этого, нужно заранее указать количество элементов массива.
Необходимо хранить индекс последнего элемента для корректного вывода.
Типизированный файл.
Достоинства:
Нет необходимости многократно вводить данные при отладке;
Компактное хранение данных.
Определение количества элементов при помощи функции;
Не требуется указывать размер при описании переменных;
Изменение размера файла(возможность отсекать с нужного элемента и добавлять элементы в конец файла).
В случае непредвиденного прекращения программы, данные сохраняются, так как файл хранится на жестком диске.
Недостатки:
Низкая скорость при работе с файлом, т.к. для чтения каждого элемента приходится обращаться к внешнему устройству;
Чтение в переменную для вывода.
При удалении элементов и освобождении первой компоненты, также нужно циклически сдвигать все элементы в файле.
Динамический список.
Достоинства:
Резервирование и освобождение памяти по мере необходимости;
Не требуется указывать размер при описании переменных.
Удобный доступ к переменной через указатель.
Добавление нового элемента не требует дополнительных операций.
Недостатки:
Нет возможности напрямую перейти к нужному элементу;
Возникновение проблем потерянных ссылок.
Возможна потеря данных.
При удалении какой-либо компоненты нужно всегда использовать процедуру Dispose, иначе память компьютера «засорится».
В этой задаче удобнее всего работать с массивами, потому что здесь легче переставлять между собой значения элементов массива, сортировать их, да и обрабатываются они в оперативной памяти, поэтому работа происходит быстрее. Однако при добавлении новых элементов лучше использовать динамические списки, так как в этом случае можно обойтись без сдвига, в то время как при работе с типизированным файлом или одномерным массивом, приходится дополнительно сдвигать все элементы.