
- •Лабораторная работа 1
- •Теоретические сведения
- •Ход работы
- •Задание
- •Контрольные вопросы
- •Література
- •Лабораторная работа 2
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 3
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 4
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 5
- •Теоретические сведения
- •Основные библиотечные математические функции c
- •Основные стандартные функции и макросы c (из библиотеки stdlib.H)
- •Основные библиотечные функции c для работы с символами
- •Основные библиотечные функции c для работы с символьными массивами
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 6
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 7
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 8
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 9
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 10
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 11
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 12
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 13
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 14
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 15
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
- •Лабораторная работа 16
- •Теоретические сведения
- •Ход работы
- •Контрольные вопросы
- •Література
Контрольные вопросы
Чем отличаются прототип функции и определение функции?
Должны ли совпадать имена параметров в прототипе, определениии вызове функции?
Как объявить функцию, если она не должна возвращать значение?
Если вы на объявите тип возврата, какой тип будет принят по умолчанию?
Сколько операторов return может быть в функции?
Что такое локальная переменная?
Что такое область видимости?
Почему бы не сделать все переменные глобальными?
Что такое параметры по умолчанию?
Что такое перегрузка (полиморфизм) функций?
Для чего применяются inline – функции?
Что такое рекурсия?
Какие два типа передачи параметров в функции применяются в информатике? Какая между ними разница?
Какие виды оперативной памяти необходимо различать прикладному программисту?
Что такое стек и стековая память?
Как работают функции?
Література
Джесс Либерти. Освой самостоятельно С++. 3 и-е. М.: Вильямс. – 2000.
Г. Шилдт. Полный справочник по С++. 4 и-е. – М.: Вильямс. – 2003.
Т.А. Павловская. С/С++. Программирование на языке высокого уровня. ПИТЕР-2002
С.В. Глушаков. Практикум по С++. ФОЛИО – 2006
Х. Дейтел, П. Дейтел. Как программировать на С++.
Ю.Л. Кетков. Введение в языки программирования C и C++ http://www.intuit.ru/department/pl/ccpp/
А.Л. Фридман. Язык программирования C++ http://www.intuit.ru/department/pl/cpp/
Лабораторная работа 6
Тема: Классы и объекты
Цель:
Теоретические сведения
См. лекция №6
Ход работы
Напишите код для объявления класса “Студент” с такими открытыми членами-данными: возраст, пол, стипендия.
Напишите программу, в которой создаются два объекта типа “Студент”. Установите их возраст, пол и стипендию. Распечатайте значения членов-данных объектов на экране.
Разработайте методы класса, позволяющие выполнять ввод/вывод всех членов-данных класса “Студент” и проверьте их в главной программе.
Напишите несколько конструкторов и деструктор для класса “Студент”.
Измените код для объявления класса “Студент”, закрыв в нем члены-данные.
Напишите методы доступа к полям класса “Студент”.
Напишите программу, в которой создаются два объекта типа “Студент”. Установите их возраст, пол и стипендию с помощью методов доступа. Распечатайте значения отдельных членов-данных объектов на экране, используя методы доступа. Определите и распечатайте средний возраст и суммарную стипендию этих двух студентов.
*** Напишите объявление и реализацию закрытого класса для работы с датой, состоящей их трех целых чисел : день, месяц, год. Включите в состав класса конструкторы, деструктор, методы доступа, логические методы для проверки частей даты и определения високосного года, распечатки даты в нескольких форматах (“дд.мм.гг”, “дд/мм/гггг”, “mmm-dd-yyyy”). Протестируйте этот класс.
Контрольные вопросы
Для чего создают новые типы данных? Что такое класс?
Для чего предназначены данные-члены класса?
Какую роль играют функции-члены класса?
Как объявить класс?
Какие существуют соглашение о именах данных-членов?
Что такое объект? Как создать объект?
Когда происходит выделение памяти – при объявлении класса или создании объекта?
Что такое оператор точка и как он используется при работе с объектами?
Для чего в объявлении класс используются ключевые слова private и public?
Какой уровень доступа по умолчанию?
Может ли один класс включать в себя другой класс как член-данное?
Каков размер у объектов класса? Как его определить?
Для чего в объявлении класс используются ключевые слова private и public?
Какой уровень доступа в классах по умолчанию?
Как получить доступ к приватным членам-данным?
Могут ли функции-члены быть приватными? Могут ли данные члены быть открытыми?
Какие существуют способы записи реализации методов класса? Их синтаксис и особенности?
Для чего в объявлении метода класса может использоваться ключевое слово const?
Почему методы типа set не могут быть константными?
Для чего методы типа get рекомендуют делать константными?
Для чего предназначены конструкторы и деструкторы? Как их объявить? Как их вызвать?
Сколько в классе может быть конструкторов? Деструкторов?
Обязательно ли объявлять конструктор и деструктор?
Сколько параметров может принимать конструктор? Деструктор?
Создаст ли компилятор конструктор по умолчанию, если в классе есть другие конструкторы?
Могут ли конструктор и деструктор возвращать результаты оператором return?
Какой оператор можно использовать в конструкторах вместо return?
Как создать новый объект - копию существующего объекта?
Можно ли одному объекту присвоить значение другого?
Можно ли выполнять сложение (вычитание, инкрементирование, сравнение) объектов?