// PascalABC.NET 3.3, сборка 1611 от 06.01.2018 // Внимание! Если программа не работает, обновите версию!
begin var (a,b,c):=ReadReal3('Введите три числа:'); if b.Between(a,c) then (a,b,c):=(2*a,2*b,2*c); if (a<0) or (b<0) or (c<0) then (a,b,c):=(Abs(a),Abs(b),Abs(c)); Writeln('a=',a,', b=',b,', c=',c) end.
Пример Введите три числа: 3.6 -5.2 8 a=3.6, b=5.2, c=8
Первый оператор читает с клавиатуры три вещественных числа и помещает их в переменные a,b,c. Второй оператор проверяет, находится ли второе число (b) между остальными двумя (может и совпадать с одним из них). Если да, то значение каждой переменной удваивается. Третий оператор проверяет, есть ли среди введенных чисел хоть одно отрицательное. Если есть, значения заменяются их модулями (становятся положительными). И в конце следует вывод результатов.
Смотрите. Тут правда есть немного лишнего. Противоположные стороны всё таки проверять не надо. Хватит 4х углов. Но текст комментирован, лишнее можно убрать. поясняющих картинок нет. но вопрос и так слишком долго живёт без ответа. Мне казалось срок жизни 2-3 дня максимум, а тут 5 дней минуло. Если что, отправляйте на исправление. дома дорисую. Главное программа работает. Правда есть подозрения, что не во всех Паскалях (как они относятся к объявлению массива массивов?) Это был Free Pascal Compiler version 2.6.4 [2014/04/20] for i386 В версии 3.0.0. думаю, тоже сработает
P.S.Добавил возможные варианты (не все, ясное дело) расположения точек.
// Внимание! Если программа не работает, обновите версию!
begin
var (a,b,c):=ReadReal3('Введите три числа:');
if b.Between(a,c) then (a,b,c):=(2*a,2*b,2*c);
if (a<0) or (b<0) or (c<0) then (a,b,c):=(Abs(a),Abs(b),Abs(c));
Writeln('a=',a,', b=',b,', c=',c)
end.
Пример
Введите три числа: 3.6 -5.2 8
a=3.6, b=5.2, c=8
Первый оператор читает с клавиатуры три вещественных числа и помещает их в переменные a,b,c.
Второй оператор проверяет, находится ли второе число (b) между остальными двумя (может и совпадать с одним из них). Если да, то значение каждой переменной удваивается.
Третий оператор проверяет, есть ли среди введенных чисел хоть одно отрицательное. Если есть, значения заменяются их модулями (становятся положительными).
И в конце следует вывод результатов.
Если что, отправляйте на исправление. дома дорисую.
Главное программа работает. Правда есть подозрения, что не во всех Паскалях (как они относятся к объявлению массива массивов?)
Это был Free Pascal Compiler version 2.6.4 [2014/04/20] for i386
В версии 3.0.0. думаю, тоже сработает
P.S.Добавил возможные варианты (не все, ясное дело) расположения точек.