Во всех программах у меня будет использоваться процедура 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.
Program fd;
var a,k:integer;
begin
Writeln('Ввести чётное натуральное число a');
Readln(a);
Writeln('Ввести число k');
Readln(k);
Writeln('',a div 100);
Readln(d);
Writeln('',a mod 100);
Readln(c);
if d+c>k then Write('Утверждение верно!'); else
if d+c<k then Write('Утверждение неверно!');
end.
Только для двузначного т.к. не имею на компьютере паскаль
256|_8____
-256 32|_8___
0 -32 4
0
256 в 10 -> 400 в 8
400|_8__
-400 50|_8__
0 -48 6
2
400 в 10 -> 620 в 8