Экзаменационные вопросы по предмету:
«Программирование»
3 курс,381,382 гр

  1. История развития языка программирования PASCAL.
    Создание языка программирования Pascal. Pascal - как язык обучения программированию. Pascal - как язык профессиональной разработки программ. Диалекты и компиляторы паскаля: turbo pascal, object pascal, delphi, pascal ABC, freepascal.
  2. Требуемые понятия для создания простейших программ.
    Лексемы языка. Выражения и операции. Операторы. Типы данных. Функции. Модули. Организация ввода-вывода. Общая структура программы. Объявление переменных, типов, констант, меток, процедур и функций. Области видимости. Составной оператор программы.
  3. Структура выражений.
    Унарные и бинарные операции, типы аргументов и результата, автоматическое преобразование типа во время выполнения операций. Арифметические операции. Логические операции, строковые, операции над множеством, отношения, операция @. Приоритет операций.
  4. Понятие оператора.
    Отличие оператора от операции. Составной оператор. Простые операторы. Оператор присваивания. Особенности оператора присваивания. Оператор вызова процедуры. Операция вызова функции, ее использование в качестве оператора. Оператор перехода goto. Ограничения в применения оператора перехода. Причины нежелательности применения оператора перехода.
  5. Операторы ветвлений.
    Условный оператор if. Полная и сокращенная запись. Вложенные операторы if. Оператор выбора сase. Взаимозамена условного оператора и оператора выбора.
  6. Операторы циклов.
    Цикл со счетчиком for, две его формы. Ограничения на переменную-счетчик. Цикл с предусловием while. Цикл с постусловием repeat. Области применения каждого вида цикла. Вложенные циклы одинаковых и разных видов. Прерывание и переход на следующую итерацию цикла: операторы break и continue. Выход из вложенных циклов с помощью оператора goto и процедуры exit.
  7. Функции и процедуры.
    Определение функции в pascal. Формальные параметры. Параметры-значения и параметры-переменные. Возврат результата из функции. Вызов функции, фактические параметры. Использование функций в выражениях. Процедуры: отличия от функций. Процедурные типы данных.
  8. Модули.
    Понятие модуля, модульного программирования. Компоновка программы из набора модулей. Модули в pascal. Подключение модулей. Структура модуля: интерфейсная секция, секция реализации, секция инициализации. Области видимости в модуле. Подключение модулей в модулях: прямые и косвенные ссылки. Решение проблемы циклических ссылок.
  9. Понятие типа данных.
    Дихотомия типов данных и переменных. Простые и структурные типы. Статические и динамические типы. Совмещение переменных различного типа в оперативной памяти с помощью директивы absolute. Преобразования типов. Принципы описания характеристик типа данных: объем, байтовая последовательность расположения в оперативной памяти, битовая структура, диапазоны значения, точность (для вещественных типов данных), операции и функции для работы с типом данных. Функции pascal для получения информации о размере типа данных, границах типа, модификации байтовой структуры, перемещения и заполнения больших объемов данных в оперативной памяти.
  10. Порядковые типы.
    Встроенный порядковый тип: целочисленные, логические, символьные типы. Характеристики встроенных порядковых типов. Производные порядковые типы: перечислимый тип и тип поддиапазона.
  11. Вещественные типы.
    Стандарт IEEE 754 для представления вещественных типов. Вычислительная погрешность. Использование математического сопроцессора для выполнения операций над вещественными типами. Характеристики вещественных типов данных.
  12. Тип данных строка.
    Литералы строк. Обращение к отдельным символам строки. Короткие и длинные строки. Характеристики строки как типа данных.
  13. Тип данных массив.
    Одномерные и многомерные массивы. Типы индекса. Литералы массива. Обращение к элементу массива. Итерация по массиву. Заполнение и обработка массива циклами. Платформо-зависимые ограничения на объем массива. Характеристики массива как типа данных.
  14. Понятие структуры (тип запись).
    Литералы записи. Обращение к полям структуры. Базовая и вариантная часть структуры. Разделение одной области памяти различными типами переменных с помощью вариантной части записи. Использование особенностей вариантной части для исследования типов данных. Характеристики записи как типа данных.
  15. Тип множество.
    Множество как математическая абстракция. Встроенный тип множества в pascal. Литералы множества. Доступ к элементам множества. Визуализация содержимого множества. Ограничения на диапазоны значений типа множества. Типичные задачи, решаемые использованием множеств. Характеристики множества как типа данных.
Литература
  1. Слинкин Д.А. Основы программирования на Турбо-Паскале
  2. Слинкин Д.А., Горелов Н.Н. Разбор и реализация алгоритмов типовых задач курса «Языки и методы программирования (ТУРБО-ПАСКАЛЬ)»
  3. Е.Р. Алексеев, О.В. Чеснокова, Т.В. Кучер. Free Pascal и Lazarus: Учебник по программированию
  4. Delphi Russian Knowledge Base(rus, chm)