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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2011, 23:12   #1
Абай
Пользователь
 
Регистрация: 31.05.2011
Сообщений: 19
По умолчанию цикл с условием

While4. Дано целое число N (> 0). Если оно является степенью числа 3, то
вывести TRUE, если не является — вывести FALSE.
Абай вне форума Ответить с цитированием
Старый 09.06.2011, 23:19   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Код:
var f:boolean;
...
a:=3;
f:=false;
while (a<n) do
begin
   a:=a*3;
   if (a = n) then f:=true;
end;
//вывод f и т.д.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 10.06.2011, 00:25   #3
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Alex, если N = 3, ваша программа выведет False

Да и потом, троичный логарифм для кого?

Код:
result := (N > 1) and (frac(LogN(3, N)) < 0.0000001);
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 10.06.2011, 00:31   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

И где в троичном логарифме цикл while?)

Ага, так вроде и при N = 3 будет верно.
Код:
while (a<=n) do
begin
  if (a = n) then f:=true;
  a:=a*3;
end;
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 10.06.2011, 00:40   #5
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> И где в троичном логарифме цикл while? )

а, блин. Ну тогда вот такой цикл с условием: )

Код:
  while (true) do begin
    //
    result := (N > 1) and (frac(LogN(3, N)) < 0.0000001);
    break;
  end;
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль.Интергалы. Цикл с условием. -=elV!Pka=- Помощь студентам 4 14.10.2010 13:42
Цикл по времени - Как сделать так чтобы цикл выполнялся к примеру 10 секунд ? Anarki Общие вопросы C/C++ 3 13.11.2009 19:23
задача на цикл с условием . сделайте пожалуйста LIL_VAdiK Помощь студентам 1 03.02.2009 19:31
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34