===== PascalABC.NET =====
begin
var (a, b, x) := ReadInteger3;
if x = 1 then
Print('Сумма', a + b)
else if x = 2 then
Print('Разность', a - b)
end.
Без примеров:
абсолютные - на другой УРЛ
относительные - внутри страницы
смешанные - надо подумать логически
Прежде всего - формулы. Пусть а - длина стороны, тогда
var
a, r, rr, h, s: real;
begin
Write('Введите длину стороны треугольника: ');Readln(a);
r := sqrt(3) * a / 6;
rr := 2 * r;
h := 3 * r;
s := a * h / 2;
Writeln('Радиус вписанной окружности ', r);
Writeln('Радиус описанной окружности ', rr);
Writeln('Высота треугольника ', h);
Writeln('Площадь треугольника ', s);
end.
<em><u>Тестовое решение:</u></em>Введите длину стороны треугольника: 10
Радиус вписанной окружности 2.88675134594813
Радиус описанной окружности 5.77350269189626
Высота треугольника 8.66025403784439
Площадь треугольника 43.3012701892219
<h3>PascalABC.NET 3.4.2, сборка 1863 от 10.11.2018</h3><h3>Внимание! Если программа не работает, обновите версию!</h3>
function Conv(s: string): string;
begin
var d := s.ToCharArray;
var (i, found) := (d.High, False);
while i >= 1 do
if d[i] > d[i - 1] then
begin
found := True;
break
end
else i -= 1;
if found then
begin
s := s[:i];
var c := d[i - 1];
d := d[i - 1:];
d.Sort;
var j := d.IndexOf(c) + 1;
s += (d[j] + d?[:j] + d?[j + 1:]).JoinIntoString
end
else s := '-';
Result := s
end;
begin
var ms := Arr('1890', '83849', '126631', '146531', '32749972');
foreach var s in ms do
Conv(s).Println
end.
<h2>1908</h2><h2>83894</h2><h2>131266</h2><h2>151346</h2><h2>32772499</h2>