• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите, пожалуйста, записать математические выражения в Паскале

На паскале во втором и третьем задании(ZADANIE_2,ZADANIE_3), если отрицательное число вводишь, ответа нет, идет так Wrong x wrong x,пока не введешь полож.. Чем это может быть вызвано?.. А в первом задании все блестяще отлично, и отриц. и полож. числа идут.
 
Zadanie_1 сработала на паскале на ура! А вот с остальными двумя не получаестя что-то. Если вводишь отрицательные числа, то все не пашет..вот это пишется -"Wrong X" до тех пор пока положительное число не введешь... а в первом и с отриц. и с положит. работает все
 
Ну вот, здрасьте пожалуйста - приехали! Вы же сами настаивали, чтобы в программах была "проверка условия" - она и срабатывает. При вводе недопустимых значений Х появляется сообщение "Wrong X", т.е. "Неправильный Х", и надо ввести другой.
А вот какие значения являются допустимыми? Давайте разбираться.
Во втором задании вычисляется функция ln(arctan(ln(x)/sqr(x))). Не забываем, что логарифм определен ТОЛЬКО для существенно-положительных аргументов. Отсюда сразу заключаем, что Х должен быть >0, поскольку в формуле стоит ln(x). Но мало того! Если 0<X<1, то логарифм будет отрицательным. Отрицательным же окажется и арктангенс, а он стоит под знаком другого, "внешнего" логарифма. Из всего этого следует, что допустимой областью является Х>1, что в программу и заложено.
Аналогично в задании 3 фигурирует ln(x-1), откуда моментально следует, что X>1, что также заложено в программу.
Между прочим, в задании 1 тоже есть ограничение. Соотношение параметра а и переменной х должно быть таким, чтобы выполнялось условие (х-а)>=0, поскольку в формуле фигурирует корень квадратный из (х-а), а извлекать квадратный корень из отрицательного числа нельзя. Это тоже заложено в программу.
 
А ну тогда все понятно. Спасибо большое что просвятили. Теперь немного понимать начала что о чем. =) запутал меня препод со своими отрицательными числами и проверками условий...
 
СЕгодня показала работу, в общем сбили мне программу....там какие то цифпы вставил в значения и все кирдык, сбилось все, ответа не получился....:tehnari_ru_121:
и сказали что не так, слишком мудрено и догадались что не я сделала а кто то спец, там я так и знала что поменьше нужно строк
 
Сбили мне программы все и по этим заданиям и по тем с табулированием..... вставили какие то значения и ответ не дал, короче не то что то там... и сразу догадались что не я сделала там слишком мудрено, должно было быть попроще все оказывается,а я не знала...так что сама заварила кашу сама и буду расхлебывать...а вам огромное спасибо что помогли все равно
 
здесь в задании y:=sqrt(x-a)+(1/(x+c)) - когда вводишь c=3, x=-3. a=-10. получается на ноль делить нельзя, и сбиватеся, как сделать чтобы не сбивалось?
а в этом ln(arctan(ln(x/sqr(x)))) неправилно сосnавлено говорили, как это??? все же правильно....
и в этом где exp(q/4*ln(x+3))+exp(1/6*ln(x-1)) - отриц. числа не идут.
 
здесь в задании y:=sqrt(x-a)+(1/(x+c)) - когда вводишь c=3, x=-3. a=-10. получается на ноль делить нельзя, и сбиватеся, как сделать чтобы не сбивалось?
Вот так:
Код:
program zadanie_1;
var
  x,a,c: integer;
  y: real;
begin
 write('Vvedite A - ');
 readln(a);
 write('Vvedite C - ');
 readln(c);
 Repeat
  write('Vvedite X - ');
  readln(x);
  if ((x-a)<0) or ((x+c)=0) then writeln('Wrong X');
 Until ((x-a)>=0) and ((x+c)<>0); 
 y:= sqrt(x-a)+(1/(x+c));
 Writeln('Y = ',y:6:2);
 Readln;
end.
а в этом ln(arctan(ln(x/sqr(x)))) неправилно сосnавлено говорили, как это??? все же правильно....
Нет, не правильно! У меня в программе (#11) написано:
y:= ln(arctan(ln(x)/sqr(x)));
а у Вас что? Сверьте расстановку скобок!
и в этом где exp(q/4*ln(x+3))+exp(1/6*ln(x-1)) - отриц. числа не идут.
И не должны! Если задать х<1, в том числе отрицательный, то под знаком второго логарифма будет стоять отрицательное число, что недопустимо. Еще раз повторяю - функция логарифм определена только для СТРОГО положительных аргументов, ни отрицательные, ни нули там НЕ ДОПУСКАЮТСЯ. Затем и проверка поставлена.
 
Dasha2207, Ваш запрос перенесен в соответствующий раздел. Просьба впредь соблюдать рубрикацию форума и, кроме того, не цепляться к чужим темам.
http://www.tehnari.ru/f127/t71711/
 
извините пож-та, просто видела похожие сообщения.
 
Назад
Сверху