Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Sb97282

.pdf
Скачиваний:
1
Добавлен:
13.02.2021
Размер:
998.17 Кб
Скачать

Текущая ошибка в закладке Compiler отображается красным, при этом строка, где компилятор нашел ошибку (текущая ошибка), выделена в коде красной линией.

Рис. 11.3. Выбор режима компиляции

В среде программирования "DevC++" можно использовать несколько компиляторов и несколько режимов компиляции кода.

Выбор режима компиляции осуществляется в верхней части основного окна среды разработки (в панели инструментов) (рис. 11.3.).

11.4. Шаблоны проектов

Для разработки программы, которая выполняет задачи лабораторной работы, целесообразно использовать шаблоны проектов Меню: File>New>Project. Файл проекта необходим компоновщику для создания исполняемой программы, состоящей из нескольких модулей, и подключения системных библиотек.

Рис. 11.4. Шаблоны проектов

Варианты шаблонов проекта: Windows Application (Windows-

приложение), Console Application (консольное приложение), Static Library

(статическая библиотека), DLL (DynamicLinkLibrary – динамически подключаемая библиотека), Empty Project (пустой проект).

31

Файл проекта (расширение .dev) и код программы (расширения .cpp, .h) лучше сохранять в отдельную папку, которую можно создать при сохранении проекта в диалоге сохранения файла.

Рекомендации по сохранению файлов проекта следующие: сохранять в отдельную папку в директории студента вида – D:\student\1234\Ivanov\lab123\ , где 1234 – номер группы студента, Ivanov – фамилия студента, lab123 – папка лабораторной работы.

11.5. Создание консольного приложения

Для создания консольных приложений есть несколько причин:

они удобны для обучения программированию на C/C++ и не требует сложных шаблонов;

часто применяются в промышленном оборудовании, например в форм-факторе MicroPC и т. п.;

довольно часто являются частью функционала OpenSource-проектов

(Unix, Linux и т. п.);

способны решать обширный круг задач, в том числе и во взаимодействии с визуальными компонентами программного обеспечения.

Чтобы можно было выводить сообщения на русском языке, нужно инициализировать локаль. Для этого можно использовать несколько вариантов кода:

1) setlocale(LC_ALL, "Rus"); // инициализация локали для Windows 7+;

//не требует инициализации шрифтов консоли (в Windows 7+).

При этом операционная система будет сама подставлять шрифты и форматы для вывода на русском языке.

2)system("chcp 1251>nul"); // универсальный вариант,

//работает, если выбрать шрифт Lucida Console.

3 )Set Console CP(1251); // универсальный вариант,

// требуется библиотека windows.h, работает, если выбрать шрифт Lucida Console Set Console Output CP(1251).

Для работы с русскими буквами без использования дополнительных библиотек рекомендуется использовать сразу оба варианта, что позволит работать консольному приложению на всех доступных системах Windows. Код консольного приложения будет следующий:

32

#include<iostream>

#include<conio.h>

using name space std; // используем пространство имен std, // необходимо для функций std::cout, std::cin и т.п.

/* главная функция */

int main (int argc, char** argv) {

system ("chcp 1251>nul"); // универсальный вариант, работает, если выбрать шрифт LucidaConsole;

setlocale(LC_ALL, "Rus"); // инициализация локали для Windows 7+ cout<< "Тестовое сообщение на русском языке!" <<endl;

cout<< "Нажмите любую клавишу для завершения..." <<endl; getch(); // ожидание нажатия клавиши

return 0;

}

12. РЕКОМЕНДАЦИИ ПО ВЫПОЛНЕНИЮ КУРСОВОГО ПРОЕКТА

Согласно учебным планам направления «Приборостроение», при изучении дисциплины «Информатика» предусмотрено выполнение курсового проекта. Курсовой проект является важной составной частью подготовки бакалавров. Его написание имеет большое значение для формирования у студента навыков научно-исследовательской работы и способствует приобретению практического опыта. Создание курсового проекта дает возможность овладеть элементами анализа, научиться правильно оформлять текст, таблицы, графические элементы, список использованной литературы.

Целью курсового проекта является закрепление теоретического материала и выработка навыков самостоятельной творческой деятельности, а также приобретение исследовательских навыков. Задача курсового проекта – самостоятельное создание программы по индивидуальному заданию.

Пояснительная записка представляет собой текстовую часть. Она выполняется на одной стороне листа формата A4 (210 × 297 мм). По структуре пояснительная записка к курсовому проекту состоит из титульного листа, введения, где формулируется цель проекта, основной части, в которой описывается решаемая задача, приложений, в которых приведен алгоритм и код программы, а также списка использованной литературы.

Общий вид титульного листа всего курсового проекта приведен на сайте Университета: http://www.eltech.ru/assets/files/3004_3_ShABLON-kursovika.doc

33

12.1. Создание структурной схемы алгоритма работы программы

Понятие алгоритма такое же основополагающее для информатики, как и понятие информации. Именно поэтому важно в нем разобраться.

Алгоритм – это система формальных правил, однозначно приводящая к решению задачи. Если это определение сузить до области применения в вычислительной технике, то можно определить алгоритм как последовательность арифметических и логических действий над числовыми значениями переменных, приводящую к решению задачи при изменениях исходных данных в достаточно широких пределах.

В алгоритме отражены не только арифметические действия, необходимые для реализации выбранного численного метода, но и логические связи, которые численный метод налагает на исходные данные. Эти логические связи должны быть заданы в форме, воспринимаемой вычислительными машинами: проверкой тех или иных соотношений, допускающих (или не допускающих) автоматическое выполнение действий, предписываемых машине программой.

Все символы схем алгоритмов описываются ГОСТ 19.701–90, в котором точно обозначены размеры каждого блока, его вид и назначение. В таблице приведены основные элементы структурных схем алгоритмов.

Наименование

Обозначение

 

Действие

 

Пуск–останов

 

 

 

 

 

Начало, конец алгоритма

 

Процесс

 

 

 

 

 

Вычислительное

действие

или

 

 

 

 

 

 

 

 

 

 

 

последовательность действий

 

Ввод–вывод

 

 

 

 

 

Ввод-вывод в общем виде

 

Решение

 

 

 

 

 

Проверка условий

 

 

Предопределенный

 

 

 

 

 

Вычисления

по

подпрограмме,

 

 

 

 

 

процесс

 

 

 

 

 

стандартной подпрограмме

 

Модификация

 

 

 

 

 

Начало цикла

 

 

 

 

 

 

 

 

 

 

 

34

12.2. Пример курсового задания

Пример курсового задания. Дано натуральное число n<1000. Поменять порядок цифр числа на обратный.

Способы решения указанной задачи:

1.Поменять порядок цифр можно математически (арифметически). С учетом ограничений, наложенных в программе (0≤n<1000), количество арифметических операций будет конечно. В случае целочисленного деления на 10 можно ограничиться тремя операциями для получения списка цифр. Дополнительно потребуется до трех операций на сравнение каждой цифры.

2.Поменять порядок цифр можно в строке. Этот метод удобен своей универсальностью, так как число всегда можно преобразовать в строку и обратно. Количество операций в данном решении будет минимально. Но потребуется использование библиотеки строковых функций.

Выбор способа решения задачи: способ 2 наиболее универсален, позволяет использовать всю мощь библиотек и функций языка С, поэтому следует выбрать его.

Далее можно создать структурную схему программы и разделить ее на функциональные части.

Обобщенная структурная схема будет выглядеть так:

Начало

Ввод данных

 

Проверка введенных

 

Нет

 

данных

 

 

 

Да

 

 

 

 

 

 

 

 

Изменение порядка

 

 

 

 

цифр в числе

 

 

 

 

 

 

 

 

 

Вывод результата

 

 

 

 

 

 

Конец

 

 

35

Код программы:

#include<cstdlib>

#include<iostream>

#include<conio.h>

#include<string.h> using name space std; int input_data();

int check_data(int); int make_data(int); void output_data(int);

int main(intargc, char *argv[])

{

system("@echooff"); system("chcp 1251 >nul"); int n = input_data();

if (check_data(n))

{

printf("Введенное число '%d' корректно.\n", n); n = make_data(n);

}

else

{

printf ("Введенное число '%d' некорректно\n", n);

}

output_data (n);

printf ("\nДля завершения программы нажмите любую клавишу...\n"); getch();

return EXIT_SUCCESS;

}

int input_data() // функция ввода данных

{

int ret = -1;

printf ("Введите натуральное число до 1000: "); scanf ("%i", &ret);

return ret;

}

36

int check_data(int n) // функция проверки данных

{

if(n< 0 || n>= 1000)

{

return 0;

}

return 1;

}

int make_data (int n) // функция преобразования данных

{

 

int ret=0;

 

char* chars_before;

 

char* chars_after;

 

chars_before = new char[4];

// выделим память

chars_after = new char[4];

// выделим память

sprintf(chars_before, "%d", n); // преобразуем число в строку chars_after = strrev(chars_before); // развернем строку

ret = atoi(chars_after); // преобразуем строку в число delete chars_before;

delete chars_after; return ret;

}

void output_data(int n) // функция вывода результата

{

if(n >=0)

{ printf("Результат преобразования: %d\n", n);} else

{printf("Преобразование не выполнено!\n"); }

}

Указанный пример разбора курсового проектирования позволяет последовательно рассмотреть этапы его создания, начиная с выбора способа решения непосредственно кода программы, заканчивая оформлением пояснительной записки.

37

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

Березин Б. И., Березин С. Б. Начальный курс С и С++. М.: ДИАЛОГ-

МИФИ, 1996.

Богумирский Б. С. Руководство пользователя ПЭВМ. В 2-х ч. СПб: Печатный двор, 1994.

Дериева И. И. Справочник по функциям С++ 3.1/4.0. Киев: Диалектика, 1994.

Информатика. Энциклопедический словарь для начинающих / под ред. Д. А. Поспелова. М.: Педагогика-Пресс, 1994.

Керниган Б., Ритчи Д. Язык программирования С. М.: Финансы и стати-

стика, 1992.

Рассохин Д. От С к С++. М.: Эдель, 1993.

Скляров В. А. Программирование на языках С и С++. М.: Высш. шк., 1996.

Страуструп Б. Язык программирования С++. Киев: Диасофт, 1991. Уэйт М., Парта С., Мартин Д. Язык Си: руководство для начинающих.

М.: Мир, 1998.

Фигурнов В. Э. IBM PC для пользователя. Краткий курс. М.: ИНФРА-М, 1994.

38

 

СОДЕРЖАНИЕ

 

ВВЕДЕНИЕ......................................................................................................

3

1.

Объектно-ориентированное программирование......................................

4

 

1.1. Понятия класса С++..............................................................................

4

 

1.2. Описание и вызов функций-членов класса........................................

7

2.

Конструкторы и деструкторы. ...................................................................

9

 

2.1. Перегруженный конструктор............................................................

11

 

2.2. Деструкторы........................................................................................

11

3.

Дружественные функциии дружественные классы..............................

13

4.

Уточнение имени элемента......................................................................

15

5.

Статистические элементы класса............................................................

16

6.

Подставляемые или inline-функции. .......................................................

17

7.

Динамическое выделение памяти.Операторы new, delete. ...................

19

8.

Перегруженные функции overloading .....................................................

20

 

8.1. Перегрузка конструктора...................................................................

21

9.

Аргументы функции, задаваемые по умолчанию..................................

22

10. Наследование...........................................................................................

22

 

10.1. Одиночное и множественное наследование..................................

23

 

10.2. Управление доступом производных классов.................................

23

 

10.3. Конструкторы с параметрами при наследовании..........................

26

 

10.4 Множественное наследование..........................................................

28

11. Среда программирования DevC++ ........................................................

28

 

11.1. Возможности среды программирования........................................

29

 

11.2. Интерфейс среды программирования.............................................

29

 

11.3. Написание и компиляция кода программы....................................

30

 

11.4. Шаблоны проектов...........................................................................

31

 

11.5. Создание консольного приложения................................................

32

12. Рекомендации по выполнению курсового проекта.............................

33

 

12.1. Создание структурной схемы алгоритма работы программы .....

34

 

12.2. Пример курсового задания ..............................................................

35

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

38

39

Наталия Игоревна Куракина, Елена Сергеевна Сулоева, Федор Яковлевич Беляев, Петр Евгеньевич Антонюк

Основы программирования на С++

Учебно-методическое пособие

Редактор Е. А. Ушакова

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Подписано в печать 07.11.18. Формат 60×84 1/16. Бумага офсетная. Печать цифровая. Печ. л. 2,5.

Гарнитура «Times New Roman». Тираж 128 экз. Заказ 164.

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Издательство СПбГЭТУ «ЛЭТИ» 197376, С.-Петербург, ул. Проф. Попова, 5

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]