<u>В PascalABC.NET эта задача решается легко и быстро. В других версиях будет монстрик.</u>
<em>// PascalABC.NET 3.2, сборка 1417 от 28.03.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
procedure MakeFile(path:string);
// не относится к заданию, создает файл Text со 100 числами
begin
WriteLines(path,SeqRandom(100,-99,99).Select(x->x.ToString))
end;
begin
MakeFile('MyFile1.txt');
// теперь у нас есть текстовый файл из 100 случайных чисел
// собственно, решение
var n:=ReadInteger('Укажите количество чисел:');
var a:=ReadLines('MyFile1.txt').Take(n).ToArray;
Writeln('Исходная последовательность'); a.Println;
Writeln('Результирующая последовательность');
a:=a.OrderBy(x->x.Last).ToArray; a.Println;
WriteAllLines('MyFile2.txt',a);
end.
<u>Пример</u>
Укажите количество чисел: 15
Исходная последовательность
51 -9 17 -12 7 -15 -20 50 98 19 56 67 -57 -42 64
Результирующая последовательность
-20 50 51 -12 -42 64 -15 56 17 7 67 -57 98 -9 19
Решение показано во вложении
Var
r,y:real;
begin
readln(r);
if (r>=-7)and(r<=-3)then
y:=r+7;
if (r>=-3)and(r<=-2)then
y:=4;
if (r>=-2)and(r<=2)then
y:=sqr(r);
if (r>=2)and(r<=4)then
y:=-2*r+8;
writeln(y);
if (r<-7)or(r>4)then
writeln('Введите значение в диапазоне [-7;4]');
end.
1)
a и b - целочисленные.
а)a div b
б)a mod b
2)
s, p, d, e - целочисленные.
d:= d div 10;
e:= d mod 10;
s:= d+e;
p:= d*e;
3)
a, b, s, r, p, ch - вещественные.
a:=sqr(a);
b:=sqr(b);
s:=a+b;
r:=a-b;
p:=a*b;
ch:=a/b;