Основы языка C++. Ввод-вывод и присваивание
- Алфавит, идентификаторы, типы данных, константы
- Арифметические и логические операции
scanf/printfи объектно-ориентированныеcin/cout- Формулы и вычисления (гипотенуза, площадь, средние)
Полный курс на два семестра: базовый синтаксис, массивы, функции, файлы, сортировки, структуры, графы — а затем динамические структуры данных, деревья, классы, шаблоны, наследование и графический интерфейс.
Отмечайте пройденные лабораторные работы
Начните с отдельного раздела: он объясняет, как из задачи получается программа, из чего состоит любой алгоритм, и как читать код пошагово.
17 коротких тестов — по одному на каждую лабораторную. По 5 вопросов, мгновенная проверка и разбор каждого ответа. Результаты сохраняются в браузере.
Все задания по лабораторным работам в одном месте. Выберите семестр, лабораторную, задание — получите свой текст. Можно сохранить выбор, чтобы вернуться к нему позже, или выбрать случайный вариант.
Интерактивный чек-лист для курсовой, лабораторной или ВКР. Отмечайте пункты, оставляйте заметки, экспортируйте результат — всё сохраняется в браузере.
Девять лабораторных работ: от первого «Hello, world!» до графов. Каждая — с теорией, примерами и вариантами заданий.
scanf/printf и объектно-ориентированные cin/coutif, switchwhile, do-while, forsetw, setprecision)fopen, fwrite, fread, fseekchar[] и std::string, функции strlen, strcat, substr, find<complex>Дерево вызовов для факториала, Фибоначчи и Ханойских башен. Растущий стек, глубина рекурсии.
Пять интерактивных демонстраций: память как сетка ячеек, & и *,
swap через указатели, массивы и динамическая память.
Вставка, удаление, сдвиг, разворот и поиск с пошаговой визуализацией ячеек.
Playground для setw, setprecision, setfill и флагов: показать, как выглядит вывод в C++.
Текстовый и бинарный режимы, режимы открытия, seek/tell, разница в размерах и читаемости.
Пошаговое сравнение пузырьковой сортировки, выбором и вставкой. Счётчики сравнений и обменов.
Интерактивный калькулятор: +, −, ×, ÷, степень, сопряжение. Алгебраическая, тригонометрическая и показательная формы.
DFS на стеке и BFS на очереди. Анимация посещения вершин, матрица смежности, порядок обхода.
Восемь лабораторных работ: от односвязного списка до графического интерфейса с множественным наследованием.
private/public, функции-членыset, get, show+, *, =, [], <<, >>friend-функцииtry, catch, throwСтек (LIFO) и очередь (FIFO) с анимацией вставки и удаления.
Вставка, удаление, поиск с анимацией указателей.
Два указателя на узел — prev и next. Обход в обе стороны, удаление без поиска.
Вставка, поиск, удаление. Анимация обходов: pre-order, in-order, post-order, BFS.
Проектируйте иерархию классов и получайте готовый C++-каркас.
List<T>Один шаблон — четыре типа данных. Переключение int, double, string, char.
Инстанцирование, специализация, вариативные шаблоны, SFINAE и концепты C++20.
Множественное, ромбовидное, виртуальные базы, порядок конструкторов, best practices.
Как работает динамическое связывание: таблица виртуальных методов, срезка объектов, ошибки с деструкторами.
try/catch/throw: деление на ноль, границы массива, свой класс исключения.
unique_ptr, shared_ptr, weak_ptr. Современный способ избежать утечек.
Ресурс получается в конструкторе, освобождается в деструкторе. Безопасно к исключениям.
Rvalue-ссылки, std::move и правило пяти. Сравнение копирования и перемещения.
Race condition, mutex и atomic на одном примере. Пошаговая анимация работы двух потоков.
Vector с reallocation, map как красно-чёрное дерево, set, unordered_map и график сложностей.
Захват переменных, замыкания, mutable, std::function. Демонстрации ловушек и конвейера обработки.
Четыре этапа компиляции, header guards, ошибки линковки, статические и динамические библиотеки, CMake.
Откройте соответствующую демонстрацию, повторите действия преподавателя, затем решите вариант из блока заданий. Код можно править прямо в браузере — ничего не сломается.
Каждая лабораторная содержит теоретическую выжимку, полный пример программы и варианты заданий. Порядок прохождения — по номерам. Прогресс сохраняется в браузере.