Как вычислить в турбо паскаль y = 2*ln (x)+3. входные данные x, выходные y. основная проблема в том, что необходимо, если пользователь вводит отрицательное число x вывести не ошибку, а результат в комплексном числе.
Если без изысков с определением комплексного типа данных и функции от него (а по хорошему так и надо), то можно как в документе, основная идея (то, что обсуждалось в комментах). Тут результат в любом случае выдается как комплексное число. Если должен получиться результат вещественный, то мнимая часть просто будет равной нулю. Хотя можно устроить распечатку вещественного результата без нулевой мнимой части.
Язык не указан, решение будет приведено на двух языках: наиболее популярном в школах Pascal и, на мой взгляд, незаслуженно считающемся "детским и непрофессиональным" BASIC (в примитивной его версии qBASIC). Как можно будет убедиться, в Бейсике программа получается даже короче и, я бы сказал, даже нагляднее.. Pascal: var x:integer; begin x:=1; Writeln(' x y=4x-5'); while x<30 do begin Writeln(x:2,4*x-5:6); x:=x+3 end end.
Результат выполнения программы: x y=4x-5 1 -1 4 11 7 23 10 35 13 47 16 59 19 71 22 83 25 95 28 107
qBASIC: PRINT " x y=4x-5" FOR x = 1 TO 30 STEP 3 PRINT x, 4 * x - 5 NEXT x END
Результат выполнения программы: x y=4x-5 1 -1 4 11 7 23 10 35 13 47 16 59 19 71 22 83 25 95 28 107
Хотя можно устроить распечатку вещественного результата без нулевой мнимой части.