Другие языки программирования и технологии

кто может решить это в VBA пожалуйста(((

14.Дано натуральное число . Если оно делится на 4, вывести на экран ответ (где соответствующее частное); если остаток от деления на 4 равен 1, вывести ; если остаток от деления на 4 равен 2, вывести ; если остаток от деления на 4 равен 3, вывести . Например, 12=4*3 или 22=4*5+2.
А можно еще вот так - дешево и сердито
Sub moshkina()
n = CInt(InputBox("Введите число", "Деление на 4"))
If n > 4 Then 'пожалуй, это не обязательно
If n Mod 4 = 0 Then
MsgBox (n & "=" & n \ 4 & "*4")
Else
MsgBox (n & "=" & n \ 4 & "*4" & "+" & n Mod 4)
End If
End If 'и это тогда тоже
End Sub
Андрей Семеряжко
Андрей Семеряжко
1 249
Лучший ответ
Пишите, сделаю.
Катюшка, вы на какой специальности обучаетесь? Финансист, поди?
Проблемы:
* остаток от деления находится стандартным оператором "mod" (например, 4 mod 3 = 1);
* для написания разложения на множители надо выполнить обычную операцию деления, и выделить из частного целую часть (функция Int или Fix).. Эту целую часть можно сохранять в отдельной переменной) ;
* для вывода разложения на множители надо сформировать из вычисленных ранее данных строку символов, то есть поставить спереди исходное число, потом знак "равно", потом целую часть, потом знак умножения, потом 4, потом знак сложения и остаток. Это с помощью оператора "&" (сцепление текстовых строк) ;
* остаётся ещё проверять, когда есть остаток, а когда нет. Это можно через оператор "Case" (можно и через If, но Case кравивее запишется в тексте программы) .
Ну, и оформление внешнего вида программы. Скорее всего, придётся делать пользовательскую форму. И думать, что на ней должно быть: где будет исходное число вводиться, где результат будет, где кнопка для запуска вычислений.
Антон Еньшин
Антон Еньшин
27 562