
- •1.Эвм, центральный процессор, память. Обрабатываемые данные. Подпрограммы. Основные идеи структурного программирования.
- •2. Языки программирования. Словарь, синтаксис, семантика языка. Основные символы языка Паскаль. Изображение имен переменных и значений.
- •5. Нестандартные типы. Базовый тип. Перечислимый тип, стандартные функции. Ограниченный тип (диапазон).
- •Операторы цикла: с предусловием, с постусловием, с параметром.
- •7. Оператор перехода. Метка. Допустимые случаи использования оператора перехода. Поиск в массиве. Оператор перехода и структурированное программирование.
- •8. Структурированные статические типы данных. Массивы. Символьные строки.
- •12. Рекурсивные функции и процедуры. Основные понятия.
- •15. Методы поиска данных. Линейный поиск.
- •Линейный поиск .
- •16. Методы поиска данных . Поиск деления пополам (двоичный поиск).
- •Обобщенная архитектура третьего и четвертого поколений
- •18. Операционная система. Структура операционной системы.
- •19. Особенности различных файловых систем.
- •21. Средства защиты персональных компьютеров и компьютерных сетей. Антивирусные программы и файерволы.
12. Рекурсивные функции и процедуры. Основные понятия.
Рекурсия – способ организации вычислительного процесса, при котором подпрограмма в ходе выполнения обращается сама к себе. С идейной точки зрения рекурсия аналогична методу математической индукции. Предположению индукции соответствует предположение о том, что нужный вариант уже записан. Наконец, шагу индукции соответствует вызов создаваемого рекурсивного ВА. В любой рекурсии необходимо предусмотреть условие завершения процесса, то есть когда вызов больше не происходит.
Рекурсивный вызов может быть косвенным, или неявным. Например, это происходит в случае, когда один ВА вызывает другой, а тот в свою очередь – первый. При использовании такой программной конструкции необходимо опережающее описание процедур и функций с директивой Forward. Сначала пишется только ВА со словом Forward, а реализация приводится ниже. При этом, в ней можно писать в заголовке либо только ВА, либо полностью повторять заголовок.
Пример. Неявная рекурсия.
Procedure B(x:byte); forward;
Begin
….
B(y);
….
End;
….
Рекомендации: Необходимо по возможности избегать применения рекурсии, так как большая глубина рекурсии приводит к переполнению стека. В некоторых случаях проблему можно устранить, установив новый размер стека от 1024 до 65520 байт с помощью директивы.
Процедуры и функции в Паскале могут вызывать сами себя, т.е. обладать свойством рекурсивности. Рекурсивная функция обязательно должна содержать в себе условие окончания рекурсивности, чтобы не вызвать зацикливания программы. При каждом рекурсивном вызове создается новое множество локальных переменных. То есть переменные, расположенные вне вызываемой функции, не изменяются.
13.Соотношение между типами в Паскале. Дерево типов в языке Паскаль. Идентичность, совместимость, совместимость по присваиванию.
14. Сортировка с помощью прямого обмена.
Простейшая задача сортировки заключается в упорядочении элементов массива по возрастанию или убыванию. Другой задачей является упорядочение элементов массива в соответствии с некоторым критерием. Обычно в качестве такого критерия выступают значения определенной функции, аргументами которой выступают элементы массива. Эту функцию называют упорядочивающей функцией.
Сортировка методом прямого обмена. Идея метода заключается в том, что последовательно сравниваются пары соседних элементов массива. Если они располагаются не в том порядке, то совершаем перестановку, меняя местами пару соседних элементов. После одного такого прохода на последнем месте номер N окажется максимальный элемент («всплыл» первый «пузырек»). Следующий проход должен рассматривать элементы до предпоследнего. Всего требуется N-1 проход. Можно заметить, что если при перестановке очередного прохода в сортировке обменом не произведено ни одной перестановки, то это означает, что массив уже упорядочен. Таким образом, можно модифицировать алгоритм, чтобы следующий проход делался только при наличии перестановок в предыдущем.
15. Методы поиска данных. Линейный поиск.
Алгоритмы поиска применяются для нахождения, например, в массиве элемента с нужными свойствами. Обычно различают постановки задачи поиска для первого и последнего вхождения элемента.