Во всех программах у меня будет использоваться процедура swap:
procedure swap(a: ^real; b: ^real);
var
t: real;
begin
t := a^;
a^ := b^;
b^ := t;
end;
swap(x,y) - меняет местами значения x и y.
1.
var
A: array[1..100] of real;
i, j, N: integer;
begin
readln(N);
for i := 1 to N do
read(A[i]);
for j := 1 to (N div 2) - 1 do
for i := 1 to (N div 2) - j do
swap(A[i], A[i + 1]);
for j := 1 to (N div 2) - 1 do
for i := (N div 2) + 1 to N - j do
swap(A[i], A[i + 1]);
for i := 1 to N do
writeln(A[i])
end.
2.
var
A: array[1..100] of real;
i, N: integer;
begin
readln(N);
for i := 1 to N do
read(A[i]);
for i := 1 to N - 1 do
swap(A[i], A[i + 1]);
for i := 1 to N do
writeln(A[i])
end.
3.
var
A: array[1..100] of real;
i, N: integer;
begin
readln(N);
for i := 1 to N do
read(A[i]);
for i := N downto 2 do
swap(A[i], A[i - 1]);
for i := 1 to N do
writeln(A[i])
end.
<em>// PascalABC.NET 3.3, сборка 1625 от 17.01.2018</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var n:=ReadInteger('n=');
if Abs(n).Between(100,999) then begin
Writeln('Число трехзначное');
if n.IsOdd then Writeln('Число нечетное')
else Writeln('Число четное');
if n div 100 = n mod 10 then Writeln('Его первая и последняя цифры равны')
else Writeln('Его первая и последняя цифры не равны')
end
else Writeln('Число не трехзначное')
end.
<u>Примеры</u>
n= 452
Число трехзначное
Число четное
Его первая и последняя цифры не равны
n= 313
Число трехзначное
Число нечетное
Его первая и последняя цифры равны
n= 18
Число не трехзначное
ответ будет таковым 1101011 = 107