
- •Алгоритмические языки и программирование.
- •Структура курса
- •Литература
- •1.1 Алфавит языка. Структура программы
- •Структура консольной программы
- •Описание функции
- •1.2 Фундаментальные типы данных
- •2. Вещественные типы
- •1.3 Объявление переменных и констант
- •Перечисляемый тип
- •Объявление типа
- •1.4 Стандартные функции ввода/вывода
- •Спецификации формата
- •Примеры форматного ввода/вывода
- •2 Ввод/вывод строк
- •3 Ввод/вывод символов
- •1.5 Операции
- •Операции (2)
- •Приоритет операций
- •1.6 Оператор «Выражение»
- •1.7 Блок операторов
- •1.8 Оператор условной передачи управления
- •1.9 Оператор выбора
- •1.10 Операторы циклов
- •2. Оператор цикла for
- •3. Оператор цикла do ... while
- •1.11 Неструктурные операторы передачи управления
- •2. Оператор досрочного завершения break
- •3. Оператор продолжения continue
- •Пример Ex1_06. Вывод таблицы кодов

Алгоритмические языки и программирование.
2 семестр
МГТУ им. Н.Э. Баумана Факультет Информатика и системы управления
Кафедра Компьютерные системы и сети Лектор: д.т.н., проф.
Иванова Галина Сергеевна
1

Структура курса
Лекции – Особенности программирования на С++ в среде разработки Microsoft Visual Studio 2008
Практики (17-19 – Delphi, 20-29 – C++ 2008):
ИУ6-21 |
– четверг |
830-1150; |
ИУ6-22 |
– суббота |
830-1150; |
ИУ6-23 |
– понедельник |
1200-1525 |
РК1: динамические структуры данных (9 неделя); РК2: иерархии классов (14 неделя); ДЗ1: практики 17-23 с отчетами (8 неделя)
Зачет (кафедральный) по практикам. Экзамен (результат идет в диплом):
1 – С++;
2 – Сравнение возможностей С++ и Delphi;
3 – Задача (снимается по результатам рейтингов) 2

Литература
1.Подбельский В.В. Язык С++: Учеб. пособие. – М.: Финансы и статистика, 2006.
2.Иванова Г.С., Ничушкина Т.Н., Пугачев Е.К. Объектно- ориентированное программирование. Учеб. для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2007.
3.Агабеков Л.Е., Иванова Г.С. Программирование на С++. Часть 1. Средства процедурного программирования. Учебное пособие. – М.: МГТУ, 1997. – В электронном виде.
4.Агабеков Л.Е., Иванова Г.С. Программирование на С++. Часть 2. Средства объектно-ориентированного программирования. Учебное пособие. – М.: МГТУ, 1996. – В электронном виде.
5.Иванова Г.С., Ничушкина Т.Н. Консольные приложения С++ в среде Microsoft Studio 2003 (Visual C++): Методические указания по выполнению лабораторных работ. – М.: МГТУ им. Н.Э. Баумана, 2008. – 13 с. – В электронном виде.
3

История создания С++
BCPL (1967)
Си - 1972 Денис Ритчи (1989 Стандарт ANSI, 1999 Новый стандарт)
С++ (начало работы:1979-й год
автор: Бьерн Страуструп)
Standard С++ (1998)
Java |
|
C# |
|
|
|
Первоначальное название - «С with Classes».
Основное достоинство – наличие большого количества специаль- ных средств и механизмов, упрощающих написание слож- ных системных программ.
Основной недостаток –
незащищенный синтаксис, кото- рый часто не позволяет точно идентифицировать ошибку на этапе компиляции программы.
4

Глава 1 Скалярные типы данных. Основные операторы С++
МГТУ им. Н.Э. Баумана Факультет Информатика и системы управления
Кафедра Компьютерные системы и сети Лектор: д.т.н., проф.
Иванова Галина Сергеевна
5

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 и т. д.
В отличие от Паскаля С++ различает строчные и прописные буквы.
6

Структура консольной программы
Консольная программа на С++ включает:
<Команды препроцессора> [<Объявление типов, переменных и констант>] [<Объявления (прототипы) функций>] <Описание функции main()>
[<Описания других функций>]
Нотация:
<...> – означает некоторую конструк- цию С++; [<...>] – означает, что
присутствие конструк- ции в операторе не обязательно
В С++ все программы/подпрограммы называются функциями. Функция main() – основная программа, всегда имеющая имя main,
принимающая управление от операционной системы и возвращаю- щая его ей. Присутствие этой функции (или функции WinMain() – для Windows) является обязательным.
Команды препроцессора – команды, выполняемые перед компиля- цией программы, могут использоваться для подключения необхо-
димых библиотек. |
7 |
|

Описание функции
<Тип результата или void> <Имя функции> ([<Список параметров>]) {[ < Объявление локальных переменных и констант >]
<Операторы>
}
Если функция возвращает скалярное значение, то первое слово описания содержит его тип. Если функция не возвращает значения, т.е. фактически является процедурой, то указывают void – «пустой» тип.
Независимо от наличия или отсутствия параметров скобки после имени функции должны быть указаны обязательно. При отсутствии параметров в скобках может быть указано void
{...} – операторные скобки, ограничивающие тело функции – аналог begin ... end Паскаля
8

Сравнение программ, написанных на Паскале и С++
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",
return 0; |
9 |
}
Объявление
переменных
Описание
функции
Основная
функция
c);

1.2 Фундаментальные типы данных
1. Интегральные типы
Имя типа
char или _int[8]
short или _int[16]
[int] или long или
_int[32]
long long или
_int[64] bool
Подтипы |
Размер , |
Интервал |
|
байт |
значений |
[signed] char |
1 |
-128..127 |
unsigned char |
|
0..255 |
[signed] short |
2 |
-32768..32767 |
unsigned short |
|
0..65535 |
[signed] [int] |
4 |
-231.. 231-1 |
unsigned [int] |
|
0.. 232-1 |
[signed] long |
|
|
unsigned long |
|
|
[signed] long long |
8 |
-263.. 263-1 |
Unsigned long long |
|
0.. 264-1 |
|
1 |
false (0), true(1) |
Для совместимости с С по-прежнему считается: 0 – false;10 не 0 – true.