ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Филиал государственного образовательного учреждения высшего профессионального образ...
5 downloads
253 Views
555KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Филиал государственного образовательного учреждения высшего профессионального образования «Кузбасский государственный технический университет» в г. Прокопьевске
КАФЕДРА ИНФОРМАТИКИ
ЛАБОРАТОРНЫЙ ПРАКТИКУМ. ЯЗЫК ПРОГРАММИРОВАНИЯ С/C++. КОНСОЛЬНЫЕ ПРИЛОЖЕНИЯ.
Методическое пособие для студентов специальности 080801 «Прикладная информатика в экономике» Составитель: Н.В. Несоленов Утверждено на заседании кафедры Протокол № 5от 24.03.08
Прокопьевск 2008
Рецензент: д.т.н., профессор, заведующий кафедрой «Вычислительной техники и информационных технологий» ГУ КузГТУ А.Г. Пимонов
Содержание
ИСТОРИЯ И НАЗНАЧЕНИЕ ЯЗЫКА C/C++ ...........................4 ЯЗЫК ПРОГРАММИРОВАНИЯ C: ПРАКТИЧЕСКИЕ ЗАДАНИЯ .....................................................................................5 ЯЗЫК ПРОГРАММИРОВАНИЯ C: ЛАБОРАТОРНАЯ РАБОТА №1 ..................................................................................7 ЯЗЫК ПРОГРАММИРОВАНИЯ C++: ПРАКТИЧЕСКИЕ ЗАДАНИЯ ...................................................................................16 ЯЗЫК ПРОГРАММИРОВАНИЯ C++: ЛАБОРАТОРНАЯ РАБОТА №2 ................................................................................20 ЯЗЫК ПРОГРАММИРОВАНИЯ C++: ЛАБОРАТОРНАЯ РАБОТА №3 ................................................................................22 КОНТРОЛЬНЫЕ ВОПРОСЫ....................................................25
ИСТОРИЯ И НАЗНАЧЕНИЕ ЯЗЫКА C/C++ Разработчиком языка C++ является Бьерн Страуструп. В своей работе он опирался на опыт создателей языков Симула, Модула 2, абстрактных типов данных. Основные работы велись в исследовательском центре компании Bell Labs. Непосредственный предшественник C++ – язык C с классами – появился в 1979 году, а в 1997 году был принят международный стандарт C++, который фактически подвел итоги его 20-летнего развития. Принятие стандарта обеспечило единообразие всех реализаций языка C++. Язык C++ является универсальным языком программирования, в дополнение к которому разработан набор разнообразных библиотек. Поэтому, строго говоря, он позволяет решить практически любую задачу программирования. Тем не менее, в силу разных причин (не всегда технических) для каких-то типов задач он употребляется чаще, а для каких-то – реже. C++ как преемник языка C широко используется в системном программировании. На нем можно писать высокоэффективные программы, в том числе операционные системы, драйверы и т.п. Язык C – один из основных языков разработки трансляторов. Поскольку системное программное обеспечение часто бывает написано на языке C или C++, то и программные интерфейсы к подсистемам ОС тоже часто пишут на C++. Соответственно, те программы, даже и прикладные, которые взаимодействуют с операционными системами, написаны на языке C++. В целом надо сказать, что язык C++ в настоящее время является одним из наиболее распространенных языков программирования в мире.
4
ЯЗЫК ПРОГРАММИРОВАНИЯ C: ПРАКТИЧЕСКИЕ ЗАДАНИЯ Цель работы: Приобретение студентами практических навыков создания консольных программ используя среду Visual Studio .NET C++.
Требования в программам: Консольное приложение. Ввод исходных данных пользователем. Форматированный вывод результата работы программы.
Практикум: 1. В заданном интервале найти все натуральные числа, равные кубу суммы своих цифр. 2. Дан текст, в начале которого имеются пробелы и в котором имеются цифры. Найти порядковый номер максимальной цифры. Если максимальных цифр несколько, то следует определить номер первой из них. 3. Дана действительная матрица размера 6 x 7. Найти среднее арифметическое наибольшего и наименьшего значений ее элементов. 4. Дана действительная матрица размера n x m, в которой не все элементы равны нулю. Получить новую матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент. 5. Дана матрица действительных чисел размером n x m. Найти среднее арифметическое элементов матрицы, расположенных на главной диагонали. Увеличить каждый элемент матрицы на соответствующую величину. 6. Дана матрица действительных чисел размером n x m. Найти суммы элементов матрицы, расположенных параллельно 5
главной диагонали. 7. Дано слово. Если длина его нечетная, то удалить среднюю букву, в противном случае - две средние буквы. 8. Дано слово. Удалить из него все повторяющиеся буквы, оставив их первые вхождения: в слове должны остаться только различные буквы. 9. Даны действительные числа а, b, с. Удвоить эти числа, если а > b > с, и заменить их абсолютными значениями, если это не так. 10. Известен год, номер месяца и число дней рождения человека, а также текущая дата: год, месяц и число. Определить возраст человека. 11. Известно, что разность любого натурального числа и суммы его цифр кратна 9. Проверить этот факт для чисел в заданном интервале. 12. Известны даты рождения двух человек (год, номер месяца и число) и текущая дата. Определить, кто из них моложе. 13. Найти два наименьших числа, которые начинаются на 5 и из которых, перенеся первую цифру в конец, можно получить новое число, в 5 раз меньшее, чем искомое. 14. Найти среднее арифметическое положительных элементов каждого столбца матрицы A(n, m), заданной целыми числами. 15. Натуральное число называется совершенным, если оно равно сумме всех своих простых делителей, например 6 = 1 + 2 + 3. Найти все совершенные числа в заданном интервале. 16. Определить количество положительных элементов каждого столбца матрицы A(n, m), заданной целыми числами. 17. Определить, сколько различных букв содержится в заданном слове. 18. Определить, являются ли значения целочисленных переменных М и N кратными трем. Если оба кратны трем, то вычислить их сумму, иначе вычислить их произведение. 6
19. Числа, которые можно одинаково прочитать слева направо и справа налево, называются палиндромами. Например, 21312,52325,4224. Проверить, является ли заданное число палиндромом. 20. Число делится на 11, если разность между суммой цифр, стоящих на нечетных местах, кратна 11. Проверить этот признак для всех натуральных чисел, значение которых не превосходит заданного m, и показать числа, кратные 11. ЯЗЫК ПРОГРАММИРОВАНИЯ C: ЛАБОРАТОРНАЯ РАБОТА №1 Тема: Табулирование функции одной переменной Цель работы: создать консольную программу табулирования функции одной переменой в среде Visual Studio .NET C++.
Основные сведения Требования к программе: Данные необходимые для табулирования вводятся с помощью параметров задаваемых из командой строки (параметры могут задаваться в любой последовательности) или интерактивно, если при запуске программы отсутствуют параметры. Пример первого варианта запуска: tabul.exe a=-1.2 b=3 n=30 В программе должны использоваться следующие обозначения параметров командой строки: a – начало диапазона, b – конец диапазона, n – количество точек табулирования, h – шаг табулирования. Вводимые данные должны проверяться. В случае неправильно введенных данных, в интерактивном режиме работы, программа на экран должна выводить 7
сообщение об ошибке и предоставлять пользователю возможность повторного ввода. В режиме командой строки в случае неправильно введенных параметров программа должна выдавать сообщение об ошибке с указанием причины ошибки и параметра вызвавшего ошибку и приостанавливать работу. Пользователь может задавать любой отрезок табулирования функции. По соответствующему ключу, к примеру «?», программа должна выводить на экран справку из текстового файла. В результате работы программы на экран должна выводиться следующая информация: функция, введенные параметры, таблица с результатами, состоящая из трех столбцов: номер точки, значение x, значение f(x). N X Y 1 4 4,6 2 5 6,7 3 6 7,8 Программа должна уметь обходить особые точки функции. В программе не должны использоваться глобальные переменные, все данные между функциями передаются исключительно через параметры функции. Программа должна быть структурированной и в ней должен присутствовать следующий минимальный набор функции: o главная функция; o математическая функция; o функция проверки строки на число; o функция вывода русского текста на экран; o функция считывания информации с клавиатуры с последующей проверкой на число; 8
o функция поиска нужного параметра в наборе параметров переданных через командную строку. Рекомендации к выполнению лабораторной работы: Математические функции библиотеки <math.h>: Функция Синтаксис функции на С float cosf(float x); cos x float sinf(float x); sin x float tanf(float x); tg x float asinf(float x); arcsin x float acosf(float x); arccos x float atanf(float x); arctg x float logf(float x); ln x float log10f(float x); lg x float powf(float x, float xy y); float expf(float x); ex float sqrtf(float x); x Проверку вводимых данных на число можно построить по следующему алгоритму: с помощью функции scanf вводиться строка символов; введенная строка преобразуется в число функцией atof; полученное число преобразуется назад в строку функцией sprintf; если поучившееся строка совпадает со строкой введенной пользователем, то пользователь ввел число.
9
Необходимые функции для работы со строками: Функция Описание библиотека <stdlib.h> double atof(const Преобразует в числовое char *str); значение аргумента str, если преобразование не удается, то возвращает 0. библиотека <stdio.h> int sprintf(char Преобразует значения *buffer, const char переменных описанных в *format [,argument] в строку [,argument]); *buffer, формат преобразования описан параметром *format (см. printf). библиотека <string.h> int strcmp(const Сравнивает строку *string1 char *string1, const со строкой *string2, char *string2); возвращает: 0, если *string1=*string2; <0, если *string1<*string2; >0, если *string1>*string2. char *strstr(const Ищет вхождение подстроки char *string, const *strCharSet в строке char *strCharSet); *string, если вхождение найдено, то возвращает указатель на первый символ вхождения в строке *string, если нет, то NULL. Если 10
*strCharSet имеет нулевую длину, то возвращается указатель на начало строки *string. int strlen(const Возвращает длину строки char *string); *string. char *strcpy(char Возвращает результат *strDestination, копирования строки const char *strSource в строку *strSource); *strDestination, результат также возвращается в переменную *strDestination. char *strcat(char Возвращает результат *strDestination, копирования строки const char *strSource в конец строки *strSource); *strDestination, результат также возвращается в переменную *strDestination. библиотека <windows.h> BOOL Выполняет перекодировку CharToOem(LPCTSTR текста lpszSrc из кодировки lpszSrc, LPSTR CP – 1251 в кодировку CP – lpszDst); 866, результат помещается в lpszDst. Пример некоторых функций для выполнения лабораторной работы:
Функция для вывода русского шрифта на экран в консольном режиме: 11
void Con(char *m){ char k[100]; CharToOem(m, k); printf(k); };
Функция для работы с файлом помощи:
void FiHe(){ вывод справки на экран из файла FILE *fhelp; fhelp = fopen("Help.txt", "r"); открытие файла для чтения if (fhelp == NULL){ Con("Файл справки \"help.txt\" найден!\a\n"); return; } while (!feof(fhelp)) вывод информации из файла printf("%c", getc(fhelp)); }
// // не
//
Фрагмент функции main():
... for (int i = 1; i < argc; i++){ // считывание параметров из коммандной строки switch (tolower(argv[i][0])){ // считывание параметра приведенного к нижнему регистру case 'a': // считывание параметра a argv[i] += 2; 12
if (atof(argv[i])!=0) {Nx = atof(argv[i]); break;} else {Con("Ошибка ввода! Введите число!\n\a"); return;} ... Варианты заданий: Функция: № Функция F(x) № Функция F(x) 1. 26 Ln( 1 x ) x Sin( x ) x e e x x 2. xx e - x 27 t g ( x ) x e x 3. 28 arcTg ( x ) x x x2 e x e x 5 - x/Sin(x) 3 - Sin(x) 4. x e 29 x e 5.
x6.5 e - Cos(x)
30
10 1-x
6.
31
1 x Lg( 1 x ) x
8.
( 1 x )( 1 x 2 ) 1 x 5 Ln( 1 x ) Sin2 ( x ) x x2 5 x Sin(x) (1-x) e
9.
Cos(3 arcCos(x))
34 Sin(2 arcSin(x))
7.
Ln( 1 x ) x
32 xx e - x Lg (1+x) 33 Cos(2 arcCos(x))
10. Sin(3 arcSin(x) )
35 tg(2 arctg(x))
11. tg (3 arctg(x) )
36 10 Ln (1+x) Sin(x)
13
12.
37 xR/(R-1) , R=(1+x)2
2 e1 x ln( 1 x 2 )
38 x3 / (1-Cos3x)
13. xR/(R-1) , R=(1+x)3 14.
Cos( x )
15.
Sin( x ) x e ( 1+x3) x
39
( 2x )
Sin( x ) x e ( 1+x2) x
Cos( x 2 ) 1 x 41 x Ln(x) e - x
40
1e x Sin( x ) 17. x2 Ln(x) e - x 16.
42 x Lg(x) 10 - x
18. x2 Lg(x) 10 - x
arcSin( x ) x e x 44 xx Ln(x) e - x
43
Sin( x ) x e ( 1+xx) x 20. arcSin( x ) x e Ln(2+x) x -x 21. arcSin ( x ) L n( 1 x ) 17 (1-e ) /2 Sin(x) -- x 42 x Ln(x) e 0 2 22. Ln2x - Cos(x-1) 2 2
19.
Cos( x ) L n( x ) x x 1 2 46 Cos(Ln(1+x)) ex 45
47 Cos(arcTg(x)) ex
23. Sin(Ln(1+x)/x) ex 2 -x 2.5 x/2 24. 18 (x -x+1)e -x 0 2 43 x Lg(x) 10 0 1 25. (x1.5-x+1)ex Sin (x/2) Ln(x) x e
( x3- x Cos 2 x + 1) ex 5 xxx 4 0.5 Sin(x) e 49 (x -x +1) 48
50
e x e x arcSin 1 x 2
Параметры к вариантам: arcSin(x) -x Вариант 19 -x 2 0 2 44Параметры 1---------Начало конец диапазона, количество e 0диапазона, 1 Lg(x) 10 x x
14
2
3
4
точек. Начало диапазона, конец диапазона, шаг (при выходе последней точки за конец диапазон точка не выводится в таблицу). Начало диапазона, конец диапазона, шаг (при выходе последней точки за конец диапазон точка выводится в таблицу). Начало диапазона, количество точек, шаг.
Работа выполняется студентом самостоятельно. По окончании выполнения для защиты работы студент готовит отчет о проделанной работе, содержащий описание работы и листинг программного кода. КОНТРОЛЬНЫЕ ВОПРОСЫ 1. Что такое область действия переменных? 2. Что такое область видимости переменных? 3. Объясните понятие: оператор расширения области видимости. 4. Что такое классы памяти? 5. Какие бывают виды операций? 6. Объясните понятие L-значения. 7. Что такое указатель. 8. Операция взятия адреса. 9. Операция разадресации. 10. Методика сложения и вычитания указателя с константой. 11. Методика разности двух указателей. 12. Что такое ссылка? 13. Что такое одномерный массив? 14. Что такое многомерный массив? 15. Объясните понятие С-строка. 16. Передача параметров по значению. 15
17. Передача параметров по адресу. 18. Передача параметров по ссылке. 19. Параметр со значением по умолчанию. 20. Передача массивов в качестве параметров. 21. Описание функции main(). 22. Описание функции с переменным числом параметров. 23. Методика перезагрузки функций. 24. Ввод/вывод информации. 25. Переименование типов. 26. Что такое перечисление? 27. Что такое структуры? 28. Что такое объединения? 29. Работа с динамической памятью. 30. Директивы предпроцессора. ЯЗЫК ПРОГРАММИРОВАНИЯ C++: ПРАКТИЧЕСКИЕ ЗАДАНИЯ Цель работы: Приобретение студентами практических навыков создания консольных программ в среде Visual Studio .NET C++, используя объектно-ориентированную парадигму языка C++.
Требования в программам: Консольное приложение. Ввод исходных данных пользователем. Форматированный вывод результата работы программы.
Практикум: 1. Описать класс двухмерного квадратного массива целых чисел (максимальный размер 100 на 100 16
элементов). В классе реализовать конструктор, создающий объект класса по размеру стороны квадрата и заполняющий элементы массива нулями, перезагрузить операцию вывода в поток, и описать метод подсчитывающий количество положительных элементов массива, лежащих ниже главной диагонали. Написать демонстрационную программу для этого класса. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 2. Построить описание класса, содержащего информацию о почтовом адресе организации. Предусмотреть возможность раздельного изменения составных частей адреса, создания и уничтожения объектов этого класса. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 3. Построить систему классов для описания плоских геометрических фигур: круг, квадрат, прямоугольник. Предусмотреть методы для создания объектов, перемещения на плоскости, изменения размеров и вращения на заданный угол. Написать программу, демонстрирующую работу с этими классами. Программа, должна содержать меню, позволяющее осуществить проверку всех методов классов. 4. Составить описание класса для определения одномерных массивов целых чисел (векторов). Предусмотреть возможность обращения к отдельному элементу массива с контролем выхода за пределы массива, возможность задания произвольных границ 17
индексов при создании объекта и выполнения операций поэлементного сложения и вычитания массивов с одинаковыми границами индексов, умножения и деления всех элементов массива на скаляр, вывода на экран элемента массива по заданному индексу и всего массива. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 5. Составить описание класса для определения одномерных массивов строк фиксированной длины. Предусмотреть контроль выхода за пределы массива, возможность обращения к отдельным строкам массива по индексам, выполнения операций поэлементного сцепления двух массивов с образованием нового массива, слияния двух массивов с исключением повторяющихся элементов, а также вывод на экран элемента массива по заданному индексу и всего массива. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 6. Написать класс для эффективной работы со строками, позволяющий форматировать и сравнивать строки, хранить в строках числовые значения и извлекать их. Для этого необходимо реализовать: перегруженные операторы присваивания и конкатенации; операции сравнения и приведения типов; преобразование в число любого типа; форматный вывод строки. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, 18
позволяющее осуществить проверку всех методов класса. 7. Описать класс «домашняя библиотека». Предусмотреть возможность работы с произвольным числом книг, поиска книги по какому-либо признаку (например, по автору или по году издания), добавления книг в библиотеку, удаления книг из нее, сортировки книг по разным полям. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 8. Описать класс «записная книжка». Предусмотреть возможность работы с произвольным числом записей, поиска записи по какому-либо признаку (например,по фамилии, дате рождения или номеру телефона), добавления и удаления записей, сортировки по разным полям. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. 9. Описать класс «студенческая группа». Предусмотреть возможность работы с переменным числом студентов, поиска студента по какому-либо признаку (например, но фамилии, дате рождения или номеру телефона), добавления и удаления записей, сортировки по разным полям. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса.
19
10. Создать класс CPoint — точка. На его основе создать классы CcoloredPoint и CLine. На основе класса CLine создать класс CColoredLine и класс CPolyLine — многоугольник. Все классы должны иметь методы для установки и получения значений всех координат, а также изменения цвета и получения текущего цвета. Написать демонстрационную программу, в которой будет использоваться список объектов этих классов в динамической памяти. 11. Создать абстрактный класс CVehicle. На его основе реализовать классы CPlane, ССаr и CShip. Классы должны иметь возможность задавать и получать координаты, параметры средств передвижения (цена, скорость, год выпуска). Для самолета должна быть определена высота, для самолета и корабля — количество пассажиров. Для корабля — порт приписки. Написать программу, создающую список объектов этих классов в динамической памяти. Программа должна содержать меню, позволяющее осуществить проверку всех методов классов. ЯЗЫК ПРОГРАММИРОВАНИЯ C++: ЛАБОРАТОРНАЯ РАБОТА №2 Тема: Реализация методов ООП средствами Visual Studio .NET C++ на примере программы «Класс Матрица» Цель работы: описать класс «Матрица», инкапсулирующий в себе данные матрицы и операций для работы с ними. Создать демонстрационную программу в среде Visual Studio .NET C++, позволяющую на выбор пользователя выполнять арифметическое действие. Требования к программе: 20
Обязательное наличие в классе: конструктора по умолчанию; перегруженной операции «<<», выводящей данные на экран в матричной форме; функции-члена возвращающей размер матрицы. Рекомендации: При реализации класса возможно использование обычных массивов, к примеру, размером 100 на 100 элементов. Возможна перегрузка других операций, если это необходимо для реализации программы. Для вывода информации на экран, необходимо разработать интерактивное меню. Варианты заданий: Перегруженная Вариант операция 1. *
2.
+
3.
-
Дополнительный конструктор Создает матрицу заданного размера, заполненную указанным числом. Создает матрицу заданного размера, заполненную нулями. Создает матрицу заданного размера, заполненную нулями.
Работа выполняется студентом самостоятельно. По окончании выполнения для защиты работы студент готовит отчет о проделанной работе, содержащий описание работы и листинг программного кода.
21
ЯЗЫК ПРОГРАММИРОВАНИЯ C++: ЛАБОРАТОРНАЯ РАБОТА 3 Тема: Реализация методов ООП средствами Visual Studio .NET C++ на примере программы «Класс Строка» Цель работы: описать класс «Строка», инкапсулирующий в себе данные строки и операций для работы с ними. Создать демонстрационную программу в среде Visual Studio .NET C++ Требования к программе: Описать базовый класс СТРОКА. Обязательные поля класса: указатель на char - хранит адрес динамически выделенной памяти для размещения символов строки; значение типа int - хранит длину строки в байтах. Обязательные методы: конструктор без параметров; конструктор, принимающий в качестве параметра Сстроку (заканчивается нулевым байтом); конструктор, принимающий в качестве параметра символ; конструктор копирования; получение длины строки; очистка строки (сделать строку пустой); деструктор. Описать производный от СТРОКА класс СТРОКА_ИДЕНТИФИКАТОР: Строки данного класса строятся по правилам записи идентификаторов в языке С++ и могут включать в себя 22
только те символы, которые могут входить в состав Сидентификаторов. Если исходные данные противоречат правилам записи идентификатора, то создается пустая СТРОКА_ИДЕНТИФИКАТОР. Обязательные методы: конструктор без параметров; конструктор, принимающий в качестве параметра Сстроку (заканчивается нулевым байтом); конструктор, принимающий в качестве параметра символ; конструктор копирования; перевод всех символов строки в верхний регистр; перевод всех символов строки в нижний регистр; поиск первого вхождения символа в строку; деструктор. Переопределить следующие операции: присваивание (=); сложение (+) - операция конкатенации строк; вычитание (-) - из строки (первый операнд) удаляются все символы, входящие в строку - второй операнд, при этом может получиться пустая строка; операция (<) - проверка на больше. Строка считается больше другой, если код символа первой строки в i-й позиции (i изменяется от 0 до n-1, где n — длина более короткой строки) больше кода символа в той же позиции во второй строке, длины строк могут не совпадать; операция (<) - проверка на меньше. Строка считается меньше другой, если код символа первой строки в i-й позиции (i изменяется от 0 до n-1, где n — длина более короткой строки) меньше кода символа в той же 23
позиции во второй строке, длины строк могут не совпадать. Разработчик вправе вводить любое (с обоснованием необходимости) число дополнительных полей и методов. Написать тестовую программу, которая: динамически выделяет массив указателей на базовый класс; в режиме диалога заполняет этот массив указателями на производные классы, при этом экземпляры производных классов создаются динамически с заданием начальных значений; для созданных экземпляров производных классов выполняет проверку всех разработанных методов с выводом исходных данных и результатов на дисплей. Для конструкторов копирования каждого класса предусмотреть диагностическую печать количества его вызовов в определенное место дисплея (рекомендуется использовать статические члены класса). Режим диалога обеспечивается с помощью иерархического меню. Работа выполняется студентом самостоятельно. По окончании выполнения для защиты работы студент готовит отчет о проделанной работе, содержащий описание работы и листинг программного кода.
24
КОНТРОЛЬНЫЕ ВОПРОСЫ 1. Что такое класс? 2. Что такое объект? 3. Объясние понятие полиморфизма. 4. Объясние понятие инкапсуляции. 5. Объясние понятие наследования. 6. Что такое метод? 7. Статический метод. 8. Что такое поле? 9. Статическое поле. 10. Что такое функция-член класса? 11. Что такое переменная-член класс? 12. Что такое спецификаторы доступа класса? 13. Что такое конструктор? 14. Что такое конструктор по умолчанию? 15. Что такое конструктор копирования? 16. Что такое конструктор преобразования? 17. Что такое деструктор? 18. Дружественные функции. 19. Дружественные классы. 20. Указатель this. 21. Перезагрузка операций. 22. Простое наследование. 23. Уровни доступа производного класса. 24. Что такое виртуальные методы? 25. Механизм позднего связывания. 26. Что такое абстрактные классы? 27. Множественное наследование. 28. Виртуальное наследование. 29. Обработка исключений. 30. Контролируемый блок. 31. Обработчик исключений. 25
Составитель: Николай Викторович НЕСОЛЕНОВ Рецензент: Александр Григорьевич ПИМОНОВ
ЛАБОРАТОРНЫЙ ПРАКТИКУМ. ЯЗЫК ПРОГРАММИРОВАНИЯ С/C++. КОНСОЛЬНЫЕ ПРИЛОЖЕНИЯ.
Методическое пособие для студентов специальности 080801 «Прикладная информатика в экономике»
Сверстано в филиале ГУ КузГТУ в г. Прокопьевске 653033, ул. Ноградская, 19а Редактор: Е.В. Заболотникова Отпечатано в ОАО ―Новокузнецкий полиграфкомбинат‖ 654005, ул. Орджоникидзе, 11. Подписано в печать . Печать офсетная. Формат 60х84 1/16. Объем 1,6 п.л. Заказ . Тираж 50