readln(n); // считываем число с клавиатуры и кладем в переменную n
if (n < 0) then n := n * n else n := sqrt(n); // если n меньше нуля, то перемножаем n на n иначе берем корень квадратный из n
writeln(n:4:4); // выводим полученное число, 4:4 нужно для обрезания дроби, чтобы не получилось +E100000000 ( как пример ) readln; // ждем нажатия enter, чтобы программа сразу не завершилась после вывода результата end. Если будет ругаться на sqrt(n) тогда там где uses Crt пропишите uses Crt, Math;
Всегда задавалась вопросом чем же язык программирования отличается от систем программирования. Наверное всё же система программирования это средство, которое позволяет писать программы, на определенном языке программирования, или на нескольких определенных языках, азык программирования: это система обозначений, которая позволяет записывать алгоритмы. Чтоб алгоритм работал на машине, нужно: описание, на языке программирования, ввести в систему программирования, которая по этому описанию сделает выполняемую программу. Кроме транслятора, система программирования содержит весь набор инструментов для работы: текстовые редакторы, конструкторы, отладчики, и тд. Поэтому называется "система"
Ну раз никто не решился, а может не захотел возиться, покажу я вам динозавра! У меня когда-то была программа на QBASIC. (Первая личный комп вначале был без жёсткого диска. Под DOS грузили с дискеты. И там этот мелкий интерпретатор (ок 190 кБайт) был неплохим подспорьем.) Программа сохранилась. Она изначально только график рисовала. Потом я её дополнял. В том числе и решением уравнений вилкой. Было несколько версий Функцию я по-быстрому заменил на требуемую в задаче. Перелопачивать и выяснять полностью состояние программы не стал. За требуемую точность не поручусь. Но 4-6 знаков после запятой выдам. Это был "Полуавтоматический" вариант с прорисовкой графика. Красной линией прочерчивалась прямая y=0. График можно было перерисовывать, задавая новые пределы изменения переменной х. Глядя на график можно было определить исходные отрезки для запуска метода вилки. На скринах, естественно, проблемы с кириллицей. (Ненастроенный DosBox) Но текст программы загнал в pdf. Там можно прочесть все надписи.
На 3-м снимке видно, что, потребовав точность , я получил ответ, отличающийся от ответа МАСТЕРА. Я так думаю, что у меня не все переменные, требуемые для расчёта объявлены с двойной точностью. (Изначально таких там вообще не было). Но 7 знаков после запятой в ответе совпадают. :) А может это ограничение демоверсии QBASIC интерпретатора.
uses Crt;
var
n:real; // переменная n типа real begin
readln(n); // считываем число с клавиатуры и кладем в переменную n
if (n < 0) then n := n * n else n := sqrt(n); // если n меньше нуля, то перемножаем n на n иначе берем корень квадратный из n
writeln(n:4:4); // выводим полученное число, 4:4 нужно для обрезания дроби, чтобы не получилось +E100000000 ( как пример ) readln; // ждем нажатия enter, чтобы программа сразу не завершилась после вывода результата end. Если будет ругаться на sqrt(n) тогда там где uses Crt пропишите uses Crt, Math;