- •«Утверждаю»
- •Учебно-методический комплекс
- •Астана 2010 График выполнения и сдачи заданий по дисциплине
- •Карта учебно-методической обеспеченности дисциплины Учебники, учебные пособия
- •Конспект лекционных занятий
- •Тема 1. Введение в программирование на Си. Структура программы. Директивы препроцессора. Типы данных.
- •Основные операции в языке Си.
- •Преобразование типов
- •Тема 2. Управляющие структуры. Выбор вариантов. Структура выбора If, If – Else, логические операции, операция условия, множественный выбор.
- •Тема 3. Управляющие структуры. Структуры повторения While, do – While, For. Управляющие операторы break и continue.
- •Тема 4. Массивы. Разработка программ с использованием одномерных и двумерных массивов.
- •Тема 5. Функции в Си. Создание и использование функций.
- •Тема 6. Классы памяти и разработка программ.
- •Тема 7. Указатели в Си.
- •Тема 8. Использование указателей при обработке одномерных и двумерных массивов.
- •Тема 9. Символы и строки в Си.
- •Функции сравнения из библиотеки обработки строк. Прототипы функций и краткое описание каждой из них приведены в таблице 6.
- •Функции поиска из библиотеки обработки строк. Прототипы функций и краткое описание каждой из них приведены в таблице 7.
- •Другие функции из библиотеки обработки строк. В таблице 8 приведены прототипы и краткое описание остальных функций из библиотеки обработки строк.
- •Ниже приведены примеры программы, использующих функции работы со троками.
- •Тема 11. Структуры данных в Си.
- •Тема 12. Динамические структуры данных.
- •Тема 13. Работа с файлами в Си.
- •Тема 14. Графика в Си.
- •Тема 15. Объектно-ориентированное программирование.
- •Методические рекомендации по выполнению лабораторных заданий
- •Лабораторная работа № 3. Использование операторов цикла при решении задач.
- •Лабораторная работа №4. Разработка программ с использованием одномерных массивов.
- •Лабораторная работа №5. Разработка программ с использованием двумерных массивов.
- •Лабораторная работа № 6. Программирование задач с использованием нескольких функций на языке Си.
- •Лабораторная работа № 8. Программирование задач обработки структур данных.
- •Лабораторная работа № 9. Разработка программ с использованием файловых переменных.
- •Лабораторная работа № 10. Разработка программ с использованием графических функций языка Си.
- •Содержание отчета по выполнению лабораторной работы
- •1 Задание
- •Тема 1. Запись констант, стандартных функций, выражений, операторов присваивания. Запись программ линейных структур алгоритмов.
- •Тема 2. Алгоритмическое описание, запись программ линейных, разветвляющихся.
- •Тема 3. Алгоритмическое описание, запись программ циклических структур алгоритмов.
- •Тема 4. Алгоритмическое описание, составление программ обработки одномерного массива.
- •Тема 5. Алгоритмическое описание, составление программ обработки двумерного массива.
- •Тема 6-7. Составление программ решения задач с использованием функции.
- •Рекомендуемая литература:
- •Тема 8-9. Составление программ решения задач обработки массивов с использованием указателей.
- •Тема 10-11. Программирование задач обработки символьных и стрковых данных.
- •Рекомендуемая литература.
- •Тема 12. Методы сортировки.
- •Тема 13. Составление программ решения задач с использованием структур данных.
- •Тема 14. Составление программ решения задач с использованием файла произвольного доступа.
- •Рекомендуемая литература.
- •Тема 15. Алгоритмизация графических построений.
- •Варианты заданий:
- •Сведения
- •Перечень экзаменационных вопросов по пройденному курсу
- •Глоссарий
Тема 15. Объектно-ориентированное программирование.
Объектно-ориентированное программирование моделирует объекты реального мира при помощи их программных эквивалентов.
Классы дают возможность программисту моделировать объекты, которые обладают атрибутами (представленными в виде элементов данных) и которым присуще определенное поведение или действие (представленное в виде элементов-функций). Объекты одного класса имеют одни и те же характеристики. При определении типов, содержащих элементы данных и элементы-функции обычно используется ключевое слово class.
Конструктор.Элемент-функция с тем же именем, что и сам класс, называется конструктором этого класса. Конструктор – это специальная функция-элемент класса, которая инициализирует элементы данных объекта класса. Конструктор класса вызывается автоматически при создании объекта. После создания объектов их элементы могут быть инициализированы с помощью конструктора. Элементы данных не могут быть инициализированы в определении класса. Элементы данных либо должны инициализироваться в конструкторе класса, либо их значения могут быть установлены позже, после создания объекта. Конструктор не может ни специфицировать тип возвращаемого значения, но возвращать какое-либо значение. При объявлении объекта класса справа от его имени и до точки с запятой в круглых скобках могут быть заданы инициализаторы. Эти инициализаторы передаются в качестве аргументов в конструктор класса.
Деструктор.Функция с тем же именем, что и класс, с предшествующим символом тильды (), называется деструктором класса. Деструктор класса вызывается автоматически, когда объект класса выходит из области действия. Сам деструктор фактически не разрушает объекта, скорее он выполняет заключительную «приборку» каждого объекта класса перед тем, как выделенная для него память будет возвращена системе. Деструктор не принимает параметров и не возвращает значения. У класса может быть только один деструктор.
Наследование. Наследование представляет собой механизм повторного использования программного обеспечения, в соответствии с которым новые классы создаются на основе существующих. Эти классы наследуют свойства и поведение базовых классов и приобретают дополнительно новые, необходимые для новых классов, качества. При создании нового класса вместо того, чтобы писать совершенно новые элементы данных и функции-элементы, программист может просто указать, что новый класс должен наследовать элементы ранее определенного базового класса. Это новый класс называется производным классом. Каждый производный класс, в свою очередь, может быть базовым для каких-то будущих производных классов. При простом наследовании производный класс получается на основе только одного базового класса. При сложном наследовании производный класс наследует свойства от многих (возможно, логически не связанных) классов.
Полиморфизм. Полиморфизм означает способность объектов различных классов, связанных наследованием, различным способом реагировать на вызов одной и той же функции-элемента.
Основная литература: 1осн[956-958]
Дополнительная литература: 11доп[11-30]
Контрольные вопросы:
1. Что является конструктором, а что деструктором класса?
2. Дайте определение понятию полиморфизм?
3. Дайте определение понятию наследование?
4. В чем заключается различие между простым и сложным наследованием7
5. Какой класс является базовым, а какой производным?