Местоположение подпрограмм в тексте и вне текста программы.
Расположение подпрограммы внутри текста программы.
Подпрограммы могут располагаться в виде отдельного раздела внутри описательной части текста программы.
Размещение подпрограммы в файле.
Размещение подпрограммы возможно в отдельном текстовом файле, который может иметь расширение PAS или INC. В этом случае текст подпрограммы включается в текст программы директивой компилятора {$I имя файла}.
Размещение подпрограммы в библиотеке.
Подпрограмма может находиться в библиотеке в виде машинных кодов. Существует возможность для пользователя создавать собственные библиотеки. Тексты библиотек представляют собой программные единицы, называемые модулями. Модули после трансляции располагаются в файлах с расширением TPU.
Массив как статическая структура данных
Массив– это упорядоченная последовательность данных одного и того же типа, имеющая общее имя; доступ к элементам массива организуется при помощи индексов, которые могут быть любого порядкового типа. Индексы можно представлять себе как порядковые номера элементов в последовательности.
Массив как статическая структура обладает следующими свойствами:
· она имеет описание, и обращение к ней возможно по имени;
· память под нее выделяется на этапе компиляции;
· объем памяти фиксирован и не меняется в процессе выполнения программы.
Массивы могут быть одномерными, двумерными и многомерными.
|
|
Одномерный массив – это массив, для получения доступа к элементам которого достаточно одной индексной переменной. Математическим представлением одномерного массива является вектор.
Линейный поиск в массивах данных.
В задачах на линейный поиск требуется найти в массиве данных элемент, группу элементов или фрагмент массива, которые отвечают заданным требованиям. В данном случае, как правило, нет необходимости сортировать массив или выделять дополнительные рабочие массивы того же порядка, что и заданный.
Способы сортировки в массивах данных.
Сортировкой информационной структуры (массива, списка, файла) называется преобразование исходной структуры путем перестановки ее элементов для достижения упорядоченности по заданному признаку порядка.
Признаки порядка.
Одномерный массив А (n) называется упорядоченным
по возрастанию, если для любого i = 2, 3, …, n ai > ai-1
по неубыванию, если для любого i = 2, 3, …, n ai ≥ ai-1
по убыванию, если для любого i = 2, 3, …, n ai < ai-1
по невозрастанию, если для любого i = 2, 3, …, n ai ≤ ai-1
Пузырьковая сортировка (попарные перестановки).
При пузырьковой сортировке многократно переставляются каждые два соседних элемента, нарушающие порядок; процесс завершается по достижении упорядоченности массива.
|
|
Алгоритм пузырьковой сортировки можно реализовать с помощью использования двух циклов с параметром (внешнего и вложенного), а также используя в качестве внешнего цикла цикл с постусловием с вложенным в него циклом с параметром.
Сортировка выбором.
При сортировке выбором каждый элемент меняется местами с минимальным или максимальным, в зависимости от признака порядка, среди следующих за ним, то есть используется метод:
ai’ = min(max){aj , j=i, i+1, …, n}, i=1, …, n-1
где n – размерность массива
Сортировка простыми вставками.
Чтобы упорядочить массив A(n) сортировкой простыми вставками используется следующий подход: для i = 2, 3, …, n каждый элемент ai переставляется в нужное место среди упорядоченных ранее элементов a1, a2, …, ai-1, раздвигая их за счет удаления ai.
Некоторые рекомендации при работе с массивом.
1. При объявлении массивов размерность задается константами, поэтому следует объявлять наиболее разумные размерности, а затем вводить переменные размерности и циклы организовывать уже с их использованием.
2. При обработке массивов рекомендуется использовать вывод на экран всего введенного массива в наглядной форме для визуального контроля правильности ввода и демонстрации соответствия результатов введенным данным.
|
|
3. Следует максимально ограничивать выделение дополнительных (рабочих) массивов той же размерности, что и обрабатываемые, а также искать эффективные по трудоемкости алгоритмы.
4. В задачах на анализ или поиск в заданном массиве не следует искажать массив в своих целях.
5. Если требуется найти фрагмент массива, обладающий каким-либо свойством (цепочку элементов), то следует в качестве результата показать не только сам фрагмент, но и его местоположение (индексы первого и последнего элементов фрагмента) в массиве.
6. В задачах на сортировку массивов следует наглядно показать, как изменился порядок следования элементов отсортированного массива по сравнению с исходным массивом, для чего допускается использование дополнительного массива индексов.
Понятие массив используется на уровне постановки задачи: задается или должно быть сформировано множество однотипных данных. При описании интерфейса как способа взаимодействия с будущей подпрограммой необходимо знать только перечень входных и выходных данных, их тип и способ размещения – входную и выходную формы.
|
|
Тестирование программ
Под тестированиемпонимается процесс проверки правильности работы программы в целях выявления ошибок, при этом выявляются как ошибки в алгоритме, так и в составлении самой программы.
Целью тестирования является выявление как можно большего числа ошибок.
Тест– это совокупность исходных данных для программы вместе с ожидаемыми результатами, с учетом формы представления этих результатов. Тесты разрабатываются до разработки программы, чтобы избежать провокационного влияния стереотипов алгоритма на тестирование. Готовится совокупность тестов – набор тестов, призванный охватить максимум ситуаций.
Отладка программ
Если тестирование – это процесс, направленный на выявление ошибок, то целью отладкиявляются локализация и устранение выявленных в процессе тестирования ошибок в алгоритме и реализующей его программе (выявление синтаксических ошибок выполняется транслятором).
Процесс отладки включает:
· действия, направленные на выявление ошибок (тестирование);
· диагностику и локализацию ошибок (определение характера и местонахождения ошибок);
· внесение исправлений в программу с целью устранения ошибок.
Дата добавления: 2018-05-13; просмотров: 332; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!