Технологии программирования
Разветвляющиеся программы. Условный оператор
Для организации ветвления в программе на языке Java используются
- условный оператор if (в полной и сокращенной форме);
- оператор варианта switch .
Условный оператор в полной форме:
if ( логическое выражение )
оператор 1 ;
else оператор 2 ;
Блок-схема ветвления в полной форме:
истина
ложь
Логическое выражение
Оператор 1
Оператор 2
0)System . out . println ( a +” положительное ”); else if(a отрицательное ”); else System.out.println( ” это ноль ” ); 5 " width="640"
if (a0)System . out . println ( a +” положительное ”);
else if(a отрицательное ”);
else System.out.println( ” это ноль ” );
5
Условный оператор в сокращенной форме:
if ( логическое выражение )
оператор 1 ;
5
Блок-схема ветвления в сокращенной форме:
Логическое выражение
истина
ложь
Оператор
5
=0) {double b=Math.sqrt(a); System.out.print(”a= ”+a+ ” корень квадратный = ”+b);} " width="640"
if (a=0)
{double b=Math.sqrt(a);
System.out.print(”a= ”+a+ ” корень квадратный = ”+b);}
Задача 1:
Составить программу, которая определит большее из двух введенных чисел.
b) System.out.print("Большее "+a); else if (ba) System.out.print("Большее "+a); else System.out.print("Числа равны"); } } " width="640"
import java.util.*;
public class Big
{
// Определить большее из двух введенных чисел
public static void main(String[] args)
{
Scanner sc=new Scanner (System.in);
int a=sc.nextInt();
int b=sc.nextInt();
if (ab) System.out.print("Большее "+a);
else if (ba) System.out.print("Большее "+a);
else System.out.print("Числа равны");
}
}
Задача 2: датчик случайных чисел
import java.util.*;
public class Multiplay {
// программа проверяет знание таблицы умножения
public static void main(String[] args) {
Random r = new Random();
int a = r.nextInt(10);
int b = r . nextInt (10);
System . out . println (" Проверка знаний ТАБЛИЦЫ УМНОЖЕНИЯ ");
System . out . println (" Решите пример :");
System.out.print(a+" * "+b+" = ");
Scanner sc=new Scanner(System.in);
int c = sc.nextInt();
if (c == a*b) System.out.println(" Молодец ! Верно ! ");
else System.out.println(" Неверно ! ");
}
}
Задача 3:
Составить программу, которая определит, является ли треугольник с заданными сторонами равносторонним, равнобедренным или разносторонним.
Задача 4:
Три шахматиста играют в шахматы. Известно количество очков, набранных каждым из них. Составить программу, которая определит, на сколько очков победитель оторвался от самого слабого игрока.
Задача 5:
Составить программу, которая вводит число, обозначающее количество лет, и выводит для этого числа наименование «год», «года» или «лет». Например, «14 лет», «183 года», «31 год».
Задача 5:
Модель.
Исходные данные : целое число A . Результат : наименование.
Наименование зависит от последней цифры введенного числа: 1 - «год»; 2,3,4 – «года», 0,5,6,7,8,9 – «лет». Исключением являются числа, две последних цифры которых составляют число от 11 до 14 – в этом случае требуемым наименованием будет «лет» («12 лет»).
Задача 5:
Алгоритм :
ввод числа А;
вычисление числа В из двух последних цифр числа А;
если В лежит в интервале от 11 до 14,
то вывести наименование «лет»
иначе
выделить последнюю цифру числа А (обозначим С);
если С=1, то вывести наименование «год»;
если С=2 или С=3 или С=4, то вывести наименование «года»;
если С=0 или С в интервале от 5 до 9, то вывести «лет».
Оператор варианта switch
позволяет реализовать множественный выбор:
switch ( выражение ) {
case константа 1 : оператор 1 ;
case константа 2 : оператор 2 ;
...
case константа N : оператор N ;
default : оператор ;
}
Тип выражения-переключателя должен быть char, byte, short или int.
Пример
switch (d ) {
case 1 : System.out.print(“ Понедельник ”) ;
case 2: System.out.print(“ Вторник ”) ;
case 3: System.out.print(“ Среда ”) ;
case 4: System.out.print(“ Четверг ”) ;
case 5: System.out.print(“ Пятница ”) ;
case 6: System.out.print(“ Суббота ”) ;
case 7: System.out.print(“ Воскресенье ”) ;
default : System.out.print(“ Ошибка ”) ;
}
ПРОТЕКАНИЕ
Пример
switch (d ) {
case 1 : System.out.print(“ Понедельник ”) ; break;
case 2: System.out.print(“ Вторник ”) ; break;
case 3: System.out.print(“ Среда ”) ; break;
case 4: System.out.print(“ Четверг ”) ; break;
case 5: System.out.print(“ Пятница ”) ; break;
case 6: System.out.print(“ Суббота ”) ; break;
case 7: System.out.print(“ Воскресенье ”) ; break;
default : System.out.print(“ Ошибка ”) ;
}
break – оператор, который завершает текущий блок.
Еще пример
switch (month ) {
case 1 2:
case 1 :
case 2: System.out.print(“ Зима ”) ; break;
case 3:
case 4:
case 5: System.out.print(“ Весна ”) ; break;
case 6:
case 7:
case 8: System.out.print(“ Лето ”) ; break;
case 9:
case 10:
case 11: System.out.print(“ Осень ”) ;
}