Рассмотрим задачи, в которых будем преобразовывать входную информацию в выходную, меняя форму представления информации. Для преобразования информации нужно знать какое-то правило: формулу, схему или план действий.
Например, мы знаем, что для нахождения периметра фигуры нам нужно сложить длины каждой из её сторон.
Вот четырёхугольник
A
B
C
D
.
ABCD.
Нужно найти его периметр.
Периметр фигуры будет равен сумме длин всех её сторон:
P
=
A
B
+
B
C
+
C
D
+
D
A
.
P=AB+BC+CD+DA.
Длины сторон указаны на рисунке в сантиметрах.
P
=
A
B
+
B
C
+
C
D
+
D
A
=
10
+
5
+
9
+
3
=
27
P=AB+BC+CD+DA=10+5+9+3=27
(см).
В данной задаче преобразование информации выполняется следующим образом.
Входная информация: длины сторон четырёхугольника
A
B
C
D
.
ABCD.
Выходная информация: периметр четырёхугольника
A
B
C
D
ABCD
(27 см).
Правило преобразования: формула нахождения периметра четырёхугольника.
Рассмотрим другую задачу. Перед тобой схема в виде алгоритма. Это план выполнения действий:
Что же получится в результате? Посмотрим, как будет преобразована информация.
Выполняем действия с числом
36
36
по схеме:
1.
36
+
14
=
50.
36+14=50.
2.
50
50
— чётное число? (да)
3.
50
+
23
=
73.
50+23=73.
4.
73
73
— чётное число? (нет)
5.
73
+
18
=
91.
73+18=91.
ответ:
91.
91.
Входная информация: число
36.
36.
Выходная информация: число
91.
91.
Правило преобразования: схема (алгоритм).
План действий точно и правильно решать информационные задачи.
План действий может иметь вид таблицы, схемы или списка.
Преобразуй входную информацию в выходную, используя правило в виде шагов (последовательности действий).
Входная информация: число 36.
Правило преобразования: последовательность действий:
1. Ввод числа 36.
2. Разделить число на 2.
3. Прибавить 7.
4. Если результат — чётное число, прибавить 18, если нечётное — вернуться к пункту 3.
5. Вычесть 35.
Человек. Тут все просто. :)
Объяснение:
"А" меньше 0?
ответ: нет, она больше 0. (Т.е.: А=8)
Значит ты идешь вниз по стрелочке "нет".
Дальше формула:
В=А-В
Значит: В=8-2=6
ответ: В=6
Тоже самое делаем с буквой "А":
А=А-2
Значит: А=8-2=6
ответ: А=6
ответ: А=6; В=6Теперь мы это все повторяем в том же духе, только до того момента пока значение буквы "А" не станет меньше "0".
Значит повторяем:
"А" меньше 0?
ответ: нет, она больше 0. (Т.е.: А=6)
Значит ты идешь вниз по стрелочке "нет".
Дальше формула:
В=А-В
Значит: В=6-6=0
ответ: В=0
Тоже самое делаем с буквой "А":
А=А-2
Значит: А=6-2=4
ответ: А=4
ответ: А=4; В=0"А" меньше 0?
ответ: нет, она больше 0. (Т.е.: А=4)
Значит ты идешь вниз по стрелочке "нет".
Дальше формула:
В=А-В
Значит: В=4-0=4
ответ: В=4
Тоже самое делаем с буквой "А":
А=А-2
Значит: А=4-2=2
ответ: А=2
ответ: А=2; В=4"А" меньше 0?
ответ: нет, она больше 0. (Т.е.: А=2)
Значит ты идешь вниз по стрелочке "нет".
Дальше формула:
В=А-В
Значит: В=2-0=2
ответ: В=2
Тоже самое делаем с буквой "А":
А=А-2
Значит: А=2-2=0
ответ: А=0
ответ: А=0; В=2"А" меньше 0?
ответ: нет, она на равне с 0. (Т.е.: А=0)
Значит ты идешь вниз по стрелочке "нет".
Дальше формула:
В=А-В
Значит: В=0-0=0
ответ: В=0
Тоже самое делаем с буквой "А":
А=А-2
Значит: А=0-2=-2
ответ: А=-2
ответ: А=-2; В=0Значит мы условия выполнили! "А" меньше 0.Удачи!Да всё просто.
1 вариант реализации:
Запиши число как строку. Строка = массив. Ты можешь перемножать элементы массива, не проблема)
2 вариант реализации:
Если по каким-то причинам использование строк запрещено, то играемся с остатком от деления на 10 и делением на 10 без остатка.
К примеру как нам засунуть 3 циферки из числа в массив из трех элементов?
Ввели число x = 123
mas[2]=Остаток от деления на 10(x) = 3
x=x делим на 10 без остатка = 12
mas[1]=Остаток от деления на 10(x) = 2
mas[0]=делим на 10 без остатка = 1
//а теперь выведем всё по заданию (сумму цифр числа, пробел, 132)
summ=mas[0]+mas[1]+mas[2];
println(summ,' ', mas[0],mas[2],mas[1])
end.