Что нового

Приоритет операций

mexan

Администратор
Сообщения
498
Симпатии
58
#1
При решении данных примеров, только приоритет операций не поможет. Потребуется ассоциативность операций. Потому что если, допустим, раскладывать выражение только по приоритету операций, то получается совсем другое число.
Пример 1:
Java:
int a = 2;
int b = 5;
int result = b * 3 + 20 / 2 * a--;
Задание: Используя приоритеты операций, разложить выражение int result = b * 3 + 20 / 2 * a-- по шагам.

Пример 2:
Java:
int num1 = 4;
        int num2 = 5;
        int num3 = 15;
        int num4 = 10;
        int num5 = 5;
        int result = 12;

        result += num1 * num2 + num3 % num4 / num5;
Задание: Используя приоритеты операций, разложить выражение result += num1 * num2 + num3 % num4 / num5 по шагам.

Пример 3:
Java:
int x = 8;
int y = 9;
int z = x++ + ++y;
Задание: Чему будет равна переменная z после выполнения следующего кода и почему?

Пример 4:
Задание:
Какие арифметические операторы являются правоассоциативными?

Пример 5:
Java:
        double x = 8.8;
        double y = 1.5;
        double z = x - y;
        System.out.println(z);
Задание: Что будет выведено на консоль в результате выполнения следующего кода?
 
Последнее редактирование:

mexan

Администратор
Сообщения
498
Симпатии
58
#2
Код:
//1: a--;         // 2
//2: b * 3;      //15
//3: 20 / 2;     // 10
//4: 10 * 2;     // 20
//5: 15 + 20;  // 35
Ответ: 35

Код:
//Сразу расставим приоритеты, и приведем в нормальный вид:
//result = 12 + (4 * 5) + (15 % 10) / 5;
//1: 4 * 5 = 20
//2: 15 % 10 = 5
//3: 5 / 5 = 1
//4: 12 + 20 = 32
//5: 32 + 1 = 33
Ответ: 33

Код:
//Подставим значения переменных
//int z = 8++ + ++9;
//8++ = 8
//++9 = 10
//10 + 8 = 18
//8++ увеличит значение на единицу, но возвратит ее предыдущее значение - число 8
//++9 увеличит значение и возвратит ее новое значение, то есть число 10
Ответ: 18

Решение данного вопроса я нашел не сразу (хотя конечно, мог подсмотреть, подсказку), но стал гуглить.
Ответ: префиксный инкремент и декремент

Ответ: 7.300000000000001
 
Последнее редактирование:
Вверх Снизу