Поделитесь своими знаниями, ответьте на вопрос:
Для замены значений переменных в 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