Для замены значений переменных в Pascal используется следующая конструкция:
zam:=x;
x:=y;
y:=zam;
Переменная zam используется как временное хранилище значения переменной x. Результатом выполнения трёх перечисленных команд будет обмен значений переменных x и y между собой.
Причиной для замены может быть присвоение какой-то из нескольких переменных максимального (или минимального, или ещё какое-то условие) значения из тех значений, что имеется в наличии. Например, есть переменная max и переменная x. Проверяем условие максимальности из них переменной max и если условие не соблюдается (т.е. max меньше x), то значения этих переменных заменяем меж собой. В Pascal это выглядит так:
………;
……….;
if max
zam:=max;
max:=x;
x:=zam;end;
………..;
………..;
Это фрагмент программы, многоточия обозначают возможные другие команды, не относящиеся непосредственно к нашей теме.
Переменными в Pascal могут быть элементы массива, который объявляется так:
var mas:array[1..20]of integer; Это мы объявили массив целых чисел из 20-ти элементов.
Присваивать значения элементам массива можно в цикле с параметром:
for i:=1 to 20 do begin
writeln(‘Введите значение элемента массива’);
readln(mas[i]);end;
В этом случае значения каждому элементу присваиваем вручную. Можно использовать генератор случайных чисел:
for i:=1 to 20 do
mas[i]:=random(100);
где последняя команда означает, что очередному элементу массива будет присвоено случайное число из диапазона 0...99 (все включительно).
Теперь собственно задание:
Составленная Вами программа должна будет:
1. Присвоить значения элементам массива целых чисел, состоящем из не менее чем 20-ти элементов. Случайным образом или с клавиатуры;
2. Вывести весь массив в окне вывода;
3. Отсортировать элементы массива по возрастанию;
4. Вывести отсортированный массив в окне вывода.
begin
var n:=ReadInteger('Кол-во элементов:');
var a:=ArrRandomReal(n,-10,20); a.Println;
Writeln('С округлением если |x|<1');
for var i:=0 to n-1 do
if abs(a[i])<1 then a[i]:=Round(a[i]);
a.Println
end.
Тестовое решение:
Кол-во элементов: 10
-0.751956142835299 5.95022566427953 3.58861613254464 7.42331713783709 -4.75036238075717 -9.41228387384316 -0.700975591643235 3.85500546258642 -1.94321916994789 19.3021338336645
С округлением если |x|<1
-1 5.95022566427953 3.58861613254464 7.42331713783709 -4.75036238075717 -9.41228387384316 -1 3.85500546258642 -1.94321916994789 19.3021338336645