- •5В070300 «Информационные системы»
- •Введение
- •Содержание отчета
- •Лабораторная работа № 1
- •1 Порядок выполнения лабораторной работы:
- •Постановка задачи
- •Методические указания
- •2 . Пример
- •Лабораторная работа № 2
- •1 Содержание работы
- •1 Порядок выполнения лабораторной работы:
- •Задание
- •2. Пример
- •Лабораторная работа№ 3
- •1 Порядок выполнения лабораторной работы:
- •Задание
- •Часть вторая: Оператор выбора
- •1 Порядок выполнения лабораторной работы:
- •Задание
- •Группа а Таблица 7
- •Группа в
- •2. Примеры
- •Лабораторная работа№ 4
- •1 Порядок выполнения лабораторной работы:
- •Задание
- •2 Примеры
- •For (выражение1; выражение2;выражение3) {операторы; }
- •Лабораторная работа№ 5
- •1 Порядок выполнения лабораторной работы:
- •Задание
- •2. Примеры
- •3. Сортировка элементов массива
- •Сортировка выбором
- •3.2. Сортировка вставкой
- •3.3. Сортировка методом прямого выбора
- •3.4. Сортировка методом обмена
- •4. Указатели и одномерные массивы
- •Лаборатоная работа № 6
- •1 Порядок выполнения лабораторной работы:
- •2. Методические указания
- •3. Указатели и двумерные массивы
- •Лабораторная работа № 7
- •1 Порядок выполнения лабораторной работы:
- •Задание на строки
- •2.Краткие теоретические сведения
- •Лаборатоная работа № 8
- •1 Порядок выполнения лабораторной работы:
- •2. Теоретические сведения
- •Год рождения – 1978
- •Лабораторная работа № 9
- •1 Порядок выполнения лабораторной работы:
- •2. Примеры
- •Лабораторная работа № 10
- •1 Порядок выполнения лабораторной работы:
- •1.3. Задание для выполнения
- •2. Примеры
- •Лабораторная работа № 11
- •1 Порядок выполнения лабораторной работы:
- •1.3. Задание для выполнения
- •Лабораторная работа № 12
- •1 Порядок выполнения лабораторной работы:
- •2. Краткие теоретические сведения Объектно-ориентированный подход
- •Сущности и Объекты
- •Система типов
- •Инкапсуляция
- •Пример класса
- •Создание объектов. Конструкторы и деструктор
- •Наследование
- •Перегрузка функций
- •Полиморфизм
- •Функции-друзья
- •Абстрактные классы
- •Дополнительные возможности
- •Индивидуальные задания
- •2.1. Пример решения задания
- •Int windForce; // Сила ветра в баллах
- •Int startHeight; // Начальная высота
- •Int fuel; // Запас топлива
- •Результат выполнения программы:
- •Разновидности списков
- •Контрольные вопросы
- •Задание
- •Литература
- •Лабораторная работа № 9 Тема: Множества в Паскале.
- •Общие сведения
- •Лабораторная работа № 8 Тема: Применение записей в составлении программ.
- •Теоретические сведения
- •Задание
- •Контрольные вопросы.
- •Литература.
- •Список использованной литературы
Дополнительные возможности
Язык C++ является очень мощным языком с богатыми функциональными возможностями:
Перегрузка операций (использование обычных арифметичесих и других операций с объектами классов);
Шаблоны классов (мета-классы, которые позволяют создавать классы по заданному шаблону и указанному типу);
Работа с динамической памятью (операторы new и delete);
Потоки ввода-вывода (использование операторов << и >> для удобного вывода на экран, в файл или другой поток);
Метаданные (определение информации о типе объекта во время выполнения).
Индивидуальные задания
№ вар. |
Задание |
1 |
Предметная область: архитектура |
2 |
Предметная область: транспортные средства |
3 |
Работа с комплексными числами |
4 |
Работа с векторами |
5 |
Система графических примитивов |
6 |
Предметная область: транспортные средства |
7 |
Система классов ввода-вывода. |
8 |
Предметная область: зоологическая классификация |
9 |
Работа с числами большой размерности |
10 |
Система оконного интерфейса |
11 |
Работа с полиномами |
12 |
Предметная область: компьютерные составляющие |
13 |
Предметная область: геометрические фигуры |
14 |
Работа со стеком и очередью |
15 |
Предметная область: география |
16 |
Система графических примитивов |
17 |
Предметная область: зоологическая классификация |
18 |
Система классов ввода-вывода. |
19 |
Система оконного интерфейса |
20 |
Работа с числами большой размерности |
21 |
Предметная область: компьютерные составляющие |
22 |
Работа с полиномами |
23 |
Работа со стеком и очередью |
24 |
Работа с комплексными числами |
25 |
Предметная область: геометрические фигуры |
2.1. Пример решения задания
Предметная область: «Летательные Аппараты»
Пример реализации на языке C++:
//
// Летательные Аппараты (ЛА)
//
#include <conio.h>
#include <iostream.h>
#include <string.h>
// Перечисление, которое задает возможные состояния
// Летательного Аппарата - "на земле" и "в воздухе"
enum Flying { onGround = 0, inAir };
//
// Класс: Летательный Аппарат (или ЛА)
//
class FlyDevice
{
private:
char name[100]; // Имя летательного аппарата
protected:
Flying state; // Состояние
public:
// Конструктор ЛА по умлочанию - без параметров
FlyDevice() : state(onGround)
{
setName("Неопознанный Летающий Объект");
cout << "FlyDevice::FlyDevice\t " << getName() << endl;
}
// Конструктор ЛА с параметром - именем ЛА
FlyDevice(char *n)
{
state = onGround;
setName(n);
cout << "FlyDevice::FlyDevice\t " << getName() << endl;
}
// Деструктор ЛА
virtual ~FlyDevice()
{
cout << "FlyDevice::~FlyDevice\t " << getName() << endl;
}
// Два метода, которые осуществляют доступ к закрытой переменной name
// Модификатор const говорит о том что переменная не должна изменяться
virtual void setName(const char *n) { strcpy(name, n); }
virtual char* getName() { return name; }
// Виртуальный метод - "летать" мозжет быть перекрыт в классах-потомках
virtual void fly()
{
state = inAir;
cout << "FlyDevice::fly\t\t " << getName()
<< " в воздухе!" << endl;
};
};
//
// Класс: Планер - безмоторный ЛА.
// Планер поднимается другим самолетом на определенную высоту
// и далее парит в восходящих воздушных потоках
//
class Glider : public FlyDevice
{
protected:
