Программирование на языке высокого уровня
Приложение В Таблицы умножения для различных систем счисления. Операция удаления из массива повторных вхождений. Экспериментальная часть3. 1. Тестирование. Инструкция пользователя. Cортировка внешнего файла, состоящего из положительных чисел по возрастанию. Формирование таблицы умножения для заданной системы счисления. Операция удаления из массива одного значения. Приложение Г Инструкции для… Читать ещё >
Программирование на языке высокого уровня (реферат, курсовая, диплом, контрольная)
Содержание
- 1. Теоретическое введение
- 1. 2. Описания методов
- 1. 2. 1. Операция вставки элемента в массив (создания массива)
- 1. 2. 2. Операция удаления из массива одного значения
- 1. 2. 3. Операция удаления из массива группы значений
- 1. 2. 4. Операция удаления из массива повторных вхождений
- 1. 2. 5. Операция удаления пересечения двух массивов
- 1. 2. 6. Cортировка массива по возрастанию
- 1. 2. 7. Cортировка внешнего файла, состоящего из положительных чисел по возрастанию
- 1. 2. 8. Формирование таблицы умножения для заданной системы счисления
- 1. 2. Описания методов
- 2. 1. Постановка задачи
- 2. 2. Подход к решению
- 3. 1. Тестирование
- 3. 2. Инструкция пользователя
1 Теоретическое введение
Целью выполнения курсовой работы является создание библиотеки подпрограмм для работы с одномерными массивами (связанными списками). В ходе выполнения курсовой работы были реализованы следующие операции:
— операция вставки элемента в массив (создания массива);
— операция удаления из массива одного значения;
— операция удаления из массива группы значений;
— операция удаления из массива повторных вхождений;
— операция удаления пересечения двух массивов.
А также реализованы процедуры:
— сортировки массива по возрастанию;
— сортировки внешнего файла, состоящего из положительных чисел по возрастанию;
— формирования таблицы умножения для заданной системы счисления.
Для решения задачи мной была создана структура данных однонаправленный связанный список. Связанный список представляет собой последовательность элементов. Элемент связанного списка состоит из полезной информации и указателя на следующий элемент списка (рис. 1)[3].
Рисунок 1 Однонаправленный связанный список
В односвязном списке можно передвигаться только в сторону конца списка. Элемент реализованного мною связанного списка в качестве полезной информации несет целое положительное число F. Для того, чтобы получить доступ к связанному списку, необходимо знать его первый элемент. Изначально связанный список пуст, и его первый элемент помечается как nil. При добавлении элемента в пустой список, добавляемый элемент становится первым, и указывает на nil, это значит, что за ним элементов нет. При добавлении следующего элемента его адрес заносится в соответствующее поле предыдущего элемента списка, так образом организована связь всех элементов. Последний элемент в списке будет указывать на nil.
Основное преимущество связанных списков в том, что с помощью них легко можно передавать параметры-массивы в процедуры и функции. В Delphi подпрограммы могут быть процедурами (возвращать значения нескольких переменных) и функциями. Также в Delphi передаваемым и возвращаемым параметром может быть тип массив. Но если рассмотреть язык С, то там существуют только подпрограммы-функции, а функция может возвращать только одно значение. Поэтому для реализации процедур в С пользуются указателями. Указатель хранит в себе адрес переменной в оперативной памяти. По этому адресу можно записывать значение переменной, и считывать его. Таким образом, передача в функцию массива в виде связанного списка будет заключаться в передаче указателя на первый элемент списка. Функция изменяет (например) связанный список. И после того как связанный список изменён, к нему можно получить доступ, зная адрес его первого элемента.
Связанный список обладает преимуществами по сравнению с использованием типа одномерный массив. Главное преимущество связанных списков перед массивами состоит в том, что они могут уменьшать или увеличивать свои размеры во время выполнения программы. Второе преимущество состоит в том, чо они обеспечивают гибкость при переорганизации их элементов. Такая гибкость получается за счет потери в скорости доступа к произвольному элементу списка.
Для формирования таблицы умножения я воспользовался типом данных Массив.
Отличительная особенность массивов заключается в том, что все их компоненты — данные одного типа (возможно, структурированного). Эти компоненты можно легко упорядочить и обеспечить доступ к любому из них простым указанием его порядкового номера, например:
type