Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Вопрос

Автор: Wach 20.05.2007 17:41

как записать e в степени -4 ?
знаю оч глупый, но все таки ?smile.gif)

Автор: volvo 20.05.2007 17:43

Например, так: exp(-4)

или 1 / exp(4), если предыдущий вариант тебе чем-то не понравился...

Автор: Wach 20.05.2007 17:50

вот у меня есть программа для высчитывания интеграла методом левых прямоугольников. надо посчитать интеграл в границах от e в степени -4, до 1. Интеграл dx/x

Код
Program levii;
            uses crt;
                    var i,n:integer; a,b,h,x,xb,s:real;
        function f(x:real):real;
        begin f:=x/x; end;
begin
           clrscr;
     write('Введите нижний предел интегрирования '); readln(a);
     write('Введите верхний предел интегрирования '); readln(b);
     write('Введите количество отрезков '); readln(n);
               h:=(b-a)/n; s:=0; xb:=a;
                      for i:=0 to n-1 do
                      begin x:=xb+i*h; s:=s+f(x)*h; end;
    writeln('Интеграл равен ',s:12:10); readln;
end.

но фунциклировать она не хочет... когда пытаюсь ввести нижнюю границу интегрирования, пишет нумерис формат...

Автор: volvo 20.05.2007 17:55

при чем здесь ex?

А по программе - ты функцию нормально запиши, потом запускай... Что такое dx/x? Уж не 1/x dx случайно? Значит, функция должна быть

function f(x:real):real;
begin f:=1/x; end;
, только проверять еще надо ... Деление на 0 может случиться...

Автор: Гость 20.05.2007 17:58

ой, чет я вообще сглупил...
а е^-4 - нижняя граница интегрирования....

Автор: Гость 22.05.2007 2:54

многоуважаемый Вольво, объясните чайнику, как же все-таки в эту программу нижней границей интегрирования ввести е в степени -4?
я уже пробовал и 2,718 в -4 четвертую степень возводить... sad.gif

Автор: volvo 22.05.2007 3:05

Я ж написал тебе: exp(-4)...

Тебя это по каким-то причинам не устроило?... Что ты хочешь чтоб я тебе сказал еще?

Автор: Гость 22.05.2007 10:44

если это вводить, то он выдает Invalid numeric format

Автор: Lapp 22.05.2007 11:15

Цитата(Гость @ 22.05.2007 7:44) *

он выдает Invalid numeric format

Приведи полностью строчку, что ты пишешь. Фрагмент твоей программы.

М
Переименовываю тему


Автор: Гость 23.05.2007 0:29

вот сама программа

Код

Program levii;

            uses crt;

                    var i,n:integer; a,b,h,x,xb,s:real;

        function f(x:real):real;

        begin f:=1/x; end;

begin

           clrscr;

     write('Vvedite nigniy predel integrirovaniaя '); readln(a);

     write('Vvedite verxniy predel integrirovaniaя '); readln(b);

     write('Vvedite koli4estvo otrezkov '); readln(n);

               h:=(b-a)/n; s:=0; xb:=a;

                      for i:=0 to n-1 do

                      begin x:=xb+i*h; s:=s+f(x)*h; end;

    writeln('Integral raven ',s:12:10); readln;

end.


я ввожу как сказал Вольво:
Vvedite nigniy predel integrirovania  exp(-4)
на что получаю: Error 106: Invalid numeric format.

Автор: Lapp 23.05.2007 6:01

Цитата(Гость @ 22.05.2007 21:29) *

я ввожу как сказал Вольво:
Vvedite nigniy predel integrirovania  exp(-4)
на что получаю: Error 106: Invalid numeric format.

Так ты, оказывается, читаешь число оператором ReadLn!
Конечно, ты должен вводить только числа smile.gif
Сначала посчитай, чему это равно (на калькуляторе), а потом вводи его.

Вот, я посчитал, получилось примерно так:
0.01831590842
Так и вводи.