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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2012, 15:42   #1
Melian1
Новичок
Джуниор
 
Регистрация: 21.11.2012
Сообщений: 3
По умолчанию Написать программу без использования "if-then"

Всем привет) Очень нужна ваша помощь, написать нужно всего лишь строчку.

Даны 3 числа: А,B,C.
Написать программу, которая выдает 1, если числа расположены по возрастанию и 0, если наоборот. НО запрещается использовать "if-then" и вообще любые циклы. Можно использовать умножение, деление, остатки и т.д.)

var a,b,c,rez:integer;

Begin
WriteLn("Введите 3 числа");
ReadLn(a,b,c);

rez:=(вот это нужно написать)

WriteLn(rez);
End.
Melian1 вне форума Ответить с цитированием
Старый 21.11.2012, 15:46   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Будем считать что числа расположены либо по возрастанию либо по убыванию
Код:
//f:boolean
f:=a>=b;
case f of
true: f:=b>=c;
end;
case f of
true:rez:=1;
false:rez:=0;
end;
Цитата:
"if-then" и вообще любые циклы
как видите не используются)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 21.11.2012, 15:53   #3
Melian1
Новичок
Джуниор
 
Регистрация: 21.11.2012
Сообщений: 3
По умолчанию

Спасибо большое) Но, если я не ошибаюсь, там должна быть всего лишь одна строка с использованием +,-,*,/, mod. Что-то из этого и все.
Melian1 вне форума Ответить с цитированием
Старый 21.11.2012, 16:28   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

так не подойдёт?
Код:
  rez := ord( ord(c>b) and ord(b>a));
и пусть тот, кто скажет, что здесь есть цикл или условный оператор первым кинет в меня камень!

лирическое отступление.
Никогда не понимал задачи, где вводится искусственное ограничение на используемые операторы/методы/инструменты и т.п...
Напоминает, попытку почесать за левым ухом большим пальцем правой ноги (другим нельзя!!)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.11.2012, 23:46   #5
Melian1
Новичок
Джуниор
 
Регистрация: 21.11.2012
Сообщений: 3
По умолчанию

Вот, именно это я и искала) Спасибо огромное!
Melian1 вне форума Ответить с цитированием
Старый 22.11.2012, 09:25   #6
Plague
Забанен
Форумчанин Подтвердите свой е-майл
 
Аватар для Plague
 
Регистрация: 01.11.2006
Сообщений: 420
По умолчанию

Serge, логические (булевы) выражения используются для того что бы программа была не линейной? True? А не линейность это и есть "if-then"?
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума Ответить с цитированием
Старый 22.11.2012, 11:08   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Plague, простите, не понял...
в данном случае программа линейная (не имеет ветлений). Булевые выражения исполльзуются для того, чтобы вычислить значение выражения, которое может принимать одно из двух значений (Истина\Ложь, True\False). К линейности/нелинейности программы непосредственно булевые выражения отношения не имеют..
Или Вы что-то другое имели в виду?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.11.2012, 12:22   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Или Вы что-то другое имели в виду?
Ребята, вас рассудит дизассемблер - если в коде Сержа он не найдет операторов Jxxx (а он их там не найдет, я уверен), значит программа не ветвится
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать программу которая должна "продавать" билеты на жд по алгоритмизации Зима C/C++ Базы данных 1 10.04.2012 10:49
написать программу по управлению клавиатурой: при нажатии "+" загораются лампочки... NickolayNest Помощь студентам 0 25.10.2011 20:07
написать программу "решение транспортной задачи дельта методом" на Delphi DIMAN488 Помощь студентам 1 06.12.2010 00:34
написать программу которая "сжимает" заданную последовательность Алиночка))) Фриланс 7 17.01.2010 18:35
Помогите, пожалуйста, написать программу в Паскаль по теме "Множества" SArtem Помощь студентам 10 19.12.2009 11:40