Компания ALT Linux
Опубликован: 07.03.2015 | Доступ: свободный | Студентов: 1717 / 223 | Длительность: 24:14:00
Лекция 3:

Операторы управления

Аннотация: В этой главе описаны основные операторы языка C++: условный оператор if, оператор выбора switch, операторы цикла while, do... while и for. Изложена методика составления алгоритмов с помощью блок-схем. Приводится большое количество примеров составления программ различной сложности.

3.1 Основные конструкции алгоритма

При разработке простейших программ несложно перейти от словесного описания к написанию программы. Однако большинство реально разрабатываемых программ довольно сложные и созданию программы предшествует разработка алгоритма1От algorithmi, algorismus, первоначально латинская транслитерация имени математика аль-Хорезми..Алгоритм — это чёткое описание последовательности действий, которые необходимо выполнить, для того чтобы при соответствующих исходных данных получить требуемый результат. Одним из способов представления алгоритма является блок-схема. При составлении блок-схемы все этапы решения задачи изображаются с помощью различных геометрических фигур. Эти фигуры называют блоками и, как правило, сопровождают надписями. Последовательность выполнения этапов указывают при помощи стрелок, соединяющих эти блоки. Типичные этапы решения задачи изображаются следующими геометрическими фигурами:

  • блок начала-конца (рис. 3.1). Надпись внутри блока: "начало" ("конец");
  • блок ввода-вывода данных (рис. 3.2). Надпись внутри блока: ввод (вывод или печать) и список вводимых (выводимых) переменных;
  • блок решения или арифметический (рис. 3.3). Внутри блока записывается действие, вычислительная операция или группа операций;
  • условный блок (рис. 3.4). Логическое условие записывается внутри блока. В результате проверки условия осуществляется выбор одного из возможных путей (ветвей) вычислительного процесса.
Блок начала-конца алгоритма

Рис. 3.1. Блок начала-конца алгоритма
Блок ввода-вывода данных

Рис. 3.2. Блок ввода-вывода данных
Арифметический блок

Рис. 3.3. Арифметический блок
Условный блок

Рис. 3.4. Условный блок
Линейный процесс

Рис. 3.5. Линейный процесс
Разветвляющийся процесс

Рис. 3.6. Разветвляющийся процесс
Циклический процесс

Рис. 3.7. Циклический процесс

Рассмотренные блоки позволяют описать три основные конструкции алгоритма: линейный процесс, разветвляющийся процесс и циклический процесс.

Линейный процесс это конструкция, представляющая собой последовательное выполнение двух или более операторов (рис. 3.5). Разветвляющийся процесс задаёт выполнение одного или другого оператора в зависимости от выполнения условия (рис. 3.6). Циклический процесс задаёт многократное выполнение оператора или группы операторов (рис. 3.7).

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

Одним из важных понятий при написании программ на С(С++) является понятие составного оператора.

3.2 Составной оператор

Составной оператор — это группа операторов, отделённых друг от друга точкой с запятой, начинающихся с открывающей фигурной скобки { и заканчивающихся закрывающейся фигурной скобкой }:

{
	оператор_1;
	...
	оператор_n;
}
		

Транслятор воспринимает составной оператор как одно целое.

Рассмотрим операторы языка С++, реализующие основные конструкции алгоритма.

Сергей Радыгин
Сергей Радыгин

Символы кириллицы выводит некорректно. Как сделать чтобы выводился читабельный текст на русском языке?

Тип приложения - не Qt,

Qt Creator 4.5.0 основан на Qt 5.10.0. Win7.

 

Юрий Герко
Юрий Герко

Кому удалось собрать пример из раздела 13.2 Компоновка (Layouts)? Если создавать проект по изложенному алгоритму, автоматически не создается  файл mainwindow.cpp. Если создавать этот файл вручную и добавлять в проект, сборка не получается - компилятор сообщает об отсутствии класса MainWindow. Как правильно выполнить пример?

Ольга Лобода
Ольга Лобода
Россия, ФГОУ ВПО Государственный университет - учебно-научно-производственный комплекс, 2010