Имя: Пароль:
1C
 
Проверка на четность
Ø
0 St15
 
07.06.06
12:41
Глупый вопрос конечно. Как можно проверить число на четность?
1 Sasha
 
07.06.06
12:43
Если Цел(НужноеЧисло/2) = НужноеЧисло/2 Тогда
Сообщить("Четное");
КонецЕсли;
2 Uho
 
07.06.06
12:43
Четность=?(Цел(МоеЧисло/2)=МоеЧисло/2,"Четное","Нечетное")
3 St15
 
07.06.06
12:45
Thanks
4 Дурочка 1С ®
 
07.06.06
12:45
Четное число - число, которое делится на 2 без остатка! © Я
 
Если НужноеЧисло%2=1 Тогда
Сообщить("Нечет");
Иначе
Сообщить("Чет");
КонецЕсли;
5 Шухер
 
07.06.06
13:43
Еще, у нечетного младший бит всегда = 1. :)
6 Ненавижу 1С
 
07.06.06
13:47
Функция Четное(Ч)
 Если Ч=0 Тогда
  Возврат 1;
 Иначе
  Возврат 1-Четное(Ч-1);
 КонецЕсли;
КонецФункции
7 Uho
 
07.06.06
13:50
(6) Ха... а если Ч=1234514561345134513245314512345235423523453?
8 fisher
 
07.06.06
14:34
Всем велосипедистам смотреть (4).
Почему-то про оператор получения остатка от целочисленного деления часто забывают и такое городят... Типичный пример - печать этикеток (заданное количество по вертикали и горизонтали). Каких только вариантов не насмотрелся...
9 aKomper
 
07.06.06
14:48
История о трех не моих знакомых бухгалтерах (все трое -
женщины, работали в разных местах, причем одна из них - главбух!).
Первая, считая налоги, частенько получала в графе "Всего" цифру,
меньшую, чем в расшифровках "В том числе", и искренне удивлялась, когда
к ней "придирались" по этому поводу.
Вторая (которая ГЛАВБУХ), будучи в преклонных годах, периодически
впадала в маразм и переставала понимать вещи, которые странно не
понимать не то, что главному, но и рядовому булгахтеру. Например, почему
сальдо на конец текущего периода должно равняться сальдо на начало
следующего. Я пытался ей по рабоче-крестьянски объяснять: "Вот
представьте, что вы положили 3 яблока в сейф, ключ от которого только у
вас, и легли спать. Проснулись утром - а в сейфе 4 яблока. Может так
быть?" Она мне по серьезке отвечала: "Конечно. А вдруг, пока я сплю,
кто-то пришел, утащил ключ и добавил яблоко" (логично, блин).
Но круче всех была третья. У этой на столе я приметил бумажку, где
старательным почерком было выведено: "Нечетные числа - первое, третье,
пятое... тридцать первое. Четные числа - второе, четвертое...
тридцатое".
10 roma n
 
07.06.06
15:21
Найти("02468",Прав(Ч,1))>0
Интресно, на больших числах целочисленное деление быстрее будет?
11 zzz
 
07.06.06
15:31
<Глупый вопрос конечно. Как можно проверить число на четность? >
 
флЧислоЧётное = "";
ответ = Вопрос("Это чётное число ["+текЧисло+"] ?", 4, 60);
Если ответ=6 Тогда
  флЧислоЧётное = "Чётное";
ИначеЕсли ответ=7 Тогда
  флЧислоЧётное = "Нечётное";
Иначе
  флЧислоЧётное = "Даже и не знаю ..";
КонецЕсли;
12 Lexusss
 
07.06.06
15:35
(9) 1 пример Посмотри любую декларацию с округлением до рубля. Округленный подитог за квартал соглазно правил математике может отличаться от суммы огругленных итого помесячно.
2 пример А закрытие периода? Они идеологически идет как раз "между" периодами.
3 пример Я до сих пор не запомнил соотношение номеров и названий месяцев. Хотя на бумажке это и не пишу :-)
13 zzz
 
07.06.06
15:41
2(12) прально, зачем бумагу марать :)
НомМесяца = 6;
Сообщить( Формат( '01.'+НомМесяца+".2006","ДММММ") );
14 fisher
 
07.06.06
16:39
2(9) Третий случай прикольный :)
Почти как "слева - дебет, справа - кредит"
15 КонецЦикла
 
07.06.06
16:51
Зачот
16 Zamestas
 
07.06.06
16:55
А может справочник четных чисел завести ?
17 St15
 
07.06.06
17:00
Всё, вырвал последние волосы от стыда, СПАСИБО ВСЁМ ОГРОМНОЕ.
18 zzz
 
07.06.06
17:06
2(17) использовал (11) ? Прально!
19 Rovan
 
07.06.06
17:11
(18) и еще - наверняка в инете есть точный сервер, который отвечает четное число или нет (а аналогии с сервером времени)
вот например в США в штате Индиана по местному закону число Пи = 4
20 zzz
 
07.06.06
17:22
2(19) всяко бывает ..
http://forum.onliner.by/files/vuz.gif
21 Zamestas
 
07.06.06
17:24
(19) Они платные все - говорю - надо через справочник делать - в тему:
ОФФ: ============== БАЙКА =====================
Родственник мой, S., оказался в Америке в начале восьмидесятых, в возрасте «за сорок» и владея английским языком в рамках «средней школы давно». Помыкавшись некоторое время (не о том сказ), S. нашел отличную работу — программистом Больших Шкафов для телефонного гиганта AB&C (кто знает, тот поймет). Для общения с начальством новоиспеченный программист быстро выучил английскую фразу «летмишоую» (сейчас покажу), за которой следовала демонстрация работающего кода, и вопросов больше не возникало.
Работа в телефонных гигантах неторопливая, но S. бездельничать не любил, и решил заняться оптимизацией. В одном из Больших Шкафов обнаружилась база данных, а в ней — таблица с парами чисел: 1-3, 2-6, 3-9, … , 1000000-3000000. Hичтоже сумняшеся, S. таблицу стер, а обращения к ней заменил строчкой B=Ax3. Шкаф, радостно заурчав, продолжал функционировать. Отсутствие таблицы начальство заметило (и то по чистой случайности) через неделю. Состоялся знаменательный диалог:
— Где таблица?
— Таблица не нужна.
— Как это не нужна?
— Hу, не нужна. Летмишоую. Вот: B=Ax3
— Что это?
— Вместо таблицы.
— А где таблица?
— Я ее стер. Hе нужна.
— Как стер???
— Летмишоую. Вот, работает. B=Ax3
— Hу, работает. А где таблица-то?

В конце концов, проявив завидную корпоративную мудрость, начальник оставил S. в покое. А по AB&C долго ходили легенды о сумасшедшем бородатом русском, который ПРИДУМАЛ ФОРМУЛУ.
Update. Вот что пишут.
Это старая байка. На самом деле, большие шкафы не умели умножать. То есть умели, но программно и очень долго. Поэтому была таблица.
А «сумасшедший» русский придумал вот что:
A=(B сдвиг влево)+B, что эквивалентно умножению на 3
Со временем байка сохранилась, а смысл потерялся, т. к. владельцу «Пентиума», трудно себе представить, что большой шкаф не умел аппаратно умножать.
22 USSR
 
07.06.06
17:33
Я писал управляющую программу с табличным хранением функции с линейной интерполяцией между узлами, все это было отмасштабировано в целых числах, и умножение на 2 заменялось простым аппаратным сдвигом. Зато знал где у машины ячейка, а не Регистр.XXX.YYY.ЯЯЯ.CCC.WWW
23 Ненавижу 1С
 
07.06.06
17:35
Правильный ответ в (6)
24 Uho
 
07.06.06
17:37
(23) Тогда в (7) правильный вопрос
25 zzz
 
07.06.06
17:38
http://voffka.com/archives/babyivodka.jpg
26 fisher
 
07.06.06
17:45
2(21) "Фигня какая-то..." (с)
Не верю я, что "программное" умножение было намного медленнее.
"Программное" умножение обычно именно через сдвиг со сложением и реализуется. Более того, во многих процессорах "аппаратное" умножение реализуется микропрограммой (тот же сдвиг со сложением).
27 USSR
 
07.06.06
17:50
(26)Следует различать программное умножение целых и вещественных чисел. Могу немножко ошибиться, но разница была не менее 20 раз
28 fisher
 
07.06.06
18:02
2(27) Не следует. Разницы почти нет. Умножение ведется по тем же правилам. Где 20-кратная потеря производительности - не понимаю.
29 USSR
 
07.06.06
18:16
(28) :) откройте книжки с тех характеристиками машин СМ-3, см-4, электроника-60, (система команд PDP-11) когда не было аппаратной реализации умножения с плавающей точкой и увидите, что следует. А деление было еще медленнее.
Мы же вроде про ретро говорим, или про Pentium-1V ?:)
 
30 fisher
 
07.06.06
18:33
2(29) Верю на слово. Книжек нету :)
Просто странно... Если б в несколько раз - оно понятно, но в двадцать...
Может разрядность мантиссы для чисел с плавающей точкой рассматривалась бОльшая, чем разрядность целых чисел (которая, как правило, равнялась длине машинного слова)?
31 Чучундер
 
07.06.06
23:47
> Я до сих пор не запомнил соотношение номеров и названий месяцев. Хотя на бумажке это и не пишу :-)
У меня это все еще запущеннее - я соответствие месяцев и количества дней до сих пор туплю... считаю так: две лулака костяшками вверх жруг к другу, считаем справа-налево - костяшка - 31 день, впадина - 30.
.. а как называется впадина между костяшками?
32 2Green
 
08.06.06
00:06
 (31) проще и полезнее запомнить методику, чем справочник. сам пользуюсь. :-)
 междукостяшие никак не называется
33 VicAlex
 
08.06.06
00:30
Кто ж на костях сейчас считает. Число 5265 в 8-ом исчислении переводится в 2-й код. 1-большой, 0 - маленький месяцы.
34 VZ
 
08.06.06
00:34
Месяцы - это просто: май - пятый, октябрь - десятый. Очень быстрый расчет.
 
А умножение действительно было очень долгим. Особенно для числа с плавающей запятой. Так и не освоил разрядами.
 
А еще целые были "короткими" и "длинными"... Что делать... лампы... потом транзисторы... И память из множества маленьких ферритовых колец.
 
Зато все похищенные инопланетянами описывают пульт управления "тарелки" ну точь-в-точь, как полукруглая главная стойка БЭСМ-6...
35 VZ
 
08.06.06
00:51
+34 Внемлите: гордость, флагман и чудо http://www.parallel.ru/history/besm6.html
36 Чучундер
 
08.06.06
04:02
А чего внемлять?
Я на такой вовсю программил еще где-то в 1990-1994, зверь машина!
по устойчивости работы с ней не сравнятся даже теперишние писюки, скажем так что мой компна котором я пищу сейчас виснет ГОРАЗДО ЧАЩЕ чем бэсм.
Программил на ForEx (Fortran Extended), была куча библиотек, скока я геофизики всякой обсчитал и обрисовал и распростарнения РВ... Ностальгия, блин! А еще лет 8 программил активно на ассемблере на больших машинах... примус... iebgener JOB MVC нетронутая красота BNE и BR... а Вострикова (Зинаида Петровна?)... Кто запустил мастера шедулера, снять! может не надо? Надо! Надо, так надо... А клинги? Теперешние всякие игры - мелкое подобие... Лейтенант Ухура! Торпеду на 36-80!...
37 oops!
 
08.06.06
05:14
(36) мда..., хорошее было время, и, казалось, что было его (времени) очень-очень много... и все занимались оптимизацией кода, и крутые игры писали в 64К ОЗУ... а чичас оптимизация типа "не нужна", - и так всё быстро считается, а времени уже ни на что не хватаит...
38 iova
 
08.06.06
05:32
(36) Примус - это дааа... И терминалы на телефонной лапше...
39 USSR
 
08.06.06
06:03
Примус - тоже помню, Прикладной монитор пользователя, отправил на печать и вниз за распечаткой бегом, матрицы, уравнения, жесткость, плохая обусловленность - всё в той стране:)
Пришел лектор в Вуз и грит: появились ПК, 640 КБ памяти, винт не помню вроже 40 мб уже сразу, никто не поверил, почти ЕС-1060:)
40 Гена
 
08.06.06
06:10
а я в то давнее время уложился в 104 шага калькулятора МК-54(56?), будучи лаборантом, написав программку для расчёта a + b*x (прямой по методу среднеквадратичных отклонений) для экспериментальных точек... полинститута пользовались
41 Гена
 
08.06.06
06:18
а ещё я в 15 лет (деньги были нужны - подрабатывал в десятом классе) дырки подправлял на перфокартах (где надо заклеивал, где надо пробивал)
если кто ещё помнит про перфокарты... :)
42 Шухер
 
08.06.06
06:41
©Я
Процедура Сформировать()
а = 11;
в = 3;
НужноеЧисло =окр(а/в,14);
Сообщить(Строка(НужноеЧисло)); //НужноеЧисло = 3.66666666666667
Если НужноеЧисло%2=1 Тогда
Сообщить("Нечет");
Иначе
Сообщить("Чет");
КонецЕсли;
КонецПроцедуры
//После выполнения получаем сообщение "ЧЕТ" !
43 USSR
 
08.06.06
07:29
(41) дырочки 12-5-8 - это скобка закрывается :)
44 USSR
 
08.06.06
07:31
(42)Ты просто некорректно применяешь условие четности к вещественным числам, что на них в принципе не распространяется
45 Rovan
 
08.06.06
08:39
(44) ну тогда можно ввести новые понятия:
получетное число - четное с дробной частью = 0.5
полунечетное число - нечетное с дробной частью = 0.5
на четверть четное число - четное, с дробной частью = 0.25
на четверть нечетное число - нечетное, с дробной частью = 0.25
на четверть недочетное число - нечетное, с дробной частью = 0.75
на четверть дочетное число - четное, с дробной частью = 0.75
46 zzz
 
08.06.06
09:23
(35) вот кто первым изобрёл "быстрые регистры" ..
47 Шухер
 
08.06.06
09:34
(45) в новых понятиях запутался, но цифры понравились :)
(44) в 42 прикол на зрительное восприятие цифр :) я не применяю условие четности к вещ числам, ибо % округляет операнды до целого по правилам установленным в настройке конфы.
еще задача интересная:
http://gilbil.zliypes.com.ua/math/index.php?id=7