Вход | Регистрация


О жизни... ::

Метки:

OFF: Для женщин-программистов

Я
   skunk
 
31.03.04 - 06:19
Просто тест. Самое оптимальное решение для задачи:
Дано Х, которое может принимать два значения: 2 и 5. Написать программу которая получает на входе одно из значений на выходе дает другое.
То есть типа ввели 2 получили 5 и наоборот.
 
  Рекламное место пустует
   kadr
 
1 - 31.03.04 - 06:32
А на каком языке писать?
   skunk
 
3 - 31.03.04 - 06:34
(1)ты женщина?
любом... важен алгоритм...
   kadr
 
4 - 31.03.04 - 06:39
x=not (bin(x))
   skunk
 
5 - 31.03.04 - 06:43
(4)хитро...
только там надо еще опять в dec...
ну ладно тогда 10 и 12
   skunk
 
6 - 31.03.04 - 06:45
+5 или для верности сделаем так
дано Х которое может принимать два значения Зн1 и Зн2 ну и далее по сабжу...
   kadr
 
7 - 31.03.04 - 06:51
Над оригинальным решением надо подумать...
Кстати, еще ни одной тётки не было...
   skunk
 
8 - 31.03.04 - 08:01
(7)подождем...
   sali
 
9 - 31.03.04 - 08:11
Попробую, просьба сильно не критиковать...
а)
y=зн1+зн2
x=y-x
б)примитив
?(х=зн1,х=зн2,х=зн1)
   kadr
 
10 - 31.03.04 - 08:14
(9)
а) а чему у тебя изначально "х" равно?
б)Это слишком прямо и очевидно :(((
 
  Рекламное место пустует
   skunk
 
11 - 31.03.04 - 08:14
(7)в твоем решении есть еще один косячок:
bin(2) = 0000 0010  not(0000 0010) = 1111 1101 - что не есть пять...
то есть еще надо в строку конвертнуть там 3 последних отрезать...
   sali
 
12 - 31.03.04 - 08:17
(10) а) не поняла, оно же на входе уже чему-то равно.
Конечно это не весь текст программки, основная суть.
   skunk
 
13 - 31.03.04 - 08:21
(9)ответ правильный правда можно проще, чуть еще можно упростить:
х = (Зн1 + Зн1) - х;
   kadr
 
14 - 31.03.04 - 08:22
(11) Я знаю. Важен был сам принцип
(12) Сорри :))
   SnarkHunter
 
15 - 31.03.04 - 08:23
(13)Мдя...
   skunk
 
16 - 31.03.04 - 08:33
к чему?
   SnarkHunter
 
17 - 31.03.04 - 08:35
Внимательно посмотри...
   Vser1
 
18 - 31.03.04 - 08:42
А я пошел другим путем:
ЕСЛИ  ВВЕСТИ(х)=Зн1  ТО  ПЕЧАТЬ(Зн2)  ИНАЧЕ  ПЕЧАТЬ(Зн1)
   skunk
 
19 - 31.03.04 - 08:42
(17)да, согласен опечатка... читать правильно, так: х = (Зн1 + Зн2) - х;

спасибо за поправку :)
   SnarkHunter
 
20 - 31.03.04 - 08:43
(18)Не оптимально...
   skunk
 
21 - 31.03.04 - 08:54
(18)

если ввести(х) = 2 то печать(5) иначе печать(2)

или

х = 7 - х;
   Vser1
 
22 - 31.03.04 - 08:57
(20)Мне было интересно решение которое ориентирование на простоту восприятии, в оптимальном решении трудно уловить логику с первого взгляда :)
   Череп
 
23 - 31.03.04 - 09:01
А что, написать что-нить типа x=!x нельзя? Ведь значения то всего два!
   Vser1
 
24 - 31.03.04 - 09:01
(21) Корректней сравнивать:

если ввести(х) = 2 то печать(5) иначе печать(2)

или

ввести(х)
х = (2+5) - х
печать(х)
   skunk
 
25 - 31.03.04 - 09:03
mov ax, 0
xor ax, ax

результат то же, в первом очевиднее... во втором быстрее...
   skunk
 
26 - 31.03.04 - 09:06
но если внимательнее читать то твое решение такое

если х = 2 то х = 5 иначе х = 2;

про ввод и вывод не чего не говорилось
что то имеем на входе в программу и что на выходе... если учился в институте, должне знать понятие абстрактное, и алгоритмах не отображается...
   skunk
 
27 - 31.03.04 - 09:07
(23)напиши...
   Vser1
 
28 - 31.03.04 - 09:09
В моем примере при его недостатках в быстродействии, есть еще один маленький плюсик: что-бы пользователь не ввел на выходе он всегда получит только одно из заданных значений (неявная проверка ввода, однако).
   Vser1
 
29 - 31.03.04 - 09:13
(26) Не на программиста учился, но по мне это нормальная логика без всякой абстракции: смотрим что на входе, если условие сопало переприсвоем переменную, если не совпало выдадим другую (противоположную).
   skunk
 
30 - 31.03.04 - 09:20
(28)попробуй... допустим ввести 10, что получишь... х = 2 разве это правильно... а по условию там вообще есть 2 и 5 и про проверки не говориться...
(29)логика она и есть логика... важен результат... тем более там тоже логика...
   skunk
 
31 - 31.03.04 - 09:23
(31)самое странное... где наши женщины :((
   Demiurg
 
32 - 31.03.04 - 09:28
все нормальные люди ЕЩЕ СПЯТ!!!!!!
   Vser1
 
33 - 31.03.04 - 09:29
(30) Ну, а если в Аптимальный вариант ввести 10 что получим? Правильно получим значение вобще выходяшие за рамки задачи, кстати в некоторых случаях это может привести и к останову программы, а в моем примере даже глупый юз.. не прыгнет выше головы.
 
  Рекламное место пустует
   Череп
 
34 - 31.03.04 - 09:32
Юрик молодец!
   Vser1
 
35 - 31.03.04 - 09:33
(31) Я отдуваюсь за них :))))
(32) Если все спят, то некотрые ненормальные (смешенные во времени) скоро будут собираться прекрашать бодорствовать.
   Череп
 
36 - 31.03.04 - 09:39
Ага - я буду как только домой доберусь, а то я за сегодня только час поспал...
   skunk
 
37 - 31.03.04 - 09:43
(33)оптимальный код пишется под кокретную задачу, когда знаешь, что есть и что надо получить с целью увеличение быстросдействия приложения...

к примеру: логический сдвиг в лево на один разряд равен умножение на два... иногда выгоднее использовать его
   Vser1
 
38 - 31.03.04 - 09:51
(37) А мы и не ищем легких путей... Надо создовать горы, что-бы учиться их обходить... Не стоптав ноги не дойдешь до цели...
ЗЫ: Вот и поими логику некоторых мужчин :)))
   skunk
 
39 - 31.03.04 - 09:57
(38)просто тебе ни когда не приходилось писать что критически важное... когда каждый наносек лишней задержки в цикле вырастает в невозможность использования программы...
поэтому... в принципе не важно...
   Vser1
 
40 - 31.03.04 - 10:06
(39) Немножко не так, просто когда мне приходилось заниматься программированием всерьез, у меня уже была достаточно мошная машина, что-б не задумываться о таких мелочах.
   Череп
 
41 - 31.03.04 - 10:34
010 - два
101 - пять
три инвертора и всё готово...
|вх          |вых  
|   |---|    |
|---|   O----|
|   |---|    |
|            |
|   |---|    |
|---|   O----|  
|   |---|    |
|            |
|   |---|    |
|---|   O----|
   |---|
   Лена
42 - 31.03.04 - 10:34
Мужчины, если вы такие умные и крутые, вам не стыдно обижать женьщин-программистов?
  То что у нас другая логика, это да, но кто сказал что она плоха?
   Череп
 
43 - 31.03.04 - 10:35
Круто рисунок извратился млин - шрифт не тот...
   Vser1
 
44 - 31.03.04 - 10:47
(41) Можно и один если сигнал последовательно подовать...
   Vozhd
 
45 - 31.03.04 - 10:48
(42) Проблема в том что компутеру, а значит и программизму, люди предали мужскую логику, а не женскую...
   Череп
 
46 - 31.03.04 - 10:54
В чём принципиальное отличие мужской логики от женской??? Помоему отличий то нету...
   SnarkHunter
 
47 - 31.03.04 - 11:04
(45)Бред какой-то...
   ally
 
48 - 31.03.04 - 11:53
»
   skunk
 
49 - 31.03.04 - 11:55
(41)это частный случай 2 и 5, его решение предложил кадр в (4)...
(42)Ленок, разве мы их обижаем... просто был намек, что мужчины не могут программировать... я хотел посомотреть, что могут женщины... конечно, это частный случай, но по большому любое решение можно разделить на частные случаи, в которых надо найти оптимальный вариант... найти эти оптимальные варианты и есть программирование, а не знание ситаксиса команд какого-либо языка...
но это мое мнение... может я не прав...
 
  Рекламное место пустует
   327
50 - 31.03.04 - 11:57
»
   ally
 
51 - 31.03.04 - 12:05
»
   ally
 
52 - 31.03.04 - 12:06
Скунсик, сорри за оффтопик.... каюсь
   IAm
 
53 - 31.03.04 - 12:11
Трендец
   skunk
 
54 - 31.03.04 - 12:17
Элли ;) нет проблем... не бери близко к сердцу... в принципе ждалось другого...
   babaEGA
 
55 - 31.03.04 - 18:22
/*
собралась куча мужиков, взяли задачу для 9-ти классника и адресовали ее почему-то женщинам-программистам :))
Мне просто смешно :) ХА-ХА-ХА
*/
   Рупор абсурда
 
56 - 31.03.04 - 18:27
"ждалось другого", а получилось как всегда ...



Список тем форума
Рекламное место пустует  
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует