• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Программирование С/С++

2026/2027
Учебный год
RUS
Обучение ведется на русском языке
8
Кредиты

Преподаватели

Программа дисциплины

Аннотация

Дисциплина "Основы и методология программирования" знакомит студентов с основами программирования на примере языка Си. Студенты изучают основные понятия: переменная, операторы, функция, структуры и учатся решать простейшие задачи на языке Си. Курс готовит студентов к дальнейшему изучению языков программирования более высокого уровня
Цель освоения дисциплины

Цель освоения дисциплины

  • Знакомство с основными парадигмами программирования
  • Изучение основных понятий программирования: переменных, массивов, операторов, функций, структур
  • Получение навыков разработки простейших задач на языке Си
Планируемые результаты обучения

Планируемые результаты обучения

  • Использовать в программе оператор условия
  • Использовать командную строку аргументов для передачи параметров в программу
  • Использовать наиболее подходящие операции языка для решения поставленной задачи
  • Использовать слово extern для переменных
  • Использовать указатели при работе с массивами
  • Использовать указатель на функцию для отложенного вызова функции
  • Использовать функции ввода/вывода
  • Копировать экземпляры структур с полями-указателями
  • Называть основные парадигмы программирования
  • Объявлять и использовать локальные переменные со словом static
  • Описывать историю развития языка Си
  • Описывать оператор множественного выбора
  • Определять переменные и инициализировать их
  • Передавать массивы в функции и возвращать массивы из функции
  • Передавать структуры в функции и возвращать структуры из функции
  • Пользоваться функциями стандартной библиотеки string.h
  • Различать объявление и описание функции
  • Разрабатывать и использовать функции в программе
  • Разрабатывать программы с использованием основных операторов языка
  • Разрабатывать рекурсивные функции
  • Решать задачи с использованием массивов
  • Решать задачи с использованием циклов
  • Создавать выражения на языке Си с использованием переменных и операций
  • Создавать динамические массивы
  • Создавать и использовать многомерные массивы
  • Создавать макросы обычные и макросы с параметрами
  • Создавать массивы и инициализировать их
  • Создавать многофайловые программы
  • Создавать объединения, понимать разницу между объединением и структурой
  • Создавать список, очередь, стек, бинарное дерево
  • Создавать строки, получать их от пользователя
  • Читать и записывать файлы, как текстовые, так и бинарные
  • Умение организовать ввод-вывод, работа со ссылками, знание перегрузки функций, знакомство с лямбда-функциями
  • Умение разрабатывать классы, создавать объекты этих классов.
  • Понимание необходимости константных функций при разработке классов. Умение создавать и работать со статическими полями класса.
  • Умение использовать встроенные операции с пользовательскими типами данных
  • Умение разрабатывать простые иерархии классов
  • Знать, что такое виртуальные функции. Уметь разрабатывать полиморфные классы.
  • Уметь создавать классы с несколькими родительскими классами. Уметь решать проблемы множественного наследования. Знать ромбовидное наследование
  • Уметь генерировать и обрабатывать исключения
  • Уметь создавать и использовать пространства имен. Уметь пользоваться операциями преобразования типов
  • Уметь использовать и разрабатывать шаблоны классов и функций
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Введение в программирование
  • Понятие переменной. Операции
  • Операторы языка Си
  • Массивы
  • Указатели
  • Функции
  • Классы памяти
  • Строки и файлы
  • Препроцессор
  • Пользовательские типы данных
  • Динамические структуры данных
  • Особенности С++, не связанные с ООП
  • Введение в классы
  • Статические члены класса. Константные функции
  • Перегрузка операторов
  • Наследование
  • Полиморфизм
  • Множественное наследование
  • Исключения
  • Пространства имен и приведение типов
  • Шаблоны
Элементы контроля

Элементы контроля

  • неблокирующий Разработка классов
  • неблокирующий Работа со ссылками
  • неблокирующий Одиночное наследование
  • неблокирующий Статические члены класса
  • неблокирующий Перегрузка операторов
  • неблокирующий Множественное наследование
  • неблокирующий Исключения
  • неблокирующий Полиморфизм
  • неблокирующий Шаблоны
  • неблокирующий Файлы
    Решение задач по программированию в системе yandex.contest
  • неблокирующий Проект
    Разработка проекта
  • неблокирующий Структуры
    Решение задач по программированию в системе yandex.contest
  • неблокирующий Работа с операторами условия и циклами
    Решение задач по программированию в системе yandex.contest
  • неблокирующий Введение в Си
    Решение задач по программированию в yandex.contest
  • неблокирующий Массивы
    Решение задач по программированию в системе yandex.contest
  • неблокирующий Матрицы
    Решение задач по программированию в системе yandex.contest
  • неблокирующий Строки
    Решение задач по программированию в системе yandex.contest
  • неблокирующий Рекурсия
    Решение задач по программированию в системе yandex.contest
Промежуточная аттестация

Промежуточная аттестация

  • 2026/2027 2nd module
    0.15 * Строки + 0.1 * Рекурсия + 0.1 * Матрицы + 0.1 * Файлы + 0.2 * Структуры + 0.1 * Работа с операторами условия и циклами + 0.2 * Массивы + 0.05 * Введение в Си
  • 2026/2027 4th module
    0.1 * Одиночное наследование + 0.05 * Исключения + 0.05 * Множественное наследование + 0.1 * Разработка классов + 0.15 * Полиморфизм + 0.05 * Статические члены класса + 0.05 * Работа со ссылками + 0.1 * Шаблоны + 0.2 * Проект + 0.15 * Перегрузка операторов
Список литературы

Список литературы

Рекомендуемая основная литература

  • C/C++ в задачах и примерах. — 3-е изд., доп. и исправл. - 978-5-9775-3996-8 - Культин Н. Б. - 2019 - Санкт-Петербург: БХВ-Петербург - https://ibooks.ru/products/386518 - 386518 - iBOOKS
  • C++20 в деталях - Гримм Р. - Издательство "ДМК Пресс" - 978-5-97060-956-9 - 2023 - русский - https://e.lanbook.com/book/315479 - ЛАНЬ - 315479
  • C++20 в деталях, Гримм, Р., 2023
  • C++20 для программистов.. - 978-5-4461-2359-9 - Дейтел Пол, Дейтел Харви - 2024 - Санкт-Петербург: Питер - https://ibooks.ru/products/393770 - 393770 - iBOOKS
  • Davis, S. R. (2014). C++ For Dummies (Vol. 7th ed). Hoboken: For Dummies. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=784132
  • Алгоритмы и программы. Язык C++ : учеб. пособие, Конова, Е. А., 2018
  • Алгоритмы. Справочник : с примерами на C, C++, Java и Python, Хайнеман, Дж., 2017
  • Идиомы и паттерны проектирования в современном С++ - Пикус Ф. - Издательство "ДМК Пресс" - 978-5-97060-786-2 - 2020 - русский - https://e.lanbook.com/book/140598 - ЛАНЬ - 140598
  • Как программировать на С++, Дейтел, Х. М., 2008
  • Конова, Е. А. Алгоритмы и программы. Язык С++ / Е. А. Конова, Г. А. Поллак. — 7-е изд., стер. — Санкт-Петербург : Лань, 2023. — 384 с. — ISBN 978-5-507-46070-0. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/297002 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Немцова, Т. И. Программирование на языке высокого уровня. Программирование на языке C++ : учебное пособие / Т.И. Немцова, С.Ю. Голова, А.И. Терентьев ; под ред. Л.Г. Гагариной. — Москва : ФОРУМ : ИНФРА-М, 2024. — 512 с. + Доп. материалы [Электронный ресурс]. — (Среднее профессиональное образование). - ISBN 978-5-8199-0699-6. - Текст : электронный. - URL: https://znanium.com/catalog/product/2083383
  • Объектно - ориентированное программирование в С++, Лафоре, Р., 2011
  • Объектно-ориентированное программирование в С++. Классика Computer Science - 978-5-4237-0038-6 - Лафоре Р. - 2011 - Санкт-Петербург: Питер - https://ibooks.ru/products/21961 - 21961 - iBOOKS
  • Объектно-ориентированное программирование на С++ - Баранова И. В., Баранов С. Н., Баженова И. В., Кучунова Е. В., Толкач С. Г. - Сибирский Федеральный Университет - 978-5-7638-4034-6 - 2019 - русский - https://e.lanbook.com/book/157572 - ЛАНЬ - 157572
  • Объектно-ориентированное программирование на С++ : учебник / И. В. Баранова, С. Н. Баранов, И. В. Баженова [и др.]. - Красноярск : Сиб. федер. ун-т, 2019. - 288 с. - ISBN 978-5-7638-4034-6. - Текст : электронный. - URL: https://znanium.com/catalog/product/1819676
  • Объектно-ориентированное программирование на языке С++ - Скворцова Л. А. - МИРЭА - Российский технологический университет - - - 2020 - русский - https://e.lanbook.com/book/163862 - ЛАНЬ - 163862
  • Объектно-ориентированное программирование на языке С++: Практикум - Скворцова Л. А., Бирюкова А. А., Гусев К. В. - МИРЭА - Российский технологический университет - - - 2021 - русский - https://e.lanbook.com/book/176540 - ЛАНЬ - 176540
  • Объектно-ориентированное программирование: ООП на языке С++ - Ноткин А. М. - Пермский национальный исследовательский политехнический университет - 978-5-398-00966-8 - 2013 - русский - https://e.lanbook.com/book/160806 - ЛАНЬ - 160806
  • Огнева, М. В.  Программирование на языке С++: практический курс : учебник для вузов / М. В. Огнева, Е. В. Кудрина, А. А. Казачкова. — 2-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2025. — 342 с. — (Высшее образование). — ISBN 978-5-534-18949-0. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/563618 (дата обращения: 02.07.2026).
  • Основы объектно-ориентированного программирования на языке С++ - Теплоухов С. В. - Адыгейский государственный университет - - - 2021 - русский - https://e.lanbook.com/book/231416 - ЛАНЬ - 231416
  • Основы программирования на С++ - Лебеденко Л. Ф., Моренкова О. И. - Сибирский государственный университет телекоммуникаций и информатики - - - 2021 - русский - https://e.lanbook.com/book/257261 - ЛАНЬ - 257261
  • Основы программирования на языке С++ - Бадмаева Э. С., Лобсанова О. А. - Бурятский государственный университет имени Доржи Банзарова - 978-5-9793-1806-6 - 2022 - русский - https://e.lanbook.com/book/336344 - ЛАНЬ - 336344
  • Основы программирования на языке С++ - Гофман М. В. - Петербургский государственный университет путей сообщения Императора Александра I - 978-5-7641-1843-7 - 2022 - русский - https://e.lanbook.com/book/329480 - ЛАНЬ - 329480
  • Основы программирования на языке С++ - Давыдов А. И., Калинина Е. С., Саля И. Л., Ступаков С. А. - Омский государственный университет путей сообщения - 978-5-949-41295-4 - 2022 - русский - https://e.lanbook.com/book/264491 - ЛАНЬ - 264491
  • Основы программирования на языке С++ - Рысин М. Л., Сартаков М. В., Макеева О. В. - МИРЭА - Российский технологический университет - - - 2022 - русский - https://e.lanbook.com/book/239957 - ЛАНЬ - 239957
  • Программирование : принципы и практика с использованием С++, Страуструп, Б., 2018
  • Программирование на языке С++: Учебное пособие / Т.И. Немцова, С.Ю. Голова, А.И. Терентьев; Под ред. Л.Г. Гагариной. - М.: ИД ФОРУМ: ИНФРА-М, 2012. - 512 с.: ил.; 60x90 1/16 + CD-ROM. - (Проф. обр.). (п, cd rom) ISBN 978-5-8199-0492-3 - Режим доступа: http://znanium.com/catalog/product/244875
  • Программирование на языке Си/А.В.Кузин, Е.В.Чумакова - М.: Форум, НИЦ ИНФРА-М, 2015. - 144 с.: 70x100 1/16. - (Высшее образование) (Обложка) ISBN 978-5-00091-066-5 - Режим доступа: http://znanium.com/catalog/product/505194
  • С/С++ в задачах и примерах, Культин, Н. Б., 2012
  • С/С++. Программирование на языке высокого уровня : для магистров и бакалавров : учебник для вузов, Павловская, Т. А., 2011
  • С/С++. Программирование на языке высокого уровня. - 978-5-4461-1350-7 - Павловская Т. А. - 2021 - Санкт-Петербург: Питер - https://ibooks.ru/products/376844 - 376844 - iBOOKS
  • С++ : полное руководство: классическое издание, Шилдт, Г., 2018
  • Современный С++: безопасное использование, , 2023
  • Технологии программирования. Методы обработки пользовательских типов данных на С++ - Кривцов А. Н. - Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А. Бонч-Бруевича - - - 2021 - русский - https://e.lanbook.com/book/279452 - ЛАНЬ - 279452
  • Технологии программирования. Технология программирования на С/С++ - Кривцов А. Н. - Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А. Бонч-Бруевича - - - 2021 - русский - https://e.lanbook.com/book/279680 - ЛАНЬ - 279680
  • Шаблоны C++. Справочник разработчика, Вандевурд, Д., 2020
  • Эффективный и современный С++ : 42 рекомендации по использованию С++11 и С++14: пер. с англ., Мейерс, С., 2019
  • Язык программирования C++, Страуструп, Б., 2012
  • Язык программирования С++ : лекции и упражнения, Прата, С., 2014
  • Язык программирования С++ : специальное издание, Страуструп, Б., 2015
  • Язык программирования С++ : специальное издание, Страуструп, Б., 2019
  • Язык программирования С++, Прата, С., 2013
  • Язык программирования С++, Страуструп, Б., 2007
  • Язык С++ и программирование на нём - Рейзлин В. И. - Томский политехнический университет - 978-5-4387-0975-6 - 2021 - русский - https://e.lanbook.com/book/246239 - ЛАНЬ - 246239

Рекомендуемая дополнительная литература

  • Кудрина, Е. В.  Основы алгоритмизации и программирования на языке C# : учебное пособие для бакалавриата и специалитета / Е. В. Кудрина, М. В. Огнева. — Москва : Издательство Юрайт, 2019. — 322 с. — (Бакалавр. Академический курс). — ISBN 978-5-534-09796-2. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/428603 (дата обращения: 28.08.2023).
  • Программирование на языке высокого уровня Паскал - Павловская Т.А. - Национальный Открытый Университет "ИНТУИТ" - - - 2016 - русский - https://e.lanbook.com/book/100415 - ЛАНЬ - 100415
  • Царев, Р. Ю. Программирование на языке Си [Электронный ресурс] : учеб. пособие / Р. Ю. Царев. – Красноярск : Сиб. федер. ун-т, 2014. – 108 с. - ISBN 978-5-7638-3006-4 - Режим доступа: http://znanium.com/catalog.php?bookinfo=510946
  • Язык Си: кратко и ясно: Учебное пособие / Д.В. Парфенов. - М.: Альфа-М: НИЦ ИНФРА-М, 2014. - 320 с.: 60x90 1/16. (переплет) ISBN 978-5-98281-397-8 - Режим доступа: http://znanium.com/catalog/product/459254

Авторы

  • Лупанова Елена Александровна
  • Бычков Илья Сергеевич