Данное учебно-методическое пособие предназначено для ознакомления с основами алгоритмистики и получения базовых навыков для построения консольных приложений. Однако так же содержит разделы для специалистов более высокого уровня. В нём изложены основные понятия связанные с алгоритмами, рассказана история языков программирования, описан процесс компиляции, представлен алгоритм разработки приложения, изложены теоретические основы языка С/С++, такие как базовые конструкции языка, переменные, массивы, операторы, функции и другие, приведены разобранные примеры типовых задач и рассмотрены типовые структуры данных и некоторые библиотечные функции. В методическом пособии уделено особое внимание разобранным примерам, которые детально описаны и проиллюстрированы. Представленное методическое пособие предназначено как для студентов среднего профессионального образования, так и для студентов высшего профессионального образования.
Алгоритмы
Данный раздел подробно описывает понятие алгоритма, этапы решения задач на компьютере. Разобраны примеры построения алгоритмов для простых и более сложных задач. Раскрыто понятия декомпозиции.
История языка программирования
В данном разделе рассказывается о возникновении языков программирования и языка программирования С/С++ в частности. Описана причина появления языков программирования, этапы их развития и возможности применения языков программирования.
Процесс компиляции
Данный раздел посвящён процессу компиляции программ, написанных на языках программирования С и С++. Детальное описание процесса компиляции позволяет в дальнейшем понимать на каком этапе процесса компиляции возникает ошибка, и соответственно упрощает поиск и отладку возникшей ошибки.
«Hello World»
Раздел «Hello World» описывает написание первой программы на языке программирования. При этом рассмотрен процесс написания и запуска такой программы под разными версиями программного обеспечения и под различными операционными системами.
Переменные
Раздел посвящённым базовому понятию языков программирования – переменным. Рассмотрены существующие типы переменных и констант, приведена их классификация. Рассмотрены способы объявления переменных, их инициализация, предназначение и возможность применения.
Основные конструкции языка
Рассмотрены базовые конструкции языка, такие как условие, циклы, переключатели, управляющие конструкции и другие. Описана корреляция между конструкциями языка и блоками из языка блок-схем.
Операторы
Приведён весь список операторов языка программирования С. Рассмотрение ведётся в порядке убывания приоритета оператора. При этом особенности каждого оператора продемонстрированы в виде кусочка кода на языке программирования.
Функции
В данном разделе рассмотрено понятие функции и процедуры, рассказаны их отличие. Описаны такие понятия как объявление функции, определение функции и вызов функции. Рассмотрены примеры написания своей функции. Приводится обоснования полезности использования функций и процедур.
Задачи, решённые на языке Си
Данный раздел демонстрирует примеры решённых задач, с разбором алгоритма решения задачи, с описанием процесса написания программы, с документированным исходным кодом и с иллюстрированием выполняющей версии программы. Так же приведён список задач, для самостоятельной разработки для закрепления ранее полученных навыков и знаний.
Массивы
Описаны понятия массива, массива массивов и многомерного массива. Рассмотрены их отличия и применение в зависимости от поставленной задачи. Приведены примеры кода для работы с массивами.
Сортировки
Данный раздел посвящён сортировки одномерных числовых массивов. Приведены примеры и коды множества различных современных алгоритмов сортировки. Каждый вид сортировки подробно описан и проиллюстрирован на примере.
Символьные массивы
Рассказано применение символьных массивов в языки С. Отличие от числовых массивов. А также описана работа с указателями при работе с символьными массивами.
Обработка символьных массивов
Описаны стандартные функции для обработки символьных массивов. Которые позволяют выполнять такие операции как конкатенация строк, их копирования, сравнение заполнение, поиск подстроки и другие.
Динамическое выделение памяти
Данные раздел предназначен для изучения таких понятий как динамическое выделение и освобождение памяти, которое повсеместно применяются в более-менее сложных задачах. Рассмотрены примеры как кода для языка С, так и для языка С++.
Форматный вывод
Раздел посвящён форматному выводу информации в консоль. Рассмотрены способы форматного вывода для языка С и С++. Описано применение форматного вывода и его особенности.
Базовые понятия ООП
Рассмотрена концепция объектно-ориентированного программирования и его базовые понятия: абстрагирование, инкапсуляция, наследование, полиморфизм, класс и объект. Рассмотрены модификаторы и модификаторы доступа для свойств и методов класса. Приведены живые примеры объясняющие суть базовых понятий, а так же приведены приоры кодов, объясняющих разницу модификаторов.
Класс список
Приведена классификация структуры данных список. Приведено их применение.
Класс дерево
Приведена классификация структуры данных дерево. Приведено их применение. Рассмотрены современные варианты деревьев.