Напишите консольное Java-приложение, переводящее число “x” из позиционной системы счисления с основанием “a” в позиционную систему счисления с основанием “b”. Приложение должно позволять пользователю вводить 3 параметра:
“а” – основание исходной системы счисления, число от 2 до 36
“b” – основание целевой системы счисления, число от 2 до 36
“x” – число, записанное в “a”-ричной системе счисления, набор символов, допустимых в системе счисления по основанию “a” ({0;1} для двоичной системы, {0;1;2} для троичной, {0;1…9;a;b…z} для тридцатишестиричной)
В результате работы приложение должно отображать на экране представление числа “x” в системе
счисления по основанию “b”
ответом на задачу является ссылка на проект GitHub с исходным кодом приложения и инструкцией по сборке и запуску
1. Изначально растровое изображение было передано из города А в город Б за 16 секунд. Пусть это время будет обозначено как t.
2. Далее изображение было увеличено в 3 раза по высоте и уменьшено в 6 раз по ширине. Это значит, что новое изображение имеет высоту, равную 3 раза высоты изначального изображения, и ширину, равную ширине изначального изображения деленной на 6.
3. Пусть S1 - размер изначального изображения, выраженный в количестве пикселей. Тогда размер нового изображения, S2, равен произведению высоты и ширины нового изображения.
4. Учитывая, что высота нового изображения равна 3 раза высоты изначального изображения, получаем, что высота нового изображения равна 3*S1.
5. По аналогии, учитывая уменьшение ширины в 6 раз, ширина нового изображения равна ширине изначального изображения деленной на 6. Это можно записать как (1/6)*S1.
6. Теперь можем выразить S2 (размер нового изображения) через S1: S2 = (3*S1) * ((1/6)*S1) = (1/2) * S1^2.
7. Затем новое изображение было передано из города Б обратно в город А, используя другой канал связи. Допустим, время передачи нового изображения обозначим как t2.
8. Поскольку мы умножаем размер изображения на втором этапе, то время передачи увеличивается пропорционально размеру изображения. То есть, новое время передачи, t2, будет равно (1/2) * S1^2 * t.
Таким образом, верное решение задачи будет следующим:
- Изначальное растровое изображение было передано из города А в город Б за 16 секунд.
- Затем изображение было увеличено в 3 раза по высоте и уменьшено в 6 раз по ширине.
- После этого новое изображение было передано из города Б обратно в город А.
- Время передачи нового изображения зависит от размера изображения и равно (1/2) * S1^2 * t, где S1 - размер изначального изображения, t - время передачи изначального изображения.
а) Первое логическое выражение: F = (A∨B)∧(C∨B), при A=0, B=1, C=0.
Для построения логической схемы, нужно сначала разбить выражение на составные части. В данном случае есть два логических оператора: ∨ (логическое ИЛИ) и ∧ (логическое И). Рассмотрим каждую часть по отдельности:
- Часть (A∨B) означает, что результат будет истинным, если хотя бы одно из выражений A и B истинно. В данном случае, A=0 и B=1, поэтому результат этой части будет истинным.
- Часть (C∨B) означает, что результат будет истинным, если хотя бы одно из выражений C и B истинно. В данном случае, C=0 и B=1, поэтому результат этой части будет истинным.
Затем, мы объединяем обе части с помощью оператора ∧ (логическое И). Оператор ∧ требует, чтобы оба операнда были истинными, чтобы его результат был истинным. В данном случае, оба операнда истинны, поэтому результат этой части будет истинным.
Таким образом, логическая схема для данного выражения будет выглядеть следующим образом:
(A)---\
∧----> F
(B)---/
(C)---\
∨----\
(B)---/ \
∧----> F
(C)---/ /
∨----/
(A)---/
Значение логического выражения F будет истинным.
б) Второе логическое выражение: F = -(A∧B∧C), при A=0, B=0, C=1.
Для построения логической схемы, сначала разбиваем выражение на составные части:
- Часть (A∧B∧C) означает, что результат будет истинным, если все три выражения A, B и C истинны. В данном случае, A=0, B=0 и C=1, поэтому результат этой части будет ложным.
Далее, мы используем оператор отрицания - для инвертирования результата. Оператор отрицания - дает ложный результат, если операнд истинный, и наоборот. В данном случае, результат части (A∧B∧C) ложный, поэтому после применения оператора отрицания - получим истинный результат.
Таким образом, логическая схема для данного выражения будет выглядеть следующим образом:
(A)---\
∧
(B)---\
∧
(C)---\
∧
-\
F
Значение логического выражения F будет истинным.
в) Третье логическое выражение: F = -(A∧B∧C)∨(B∧C∨-A), при A=1, B=1, C=0.
Для построения логической схемы, снова разбиваем выражение на составные части:
- Часть (A∧B∧C) означает, что результат будет истинным, если все три выражения A, B и C истинны. В данном случае, A=1, B=1 и C=0, поэтому результат этой части будет ложным.
- Часть (B∧C∨-A) означает, что результат будет истинным, если хотя бы одно из выражений B∧C и -A истинно. В данном случае, B=1 и C=0, поэтому результат части (B∧C) будет ложным. Оператор -A инвертирует значение A, поэтому при A=1, результат этой части будет ложным.
Затем, мы объединяем обе части с помощью оператора ∨ (логическое ИЛИ). Оператор ∨ требует, чтобы хотя бы один из операндов был истинным, чтобы его результат был истинным. В данном случае, оба операнда ложны, поэтому результат этой части будет ложным.
Далее, мы используем оператор отрицания - для инвертирования результата. В данном случае, результат части (A∧B∧C)∨(B∧C∨-A) ложный, поэтому после применения оператора отрицания - получим истинный результат.
Таким образом, логическая схема для данного выражения будет выглядеть следующим образом:
(A)---\
∧
(B)---\
∧
(C)---\
∧
-\
∨
∧
-\
F
Значение логического выражения F будет истинным.
Задание 2.
В данном задании, нам дана логическая схема, и мы должны построить логическое выражение, соответствующее этой схеме.
По анализу данной схемы, мы видим, что сначала операнд A проходит через инвертор - (значок инвертирующего элемента в схеме), затем результат подается на вход оператора ∧ (логическое И), а затем результат этой операции подается на вход оператора ∨ (логическое ИЛИ).
Таким образом, логическое выражение для данной схемы будет выглядеть следующим образом:
F = -A∨(A∧B)
Такое выражение означает, что результат F будет истинным, если операнд A ложный, либо если операнд A и операнд B истинны.
Надеюсь, я понятно объяснил решение задания. Если у тебя остались вопросы, не стесняйся задавать их!