1)
Function check7(a As Range) As Integer
Dim r As Range
Dim i As Integer
For Each r In a
i = i + 1 - Sgn((Abs(r) + 3) Mod 10)
Next
check7 = i
End Function
Excel VBA
2)
А что здесь программировать-то?
Задача сводится к с следующей: Дано два ящика и 7 мячиков. Сколькими можно разместить эти 7 мячиков в этих двух ящиках?
Бросаем все мячики в первый ящик (это первое размещение), затем перекладываем по одному мячика из первого ящика во второй.
Получаем варианты:
7|0
6|1
5|2
4|3
3|4
2|5
1|6
Итого 7 вариантов (варианта 0|7 быть не может, поскольку двузначное число с нуля не начинается).
В общем-то и без вычислений всем очевидно, что разместить 7 мячиков в двух ящиков ровно 7.
Что должна вычислять программа?
В первом принте программа выведет 11 т.к round округляет число до ближайшего целого числа для 10,8 это 11 . Если бы там было 10,2 оно округлило бы до 10
Во 2 принте выведет программа выведет 10 из-за преобразование из типа float в тип int , тип int не может быть дробным числом и поэтому после преобразования оно отбрасывает дробную часть оставляя только целую