Алгоритмические языки и программирование
Часть 2 (семестр 4)
группы МДС-22-11, МДС-22-12, МДС-22-13 (специалитет);
кафедра теоретической механики и сопротивления материалов (СМиТМ);
лекции, лабораторные работы:
д-р техн. наук, доцент Чеканин Владислав Александрович;ссылка на курс в ЭОС: edu.stankin.ru/course/view.php?id=13492;
занятия в дистанте: https://discord.gg/KWnkPcx.
О дисциплине
Дисциплина «Алгоритмические языки и программирование» реализуется в 3-4 семестрах кафедрой теоретической механики и сопротивления материалов.
Основными задачами изучения дисциплины являются:
освоение студентами основ программирования с использованием алгоритмических языков высокого уровня;
освоение студентами основ построения алгоритмов и разработки программного обеспечения для решения прикладных инженерных задач.
Промежуточная аттестация осуществляется в форме зачёта в 3-м семестре и экзамена 4-м семестре.
Лабораторные работы
1. Классы
Варианты индивидуальных заданий (обязательное домашнее задание)
Дополнительные задания (необязательные задания на получение дополнительных баллов)
2. Наследование классов. Полиморфизм
Описание для среды MS Visual Studio (задание на минимальную оценку)
Описание для среды Turbo C++ Explorer (C++ Builder) (задание на минимальную оценку)
3. Связные списки
Лекции
1. Описание структур и классов в C++
Пример: Структуры двухмерной и трёхмерной точек
2. Конструкторы и деструкторы классов. Наследование классов
Пример: Класс двигателя (конструктор по умолчанию, конструктор с параметром, деструктор)
3. Полиморфизм. Виртуальные функции
Пример: Классы списка (CList) и стека (CStack) с виртуальной функцией вывода содержимого на экран
файл главного модуля TestList.cpp
заголовочный файл MyList.h
файл реализации MyList.cpp
4. Перегрузка операций
Пример 1: Класс комплексного числа (Complex) с перегруженными операциями «+», «-», «=» и «+=»
заголовочный файл Complex.h
файл реализации Complex.cpp
Пример 2: Класс строки (MyString) с перегруженными операциями «+=», «=», «<<» и «>>»
заголовочный файл MyString.h
файл реализации MyString.cpp
Список рекомендуемой литературы
Основная литература
Издание в ЭБС «Университетская библиотека онлайн»:
Чеканин, В.А. Основы алгоритмизации и программирования на языках C и C++ : учебное пособие / В.А. Чеканин, А.В. Чеканин ; Министерство образования и науки РФ, Московский государственный технологический университет "СТАНКИН". - Москва : ФГБОУ ВПО МГТУ «СТАНКИН», 2016. - 304 с. : ил., схем., табл. - ISBN 978-5-7028-0594-8. Режим доступа URL: http://biblioclub.ru/index.php?page=book&id=467208.
Кирнос, В.Н. Информатика II. Основы алгоритмизации и программирования на языке C++ : учебно-методическое пособие / В.Н. Кирнос ; Министерство образования и науки Российской Федерации, Томский Государственный Университет Систем Управления и Радиоэлектроники (ТУСУР). - Томск : Эль Контент, 2013. - 160 с. : ил.,табл., схем. - ISBN 978-5-4332-0068-5. Режим доступа URL: http://biblioclub.ru/index.php?page=book&id=208651.
Дополнительная литература
Керниган, Б.В. Язык программирования C : учебник / Б.В. Керниган, Д.М. Ричи ; Национальный Открытый Университет "ИНТУИТ". - М. : Интернет-Университет Информационных Технологий, 2006. - 272 с. Режим доступа URL: http://biblioclub.ru/index.php?page=book&id=234039.
Царев, Р.Ю. Программирование на языке Си : учебное пособие / Р.Ю. Царев ; Министерство образования и науки Российской Федерации, Сибирский Федеральный университет. - Красноярск : Сибирский федеральный университет, 2014. - 108 с. : табл., схем. - Библиогр. в кн. - ISBN 978-5-7638-3006-4. Режим доступа URL: http://biblioclub.ru/index.php?page=book&id=364601.
Интегрированные среды разработки (C/C++)
Microsoft Visual Studio
При установке необходимо выбрать опцию «Разработка классических приложений на С++».
Параметры установки для Windows 10 приведены на изображении (путь установки можно изменить).
Вывод текста на русском языке в консольном окне (Microsoft Visual Studio)
1. Включить в текст программы заголовочный файл #include <locale.h>
2. В начало функции main() добавить следующую строку: setlocale(LC_ALL, "RUS");
Примечание. Для корректного отображения текста на русском языке в среде Microsoft Visual Studio Community (версия 2017 и старше) необходимо сохранить файл главного модуля программы (файла с расширением .cpp, содержащего функцию main) в кодировке Windows-1251. Для этого в главном меню выбрать «Файл->Сохранить *.cpp как...» (здесь символом «*» обозначено имя файла). После чего в появившимся окне справа от «Сохранить» нажать на стрелку и выбрать «Сохранить с кодировкой» и подтвердить замену файла. В окне «Дополнительные параметры сохранения» выбрать кодировку «Кириллица (Windows) - кодовая страница 1251» и нажать кнопку «OK». После чего скомпилированная программа будет корректно отображать текст на русском языке в консольном окне.
Пример
#include <stdio.h>
#include <conio.h>
#include <locale.h>
int main(void)
{
setlocale(LC_ALL, "RUS");
// ----------------------
int n;
printf("Введите n: ");
scanf_s("%d", &n);
printf("Значение n=%d", n);
printf("\nДля завершения работы программы нажмите любую клавишу...");
_getch();
return 0;
}
Аналоги функций языка C/C++ в среде Microsoft Visual Studio
Функция языка С/C++ Функция в Microsoft Visual Studio
scanf scanf_s
getch _getch
gets gets_s
strcpy strcpy_s
strcat strcat_s
Работа с математическими константами библиотеки <math.h> (Microsoft Visual Studio)
Для работы с математическими константами π (M_PI) и e (M_E) библиотеки <math.h> в среде Microsoft Visual Studio необходимо перед подключением заголовочного файла #include <math.h> записать следующую директиву препроцессора: #define _USE_MATH_DEFINES.
Пример
#define _USE_MATH_DEFINES
#include <math.h>
C++ Builder
Вывод текста на русском языке в консольном окне (Turbo C++ Explorer)
1. Включить в текст программы заголовочный файл #include <windows.h>
2. Вставить перед функцией main() следующий код:
char bufRus[256];
char* Rus(const char* text)
{
CharToOem(text, bufRus);
return bufRus;
}
3. Передаваемую на вывод строку обработать с помощью функции Rus().
Пример
#include <stdio.h>
#include <conio.h>
#include <windows.h>
char bufRus[256];
char* Rus(const char* text)
{
CharToOem(text, bufRus);
return bufRus;
}
void main(void)
{
int n;
printf(Rus("Введите n: "));
scanf("%d",&n);
printf(Rus("Значение n=%d"),n);
printf(Rus("\nДля завершения работы программы нажмите любую клавишу..."));
getch();
}
Устранение проблемы, связанной с файлом EditorLineEnds.ttr
При многократном запуске программы Turbo C++ 2006 Explorer в операционных системах Microsoft Windows 7 и старше может возникать следующее сообщение об ошибке:
Для устранения этой проблемы необходимо перед запуском среды разработки запустить файл dzEditorLineEndsFix.exe (файл вирусов не содержит).