Другие языки программирования и технологии

Переведите в Паскаль пожалуйста

Вот как-то так

program v9;

uses crt; {Подключаем библиотеку crt для того, чтобы работала функция очистки экрана}

var
e: String; {Переменная для выхода из программы}
a,b,c,x:real; {Вычисляемые переменные и вводимая переменная}
const
pi=3.1415926535;

function pow(x,n:real):real;{Функция возведения числа x в степень n}
begin
if x < 0 then pow := (-1)*exp(n*ln(abs(x)))
else pow := exp(n*ln(abs(x)));
end;

begin
While e <> 'e' do {Вся программа в цикле, т. е. будет повторяться, пока не ввели букву "e" (англ.) }

BEGIN {Тело программы}

write('Введите x:'); readln(x);

writeln('---'); {Строка-разделитель между вводом данных и ответом}

a:=1 + pow(x,2) + pow(x,3) / sqrt(x+sqrt(x+sqrt(x)));
{
pow - самодельная (в начале кода) функция возведения числа в степень
sqrt - стандартная функция извлечения квадратного корня
}

b:=pow(a,1/3) + pow(a,1/4) / sqrt(a+pow(pi,x));
{
кубический корень, это число в степени 1/3
}
c:=ln(pow(a,pow(2,2)) + pow(b,pow(x,1/3)))/ln(10);
{
функции вычисления десятичного логарифма в паскале нет,
поэтому приходится вычислять его через натуральный логарифм ln,
отсюда и появилось в конце: /ln(10)
}
write('a='); writeln(a:10:5);
write('b='); writeln(b:10:5);
write('c='); writeln(c:10:5);

writeln('---'); {Строка-разделитель между ответом и запросом на выход}
writeln('Нажмите "Enter" для решения ещё одной задачи'#13#10'или введите "e" для выхода из программы');
readln(e); {Ждём ввода от юзера. Если введёт "e" (англ.) , цикл больше не запустится и программа завершится }

ClrScr; {Чистка экрана перед новой задачей}

END; {Конец тела программы}

writeln('Спасибо, что воспользовались нашей программой! До свидания! '); {Любезно завершаем работу... }

writeln('(нажмите "Enter" для выхода) '); {Любезно завершаем работу... }

readln; {Ожидаем, пока юзер не нажмёт "Enter"}

end. {Конец}

Выложил исходник тут: pastebin . com / aESTwG1F
Андрей Толстых
Андрей Толстых
2 138
Лучший ответ