Во всех программах у меня будет использоваться процедура 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 uravnenie;
var
a, b, c: integer;
D, x1, x2: Real;
begin
writeln('Р Е Ш Е Н И Е К В А Д Р А Т Н О Г О У Р А В Н Е Н И Я');
writeln('ax^2 + bx + c = 0');
writeln('Введите коэффициент a');readln(a);
if (a <> 0) then begin
writeln('Введите коэффициент b');readln(b);
writeln('Введите коэффициент c');readln(c);
D := sqr(b) - 4 * a * c;
if (D > 0) then
begin
x1 := (-b - sqrt(D)) / (2 * a);
x2 := (-b + sqrt(D)) / (2 * a);
writeln('x1 = ', x1 : 5 : 4);
writeln('x2 = ', x2 : 5 : 4);
end
else if (D = 0) then
begin
x1 := -b / (2 * a);
writeln('x = ', x1 : 5 : 4);
end
else
writeln('Данное уравнение не имеет корней')
end
else
writeln('Данное уравнение не является квадратным')
end.