Вопросы по дисциплине «Программирование» 2020-2021 гг.

  1. Структура программы. Минимальная программа на С++ и Python. Процесс компиляции и интерпретации программ. Сходства/отличия, плюсы/минусы процессов компиляции и интерпретации.
  2. Препроцессор языка С++. Директивы препроцессора. Применение директив препроцессора.
  3. Понятие переменной. Основные типы переменных. Объявление переменных. Инициализация переменных.
  4. Понятие типа данных. Классификация типов данных. Псевдонимы типов. Ключевое слово auto;
  5. Приведение типов данных друг другу. Приведение в стиле С и С++.
  6. Операторы. Типы операторов, приоритеты и ассоциативность операторов. Операнды.
  7. Арифметические операции и операторы. Логические операции и операторы. Операции присваивания.
  8. Перегрузка операторов в виде отдельной функции.
  9. Операторы ветвления. Тернарное выражение. Порядок работы. Примеры использования.
  10. Условный оператор if. Полная и сокращенная формы. Синтаксис. Порядок работы. Примеры использования.
  11. Оператор выбора switch. Синтаксис. Порядок работы. Примеры использования.
  12. Понятие цикла. Организация циклических вычислительных процессов. Сравнение операторов цикла.
  13. Оператор goto.
  14. Операторы цикла while, do..while, for. Синтаксис. Порядок работы. Примеры использования.
  15. Использование операторов break, continue при организации циклических вычислений.
  16. Бесконечные циклы. Применение. Примеры организации.
  17. Функции. Объявление, определение, вызов. Понятия прототипа и сигнатуры. Для чего используются функции.
  18. Параметры функции. Способы передачи параметров. Особенности различных способов.
  19. Функции. Объявление, определение. Вызов функций. Тип возвращаемого значения. Функции типа void. Оператор возврата return.
  20. Создание и инстанцирование шаблона функции.
  21. Функции. Перегрузка функции. Функции с параметрами по умолчанию.
  22. Указатели. Применение указателей. Объявление указателей. Операции с указателями. Адресная арифметика. Нулевой указатель.
  23. Ссылки. Применение ссылок. Объявление ссылок. Операции с ссылками.
  24. Структуры. Описание и использование. Доступ к полям.
  25. Объединения. Описание и использование. Доступ к полям.
  26. Перечисления. Создание. Использование.
  27. Переменные. Глобальные переменные. Локальные переменные. Лексическое и динамическое связывание.
  28. Области видимости. Пространства имен. Создание пользовательских пространств имён. Примеры использования.
  29. Области видимости. Пространства имен. Анонимные пространства имён. Примеры использования.
  30. Контейнеры/коллекции. Создание. Инициализация. Итерирование. Изменение.

 

Пояснения к вопросам

  1. Как читать вопрос? Вопрос читается по фрагментам, до ближайшей точки. Каждый фрагмент нужно оценить с точки зрения языка C++ и Python, а именно:

    • Если ли требуемое в C++;
    • Если ли требуемое в Python;
    • Есть ли аналоги;
    • В чём сходства и отличия.
  2. Что рассказывать по вопросу? По каждому вопросу нужно рассказать всё, что вам про него известно и привести примеры использования конструкции. Не знакомые термины и код лучше не использовать, т.к. по ним могут быть заданы дополнительные вопросы.

  3. О каком языке вопрос? Все вопросы касаются и C++ и Python, если в вопросе явно не указан язык. В случае, если требуемая конструкция существует только в одном из языков, нужно это явно указать в ответе. Если на занятиях была пройдена конструкция только для одного языка, нужно тоже это указать и тогда рассказывать о ней не нужно.