Procedure ShellStr(var s: string);
{ сортирует символы строки методом Шелла }
var
i, j, n, step: integer;
c: char;
begin
s := Trim(s);
n := Length(s);
step := n div 2;
while step > 0 do
begin
for j := n - step downto 1 do
begin
i := j;
while i <= n - step do
begin
if s[i] > s[i + step] then
begin
c := s[i];
s[i] := s[i + 1];
s[i + 1] := c
end;
i := i + step
end
end;
step := step div 2
end
end;
procedure TrimNullsLeft(var s: string);
{ Усекает левые (незначащие нули) в строке s }
var
i, n: integer;
begin
i := 1; n := Length(s);
while (s[i] = '0') do i := i + 1;
s := Copy(s, i, n - i + 1)
end;
var
p: integer;
s, M, N: string;
f: text;
begin
Assign(f, 'input.txt');
Reset(f);
Readln(f, s);
Close(f);
Assign(f, 'output.txt');
Rewrite(f);
s := Trim(s);
p := Pos(' ', s);
M := Copy(s, 1, p - 1);
N := Copy(s, p + 1, Length(s) - p);
s := M + N;
ShellStr(s);
TrimNullsLeft(s);
Writeln(f, s);
Close(f);
Writeln('Программа завершила работу')
end.
Program z1;
var d1,d2,a :integer;
r1,r2:real;
begin
writeln('Введите диаметры');
readln(d1,d2);
r1:=d1/2;
r2:=d2/2;
if r1>r2 then
p:=pi*sqr(r1)-pi*sqr(r2);
writeln('первая окружность-внешняя, p=',p:8:3);
else
p:=pi*sqr(r2)-pi*sqr(r1);
writeln('вторая окружность-внешняя, p=',p:8:3);
end.
Формальные исполнители, то есть те, которые не понимают смысла алгоритма, а лишь выполняют указанные шаги и не могут их редактировать: собака, не понимающая смысл команд, телевизор, в общем - любые неодушевлённые исполнители. Неформальные - те, что понимают смысл алгоритма и могут вносить в него коррективы - скажем, человек.
Крипты, Услуги, Выполняй задания чтобы получать денег, как Appbonus, NVuti
1 Кб = 1024 байта = 8192 бита
1 Мб = 1024 Кб = 1048576 байта = 8388608 битов
1 Гб = 1024 Мб = 1048576 Кб = 1073741824 байт = 8589934592 бит