Студопедия

КАТЕГОРИИ:

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

Пример с вложенными развилками




 

Ниже представлена программа вычисления размера штрафа за превышение скорости, реализованная с использованием вложенных развилок:

 

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 (И)

&&

Сокращенное AND

|

Логическое OR (ИЛИ)

||

Сокращенное OR

^

Логическое XOR (исключающее OR (ИЛИ))

!

Логическое унарное NOT (НЕ)

 

Из таблицы видно, что &&– это операция «сокращенное AND».

 

Таблица 1.4

Таблица истинности логических операторов

A В A OR B | || A AND B &&& A XOR B ^ NOT A !
false false false false false true
true false true false true false
false true true false true true
true true true true false false

 

В нашей задаче нам нужен именно 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; просмотров: 351.

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