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.
Что должна вычислять программа?
var m:array [0..14] of integer; i:integer;
function IsPositive(a:integer):boolean;
begin
result:=(a>-1);
end;
procedure work;
var min, max, count:integer;
begin
count:=0;
min:=m[0];
max:=0;
for i:=0 to 14 do begin
if IsPositive(m[i]) then begin
inc(count);
if m[i]>max then max:=m[i];
if m[i]<min then min:=m[i];
end;
end;
writeln('MAX: ', max);
writeln('MIN: ', min);
writeln('Count: ', count);
end;
begin
for i:=0 to 14 do begin
write('n: ');
readln(m[i]);
end;
work;
readln;
end.