Алгоритмические языки и программирование

Часть 2 (семестр 4)

О дисциплине

Дисциплина «Алгоритмические языки и программирование» реализуется в 3-4 семестрах кафедрой теоретической механики и сопротивления материалов.

Основными задачами изучения дисциплины являются:

Промежуточная аттестация осуществляется в форме зачёта в 3-м семестре и экзамена 4-м семестре.

МДС-22-11..13 АЯиП Успеваемость (4 семестр)

Лекции

1. Описание структур и классов в C++

Пример: Структуры двухмерной и трёхмерной точек

2. Конструкторы и деструкторы классов. Наследование классов

Пример: Класс двигателя (конструктор по умолчанию, конструктор с параметром, деструктор) 

3. Полиморфизм. Виртуальные функции

Пример: Классы списка (CList) и стека (CStack) с виртуальной функцией вывода содержимого на экран

4. Перегрузка операций

Пример 1: Класс комплексного числа (Complex) с перегруженными операциями «+», «-», «=» и «+=»

Пример 2: Класс строки (MyString) с перегруженными операциями «+=», «=», «<<» и «>>»

Список рекомендуемой литературы

Основная литература

Издание в ЭБС «Университетская библиотека онлайн»:

Чеканин, В.А. Основы алгоритмизации и программирования на языках C и C++ : учебное пособие / В.А. Чеканин, А.В. Чеканин ; Министерство образования и науки РФ, Московский государственный технологический университет "СТАНКИН". - Москва : ФГБОУ ВПО МГТУ «СТАНКИН», 2016. - 304 с. : ил., схем., табл. - ISBN 978-5-7028-0594-8. Режим доступа URL: http://biblioclub.ru/index.php?page=book&id=467208.

Дополнительная литература

Интегрированные среды разработки (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 (файл вирусов не содержит).