ох уж не знаю, права я или нет :D
Но вот я бы сделала так)))
begin
readln(a); {Тут мы вводим число, которое будем проверять: делится оно на три или нет}
s := 0; {это у нас будет сумма цифр числа }
while a<>0 do
begin
b := a mod 10; {выделяем последнюю цифру}
s := s + b; {находим сумму}
a := a div 10 {переходим к следующей цифре}
end;
if s mod 3 = 0 then {ну а вот тут, как раз, проверяем}
writeln('число делится на три')
else
writeln('число не делится на три')
end.
var n,z,n1,e:integer;
begin
e:=0;
readln(n);
n1:=n div 2;
for z:=1 to n1 do begin
if (n mod z = 0) then e:=e+z;
end;
if (e=n)
then writeln('соверншенное')
else writeln('0');
end.
Var
i:integer;
y,x:real;
begin
writeln('Введите аргумент X');
readln(x);
if (x>=0) and (x<=2) then
begin
y:=ln(30)+exp(2*x);
writeln('1 случай:');
end
else
if (x<0) then
begin
y:=cos(x-5);
writeln('2 случай:');
end
else
begin
y:=2*pi*x;
writeln('3 случай:');
end;
writeln('Значение функции Y = ',y);
end.