Написание программы через процедуры и функции. Паскаль
Нужно написать программы через процедуры и функции с Параметрами.
1)Дано натуральное число. Верно ли, что произведение нечетных цифр данного числа меньше некоторого заданного числа.
2)Составьте программу получения в порядке убывания всех делителей данного числа.
3)Задано целое число N. Найти ближайшее к нему совершенное число.
Я написал, но требуют чтобы функции и процедуры были написаны с Параметрами
1)
2)
3)
Первую наверно лучше было написать через функцию.
Рассчитываю на вашу помощь
Нужно написать программы через процедуры и функции с Параметрами.
1)Дано натуральное число. Верно ли, что произведение нечетных цифр данного числа меньше некоторого заданного числа.
2)Составьте программу получения в порядке убывания всех делителей данного числа.
3)Задано целое число N. Найти ближайшее к нему совершенное число.
Я написал, но требуют чтобы функции и процедуры были написаны с Параметрами
1)
Код:
program pro1;
procedure max;
var
a, i: integer;
p: real;
begin
writeln('Введите число');
readln(a);
p := 1;
for i := 1 to a do begin
if (i mod 2 <> 0) then p := p * i;
end;
writeln('произведение нечетных чисел = ', p);
if (p < a) then writeln('Произведение меньше')
else writeln('Произведение больше введенного числа');
end;
begin max;
end.
Код:
program pro1;
procedure max;
var
a, i: integer;
p: real;
begin
writeln('Введите число');
readln(a);
p := 1;
for i := 1 to a do begin
if (i mod 2 <> 0) then p := p * i;
end;
writeln('произведение нечетных чисел = ', p);
if (p < a) then writeln('Произведение меньше')
else writeln('Произведение больше введенного числа');
end;
begin max;
end.
Код:
program pro2;
procedure max;
var
sum: longint;
a,i: integer;
begin
writeln('Введите число');
readln(a);
for i:=a downto 1 do if a mod i = 0 then sum:=sum+i ;
writeln ('совершенное число = ', sum);
end;
begin max;
end.
Рассчитываю на вашу помощь