Таким образом, объектно-ориентированное программирование поддерживает качественно новый уровень совместной структуризации данных и процедур их обработки.

Лекция №3 Теоретические основы объектно-ориентированного программирования.

Контрольные вопросы:

1. Композиция. Наполнение.

2. Метаклассы.

3. Контейнерные классы.

4. Механизм исключений.

Многие объектно-ориентированные языки имеют средства для объединения объектов в классы. Объекты, принадлежащие одному классу, называются примерами. Это позволяет хранить процедуры, в терминах объектно-ориентированного программирования методы, применяемые ко всем примерам класса в единственном экземпляре только соответствующего класса. Данный подход имеет очевидные преимущества: экономится память, так как код размещается только в одном месте, и обеспечивается модифицируемость программы. Ряд языков, включая SMALLTALK, C++, Turbo Pascal и Objective-C развивают это понятие за счет того, что классы размещаются в узлах дерева наследования (свойств). Таким образом, строится иерархия классов. При этом пример наследует свойство процедуры, метода своего класса, а так же всех суперклассов этого класса. Методы, определенные в классе корни дерева, наследуются всеми классами и их примерами. Наследование наряду с инкапсуляцией и полиморфизмом является свойством объектно-ориентированного программирования. Механизм наследования с древовидной структурой в определенной степени ограничен. Так как во многих случаях разделение свойств в соответствии со строгой иерархией не может быть достигнутой. Поэтому некоторые языки допускают классы, которые наследуют свойства более чем одного непосредственного суперкласса. В результате чего он становится направленным графом, а не деревом.

Лекция №4 Реализация объектно-ориентированного программирования в языке программирования.

Контрольные вопросы:

НЕ нашли? Не то? Что вы ищете?

1. Классификация языков программирования, поддерживающих объектную парадигму.

Заметим, что объектно-ориентированные языки находят применение главным образом при построении моделей, в том числе при создании языков представления знаний и реализации протоколов вычислительных сетей. Потенциальные возможности объектно-ориентированных языков гораздо шире. В настоящее время разработаны архитектуры ЭВМ для данной парадигмы. Этот стиль программирования характеризируется богатыми графическими возможностями и средой программирования, развитой модульной структуры программ, но при этом не высокой эффективностью реализации языков на непараллельных ЭВМ. Модульность упрощает разработку сложных программных продуктов, а также облегчает их комплексирование, модификацию и сопровождение. Интерес к объектно-ориентированному программированию в настоящее время быстро растет, что объясняется появлением систем программирования Turbo Pascal, Turbo C++, а также Borland C.

Лекция №5 Принцип событийного управления.

Контрольные вопросы:

1. Управление техническими средствами через API.

2. Динамические библиотеки.

3. Структура приложения Windows.

Лекция №6 Методы программирования сетевых приложений.

Контрольные вопросы:

1. Основные понятия и принципы визуальной системы программирования.

2. Библиотека визуальных компонентов.

3. Создание собственных компонентов.

Лекция №7 Методы программирования сетевых приложений.

Контрольные вопросы:

1. Создание встроенной справочной системы.

2. Программирование для Интернет.

ПРАКТИЧЕСКАЯ ЧАСТЬ

Контроль знаний студентов

Количество контрольных мероприятий:

3семестр:

Защита рефератов

Защита домашней самостоятельной работы

Итоговый контроль – экзамен

Вопросы для подготовки к зачету и экзамену

Вопросы для подготовки к экзамену:

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. Композиция.

26. Метаклассы.

27. Контейнерные классы.

28. Параметризованные классы.

29. Управление техническими средствами через API.

30. Выгоды и опасности объектно-ориетированной разработки

Вопросы для самостоятельной работы:

Тематика докладов

1) Системы Объектно-ориентированного, визуального программирования.

2) Динамические библиотеки.

Тематика рефератов:

1. История возникновения программирования

2. Классификация языков программирования, поддерживающих объектную парадигму.

3. Этапы разработки программного обеспечения.

4. Принцип событийного управления.

5. Технология объектно-ориентированного программирования.
6. Методы программирования сетевых приложений.

7. Достоинства и недостатки языков объектно-ориентированного программирования.

Перечень тематики индивидуальных, групповых, курсовых проектов и темы контрольных работ рабочей учебной программой не предусмотрено.

Самостоятельная работа1:

Линейные программы

Составить блок схему и программу для вычисления площади треугольника s=1/2a*h. Составить блок схему и программу для вычисления площади треугольника

s= a*b*c/4r

Составить блок схему и программу для вычисления площади треугольника

s= 1/2a*b*sin(x)

Составить блок схему и программу для вычисления площади треугольника

s=(p(p-a)(p-b)(p-c))2

Написать программу, определяющую максимальное значение переменных типа integer, real. Написать программу, которая меняет местами значения переменных a и b. Написать программу, которая в вещественном числе, введенном в режиме диалога, выделяет целую и дробную части. Написать программу вычисления площади треугольника, стороны которого a, b,c заданы. Написать программу вычисления длины отрезка заданного координатами его концов (x1,y1) и (x2,y2). Написать программу решения уравнения ax+b=0.

2.Условный оператор

1. Даны стороны треугольника a, b,c. Написать программу проверки, что каждая из

2. сторон треугольника больше нуля и вычислить полупериметр треугольника.

3. Даны стороны треугольника a, b,c. Написать программу проверки, что сумма любых двух сторон треугольника больше третьей.

4. Даны стороны треугольника a, b,c. Написать программу проверки является ли треугольник равносторонним.

5. Даны стороны треугольника a, b,c. Написать программу проверки является ли треугольник равнобедренным.

6. Даны стороны треугольника a, b,c. Написать программу проверки является ли треугольник прямоугольным.

7. Даны стороны четырехугольника a, b,c, d. Написать программу проверки является ли он прямоугольником.

8. Даны стороны четырехугольника a, b,c, d. Написать программу проверки является ли он параллелограммом.

9. Даны стороны четырехугольника a, b,c, d. Написать программу проверки является ли он ромбом.

10. Даны стороны четырехугольника a, b,c, d. Написать программу проверки является ли он трапецией.

3. Циклы

1. Написать программу вычисления y=sinX, где Х изменяется от 0 до 1 с шагом 0.1. Результат вывести в виде таблицы.

2. Написать программу вычисления y=cosX, где Х изменяется от 0 до 1 с шагом 0.1. Результат вывести в виде таблицы.

3. Написать программу вычисления y=sin2X, где Х изменяется от 0 до 1 с шагом 0.1. Результат вывести в виде таблицы.

4. Написать программу вычисления y=cos2X, где Х изменяется от 0 до 1 с шагом 0.1. Результат вывести в виде таблицы.

5. Написать программу вычисления y=ex, где Х изменяется от 0 до 1 с шагом 0.1. Результат вывести в виде таблицы

6. Даны n, x. Написать программу вычисления суммы ряда:

S= 1+;

7. Даны n, x. Написать программу вычисления суммы ряда:

S=

8. Даны n, x. Написать программу вычисления суммы ряда:

S=

9. Даны n, x. Написать программу вычисления суммы ряда:

S=

10. Даны n, x. Написать программу вычисления суммы ряда:

S=

4. Одномерный массив

1. Сформировать массив из 30 случайных целых чисел в диапазоне от –10 до 10. Упорядочить по убыванию данный массив и напечатать его.

2. Сформировать массив из 30 случайных целых чисел в диапазоне от –10 до 10. Упорядочить по возрастанию данный массив и напечатать его.

3. Сформировать массив из 30 случайных целых чисел в диапазоне от –10 до 10. Найти максимальный элемент и его номер.

4. Сформировать массив из 30 случайных целых чисел в диапазоне от –10 до 10. Найти минимальный элемент и его номер.

5. Дано число n. Сформировать массив из 30 случайных целых чисел в диапазоне от –10 до 10. Поменять местами последний элемент с элементом массива с номером n.

6. Сформировать массив из 30 случайных целых чисел в диапазоне от –10 до 10. Удалить элементы, равные нулю и напечатать полученный массив.

7. Сформировать массив из 20 случайных целых чисел в диапазоне от 0 до 10. Разделить все элементы массива на максимальный элемент и напечатать полученный массив.

8. Сформировать два массива по 10 случайных целых чисел в диапазоне от –10 до 10. Найти сумму элементов данных массивов и упорядочить по убыванию полученный массив.

9. Сформировать массив из 30 случайных целых чисел в диапазоне от 10 до 20. Разделить все элементы массива на минимальный элемент и напечатать полученный массив.

10. Сформировать массив из 20 случайных целых чисел в диапазоне от 0 до 10. Разделить все элементы массива на среднеарифметическое этих чисел и напечатать полученный массив.

5. Многомерный массив

1. Сформировать матрицу 5Х5 случайных целых чисел в диапазоне от –50 до +50. Напечатать матрицу. Найти минимальный элемент, и указать индексы строки и столбца, где он находится.

2. Сформировать матрицу 5Х5 случайных целых чисел в диапазоне от 0 до 100. Напечатать матрицу. Каждую строку упорядочить по убыванию и напечатать полученную матрицу.

3. Сформировать матрицу 5Х5 случайных целых чисел в диапазоне от –20 до +50. Напечатать матрицу. Найти максимальный элемент, и указать индексы строки и столбца, где он находится.

4. Сформировать матрицу 5Х5 случайных целых чисел в диапазоне от 0 до 100. Напечатать матрицу. Каждый столбец упорядочить по убыванию и напечатать полученную матрицу.

5. Дано число n. Сформировать матрицу 5Х5 случайных целых чисел в диапазоне от 0 до 100. Напечатать матрицу. Поменять местами первую строку и строку с номером n, напечатать полученную матрицу.

6. Сформировать матрицу 5Х5 случайных целых чисел в диапазоне от –50 до +50. Напечатать матрицу. Получить матрицу, транспонированную к исходной и напечатать полученную матрицу.

7. Дано число n. Сформировать матрицу 5Х5 случайных целых чисел в диапазоне от 0 до 100. Напечатать матрицу. Поменять местами первый столбец и столбец с номером n, напечатать полученную матрицу.

8. Дано число n. Сформировать матрицу 5Х5 случайных целых чисел в диапазоне от –20 до +50. Напечатать матрицу. Удалить строку с номером n, напечатать полученную матрицу.

9. Дано число n. Сформировать матрицу 5Х5 случайных целых чисел в диапазоне от –20 до +50. Напечатать матрицу. Удалить столбец с номером n, напечатать полученную матрицу.

10. Сформировать матрицу 5Х5 случайных целых чисел в диапазоне от –20 до +20. Напечатать матрицу. Заменить отрицательные числа их модулем, напечатать полученную матрицу.

6. Процедуры и функции

Даны числа a, b. Найти наименьшее общее кратное этих чисел, используя процедуру (функцию) нахождения наибольшего общего делителя двух чисел. Даны числа a, b, с. Найти наибольший общий делитель этих чисел, используя процедуру (функцию) нахождения наибольшего общего делителя двух чисел. Даны числа a, b, с. Найти наибольший из этих чисел, используя процедуру нахождения наибольшего из двух чисел. Даны числа a, b, с. Найти наименьший из этих чисел, используя процедуру (функцию) нахождения наименьшего из двух чисел. Случайным образом формируются координаты 20 отрезков (x1,y1) (x2,y2). Значения координат- целые числа от 0 до 100. Определить номер отрезка, имеющего максимальную длину, используя процедуру (функцию) вычисления отрезка. Дана матрица размерности 3х3. Вычислить определитель этой матрицы используя процедуру (функцию) вычисления определителя второго порядка. Дано целое число k. Вычислить f=(5k)!, используя процедуру (функцию) вычисления n!. Даны целые числа a и m. Вычислить

f=, используя процедуру (функцию) вычисления степени.

Дано целое число x. Вычислить

f=, используя процедуру (функцию) вычисления модуля числа.

Дано целое число x. Вычислить

f=, используя процедуру (функцию) для вычисления

ex=.

7. Записи и файлы

1. Создать файл «Библиотека» из записей, содержащих поля: ФИО читателя, количество взятых книг и дату выдачи. Написать программу, которая находит читателей, которые имеют просроченные сроки сдачи книг.

2. Создать файл «Библиотека» из записей, содержащих поля: ФИО читателя, количество взятых книг и дату выдачи. Написать программу, которая находит читателей, которые имеют Больше 5 книг.

3. Создать файл «Библиотека» из записей, содержащих поля: ФИО читателя, количество взятых книг и дату выдачи. Написать программу, которая находит читателей, которые были обслужены сегодня.

4. Создать файл «Библиотека» из записей, содержащих поля: ФИО читателя, количество взятых книг и дату выдачи. Написать программу, которая находит читателя, который имеют максимальное количество книг.

5. Создать файл «Группа» из записей, содержащих поля: ФИО студента, год рождения, дату рождения, средний бал прошедшей сессии. Написать программу, которая находит

лучшего по успеваемости студента.

6. Создать файл «Группа» из записей, содержащих поля: ФИО студента, год рождения, дата рождения, средний бал прошедшей сессии. Написать программу, которая находит

студента у которого сегодня день рождение.

7. Создать файл «Группа» из записей, содержащих поля: ФИО студента, год рождения, дату рождения, средний бал прошедшей сессии. Написать программу, которая упорядочивает файл по убыванию средних баллов студентов.

8. Создать файл «Группа» из записей, содержащих поля: ФИО студента, год рождения, дату рождения, средний бал прошедшей сессии. Написать программу, которая упорядочивает файл по алфавиту.

9. Создать файл «Группа» из записей, содержащих поля: ФИО студента, год рождения, дату рождения, средний бал прошедшей сессии. Написать программу, которая определяет есть ли в группе однофамильцы.

10. Создать файл «Группа» из записей, содержащих поля: ФИО студента, год рождения, дату рождения, средний бал прошедшей сессии. Написать программу, которая определяет есть совпадающие дни рождения студентов.

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

Практические и семинарские занятия по плану не предусмотрены.

Лабораторная работа №1 Знакомство с Объектно-ориентированной системой программирования.

Контрольные вопросы:

3. Интерфейс программы.

4. Программный модуль

5. Проектирование.

6. Кодирование алгоритма, тестирование и отладка.

7. Сопровождение и эксплуатация. Документация

Лабораторная работа №2 Взаимодействие пользователя с программным комплексом

Контрольные вопросы:

1. Интерфейс пользователь – компьютер и его составные части.

2. Типы диалогов.

3. Подключение стандартных процедур.

Лабораторная работа №3 Процедуры и функции

Контрольные вопросы:

1. Описание процедуры

2. Описание функции

3. Вызов процедуры и функции

4. Рекурсии

Лабораторная работа №4 Одномерный массив

Контрольные вопросы:

1. Способы описания массива

2. заполнение массива

3. обработка массива

Лабораторная работа №5 Многомерные массивы

Контрольные вопросы:

1. Способы описания массива

2. Вставка и удаление элементов массива

3. Преобразование массива

4. Задачи поиска и сортировки

Лабораторная работа №6 Записи

Контрольные вопросы:

1. Определение типа запись

2. Использование записи

3. Обращение к полям записи.

Лабораторная работа №7 Работа с файлами

Контрольные вопросы:

1. Файлы прямого доступа

2. Файлы последовательного доступа

3. Запись и чтение из файла

Лабораторная работа №8 Библиотека визуальных компонентов. Создание собственных компонентов.

Контрольные вопросы:

4. Визуальные компоненты.

5. библиотека визуальных компонентов.

6. создать собственный компонент

Лабораторная работа №9 Создание строенной справочной системы.

Контрольные вопросы:

1. технология создания справки.

2. интерфейс программы.

Лабораторная работа №10 Программирование для Интернет

Контрольные вопросы:

1. WEB страница

2. технология создания WEB страницы.

3. Библиотека визуальных компонентов. Создание собственных компонентов.

Лабораторная работа №11 Структура приложения Windows.

Контрольные вопросы:

4. компоненты ОС.

5. управление техническими средствами.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3