Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Развилки полные и усеченные




 

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

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

 

Типичная развилка выглядит в Java так:

 

if (условное_выражение) {

Действие_1

} else {

Действие_2

}

 

В блок-схеме она выглядит так:

 


Рис. 3.1.Структураразвилки

 

Пример – вычисление максимума из двух чисел – val1 и val2:

 

if (val1 > val2) {

max_val = val1;

} else {

max_val = val2;

}

 

 

В блок-схеме это выглядит так:

 

 

Рис. 3.2.Блок-схема вычисления максимума из двух чисел

 

Развилка, в которой есть и ветка if, и ветка else, называется полной.

Развилка, в которой есть только ветка if, а ветки else нет, называется усеченной развилкой. Код усеченной развилки вJava выглядит так:

 

if (условное_выражение) {

Действие_1

}

 

Блок- схема для усеченной развилки выглядит так:

 


Рис. 3.3. Структура усеченной развилки

 

Обратите внимание, что в блок-схеме ЕСТЬ ветка МИНУС, но на ней НЕТ ДЕЙСТВИЙ. При этом в тексте программы elseнет совсем. Это важный момент!


 


Пример – вычисление минимума из трех чисел

 

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

publicclassTest1 {

 

publicstaticvoidmain(String[] args) {

 

     int val1 = 9;

     int val2 = 10;

     int val3 = 6;

 

     int min_val = val1; // берем за минимальный число val1

         

     if (val2 < min_val) { // если второе меньше

     min_val = val2; // то теперь минимальное val2

     }

 

     if (val3 < min_val) { // если третье меньше

     min_val = val3; // то теперь минимальное val3

     }

         

     System.out.println("min_val = " + min_val);

}

 

}

 


 

Блок-схема для программы целиком выглядит так:

 


Рис. 3.4. Блок-схема программыпоиска минимума из трех чисел

 

 


Вложенные развилки

 

Одна развилка разбивает программу на 2 пути выполнения. Часто путей выполнения программы больше, чем два. Чтобы выбрать один из них, требуется либо набор идущих друг за другом усеченных развилок, как в предыдущем примере, либо вложенные развилки.

Типичная вложенная развилка выглядит так:

 

if (условное_выражение1) {

Действие_1

} else {           

if (условное_выражение2) {

Действие_2

} else {

Действие_3

}

}

 

В сокращенной записи используется последовательность elseif в одной строке:

 

if (условное_выражение1) {

Действие_1

} elseif (условное_выражение2) {

Действие_2

} else {

Действие_3

}

 

 

Блок-схема для вложенной развилки выглядит так:

 

 

Рис. 3.4. Структура вложенной развилки

 

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 475.

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