Содержание курса | Практические
заниятия | Литература
Программирование.
Геологический факультет МГУ, кафедра сейсмометрии и геоакустики, тел. 939-33-42.
Автор – асс. Марченко Антон Леонардович.
Курс читается в 3 и 4 семестрах для студентов специальности 011200-геофизика.
Объем курса – 90 часов, лекции - 30 часов, практические занятия – 60 часов.
Форма контроля. Прием практических работ с собеседованием; зачеты в 3 и 4 семестрах.
Аннотация. Курс посвящен языку программирования C++ и основам объектно-ориентированного
программирования.
Вверх
Содержание курса.
1. Базовые понятия.
Организация памяти ЭВМ. Виртуальная модель памяти. Процессор ЭВМ. Системы счисления и алгоритмы
преобразования. Преобразование дробной части вещественного числа. Дополнительный код. Язык и грамматика. Формы
Бэкуса-Наура. Грамматика и проблема смысла. Развитие языков программирования. Основные характеристики языков программирования.
Типы данных. Контроль типов. Семантика языка. Транслятор. Компоновщик. Тип компоновки.
2. Структура операторов языка C++.
Алфавит C++. Правила образования идентификаторов. Ключевые слова и имена C++. Операции и знаки
пунктуации. Литералы. Структура предложения C++. Объекты и переменные. Основные типы C++. Комментарии. Объявление
и определение переменных и констант. Перечень операций. Приоритет операций и скобочная структура выражений. Разделители.
Первичное выражение. Постфиксное выражение. Унарное выражение. Выражение приведения. Выражения с указателями.
Мультипликативные выражения. Аддитивтивные выражения. Выражения сдвига. Выражения отношения. Выражения равенства.
Побитовые выражения. Логические выражения. Выражения присваивания. Выражения с операцией запятая. Константные
выражения. Выражение и l-выражение.
3. Структура программы C++.
Операторы C++. Программа. Модули и сегменты. Программный модуль. Атрибуты объектов: класс памяти.
Объявление переменных. Область действия имени. Пространство имен и область видимости объекта. Время жизни объекта.
Глобальные переменные и константы. Помеченный оператор. Оператор перехода. Оператор return. Выбирающий оператор.
Операторы цикла. Оператор continue как средство управления циклом. Определение указателя. Указатели на константу
и константные указатели. Ссылки. Специальный тип void. Массивы. Синтаксис объявления. Константные выражения. Основные
свойства массивов. Способы навигации. Массив и константный указатель. Массивы и операция sizeof. Массив констант.
Многомерный массив. Многомерные массивы и указатели. Символьная строка. Препроцессор. Директива препроцессора
define. Директива include. Управление препроцессором. Функциональные макроопределения. Предопределенные макроопределения.
Перечисления. Функция. Прототип. Предварительная инициализация параметров функции. Вызов функции. Точка вызова
и точка возврата. Функции с переменным количеством параметров. Размещение параметров.
4. Объектно-ориентированное программирование в C++.
Механизмы преобразования основных типов данных в C++. Список средств порождения производных типов.
typedef-объявление. Тип функции и указатель на функцию. Класс. Объявление класса. Объединения. Область видимости
класса. Встроенные функции. Интерфейс класса. Совместно используемые функции. Инициализация объекта класса. Конструкторы.
Основные свойства. Переопределение конструктора. Инициализация объекта: параметры и инициализаторы. Конструктор
копирования. Конструкторы преобразования и преобразующие функции. Операция new и порождение объектов. Удаление
объектов и освобождение памяти. Деструкторы. Массивы объектов. Указатель this. Статические члены класса. Наследование.
Базовые и производные классы. Инкапсуляция и управление доступом. Характеристики уровней доступа. Друзья класса.
Указатели на объекты. Виртуальные функции. Чистые виртуальные функции и абстрактные классы. Виртуальные деструкторы.
Множественное наследование. Виртуальные классы. Вложенные классы. Операторные функции. Шаблоны функций и классов.
Ввод-вывод в C++. Работа с файлами. Механизмы обработки исключительных ситуаций.
Вверх
Практические занятия.
Практические занятия преследуют две цели:
1. Выработку навыков самостоятельной работы с вычислительной техникой, освоение методов работы
в среде DOS и Windows.
2. Закрепление лекционного материала. С этой целью предполагается ознакомление слушателей с компилятором
Borland C++, самостоятельное написание не менее пяти программ различной сложности в каждый семестр. Предполагается,
что это будут программы, в которых методы объектно-ориентированного программирования используются для решения
задач, связанных с организацией ввода-вывода, работой с массивами и указателями, реализацией вычислительных алгоритмов
и алгоритмов сортировки.
Вверх
Литература.
- Бабэ Бруно. Просто и ясно о Borland C++. М., БИНОМ, 1994.
- Джамса К. Учимся программировать на языке C++. М., Мир, 1997.
- Подбельский В.В. Язык C++. М., Финансы и статистика, 1995.
- Пол И. Объектно-ориентированное программирование с использованием C++. Киев, НИИПФ ДиаСофт Лтд, 1995.
- Сван Т. Освоение Borland C++ 4.5. Киев, Диалектика, 1996.
- Стенли Б. Липпман. C++ для начинающих. Т.1,2. М., Унитех; Рязань, Гэлион, 1992.
- Сэвитч У. C++ в примерах. М., ЭКОМ, 1997.
- Фейсон Т. Объектно-ориентированное программирование на Borland C++ 4.5. Киев, Диалектика, 1996.
- Шилдт Г. Самоучитель C++. С.-Пб, BHV-С.-Пб., 1997.
- Эллис М., Строуструп Б. Справочное руководство по языку C++ с комментариями. М., Мир, 1992.
Вверх | Содержание
курса | Практические заниятия | Литература
|