Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Пример с вложенными развилками
Ниже представлена программа вычисления размера штрафа за превышение скорости, реализованная с использованием вложенных развилок:
publicclass Test2 { publicstaticvoid main(String[] args) {
intv_max = 40;// задано ограничение скорости intv = 121; // задана скорость нарушителя
if ( v <= v_max) { System.out.println("Все по правилам!"); } elseif (v <= v_max + 20) { System.out.println("нештрафуется"); } elseif (v <= v_max + 40) { System.out.println("500"); } elseif (v <= v_max + 60) { System.out.println("1000-1500"); } elseif (v <= v_max + 80) { System.out.println("2000-2500"); } else { System.out.println("5000"); } } }
Блок-схема для этой программы выглядит так:
Рис. 3.5. Блок-схема программы вычисления размера штрафа (вложенные развилки) Пример с усеченными развилками
Ниже представлена программа вычисление размера штрафа за превышение скорости, реализованная с использованием усеченных развилок:
publicclass Test2_1 {
publicstaticvoid main(String[] args) { int v_max = 40; int v = 130;
if ( v <= v_max) { System.out.println("Все по правилам!"); } if ((v > v_max) && (v <= v_max + 20)) { System.out.println("нештрафуется"); } if ((v > v_max + 20) && (v <= v_max + 40)) { System.out.println("500"); } if ((v > v_max + 40) && (v <= v_max + 60)) { System.out.println("1000-1500"); } if ((v > v_max + 60) && (v <= v_max + 80)) { System.out.println("2000-2500"); } if (v > v_max + 80) { System.out.println("5000"); } }
}
Блок-схема для варианта с усеченной развилкой:
Рис. 3.6.Блок-схема программы вычисления размера штрафа (усеченные развилки) Логические операции в Java
В примере с усеченными развилками используется операция «&&». Что это такое? Это одна из логических операций. Вот список всех логических операций, которые могут использоваться для формирования условия развилки:
Таблица 3.1 Логические операторы
Из таблицы видно, что &&– это операция «сокращенное AND».
Таблица 1.4 Таблица истинности логических операторов
В нашей задаче нам нужен именно AND, так как он позволяет задать условие, при котором должны соблюдаться два ограничения ОДНОВРЕМЕННО. Например, максимально разрешенная скорость составляет v=40 км/ч, а водитель едет со скоростью 79 км/ч, тогда сработает условие, которое предписывает ему штраф в 500 рублей:
if ((v > v_max + 20) && (v <= v_max + 40)) { System.out.println("500"); } Условие сработает, потому что обе части и (v>v_max + 20) и (v<= v_max + 40) истинны. Если же скорость водителя будет, например,v = 150 км/ч, то условие (v>v_max + 20) будет истинно, но условие (v<= v_max + 40) ложно, и все условие в целом будет ложно.
Обработка исключений
В современных языках программирования есть механизм обработки исключений. В простейшем варианте использования он выглядит так:
try { Строка_кода1_которая_может_выбросить_исключение; Строка_кода2_которая_может_выбросить_исключение; Строка_кодаN_которая_может_выбросить_исключение; } catch (ИМЯ_КЛАССА_ИСКЛЮЧЕНИЯ Объект) { Сюда_попадает_управление_когда_исключение_выброшено; } catch (ИМЯ_КЛАССА_ИСКЛЮЧЕНИЯ2 Объект2) { Сюда_попадает_управление_когда_исключение2_выброшено; }
Этого варианта конструкции trycatch Вам будет достаточно для выполнения всех заданий из этих методических указаний.
|
||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2018-04-12; просмотров: 400. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |