Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmirovanie_-_1_kurs / Методические указания к лабораторным работам 1-2.pdf
Скачиваний:
114
Добавлен:
09.06.2015
Размер:
521.7 Кб
Скачать

ФГБ ОУ ВПО «Московский государственный университет путей сообщения»

Кафедра «Автоматизированные системы управления»

А.В. ВАРФОЛОМЕЕВ

ЯЗЫК C++

БАЗОВЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ

Методические указания к лабораторным работам по дисциплине «Алгоритмические языки и программирование»

МОСКВА – 2011

ФГБ ОУ ВПО «Московский государственный университет путей сообщения»

Кафедра «Автоматизированные системы управления»

А.В. ВАРФОЛОМЕЕВ

ЯЗЫК C++

БАЗОВЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ

Рекомендовано редакционно-издательским советом университета в качестве методических указаний для студентов по направлениям 230100.62 и 230400.62

МОСКВА – 2011

УДК 004 В 18

Варфоломеев А.В. Язык С++. Базовые алгоритмические конструкции: Методические указания. — М.: МИИТ, 2011, — 48с.

Методические указания посвящены использованию базовых алгоритмических конструкций (следование, ветвление, цикл) при разработке программ на языке С++. В методических указаниях рассказывается о свойствах и способах представления алгоритмов, приводится описание основных языковых конструкций и операторов языка С++, представлены варианты заданий для выполнения лабораторных работ №1 и №2 по дисциплине «Алгоритмические языки и программирование».

ФГБ ОУ ВПО «Московский государственный университет путей сообщения», 2011

 

СОДЕРЖАНИЕ

 

1.

ОБЩИЕ СВЕДЕНИЯ ОБ АЛГОРИТМАХ................................

4

 

1.1. Свойства алгоритма...................................................................

4

 

1.2. Способы записи алгоритма.......................................................

5

 

1.3. Блок-схемы.................................................................................

6

2.

БАЗОВЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ.............

7

 

2.1. Следование.................................................................................

7

 

2.2. Ветвление...................................................................................

8

 

2.3. Цикл............................................................................................

9

 

2.4. Примеры алгоритмов ..............................................................

12

3.

ВВЕДЕНИЕ В C++ ....................................................................

15

 

3.1. Основные лексемы языка........................................................

15

 

3.2. Типы данных............................................................................

18

 

3.3. Выражения и операции ...........................................................

18

4.

СТРУКТУРА ПРОГРАММЫ НА ЯЗЫКЕ C++ ......................

23

 

4.1. Функции ...................................................................................

24

 

4.2. Объявление переменных.........................................................

25

 

4.3. Директивы препроцессора......................................................

27

5.

ОПЕРАТОРЫ ЯЗЫКА C++ ......................................................

27

 

5.1. Оператор присваивания ..........................................................

28

 

5.2. Операторы передачи управления...........................................

29

 

5.3. Составной оператор.................................................................

31

 

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

31

 

5.5. Операторы цикла.....................................................................

34

6.

ЛАБОРАТОРНАЯ РАБОТА №1. Ветвящиеся

 

вычислительные процессы............................................................

37

 

6.1. Цель работы .............................................................................

37

 

6.2. Постановка задачи...................................................................

37

 

6.3. Требования к оформлению отчета.........................................

39

 

6.4. Рекомендации по выполнению работы .................................

40

7.

ЛАБОРАТОРНАЯ РАБОТА №2. Циклические

 

вычислительные процессы............................................................

44

 

7.1. Цель работы .............................................................................

44

 

7.2. Постановка задачи...................................................................

44

 

7.3. Требования к оформлению отчета.........................................

46

8.

КОНТРОЛЬНЫЕ ВОПРОСЫ...................................................

46

9.

ЛИТЕРАТУРА ...........................................................................

47

3

1. ОБЩИЕ СВЕДЕНИЯ ОБ АЛГОРИТМАХ

Алгоритм – точный набор инструкций, описывающих порядок действий некоторого исполнителя для достижения определенного результата за конечное время.

В качестве исполнителя, выполняющего инструкции алгоритма может выступать физическое устройство (например, процессор компьютера) или специализированная программа (виртуальный процессор, виртуальная машина).

1.1. Свойства алгоритма

Алгоритм должен быть составлен таким образом, чтобы исполнитель, в расчете на которого он создается, мог однозначно и точно следовать командам алгоритма и эффективно получать определенный результат. Это накладывает на записи алгоритмов целый ряд обязательных требований.

Любой алгоритм должен обладать следующими свойствами:

1.Дискретность. Алгоритм должен быть представлен в виде множества отдельных элементарных предписаний (команд, действий, шагов). Исполнитель последовательно выполняет предписания алгоритма и может приступить к выполнению следующего предписания только после того, как полностью выполнит требования текущего.

2.Понятность. Каждое из элементарных предписаний должно быть понятно исполнителю, на которого ориентирован алгоритм. У каждого исполнителя имеется своя система команд. Очевидно, что составляя алгоритм для определенного исполнителя, можно использовать лишь те команды, которые имеются в его системе.

4

3.Детерминированность. Алгоритм не должен содержать предписаний, смысл которых может

восприниматься

неоднозначно.

Каждое

предписание должно

однозначно

трактоваться

исполнителем, на которого ориентирован алгоритм.

4.Результативность. Алгоритм должен завершаться выдачей определенного результата.

5.Конечность. Алгоритм должен завершать работу и выдавать результат за конечное число шагов.

6.Массовость. Один и тот же алгоритм должен быть применим к различным исходным данным.

1.2. Способы записи алгоритма

Алгоритм может быть записан различными способами. Наиболее часто для описания алгоритмов применяются следующие способы:

1.При помощи естественного языка (словесное описание алгоритма).

2.При помощи псевдокода. Псевдокод

искусственный язык описания алгоритмов, использующий ключевые слова языков программирования, опускающий несущественные для понимания алгоритма человеком детали (описания переменных, системно зависимый код, директивы компилятора, и т.п.).

3.При помощи блок-схем (графическое описание алгоритма).

4.При помощи алгоритмического языка программирования.

Из представленных способов, первые три ориентированы на восприятие человеком. Алгоритмы, описанные при помощи естественного языка, псевдокода или блок-схемы не могут быть выполнены физическим устройством или программой-исполнителем. Данные

5

способы описания алгоритмов широко используются в учебниках и научно-технических публикациях, а также на начальных стадиях разработки компьютерных программ.

Алгоритм, описанный при помощи языка программирования, является ничем иным, как исходным кодом программы. Такой алгоритм передается на обработку специальным служебным программам – трансляторам. Трансляторы переводят текстовые предписания алгоритма в двоичный код, который впоследствии будет выполнен определенным исполнителем.

1.3. Блок-схемы

Блок схема – граф, вершинами которого являются специальные функциональные блоки.

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

Таблица 1. Основные элементы блок-схемы

 

Наименование

 

Обозначение

 

Функция

 

 

 

 

 

 

 

Отображает вход из внешней среды

 

 

 

 

 

Терминатор

 

 

или выход из нее (наиболее частое

 

 

 

 

применение − обозначение начала и

 

 

 

 

конца алгоритма)

 

 

 

 

Выполнение одной или нескольких

 

 

 

 

 

 

 

 

операций, обработка данных любого

 

Процесс

 

 

вида, изменение данных. Внутри

 

 

 

 

фигуры записывают операции над

 

 

 

 

данными.

 

 

 

 

Отображает решение, влияющее на

 

 

 

 

 

Решение

 

 

дальнейшее выполнение алгоритма.

 

 

 

Используется для обозначения

 

 

 

 

альтернативных ветвей выполнения

 

 

 

 

алгоритма.

6