ООП C++_1
.pdfООП 2013
Объектноориентированное программирование
МГТУ им. Н.Э. Баумана Факультет Информатика и системы управления
Кафедра Компьютерные системы и сети Лектор: д.т.н., проф.
Иванова Галина Сергеевна
1
Структура дисциплины ООП
Лекции – Объектно-ориентированное программирование на С++ в среде разработки Microsoft Visual Studio 2008 + библиотека Qt 4.7
Семинары: 34 часа – 16 занятий Лабораторные работы: 34 часа – 10 заданий (11 задач) Домашние работы: 3 задания (2+3+2 = 7 задач)
Модули:
4 неделя - Лаб. 4 – выполняется с тетрадями – 10/6 баллов; 8 неделя - РК1: динамические структуры данных – 25/14 баллов; 13 неделя - РК2: иерархии классов – 25/14 баллов; 15 неделя – ДЗ 3.2: выполняется дома – 10/6 баллов Экзамен: - 30 баллов.
2
Практикум по программированию
Три задания: |
|
1. Delphi. Создание информационной системы – |
6 неделя – 40/29 |
2. С++. Создание программной системы с элементарным интерфейсом –
12 неделя – 30/19
3. С++. Создание программной системы с Qt интерфейсом –
16 неделя – 30/19
Контроль знаний: дифференцированный зачет по баллам.
3
Литература
1.Подбельский В.В. Язык С++: Учеб. пособие. – М.: Финансы и статистика, 2006.
2.Иванова Г.С., Ничушкина Т.Н., Пугачев Е.К. Объектно-ориентированное программирование. Учеб. для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2007.
3.Иванова Г.С., Ничушкина Т.Н. Консольные приложения С++ в среде Microsoft Studio 2003 (Visual C++): Методические указания по выполнению лабораторных работ. – М.: МГТУ им. Н.Э. Баумана, 2008. – 13 с. – В электронном виде.
4.Иванова Г.С., Ничушкина Т.Н., Самарев Р.С. . C++. Часть 1. Средства процедурно-го программирования Microsoft Visual С++ 2008: Учебное пособие. – М.: МГТУ им. Н.Э. Баумана, 2010. – 126 с. – В электронном виде.
5.Иванова Г.С., Ничушкина Т.Н. C++. Часть 2. Объектно-ориентированное программирование на языке С++ в среде Visual Studio 2008: Учебное пособие. – М.: МГТУ им. Н.Э. Баумана, 2012. – 161 с. – В электронном виде.
6.Иванова Г.С. . C++. Часть 3. Создание пользовательских интерфейсов в программах на С++ с использованием библиотеки Qt:Учебное пособие. – М.: МГТУ им. Н.Э. Баумана, 2010. – 52 с. – В электронном виде.
7.Шилдт Г. Полный справочник по С++, 4 изд. – М.: Изд. дом "Вильямс", 2009.
– 800 с. |
4 |
История создания С++
BCPL (1967)
Си - 1972 Денис Ритчи (1989 Стандарт ANSI, 1999 Новый стандарт)
С++ (начало работы:1979-й год
автор: Бьерн Страуструп)
Standard С++ (1998)
Java |
|
C# |
|
|
|
Первоначальное название - «С with Classes».
Основное достоинство – наличие большого количества специальных средств и механизмов, упрощающих написание сложных системных программ.
Основной недостаток –
незащищенный синтаксис, который часто не позволяет точно идентифицировать ошибку на этапе компиляции программы.
5
Глава 1 Скалярные типы данных. Основные операторы С++
МГТУ им. Н.Э. Баумана Факультет Информатика и системы управления
Кафедра Компьютерные системы и сети Лектор: д.т.н., проф.
Иванова Галина Сергеевна
6
1.1 Алфавит языка. Структура программы
Алфавит языка С++ включает:
1)латинские буквы;
2)арабские цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9;
3)шестнадцатеричные цифры: 0..9, а..f или A..F;
4)специальные символы: + - * / = ; { } и т. д.;
5)служебные слова: do, while, for, if, else и т. д.
В отличие от Паскаля С++ различает строчные и прописные буквы.
7
Структура консольной программы
Консольная программа на С++ включает:
<Команды препроцессора> [<Объявление типов, переменных и констант [<Объявления (прототипы) функций>] <Описание функции main()>
[<Описания других функций>]
Используемая
нотация:
<...> - некоторая конструкция С++; [<...>] – присутствие конструкции в операторе не обязательно
В С++ все программы/подпрограммы называются функциями.
Функция main() – основная программа, всегда имеющая имя main, принимающая управление от операционной системы и возвращающая его ей. Присутствие этой функции (или функции WinMain() – для Windows) является обязательным.
Команды препроцессора – команды, выполняемые перед компиляцией программы, могут использоваться для подключения необхо-
димых библиотек. |
8 |
|
Описание функции
<Тип результата или void> <Имя функции> ([<Список параметров>]) {[ < Объявление локальных переменных и констант >]
<Операторы>
}
Если функция возвращает скалярное значение, то первое слово описания содержит его тип. Если функция не возвращает значения, т.е. фактически является процедурой, то указывают void – «пустой» тип.
Независимо от наличия или отсутствия параметров скобки после имени функции должны быть указаны обязательно. При отсутствии параметров в скобках может быть указано void
{...} – операторные скобки, ограничивающие тело функции – аналог begin ... end Паскаля
9
Сравнение программ, написанных на Паскале и С++
Turbo Delphi (консольный режим):
Program primer; {$APPTYPE CONSOLE} Uses SysUtils;
Var A:integer=18;
B:integer=24;
Var C:integer;
Function Nod(A,B:integer):integer;
Begin
while A<>B do
if A>B then A:=A-B else B:=B-A;
Nod:=A;
End;
Begin
C:=Nod(A,B);
Writeln(‘Nod=‘, C);
End.
Microsoft Visual C++ - Пример Ex1_01:
Команда
#include <stdio.h> препроцессора - подключение
библиотек
int a=18, |
Объявление |
||
|
b=24, |
||
|
переменных |
||
|
c; |
||
|
|
||
int nod(int a,int b) |
Описание |
||
{ while (a!=b) |
|||
функции |
|||
|
if (a>b) a=a-b |
|
|
|
else b=b-a; |
|
|
} |
return a; |
|
|
int main() |
Основная |
||
{ |
c=nod(a,b); |
функция |
|
|
|
||
|
printf("nod=%d\n", c); |
||
} |
return 0; |
10 |