Http://calculatori.ru/perevod-chisel-iz-odnoj-sistemy-schisleniya-v-lyubuyu-druguyu-onlajn.html
хороший сайт переводчик с объяснениями
Это основной код макроса с циклом перебора всех нечетных чисел
Sub SummFactorial()
Dim summ As Long
Dim i As Byte
For i = 1 To 9 Step 2
summ = summ + Fact(i)
Next i
MsgBox (summ)
End Sub
а эта функция вызывает сама себя (рекурсия) для расчета факториала<em>
</em>
Function Fact(s As Byte) As Long
If s <= 1 Then
Fact = 1
Else
Fact = s * Fact(s - 1)
End If
<span>End Function
и уточните, если нужно, что должно быть в подпрограмме - весь код или только расчет факториала
</span>
Var
mj,max,i,j,m,n:integer;
mas:array[1..999,1..999] of integer;
begin
randomize;
readln(m,n);
for i:=1 to m do
for j:=1 to n do
read(mas[i,j]);
for i:=1 to m do
begin
mj:=-maxint;
max:=-maxint;
for j:=1 to n do
if mas[i,j] > max then
begin
mj:=j;
max:=mas[i,j];
end;
writeln('[',i,';',mj,'] = ',max);
end;
end.