Требования по подготовке к экзамену 4 семестр
Промежуточная аттестация по итогам освоения дисциплины (экзамен) проводится в 4 семестре обучения бакалавров. Экзамен проводится по билетам, содержащим 2 вопроса. Студент пишет ответы на вопросы экзаменационного билета на листах белой бумаги формата А4, на каждом из которых должны быть указаны: фамилия, имя, отчество студента; шифр студенческой группы; дата проведения экзамена; номер экзаменационного билета. Листы ответов должны быть подписаны и студентом и экзаменатором после получения студентом экзаменационного билета.
Максимальное количество баллов, которое студент может получить на экзамене, в соответствии с Положением составляет 40 баллов.
Вопросы к экзамену
- Понятие алгоритма.
- Методы формального описания алгоритмов.
- Схемы алгоритмов.
- Основные характеристики алгоритмов и этапы их разработки.
- Базовые разновидности программных алгоритмов.
- Принципы алгоритмизации.
- Разветвленные и циклические алгоритмы.
- Сложные циклы.
- Алгоритмы с массивами.
- Взаимосвязь алгоритмов, моделей данных и постановок задач.
- Алгоритм и его программная реализация.
- Понятие языка программирования.
- Основные парадигмы программирования - процедурное, логическое, функциональное, объектно-ориентированное программирование.
- Основные классификационные признаки и характеристики языков программирования.
- Синтаксис и семантика языка.
- Понятие алгоритмического языка программирования и наиболее распространенные представители универсальных алгоритмических языков высокого уровня.
- Система программирования и инструментальные средства поддержки основных этапов проектирования прикладных программных продуктов с использованием алгоритмического языка программирования.
- Функциональное содержание процессов компиляции (трансляции, интерпретации) и построения загрузочных модулей, отладочных операций и тестирования.
- Место языка С++ в общей иерархии алгоритмических языков программирования.
- Реализация языка для различных вычислительных платформ и операционных сред.
- Интегрированная среда программирования системы MS VS C++.
- Понятия программы, модуля, программной единицы.
- Общая структура программы.
- Пользовательские и библиотечные функции.
- Заголовочные файлы.
- Препроцессор и его основные директивы.
- Алфавит языка С++. Идентификаторы.
- Ключевые слова и символы.
- Знаки операций.
- Синтаксис описания констант и переменных.
- Основные типы данных.
- Арифметические операции.
- Операции инкрементации и декрементации.
- Логические операции и операции отношения. Операция условия (?:). Операция присваивания.
- Операция sizeof.
- Приоритет операций.
- Назначение выражений.
- Операторы циклов,
- Операторы условных и безусловных переходов,
- Оператор выбора.
- Вспомогательные операторы.
- Операторы консольного ввода - вывода.
- Использование указателей как средства хранения адреса.
- Имена указателей.
- Операции над указателями.
- Оператор разыменования.
- Использование оператора адреса (&) при работе со ссылками.
- Возвращение значений с помощью ссылок.
- Понятие массива. Синтаксис описания массивов.
- Обращение к элементам массива. Инициализация массивов.
- Массивы и указатели. Двумерные и одномерные массивы. Ввод и вывод массивов.
- Переименование типов (typedel).
- Перечисления (enum).
- Структуры (struct).
- Объединения (union).
- Объявление и определение функций. Вызов функций.
- Формальные и фактические параметры функций. Механизм передачи параметров по значению и по адресу.
- Перегрузка функций.
- Глобальные и локальные переменные. Область видимости и время жизни объектов.
- Классы памяти.
- Понятие рекурсии.
- Модели памяти.
- Статические и динамические данные.
- Механизмы выделения, перераспределения и очистки динамической памяти.
- Функции, поддерживающие основные операции с динамической памятью.
- Операторы new и delete.
- Динамические структуры данных.
- Линейные списки, стеки, очереди, бинарные деревья.
- Описание и внутреннее представление файлов.
- Текстовые и бинарные файлы.
- Базовые операции над файлами. Режимы доступа. Позиционирование в файле.
- Библиотечные функции работы с файлами. Понятие потока.
- Стандартные потоки в C++.
- Функции работы с потоками.