Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Внимание! Есть замечания модератора по теме: Название темы не соответствует правилам форума
Старый 24.04.2013, 17:19   #1
MCoder
Новичок
Джуниор
 
Регистрация: 02.05.2007
Сообщений: 2
По умолчанию Вычислить значение выражения с учетом области допустимых значений

Вот программа которую решаю
Код Pascal

Код:
 
program MAX;
var a,b,c,d,y,e,f,x: real;
begin
readln(x);
a:=exp(e*ln(x+1))+sin(x)/cos(x);
b:=exp(y*ln(ABS(x)));
c:=sin(x)+exp(e*ln(x+y));
 if a>0 then
 
     if b>0 then
        writeln (sqrt(a)*(ln(-sqrt(b))-c))
     else writeln('Подлогарифмическое выражение  <= 0 ')
  else writeln (Корень <=0 ');
  
end.
Но при вводе числа с клавиатуры пишет либо корень<=0 либо логарифм<=0. Уже кучу разных чисел перепробывал,но толку не какого,значит не так решил, не могу найти что не так,подскажите пожалуйста

Само задание:
Вычислить значение выражения с учетом области допустимых значений.
Изображения
Тип файла: png 12214.png (1.7 Кб, 89 просмотров)
MCoder вне форума Ответить с цитированием
Старый 24.04.2013, 19:48   #2
rubius2008
Форумчанин
 
Регистрация: 19.03.2010
Сообщений: 409
По умолчанию

Во-первых, переменная e, по умолчанию равна нулю, что приводит к последующему неверному вычислению выражения.
Во-вторых, e^(x+y) {e в степени} в паскале записывается как exp(x+y) и все.
В-третьих, у вас неверно вычисляется b.
Есть вопросы, пишите в ЛС.
rubius2008 вне форума Ответить с цитированием
Старый 24.04.2013, 20:15   #3
MCoder
Новичок
Джуниор
 
Регистрация: 02.05.2007
Сообщений: 2
По умолчанию

Цитата:
Сообщение от rubius2008 Посмотреть сообщение
Во-первых, переменная e, по умолчанию равна нулю, что приводит к последующему неверному вычислению выражения.
Во-вторых, e^(x+y) {e в степени} в паскале записывается как exp(x+y) и все.
В-третьих, у вас неверно вычисляется b.
а что в b не правильно?
MCoder вне форума Ответить с цитированием
Старый 25.04.2013, 21:26   #4
rubius2008
Форумчанин
 
Регистрация: 19.03.2010
Сообщений: 409
По умолчанию

Вычисляется не то, что нужно, попробуйте вот так
Код:
b:=exp(-sqrt(x)*ln(y));
...
          writeln (sqrt(a)*(ln(b)-c))
Есть вопросы, пишите в ЛС.
rubius2008 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычислить значение выражения P91 Помощь студентам 0 04.12.2012 19:39
вычислить значение выражения (на C++) laychan Помощь студентам 2 05.03.2012 11:32
вычислить значение выражения ulechka128 Помощь студентам 0 25.12.2011 13:35
вычислить значение выражения _Иван_ Помощь студентам 2 20.04.2011 18:58