rpd000002003 (1009953), страница 2
Текст из файла (страница 2)
Тематика: Разработка классов и объектов для решения широкого круга прикладных задач
Трудоемкость(СРС): 18
Прикрепленные файлы:
Типовые варианты:
-Разработать классы и создать объекты для реализации операций матричной алгебры: создание матриц, сложение, вычитание, умножение и деление матриц, умножение матрицы на число, транспонирование матриц, нахождение определителей, треков и обратных матриц.
-Разработать классы и создать объекты для реализации операций с комплексными числами: создание, сложение, вычитание, умножение, деление комплексных чисел в алгебраической и тригонометрической формах, возведение в степень, извлечение корня и логарифмирование комплексного числа.
-Разработать классы и создать объекты для вероятностного анализа входного массива чисел (нахождение моментов 1-го и 2-го порядков и других статист. характеристик).
-Разработать классы и создать объекты для гармонического анализа входного одномерного массива вещественных чисел.
-Разработать классы и создать объекты для моделирования генератора случайных чисел.
-Разработать классы и создать объекты для реализации операций векторной алгебры: создание, сложение, вычитание векторов, скалярное и векторное умножение векторов, умножение вектора на число и нахождение модуля вектора и направляющих косинусов.
-Разработать класс «Стек» и создать объекты, реализующие операции со стеком.
-Разработать класс «Мультиграф» и создать объекты для работы с мультиграфами.
-Разработать классы и создать объекты для анализа массива вещественных чисел с помощью дискретного преобразования Хартли.
-Разработать класс «Троичное дерево» и создать объекты, реализующие операции с троичными деревьями.
-Разработать классы и создать объекты для реализации прямого и обратного дискретного функционального преобразования входного двумерного массива.
-Разработать класс «Квадро-дерево» и создать объекты, реализующие операции с такими деревьями.
-Разработать классы и создать объекты для реализации игры «Биллиард».
-Разработать класс «Тензор» и создать объекты для реализации операций тензорной алгебры.
-Разработать класс «Граф» и создать объекты, реализующие операции с графами.
-Разработать класс «Список» и создать объекты, реализующие операции со списками.
-Разработать класс «Двоичное дерево» и создать объекты для реализации операций с двоичными деревьями.
-Разработать класс «Орграф» и создать объекты, реализующие операции с орграфами.
-
Рубежный контроль
-
Промежуточная аттестация
1. Экзамен
Прикрепленные файлы:
Вопросы для подготовки к экзамену/зачету:
1.1. Объект и объектно-ориентированная парадигма в программировании.
2.2. Класс (class) - объектный тип данных (object).
3.3. Инкапсуляция в объектно-ориентированном программировании.
4.4. Поля данных в ООП («свойства» в Visual Basic).
5.5. Методы в различных языках ООП (функции – члены класса в C++).
6.6. Открытые (public) и закрытые (private) компоненты классов.
7.7. Гибридные и чистые языки объектно-ориентированного программирования.
8.8. Разделение на объявление класса и определение методов класса.
9.9. Конструкторы в объектно-ориентированном программировании.
10.10. Методы-акцессоры (accessor) в различных языках ООП.
11.11. Псевдопеременные self, указатели this и ссылки this в языках ООП.
12.12. Полиморфизм методов в ООП.
13.13. Наследование классов. Достоинства и недостатки inherited.
14.14. Защищённые (protected) компоненты классов.
15.15. Множественное наследование классов в ООП.
16.16. Переопределение (override) методов.
17.17. Виртуальные функции (virtual) и виртуальные классы.
18.18. Абстрактные методы (чисто виртуальные функции) и абстрактные классы в ООП (abstract).
19.19. Создание и использование полиморфных объектов в ООП.
20.20. Интерфейсы (interface) в объектно-ориентированных языках.
21.21. Множественное наследование интерфейсов.
22.22. Композиция классов и объектов. Применение конструкторов по-умолчанию.
23.23. Статические (static) компоненты классов.
24.24. Указатели и ссылки в объектно-ориентированных языках.
25.25. Синтаксическая конструкция new и динамические объекты в ООП. Выделение памяти в стеке и в «куче».
26.26. Удаление динамических объектов, деструкторы и автоматическая сборка «мусора».
27.27. Дружественные (friend) функции и дружественные классы. Перегрузка операций в С++.
28.28. Свойства (property) в Delphi и в C#. Новые способы доступа.
29.29. Делегаты и события в ООП.
30.30. Интегрированные среды программирования, основанные на объектно-ориентированной парадигме.
31.31. Особенности реализации ООП в различных языках программирования.
-
УЧЕБНО-МЕТОДИЧЕСКОЕ И ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ
а)основная литература:
1. Новиков П.В. Объектно-ориентированное программирование. Учебное пособие. – М.:
Издательство МАИ, 2007. - 48 с.
2. Березин Б.И., Березин С.Б. Начальный курс С и С++. Учебно-справочное пособие. – М.:
Диалог-МИФИ, 2008.
3. Шилдт Г. Самоучитель С++. – СПб, БХВ-Петербург, 2006.
б)дополнительная литература:
1. Бадд Т. Объектно-ориентированное программирование в действии. – СПб.:Питер, 1997 - 464с.
2. Шамис В.А. Borland C++ Builder. Программирование на С++ без проблем.– М.:«Нолидж»,1997.
- 256с.
3. Намиот Д.Е. Язык программирования Turbo C++. Учебное пособие. – М.: Издательство МГУ,
1991.
4. Фэйсон Т. Объектно-ориентированное программирование на Borland C++ 4.5. -
К.:"Диалектика", 1996. - 544 с.
5. Павловская Т.А. С/С++. Программирование на языке высокого уровня. Учебник для вузов.
- СПб.: Питер, 2001.
6. С/С++. Структурное программирование. Практикум/Т.А.Павловская, Ю.А.Щупак. - СПб.:
Питер,2007. - 239 с.
7. Культин Н.Б. Delphi 6. Программирование на Object Pascal.– СПб.:БХВ-Петербург,2002- 528с.
8. Головачёв А.Г., Максимов В.В. Практикум по объектно-ориентированному
программированию на ПЭВМ. Учебное пособие – М.: Издательство МАИ, 1994. - 47 с.
9. Епанешников А.М., Епанешников В.А. Программирование в среде Turbo Pascal 7.0.
Учебно-справочное пособие. – М.: ДИАЛОГ-МИФИ, 1996. - 288с.
10. Тихонов К.М. Операторы языка программирования Object Pascal. Учебное пособие по
курсу «Информатика». – М.: Издательство МАИ, 2000. – 46 с.
11. Фёдоров А.В. Программирование задач моделирования и оптимизации на языке Object Pascal.
Учебное пособие. – М.: Издательство МАИ, 2001. – 111 с.
12. Павловская Т.А. C#. Программирование на языке высокого уровня. Учебник для вузов. -
СПб.:Питер, 2007. - 432с.
13. Шилдт Г. Полный справочник по С#. – М.: ООО «И.Д.Вильямс», 2006.
14. Гослинг Д., Арнольд К. Язык программирования Java. – СПб.: Питер, 1997. - 304 с.
15. Эфферган М. Java: справочник. – СПб.: Питер, 1998. - 448 с.
16. Браун С. Visual Basic 6: учебный курс. – СПб.: Питер, 2002. - 576с.
17. Кетков Ю.Л., Кетков А.Ю. Практика программирования: Visual Basic, C++ Builder, Delphi.
- СПб.: БХВ-Петербург, 2002. - 464 с.
18. Шапошников И.В. PHP 5.1. Учебный курс. - СПб.:Питер, 2007. - 192 с.
19. Гутман Э., Бакен С., Ретанс Д. PHP 5. Профессиональное программирование. - СПб.:
Символ-Плюс, 2006. - 704 с.
20. Адаменко А.Н., Кучуков А.М. Логическое программирование и Visual Prolog. – СПб.:
БХВ-Петербург, 2003. - 992с.
21. Keen S.E. Object-Oriented Programming in Common Lisp. – NY: Addison-Wesley, 1989.
в)программное обеспечение, Интернет-ресурсы, электронные библиотечные системы:
Программные продукты Turbo Pascal, Borland C++, Common Lisp, Visual Prolog и CLIPS.
-
МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ
Три компьютерных класса каф. 304
Приложение 1
к рабочей программе дисциплины
«Объектно-ориентированное программирование »
Аннотация рабочей программы
Дисциплина Объектно-ориентированное программирование является частью Профессионального цикла дисциплин подготовки студентов по направлению подготовки Информатика и вычислительная техника. Дисциплина реализуется на 3 факультете «Московского авиационного института (национального исследовательского университета)» кафедрой (кафедрами) 304.
Дисциплина нацелена на формирование следующих компетенций: ОК-10 ,ОК-12 ,ОК-13 ,ПК-3 ,ПК-4 ,ПК-5 ,ПК-11.
Содержание дисциплины охватывает круг вопросов, связанных с: проблематикой и использования алгоритмических языков, поддерживающих объектно-ориентированный подход, с освещением теоретических и организационно-методических вопросов построения и функционирования объектно-ориентированных программ.
Преподавание дисциплины предусматривает следующие формы организации учебного процесса: Лекция, мастер-класс, Лабораторная работа.
Программой дисциплины предусмотрены следующие виды контроля: промежуточная аттестация в форме Экзамен.
Общая трудоемкость освоения дисциплины составляет 4 зачетных единиц, 144 часов. Программой дисциплины предусмотрены лекционные (36 часов), практические (0 часов), лабораторные (32 часов) занятия и (49 часов) самостоятельной работы студента. Дисциплина «объектно-ориентированное программирование» является частью профессионального цикла дисциплин подготовки студентов по направлению подготовки 230100 «Информатика и вычислительная техника». Дисциплина реализуется на 3-м факультете МАИ кафедрой 304.
Дисциплина нацелена на формирование общекультурных компетенций ОК1, ОК-3, ОК-10, ОК-11, ОК-12, профессиональных компетенций ПК-2, ПК-4 - ПК-6, ПСК-10 выпускника.
Преподавание дисциплины предусматривает следующие формы организации учебного процесса: лекции, лабораторные работы, самостоятельную работу студентов.
Программой дисциплины предусмотрены следующие виды контроля: текущий контроль успеваемости в форме выполнения лабораторных работ; защита лабораторных работ; отдельно оцениваются личностные качества:
качества студента (аккуратность, исполнительность, инициативность) – работа у доски, отчеты к лабораторным работам; защита лабораторных работ и промежуточный контроль в форме зачёта.
Общая трудоемкость освоения дисциплины составляет 4 зачетные единицы, 144 часа. Программой дисциплины предусмотрены лекционные 34 часа, лабораторные 34 часа занятий и 49 часов самостоятельной работы студента.
Приложение 2
к рабочей программе дисциплины
«Объектно-ориентированное программирование »
Cодержание учебных занятий
-
Лекции
1.1.1. Введение. Новая парадигма программирования(АЗ: 2, СРС: 1)
Тип лекции: Информационная лекция
Форма организации: Лекция, мастер-класс
1.1.2. Объект как совокупность данных и набора операций(АЗ: 2, СРС: 1)
Тип лекции: Лекция с разбором конкретной ситуации
Форма организации: Лекция, мастер-класс
1.2.3. Разработка классов и создание объектов на С++, Object Pascal, Java, C#(АЗ: 2, СРС: 1)
Тип лекции: Лекция с разбором конкретной ситуации
Форма организации: Лекция, мастер-класс
1.2.4. Разработка классов и создание объектов Common Lisp, CLIPS, Visual Basic, PHP 5.1, Visual Prolog, Java Script(АЗ: 2, СРС: 1)
Тип лекции: Лекция с разбором конкретной ситуации
Форма организации: Лекция, мастер-класс
1.3.5. Конструкторы классов и методы-акцессоры(АЗ: 2, СРС: 1)
Тип лекции: Информационная лекция
Форма организации: Лекция, мастер-класс
1.4.6. Наследование классов(АЗ: 2, СРС: 1)
Тип лекции: Лекция с разбором конкретной ситуации