|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.03.2013, 22:50 | #1 |
Новичок
Джуниор
Регистрация: 19.03.2013
Сообщений: 1
|
Задача
Составить программу для вычисления значения функции
y= |1,если a>0; |0,если a=0; |-1,если a<0 Последний раз редактировалось Sfiorentin; 19.03.2013 в 22:53. |
19.03.2013, 23:10 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Код:
I'm learning to live...
|
20.03.2013, 07:25 | #3 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Еще проще:
Код:
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
20.03.2013, 08:36 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Sciv, я бы, кстати, не рекомендовал такой подход.
Во-первых, если y целочисленное, то потребуется приведение типов. Во-вторых, никто не гарантирует, что результат деления даст РОВНО единицу! В-третьих, операция деления гораздо затратнее, чем операция условного перехода и присвоения. Да и ради чего?! Вы выигрываете всего в паре IF и операторов присвоения... Поэтому, я бы лично выбрал код Stilet ну, возможно, забрал бы вашу идею с присвоением нуля: Код:
Код:
|
20.03.2013, 09:27 | #5 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Сергей, согласен со всем сказанным. Просто привел вариант решения, причем с ошибкой (y надо было объявлять целочисленным, а деление округлять, чтоб получить единицу). При решении ориентировался на более короткий, а не на менее затратный код, есть у меня такая дурацкая привычка Пытаюсь избавиться.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
20.03.2013, 10:09 | #6 | |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Цитата:
Верное - как раз обратное: деление намного быстрее условного перехода. (причем послезавтра будет ровно 20 лет, как это справедливо для процессоров семейства х86) Но по поводу написания кода - полностью с Вами согласен, не следует применять "хитрую математику" там, где достаточно одной логики. А уж тем более для сокращения объема текста программы. Вообще: борьба за сокращение объема текста - очень опасная болезнь. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
задача на зачёт. проблема Задача на нобелевскую премию! | Sabotage5 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 18.03.2013 15:18 |
Задача по подсчёту статистики использования букв. Другая задача - по длинной арифметике Pascal ABC | kimberly | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 24.12.2012 17:03 |
задача на структуру(struct)/задача на работу с файлом | SevenArth | Помощь студентам | 0 | 26.04.2012 19:06 |
Задача на оптимальный расчет маршрута (задача в презентации) в табличном процессоре Excel | Toofed | Помощь студентам | 0 | 30.11.2011 01:12 |
Задача минимизации дисбаланса на линии сборки (задача минимакса) | LenZab | Microsoft Office Excel | 13 | 13.03.2011 22:51 |