Вот вроде бы правильно сделано )
begin
var (m, p) := ReadInteger2('Укажите число и показатель степени:');
if p = 0 then
Write(1)
else
begin
var z := Sign(p);
p := Abs(p);
var r: int64 := m;
for var i := 2 to p do
r *= m;
if z > 0 then
Write(r)
else
Write(1 / r);
end;
end.
==PascalABC.NET==
Var
x, y: integer;
begin
//вводим x и y
readln(x);
readln(y);
//проверяем x
if (x >= 0) and (x<=20) then
writeln('X принадлежит')
else
writeln('X не принадлежит');
//проверяем y
if (y >= 0) and (y<=20) then
writeln('Y принадлежит')
else
writeln('Y не принадлежит');
<span>end.</span>
Var
a:array[1..12]of integer;
m, n:integer;
Begin
a[1]:=31;a[7]:=31;
a[2]:=28;a[8]:=31;
a[3]:=31;a[9]:=30;
a[4]:=30;a[10]:=31;
a[5]:=31;a[11]:=30;
a[6]:=30;a[12]:=31;
Write('Введите номер месяца -> ');
Readln(m);
Write('Год високосный(1 - да || 0 - нет)?');
Readln(n);
if (m = 2) then Writeln(a[m] + n) else
Writeln(a[m]);
end.