Показать сообщение отдельно
Старый 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