Требования по подготовке к экзамену 4 семестр

Промежуточная аттестация по итогам освоения дисциплины (экзамен) проводится в 4 семестре обучения бакалавров. Экзамен проводится по билетам, содержащим 2 вопроса. Студент пишет ответы на вопросы экзаменационного билета на листах белой бумаги формата А4, на каждом из которых должны быть указаны: фамилия, имя, отчество студента; шифр студенческой группы; дата проведения экзамена; номер экзаменационного билета. Листы ответов должны быть подписаны и студентом и экзаменатором после получения студентом экзаменационного билета.

Максимальное количество баллов, которое студент может получить на экзамене, в соответствии с Положением составляет 40 баллов.

Вопросы к экзамену

  1. Понятие алгоритма.
  2. Методы формального описания алгоритмов.
  3. Схемы алгоритмов.
  4. Основные характеристики алгоритмов и этапы их разработки.
  5. Базовые разновидности программных алгоритмов.
  6. Принципы алгоритмизации.
  7. Разветвленные и циклические алгоритмы.
  8. Сложные циклы.
  9. Алгоритмы с массивами.
  10. Взаимосвязь алгоритмов, моделей данных и постановок задач.
  11. Алгоритм и его программная реализация.
  12. Понятие языка программирования.
  13. Основные парадигмы программирования - процедурное, логическое, функциональное, объектно-ориентированное программирование.
  14. Основные классификационные признаки и характеристики языков программирования.
  15. Синтаксис и семантика языка.
  16. Понятие алгоритмического языка программирования и наиболее распространенные представители универсальных алгоритмических языков высокого уровня.
  17. Система программирования и инструментальные средства поддержки основных этапов проектирования прикладных программных продуктов с использованием алгоритмического языка программирования.
  18. Функциональное содержание процессов компиляции (трансляции, интерпретации) и построения загрузочных модулей, отладочных операций и тестирования.
  19. Место языка С++ в общей иерархии алгоритмических языков программирования.
  20. Реализация языка для различных вычислительных платформ и операционных сред.
  21. Интегрированная среда программирования системы MS VS C++.
  22. Понятия программы, модуля, программной единицы.
  23. Общая структура программы.
  24. Пользовательские и библиотечные функции.
  25. Заголовочные файлы.
  26. Препроцессор и его основные директивы.
  27. Алфавит языка С++. Идентификаторы.
  28. Ключевые слова и символы.
  29. Знаки операций.
  30. Синтаксис описания констант и переменных.
  31. Основные типы данных.
  32. Арифметические операции.
  33. Операции инкрементации и декрементации.
  34. Логические операции и операции отношения. Операция условия (?:). Операция присваивания.
  35. Операция sizeof.
  36. Приоритет операций.
  37. Назначение выражений.
  38. Операторы циклов,
  39. Операторы условных и безусловных переходов,
  40. Оператор выбора.
  41. Вспомогательные операторы.
  42. Операторы консольного ввода - вывода.
  43. Использование указателей как средства хранения адреса.
  44. Имена указателей.
  45. Операции над указателями.
  46. Оператор разыменования.
  47. Использование оператора адреса (&) при работе со ссылками.
  48. Возвращение значений с помощью ссылок.
  49. Понятие массива. Синтаксис описания массивов.
  50. Обращение к элементам массива. Инициализация массивов.
  51. Массивы и указатели. Двумерные и одномерные массивы. Ввод и вывод массивов.
  52. Переименование типов (typedel).
  53. Перечисления (enum).
  54. Структуры (struct).
  55. Объединения (union).
  56. Объявление и определение функций. Вызов функций.
  57. Формальные и фактические параметры функций. Механизм передачи параметров по значению и по адресу.
  58. Перегрузка функций.
  59. Глобальные и локальные переменные. Область видимости и время жизни объектов.
  60. Классы памяти.
  61. Понятие рекурсии.
  62. Модели памяти.
  63. Статические и динамические данные.
  64. Механизмы выделения, перераспределения и очистки динамической памяти.
  65. Функции, поддерживающие основные операции с динамической памятью.
  66. Операторы new и delete.
  67. Динамические структуры данных.
  68. Линейные списки, стеки, очереди, бинарные деревья.
  69. Описание и внутреннее представление файлов.
  70. Текстовые и бинарные файлы.
  71. Базовые операции над файлами. Режимы доступа. Позиционирование в файле.
  72. Библиотечные функции работы с файлами. Понятие потока.
  73. Стандартные потоки в C++.
  74. Функции работы с потоками.