Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 21.05.2020, 11:29   #1 (permalink)
Lolbem
Новичок
 
Регистрация: 21.05.2020
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Срочно нужно написать программу в pascal для решения неравенства a^x<b

Нужно написать программу в pascal для решения неравенства a^x<b(a в степени x<b) помогите пожалуйста
Lolbem вне форума   Ответить с цитированием

Старый 21.05.2020, 11:29
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Иногда для успешного решения проблемы стоит лишь обратить внимание на схожие топики

Помогите срочно написать программу,плиз. Pascal
Помогите написать программу на Object Pascal. Очень срочно нужно.

Старый 21.05.2020, 12:12   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Lolbem Посмотреть сообщение
Нужно написать программу в pascal для решения неравенства a^x<b(a в степени x<b) помогите пожалуйста
Ну что ж, нужно, так нужно, куда ж денешься... В простейшем случае вещественных a, b и x это выглядит так:
Код:
Var
 a,b:real;

Begin
 Write(' a = '); Readln(a);
 Write(' b = '); Readln(b);
 if (a<=0) or (b<=0) then
  Writeln(' No solution')
 else
  Writeln(' x < ',Ln(b)/Ln(a):0:8);
 Readln
End.
Если же нужно рассмотреть более сложную задачу, например, с целыми a и x (тут допустимы отрицательные значения основания), сообщите.
Vladimir_S вне форума   Ответить с цитированием
Старый 21.05.2020, 12:33   #3 (permalink)
Lolbem
Новичок
 
Регистрация: 21.05.2020
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо большое,но как с вами связаться?
Lolbem вне форума   Ответить с цитированием
Старый 21.05.2020, 13:34   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Lolbem Посмотреть сообщение
Спасибо большое,но как с вами связаться?
Дык... тут и запостить, если что, у меня секретов от коллег по форуму нет.
Vladimir_S вне форума   Ответить с цитированием
Старый 03.06.2020, 10:29   #5 (permalink)
Lolbem
Новичок
 
Регистрация: 21.05.2020
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Здравствуйте,помогите опять пожалуйста,я сейчас скину пример и нужно на подобие его сделать мой(a^x<b).
var a,b,c:real;
begin
writeln('Введите a и b');
readln (a,b);
if (a<0) or (b<0)or (a<>1)
then writeln('Решения нет')
else
begin
c:=ln(b)/ln(a);
if a=1 then writeln('Решения нет');
if a>1
then writeln('x>',c)
else writeln('x<',c);
end;
end.
Вот математическая модель (это для a^x>b,а мне нужно a^x<b):
Для решения показательного неравенства a^x>b приведем его к виду a^x>a^c. Тогда: если a>1, то x>c, если 0<a<1, то x<c.

ОДЗ: a>0,b>0,a≠1
Выразим b как степень числа a: b=a^log_a⁡b
Обозначим: 〖с=log〗_a⁡b
Получим: a^x>a^с
Если a>1, то x>c, если 0<a<1, то x<c.

Итак, для решения задачи нам нужно:
Знать значения a и b, то есть ввести их с клавиатуры;
Проверить ОДЗ
Найти с, то есть вычислить 〖с=log〗_a⁡b
Решить неравенство.
Lolbem вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 03.06.2020, 11:41   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Да, признаю — поторопился. Не учел ситуации с a<=1. По-моему, правильно так:
Код:
Var
 a,b:real;

Begin
 Write(' a = '); Readln(a);
 Write(' b = '); Readln(b);
 if (a<=0) or (b<=0) or ((a=1) and (b<=1)) then Writeln(' No solution')
 else
 if (a=1) and (b>1) then Writeln(' x - random')
 else
 if (a<1) then Writeln(' x > ',Ln(b)/Ln(a):0:8)
 else Writeln(' x < ',Ln(b)/Ln(a):0:8);
 Readln
End.
То, что Вы представили — там чего-то накручено лишнего, к тому же масса ошибок. Ну вот что это такое:
Цитата:
Сообщение от Lolbem Посмотреть сообщение
if (a<0) or (b<0)or (a<>1) then
writeln('Решения нет')
Т.е. решения нет, если a<0 или b<0 (это правильно), но также если... a отлично от единицы! (?). Ну что за ерунда, ей-Богу! Когда ж, в таком случае, решение есть? Когда a=1?
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 17:41.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.