Учебные материалы по математике | Лабораторные работы по программированию | Matematiku5
Вузы по математике Готовые работы по математике Как писать работы по математике Примеры решения задач по математике Решить задачу по математике online

Лабораторные работы по программированию


ЛАБОРАТОРНЫЕ РАБОТЫ

по курсу

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ

МАИ 2015

Содержание

Содержание…………………………………………………………………………………… 2

Введение………………………………………………………………………………………. 4

Отчетность………………………………………………………………………………………………………….. 4

Cреда разработки………………………………………………………………………………………………… 4

Методика сдачи лабораторных работ……………………………………………………………………… 4

Варианты лабораторных работ………………………………………………………….. 4

Варианты задания (структуры данных)……………………………………………………………………. 4

Варианты задания (фигуры)…………………………………………………………………………………… 5

Задания лабораторных работ……………………………………………………………. 6

Лабораторная работа №1……………………………………………………………………………………… 6

Цель работы……………………………………………………………………………………………………. 6

Задание…………………………………………………………………………………………………………… 6

Полезный пример……………………………………………………………………………………………… 6

Листинг файла Triangle. h…………………………………………………………………………………………………………. 6

Листинг файла Triangle. cpp……………………………………………………………………………………………………… 7

Листинг файла main. cpp………………………………………………………………………………………………………….. 8

Лабораторная работа №2……………………………………………………………………………………… 8

Цель работы……………………………………………………………………………………………………. 8

Задание…………………………………………………………………………………………………………… 9

Полезный пример……………………………………………………………………………………………… 9

Листинг Файла TStack. h…………………………………………………………………………………………………………… 9

Листинг Файла TStack. cpp……………………………………………………………………………………………………… 10

Листинг Файла TStackItem. h………………………………………………………………………………………………….. 10

Листинг Файла TStackItem. cpp………………………………………………………………………………………………. 11

Листинг Файла Triangle. h……………………………………………………………………………………………………….. 11

Листинг Файла Triangle. cpp……………………………………………………………………………………………………. 12

Лабораторная работа №3……………………………………………………………………………………. 13

Цель работы………………………………………………………………………………………………….. 13

Задание…………………………………………………………………………………………………………. 13

Полезный пример……………………………………………………………………………………………. 14

Лабораторная работа №4……………………………………………………………………………………. 17

Цель работы………………………………………………………………………………………………….. 17

Задание…………………………………………………………………………………………………………. 18

Полезный пример……………………………………………………………………………………………. 18

Лабораторная работа №5……………………………………………………………………………………. 22

Цель работы………………………………………………………………………………………………….. 22

Задание…………………………………………………………………………………………………………. 22

Полезный пример……………………………………………………………………………………………. 23

Лабораторная работа №6……………………………………………………………………………………. 28

Цель работы………………………………………………………………………………………………….. 28

Задание…………………………………………………………………………………………………………. 28

Полезный пример……………………………………………………………………………………………. 28

Лабораторная работа №7……………………………………………………………………………………. 36

Цель работы………………………………………………………………………………………………….. 36

Задание…………………………………………………………………………………………………………. 36

Полезный пример……………………………………………………………………………………………. 37

Лабораторная работа №8……………………………………………………………………………………. 48

Цель работы………………………………………………………………………………………………….. 48

Задание…………………………………………………………………………………………………………. 48

Полезный пример……………………………………………………………………………………………. 48

Лабораторная работа №8……………………………………………………………………………………. 56

Цель работы………………………………………………………………………………………………….. 56

Задание…………………………………………………………………………………………………………. 56

Полезный пример……………………………………………………………………………………………. 57

Введение

Практическая часть курса Объектно-ориентированное программирования состоит из 9 лабораторных работ на языке C++ (с поддержкой стандарта C++11):

Цель

1

·  Изучение базовых понятий ООП.

·  Знакомство с классами в C++.

·  Знакомство с перегрузкой операторов.

·  Знакомство с дружественными функциями.

·  Знакомство с операциями ввода-вывода из стандартных библиотек.

2

·  Закрепление навыков работы с классами.

·  Создание простых динамических структур данных.

·  Работа с объектами, передаваемыми «по значению».

3

·  Закрепление навыков работы с классами.

·  Знакомство с умными указателями.

4

·  Знакомство с шаблонами классов.

·  Построение шаблонов динамических структур данных.

5

·  Закрепление навыков работы с шаблонами классов.

·  Построение итераторов для динамических структур данных.

6

·  Закрепление навыков по работе с памятью в C++.

·  Создание аллокаторов памяти для динамических структур данных.

7

·  Создание сложных динамических структур данных.

·  Закрепление принципа OCP.

8

·  Знакомство с параллельным программированием в C++.

9

·  Знакомство с лямбда-выражениями.

Отчетность

Каждая лабораторная работа сопровождается отчетом, который содержит:

1.  Номер лабораторной работы (1-9)

2.  ФИО студента и номер группы.

3.  Номер варианта.

4.  Формулировку задания лабораторной работы.

5.  Описание структуры классов и алгоритма работы программы.

6.  Листинг программы.

Cреда разработки

Допускается использование следующих сред разработки/компиляторов:

·  Microsoft Visual Studio 2013 для MS Windows 7/8.1/10

·  X-Code (clang) для MacOS X 10.x

·  gcc для Linux (Ubunta).

Допускается использование других компиляторов C++ поддерживающих стандарт C++ 11.

Методика сдачи лабораторных работ

Приемка лабораторной работы состоит из двух частей:

1.  Очная демонстрация преподавателю (или лаборанту) работы программы на различных тестовых данных.

2.  Сдача письменного отчета о проделанной лабораторной работе.

Во время сдачи каждой из частей преподавателем могут задаваться вопросы о принципах работы программы и об особенности работы тех или иных конструкций языка C++.

Варианты лабораторных работ

Варианты задания (структуры данных)

Вариант

Контейнер 1-го уровня

Контейнер 2-го уровня

1. 

Массив

Массив

2. 

Массив

Связанный список

3. 

Массив

Бинарное — Дерево

4. 

Массив

N-Дерево

5. 

Массив

Очередь

6. 

Массив

Стек

7. 

Связанный список

Массив

8. 

Связанный список

Связанный список

9. 

Связанный список

Бинарное — Дерево

10. 

Связанный список

N-Дерево

11. 

Связанный список

Очередь

12. 

Связанный список

Стек

13. 

Бинарное — Дерево

Массив

14. 

Бинарное — Дерево

Связанный список

15. 

Бинарное — Дерево

Бинарное — Дерево

16. 

Бинарное — Дерево

N-Дерево

17. 

Бинарное — Дерево

Очередь

18. 

Бинарное — Дерево

Стек

19. 

N-Дерево

Массив

20. 

N-Дерево

Связанный список

21. 

N-Дерево

Бинарное — Дерево

22. 

N-Дерево

N-Дерево

23. 

N-Дерево

Очередь

24. 

N-Дерево

Стек

25. 

Очередь

Массив

26. 

Очередь

Связанный список

27. 

Очередь

Бинарное — Дерево

28. 

Очередь

N-Дерево

29. 

Очередь

Очередь

30. 

Очередь

Стек

31. 

Стек

Массив

32. 

Стек

Связанный список

33. 

Стек

Бинарное — Дерево

34. 

Стек

N-Дерево

35. 

Стек

Очередь

36. 

Стек

Стек

Варианты задания (фигуры)

Вариант

Фигура №1

Фигура №2

Фигура №3

1. 

Треугольник

Квадрат

Прямоугольник

2. 

Квадрат

Прямоугольник

Трапеция

3. 

Прямоугольник

Трапеция

Ромб

4. 

Трапеция

Ромб

5-угольник

5. 

Ромб

5-угольник

6-угольник

6. 

5-угольник

6-угольник

8-угольник

7. 

6-угольник

8-угольник

Треугольник

8. 

8-угольник

Треугольник

Квадрат

9. 

Треугольник

Квадрат

Прямоугольник

10. 

Квадрат

Прямоугольник

Трапеция

11. 

Прямоугольник

Трапеция

Ромб

12. 

Трапеция

Ромб

5-угольник

13. 

Ромб

5-угольник

6-угольник

14. 

5-угольник

6-угольник

8-угольник

15. 

6-угольник

8-угольник

Треугольник

16. 

8-угольник

Треугольник

Квадрат

17. 

Треугольник

Квадрат

Прямоугольник

18. 

Квадрат

Прямоугольник

Трапеция

19. 

Прямоугольник

Трапеция

Ромб

20. 

Трапеция

Ромб

5-угольник

21. 

Ромб

5-угольник

6-угольник

22. 

5-угольник

6-угольник

8-угольник

23. 

6-угольник

8-угольник

Треугольник

24. 

8-угольник

Треугольник

Квадрат

25. 

Треугольник

Квадрат

Прямоугольник

26. 

Квадрат

Прямоугольник

Трапеция

27. 

Прямоугольник

Трапеция

Ромб

28. 

Трапеция

Ромб

5-угольник

29. 

Ромб

5-угольник

6-угольник

30. 

5-угольник

6-угольник

8-угольник

31. 

6-угольник

8-угольник

Треугольник

32. 

8-угольник

Треугольник

Квадрат

33. 

Треугольник

Квадрат

Прямоугольник

34. 

Квадрат

Прямоугольник

Трапеция

35. 

Прямоугольник

Трапеция

Ромб

36. 

Трапеция

Ромб

5-угольник

Задания лабораторных работ

Лабораторная работа №1

Цель работы

Целью лабораторной работы является:

·  Программирование классов на языке С++

·  Управление памятью в языке С++

·  Изучение базовых понятий ООП.

·  Знакомство с классами в C++.

·  Знакомство с перегрузкой операторов.

·  Знакомство с дружественными функциями.

·  Знакомство с операциями ввода-вывода из стандартных библиотек.

Задание

Необходимо спроектировать и запрограммировать на языке C++ классы фигур, согласно вариантов задания.

Классы должны удовлетворять следующим правилам:

·  Должны иметь общий родительский класс Figure.

Наташа

Автор

Наташа — контент-маркетолог и блогер, но все это не мешает ей оставаться адекватным человеком. Верит во все цвета радуги и не верит в теорию всемирного заговора. Увлекается «нефрохиромантией» и тайно мечтает воссоздать дома Александрийскую библиотеку.

Распродажа дипломных

 Скидка 30% по промокоду Diplom2020