Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Как бы ни была сложна задача, схема алгоритма соответствующей программы всегда может быть представлена с использованием ограниченного набора базовых структур.Содержание книги
Поиск на нашем сайте
Примером одного из таких наборов базовых структур являются следующие три конструкции:
f THEN g - последовательность:
IF p THEN f ELSE g – выбор(ветвление): WHILE p DO f – итерации (цикл с предусловием): Эти базовые структуры могут соединяться между собой по тем же правилам, образуя более сложные структуры. При этом f и g могут представлять собой очень сложные схемы алгоритмов с одним входом и одним выходом. Наборов базовых структур может быть несколько. Например, если заменить последний элемент набора на
DO f WHILE p -итерации (цикл с постусловием):
то получится еще один набор из трех базовых структур. Эти наборы эквивалентны, т.к. от WHILE p DO f легко перейти к DO f WHILE p и наоборот:
Путем эквивалентных преобразований любую неструктурированную схему алгоритма можно привести к структурированному виду. Например: В некоторых случаях структуризация алгоритмов может привести к появлению в них определенной избыточности (в последнем примере дважды осуществляется обращение к g), но такие “накладные расходы” полностью оправдываются достоинствами структурированных алгоритмов. Для более эффективной разработки программ современные языки программирования кроме минимального набора управляющих структур содержат и их модификации. 4.2. Управляющие структуры и инструкции языка C++
Управляющие структуры используются для управления ходом выполнения программы. В языке C++ имеются три категории управляющих инструкций: · инструкции выбора (ветвления): o if - условная инструкция; o switch – инструкция множественного выбора; · итерационные (циклические) инструкции: o while – цикл с предусловием; o do while - цикл с постусловием; o for – итерационный цикл; · инструкции перехода: o break – прекращение выполнения циклических инструкций и инструкции switch; o continue – переход к следующей итерации цикла; o return – прекращение выполнения функции o goto – переход по метке. Условная инструкция (if) Условная инструкция if позволяет выбрать одно из двух направлений выполнения программы. Имеются две формы записи этой инструкции:
if (< Выражение >) < Инструкция 1 >; Else < Инструкция 2 >;
if (< Выражение >) < Инструкция >;
Если под термином <Инструкция> понимаются несколько последовательных инструкций, то формат записи будет таким: Блок инструкций представляет собой последовательность инструкций, каждая из которых заканчивается символом;. Блок можно рассматривать как одну инструкцию (составную инструкцию). Термин < Выражение > представляет собой любое выражение C++, значение которого может трактоваться как значение логического типа (bool). Пример записи:
int K; cin >> K; if (K >= 0) cout << “Вы ввели положительное число.” << endl; Else cout << “Вы ввели отрицательное число.” << endl;
Здесь в качестве выражения использовано логическое выражение, значение которого равно true или false в зависимости от введенного с клавиатуры значения переменной K.
Еще один пример:
int K; cin >> K; if (K) // Здесь использовано арифметическое выражение cout << “Вы ввели число не равное 0.” << endl; Else cout << “Вы ввели 0.” << endl;
В этом примере выражение не является логическим, однако его значение может трактоваться как логическое (помним, что любое числовое значение, отличное от 0, соответствует значению true, а числовое значение 0 – логическому значению false). Этот пример можно было бы переписать так (эквивалент предыдущего примера):
int K; cin >> K; if (K!= 0) // Здесь использовано логическое выражение cout << “Вы ввели число не равное 0.” << endl; Else cout << “Вы ввели 0.” << endl;
Способ записи выражения во втором (из последних двух) примере следует считать менее эффективным и с точки зрения написания текста, и с точки зрения использования ресурсов (расхода памяти и быстродействия). А вот пример с использованием блока инструкций:
int Max, Min, B; cin >> Max >> Min; if (Min > Max) { B = Max; Max = Min; Min = B; }
В этом примере используется “укороченная” (без ветви else) форма инструкции if, и в случае, когда переменная Min содержит значение большее, чем переменная Max, выполняется последовательность инструкций (блок), осуществляющих перераспределение значений этих переменных так, что переменная Max будет содержать большее значение, а переменная Min - меньшее. Выполняемые внутри оператора if инструкции могут быть любыми инструкциями языка C++, в том числе и другими инструкциями if. То есть, другими словами, инструкции if могут вкладываться друг в друга. Количество уровней вложения if – инструкций в языке C++ ограничено 256 уровнями. Рассмотрим несколько примеров вложений if - инструкций. При анализе текстов подобных программ используют следующее правило:
|
||||
Последнее изменение этой страницы: 2017-02-07; просмотров: 174; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.19.251 (0.006 с.) |