Как определить является ли человек программистом? Дать задачку и слушать ответы: «Буратино дали 3 / it-юмор :: Буквы на белом фоне :: буратино :: программисты :: задача :: логика :: geek (Прикольные гаджеты. Научный, инженерный и айтишный юмор)

it-юмор geek логика задача программисты буратино Буквы на белом фоне 

Как определить является ли человек программистом?
Дать задачку и слушать ответы:
«Буратино дали 3 яблока.
Два он отдал Мальвине.
Сколько яблок у него осталось?»
1.	(initializing) Неизвестно, сколько яблок было у Буратино до того, как ему дали 3 яблока.
2.	Неизвестно два 'чего' он отдал


Подробнее
Как определить является ли человек программистом? Дать задачку и слушать ответы: «Буратино дали 3 яблока. Два он отдал Мальвине. Сколько яблок у него осталось?» 1. (initializing) Неизвестно, сколько яблок было у Буратино до того, как ему дали 3 яблока. 2. Неизвестно два 'чего' он отдал Мальвине. 3. Неизвестно не является ли Буратино и Мальвина двумя разными сущностями, или одно из них это ссылка на другое. 4. Неизвестно что подразумевается под процессом "отдал ", и результат этого процесса (может Мальвина не взяла). 5. Непонятно в какой момент 'осталось'. После того как он попытался дать в первый раз? 6. (state) Неизвестно не являются ли яблоки частью состояния Буратино, или самостоятельными объектами. 7. (волатильность) Не ясно, сколько времени прошло с момента нахождения яблок у Буратино до процесса 'отдачи": - может яблоки полураспадаются сами по себе (сгнивают), или возвращаются к тем, кто их дал. - может их едят пока они у Буратино, а он просто этого не знает. 8. (длина переменной) Не ясно, сколько яблок может удержать Буратино. Может, всего 2... и если он 2 отдал, у него нет яблок. 9. Если процесс дачи яблок рекурсивный, мы все останемся без яблок. Короче, тёмная история...
it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,логика,задача,программисты,буратино,Буквы на белом фоне
Еще на тему
Развернуть

Отличный комментарий!

это не человек-программист. Это человек-компилятор. При чем тупой донельзя.
Anubis_66RUS Anubis_66RUS 16.07.202110:14 ссылка
+43.9
это не человек-программист. Это человек-компилятор. При чем тупой донельзя.
И что тупого в проверках типов и стейта? Язык задачи похож на скриптовый, а то и вообще на нечто аля-пролог.
Ascard Ascard 16.07.202110:45 ответить ссылка -3.5
Понимая контекст задачи, эти вопросы не имеют смысла. Не понимая контекста нужно узнавать именно его, а не задавать тупые вопросы.
Из десятилетнего опыта в разработке могу сказать что "понимая контекст задачи" самостоятельно делать предположения о граничных условиях и просто незафиксированных вещах - идея максимально всратая. Временами кончается говном в штанах и пиздюлями.

А первый вопрос из списка вообще максимально правильный.
kirrik kirrik 16.07.202114:44 ответить ссылка 0.7
Да ладно. Программист джава: у Мальвины было "1" яблоко, Буратино дал 2 яблока, в итоге у Мальвины 12 яблок!
причём тут джава? это и в js так, и в c#, и в php
Ascard Ascard 16.07.202115:08 ответить ссылка -0.5
С++ с PHP выдают "ты просишь сделать хуйню", js делает хуйню которую ты просишь.
у меня пхп делает херню, и ничего не выдаёт
проверяется в первом же онлайн пхп сендбоксе - https://bit.ly/3Bbbp6T
Ascard Ascard 16.07.202115:23 ответить ссылка 0.2
В java ошибка компиляции, так как он строго типизированный.
Он максимально правильный если желаешь повыебываться. А вот посыл пикчи похоже вполне верный, задай простой вопрос, и поломанный проф деформацией человек начнет нести хуйню, вместо того, что бы дать простой ответ.
Скорее уж тогда НЕчеловек-тестировщик, при чем тут компилятор, он за тебя не думает.
Когда работаешь с гоуту надо быть предельно простым.
Если ты не пишешь программы сразу на ассемблере, то ты не программист, очевидно.
Определяем херню, берем длину херни, берем херню...
Zumgan Zumgan 16.07.202115:16 ответить ссылка 0.2
1+1=2
b.o.g b.o.g 16.07.202110:20 ответить ссылка -6.5
а если так: 1+'1'=11 ?
эх... все-равно ошибка.
бля.. да это ж баянище древний, как и само программирование
b.o.g b.o.g 16.07.202110:39 ответить ссылка -2.7
это не ошибка, а вполне ожидаемое поведение.
просто с точки зрения не программистов это выглядит как ошибка, и вообще может зависеть от языка. особенно новичков сводит с ума, но они быстро привыкают :)
Ascard Ascard 16.07.202110:47 ответить ссылка 1.0
Блять..
Ебаный нахуй... я теперь понимаю, почему все так работает.
Даже с элементарной задачкой никто не может справится...
Куда то в дебри полезли...
Ебааать нахуй..
Я разочаловался в человечестве.
b.o.g b.o.g 16.07.202110:50 ответить ссылка -1.7
ты как будто никогда не работал с джунами. В человечестве он разочался
1+'1'=11, или даже более правильнее 1+'1'='11'
тут всё логично на самом деле
есть два значения 1 и '1', первое это число, а второе строка текста, ибо кавычки
и есть оператор +, который хрен знает что делает, но обычно это математическое сложение. в большинстве языков он ещё отвечает за складывание вместе строк. что именно будет происходить - сложение чисел или строк зависит от типа значений справа и слева от '+', а поскольку значения у нас разных типов мы должны или привести оба значения к числу или оба к строке. второе проще и логичнее, хотя бы потому что там могла быть и не '1' а к примеру 'один'. поэтому происходит преобразование числа к строке и получается '1'+'1', ну а так теперь у нас есть две строки, то между ними легко и непринуждённо происходит объединение их в одну строку (т.н. "конкатенация" строк), и получается строка '11'
просто нужно иметь ввиду что такие вот мелочи и не будет рваться шаблон. а некоторые языки с нормальной типизацией, или просто IDE с анализаторами тебе за такое неявное преобразование дадут по рукам
Ascard Ascard 16.07.202111:07 ответить ссылка 1.5
Дружок-пирожок, ты ошибся дверью: клуб математиков этажом выше, а тут it-юмор.

https://www.destroyallsoftware.com/talks/wat
Wolfdp Wolfdp 17.07.202122:08 ответить ссылка -0.3
Ебать вы пирожки.
Ваши объяснения тривиальной загадки само по себе как it-юмор от Петросяна.
Пиздец.
Это вопрос безотносительно какого-либо ЯП. Это вопрос на принцип мышления.
Ответ на него единственный и тривиальный - Истина.
b.o.g b.o.g 19.07.202105:12 ответить ссылка -1.3
Ты провалил задание, мешок мяса

11010000 10100001 11010000 10111011 11010000 10110000 11010000 10110010 11010000 10110000 100000 11010000 10011110 11010000 10111100 11010000 10111101 11010000 10111000 11010001 10000001 11010001 10000001 11010000 10111000 11010000 10111000
человек-гуманитарий
Imebal Imebal 16.07.202110:21 ответить ссылка -1.2
Программист =/= человек
Программист != человек, в крайнем случае Программист <> человек
iduno iduno 16.07.202110:25 ответить ссылка 6.8
Программист объект класса человек.
Вот тут я бы поспорил. Скорее тут наследование как от человека так и от калькулятора
КАРКУЛЯВШЕЛ ШВИХНУВША
ШПАШИВШЕ БОЖИВШАР
Ромб объект класса квадрат.
nanoo nanoo 16.07.202112:28 ответить ссылка 0.4
Наоборот. Квадрат это частный случай ромба, у которого углы равны.
Правильнее было бы сказать, что квадрат, ромб и прямоугольник это объекты класса параллелограмм с различной вариацией значений размера углов и длин сторон.
ты походу молодой программист. это классический "взлетит ли самолёт с ленты". вся суть спора в том, что для наследования важны лишь методы. если у тебя один метод - посчитать площадь например, то можно квадрат хоть от треугольника наследовать.
nanoo nanoo 16.07.202113:13 ответить ссылка -0.1
Ты пишешь про наследлвание классов, а я про объект класса. Мы говорим о разных вещах.
в интернете кто-то не прав? во первых от объектов можно наследоваться (в js например вообще нету классов), а во вторых изначально в ооп (smalltalk) нету классов вообще, там только объекты и сообщения. и вообще имхо в теории ооп - это типа наследование инкапсуляция полиморфизм, а на практике - стратегия, декоратор и визитор и больше нихуя.
nanoo nanoo 16.07.202113:48 ответить ссылка -0.1
Когда программист говорит "и вообще ооп это", то после этого обязательно должно быть и имхо, и перекреститься надо, и по сторонам посмотреть, а то вдруг
Zumgan Zumgan 16.07.202115:18 ответить ссылка -0.1
я не гуманитарий, но разве "отдал" не означает завершённое действие? 4 пункт кажется притянутым за уши, если не за какие-то более страшные места

а вот 7 и 8 хороши
chaky chaky 16.07.202110:26 ответить ссылка 5.3
Если данные отданы, совершенно не означает, что они корректно приняты где-то в другом месте.
Тьфу, яблоки конечно.
Означает в том случае, если отдача идет с гарантией доставки (глаза, уши). Либо если Мальвина успешно завершила транзакцию, сказав "Спасибо".
Мальвина сказала "Благодарю", а Буратино завис в цикле ожидания "Спасибо", т.к. вотчдог не был включен, а кодил транспортные функции джун.
Они все притянуты за уши, кроме первого.

2. два яблока, потому что мы очевидно находимся в контексте. Любой ЯП умеет в скоупы (кроме мб брейнфака и подобных)
3. Буратино и Мальвина используются единожды, дальше используются ссылки его/её/..., очевидно речь про один объект т.к. так работают ссылки
4. Нам плевать, взяла мальвина их или нет, главное что мы их отдали. Процесс отдачи подразумевает, что у нас стало на N яблок меньше. То же про 7 и 8
5. Мы предполагаем, что нам перечислены все действия которые произошли. Если мы в любую строчку можем вписать "лул у буратины появилось 100500 яблок" то смысла в задаче нет вообще.
6. То же что 4: нам плевать какой там стейт был (кроме изначального) - у нас есть констатация какой он в конце
9. Он не рекурсивный потому што блять в изначальном алгоритме есть только 3 шага безо всякой рекурсии.
Psilon Psilon 16.07.202119:32 ответить ссылка -0.2
Не сказал бы что прям все.
2. соглашусь, тут скорее доебка что не уточнилось что передается.
3. Множественное наследование никто не отменял, так что объект одновременно может быть "он" и "она"
4. Подразумевается транзакция, с откатом при ошибке. Грубо говоря мы отдали Мальвине яблоки, она повертела их в руках и вернула назад с фразой "не хочу".
5. Тоже не особо понял, особенно про "первый раз". Я бы больше поверил в то что процесс отдачи яблок является асинхроным и проверку оставшегося количества яблок делаем не дождавшись полной передачи.
6. Соглашусь.
7. Я бы сказал "Остапа понесло", ибо можно предположить что после передачи яблок Буратино превращается в полено.
8. Тоже что и 4.
9. Соглашусь.
Wolfdp Wolfdp 17.07.202122:28 ответить ссылка 0.6
3. наследование не при чем, но да, возможен алиасинг. Хотя если мы про языки вроде Rust то невозможен )
4. это додумки из разряда "между 2 и 3 строчками прибежал велоцераптор и сожрал мальвину".
5. выше пояснил что это
7. агась)
Psilon Psilon 19.07.202113:03 ответить ссылка 0.0
>>это додумки из разряда
Если код подразумевает a + b, то можно говорить о велоцерапторе. Если все же Буратино.ОтдатьЯблоки(Мальвина, 2), то вполне возможно что перед нами черный ящик и мы не уверены на 100% что происходит внутри (либо наоборот знаем что возможны исключительные ситуации). В целом этот тезис граничит с 7-м утверждением, ибо напридумывать ситуаций можно миллион. Ошибка выполнения -- вполне типичная ситуация (хоть и далеко не обязательная).
Wolfdp Wolfdp 19.07.202114:32 ответить ссылка 0.0
a + b это сахар для a.add(b), т.е. все тот же черный ящик. В котором может происходить что угодно. Вон, плюсоидам показалось разумным сделать из оператора битового сдвига запись байт в поток.

Никогда не знаешь, чего от операторов ожидать.
Psilon Psilon 19.07.202120:16 ответить ссылка 0.0
Буратино дали 3 яблока это и есть иницализация начального состояния субъекта, никаких других данных о Буратине нет, поэтому используется принцип бритвы Оккама.
"Два он отдал Мальвине" - это операция менящее состояние интересующего нас субъекта. Следуя принципу инкапсуляции нас не интересует чего там у Буратино может быть еще два. Задача рассматривается как целостный контекст, из которого следует что "он" - субъект задачи, то бишь Буратино, а "два" - количетсвенное выражение объекта операции, то бишь яблоки. Мальвина - внешний актор, с которым взаимодействует наш субъект.
"Сколько яблок у него осталось?" - операция чтения текущего состояния нашего субъекта.
Ответ: 1.
А то что в посте - это типичный overthinking
LiRix LiRix 16.07.202110:28 ответить ссылка 7.8
А потом выясняется, что заказчик думал совсем иначе.
nostr nostr 16.07.202110:32 ответить ссылка 0.7
Ничего страшного, у нас есть еще один спринт.
LiRix LiRix 16.07.202110:32 ответить ссылка 2.6
Это оверсинкин, косящий под тупейший компилятор. Автор доебался до прямого объявления переменных, синтаксиса, операндов итд. Пойдет для уровня "обхяснить что есть что деткам в школе", но к реальности не имеет никакого отношения.
Скорее всего автор - сам за школьной партой открыл книжку и начал придумывать смехуёчек.
В реальности всё ещё хуже и сложнее. Автор даже до половины возможных вариантов не доебался.
Ascard Ascard 16.07.202111:13 ответить ссылка 1.7
оверсинкин
nanoo nanoo 16.07.202112:30 ответить ссылка 1.1
Дали - это увеличение значения переменной. Первоначальная инициализация отсутствует и это значит, что в переменной содержится произвольный мусор.
Схуяли там мусор? Там начальное состояние "0", созданное условиями нашей вселенной. будь там мусор, при каждом прочтении ты бы видел
"У Буратино "ыволапр" яблок", "У Буратино "NULL" яблок", "У Буратино "Unexpected" яблок", "У Буратино 99999999999999999999999999 яблок"
Начальное состояние может быть не определено вовсе. У нас даже не ясно к какому типу относится Буратино - Ожившее дерево, Человек, или вообще инстанс родительского класса Гуманоид. Например, Буратино может быть сделан из яблони и яблоки на нём тупо растут сами. И начальное состояние по яблокам для него >0
Ascard Ascard 16.07.202111:45 ответить ссылка 1.2
Для яблони начальное состояние кол-ва яблок >0? Проклевывается такой росток из семечки. Только-только солнцу первые листочки показал, а уже двадцать кило яблок на нем, собирай-не хочу, только ведра успевай подносить.
Начальное состояние буратины по яблокам, а не яблони. Его вполне могли выстрогать из уже плодоносящей яблони, с яблоками.
Ascard Ascard 16.07.202112:12 ответить ссылка 0.3
Если его выстрогали из яблони с яблоками, то яблоки все еще принадлежат яблоне а не ему. ну или это зависит от того, кто его строгал. Как выше заметили - бритва Оккама. Давай обрежем ей этот диалог?
Давайте
Ascard Ascard 16.07.202112:31 ответить ссылка 0.7
nanoo nanoo 16.07.202112:30 ответить ссылка 0.4
А если Буратино сидит в ящике Шрёдингера?
А если бы да кабы во рту вырасли грибы
LiRix LiRix 16.07.202111:55 ответить ссылка 0.2
Программист из вас ещё тот.
Tormen Tormen 16.07.202112:08 ответить ссылка -0.1
Как ты это понял?
LiRix LiRix 16.07.202112:11 ответить ссылка 0.1
тогда вся конструкция оборачивается в монаду maybe
nanoo nanoo 16.07.202112:32 ответить ссылка 0.0
А теперь представь, что это не задача в вакууме, а часть большого проекта. Там ещё вдвое больше вопросов можно будет придумать не напрягаясь.
А теперь представь бритву Оккама. Возьми ее в руки и отсеки все лишнее. И опа - это снова задача в вакууме и никакого большого проекта нет! Чудеса!
LiRix LiRix 16.07.202116:46 ответить ссылка -0.2
Это просто разные ситуации, бритва Оккама тут не при чём
Ты начал на одну реальную ситуацию, где асбтрактаная задачка в вакууме, накручивать лишние сущности и придумывать какой-то большой проет. Вот чтоб такой ерундой не страдать и нужна бритва Оккама
LiRix LiRix 16.07.202118:05 ответить ссылка -0.1
Формально инициализацией ( созданием ) объекта буратино занимался Папа Карло.
И как мы знаем яблок он ему не давал.
Можно, конечно, повыебываться, и сказать что папка карло лишь один из фабричных классов участвующих в цепочке создания буратино.
В таком случае получается что кто изначальный инициализатор класса буратино нам неизвестно.
Получается что все что мы знаем что Класс фабрики ( а возможно бридж класс ( соединяющий класс) ) Алкаш Джузеппе передал неизвестный ему объект ( говорящее полено ) классу Карло, который проверив объект по принципу "может говорить" сделал из него Ребенка.
crom crom 16.07.202118:18 ответить ссылка 0.1
Буратино дали 3 яблока, но ему криво прописали руки и яблоки до него "не дошли". Допустим, что мы проинициализировали переменную с яблоками нулём, но мы же считаем яблоки объектами материального мира(мы же не можем держать в руках отрицательное количество), поэтому будем хранить их количество в беззнаковом целом (например, uint32). Далее, при передачи яблок мы должны увеличить счётчик у Мальвины на 3 и уменьшить на столько же у Буратино. Если не делать проверку корректность - по завершению взаимодействия у Буратино останется 4294967293 яблока.
MBRUS MBRUS 16.07.202118:42 ответить ссылка 0.0
Вот для таких и придуман принцип KISS, чтобы не городили целый класс для операции сложения
А это смотря что складывать. Для сложения матриц класс можно и сделать.
dadv dadv 16.07.202110:56 ответить ссылка 1.4
Или проведение банковских транзакций.
DutchL DutchL 16.07.202116:43 ответить ссылка 1.3
There are two types of people in this world:
- those who can extrapolate from incomplete data
учёные из центра незавершённых исследований доказали, что.
nanoo nanoo 16.07.202112:33 ответить ссылка 0.5
0: этот список должен начинаться с нуля.
Wanzerr Wanzerr 16.07.202110:49 ответить ссылка 2.2
110100001010001011010001100010110010000011010000101111111101000010111000110100001011010011010000101111101101000110000000
что такое "два"? написано буквами, а не цифрой, значит это не количество. может это стул под названием "два" или еще что
Нужен предпроектный анализ. Стоимость 5 000 €. Ориентировочные сроки - 2 недели. Если по окончанию анализа будет принят проект, то стоимость анализа войдёт в стоимость проекта.
Neo Neo 16.07.202111:30 ответить ссылка 0.7
Вы что там, деньги пилите? Кто 5000 евро за две недели освоит? Нате вам 10000 и раньше чем через полгода не возвращайтесь.
Это все, конечно, хорошо, но термин "Буратино" нуждается в уточнении. Буратино - это единственное или множественное число? Что мешает предположить что в условии задачи "2 Буратино дали 3 яблока" и кому они их дали?
analitic analitic 16.07.202113:30 ответить ссылка 0.0
Если серьёзно, этот пост отлично иллюстрирует, почему иногда заказчику кажется что "чё там разрабатывать целый день, 3-2 в коде написал и готово", а на деле нужно учесть примерно вот такое количество проблем, а ещё и оттестировать и найти оставшиеся, о которых ты не подумал.
Читаю сейчас Umineko и там именно такая извращенная логика и аргументация и применяется для отрицания ведьмы :D
Если бы Беатриче первые два предложения произнесла красным, а потом спросила бы у Батлера, сколько яблок осталось, у него были бы все нижеперечисленные способы, чтобы выкрутиться и не признавать одно единственно оставшееся яблоко!
DeteRok^ DeteRok^ 16.07.202120:51 ответить ссылка 0.9
Rimfa:
Мальчик упал с четырёх ступенек и сломал ногу. Сколько ног сломает мальчик, если упадёт с сорока ступенек?

AzazeLHAck:
Ответ не может быть однозначным

Rimfa:
В смысле?

AzazeLHAck:
1) Мы не знаем, кому он сломал ногу.
2) Не факт, что за каждые 4 ступеньки он будет и далее ломать одну ногу (будь то себе, или кому-либо).
3) Если ноги всё же его, то после первых восьми ступенек ноги кончатся, и он начнёт ломать всё остальное и к концу сломаны будут даже уши.
4) Важен размер тех сорока ступенек. Если масштаб 1:10, то он по-прежнему сломает одну ногу.
5) Если учесть теорию вероятности, то сломаться могут ступеньки, а не ноги.
6) Гравитация и сила трения...
Сложная задача.

Rimfa:
ОДНУ ОН СЛОМАЕТ! ПЕРВАЯ УЖЕ СЛОМАНА НА ЧЕТЫРЁХ СТУПЕНЬКАХ!!!

Rimfa:
ТЫ СЛОЖНЫЙ, А НЕ ЗАДАЧА!!! КОМПЬЮТЕРА КУСОК!!!
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
Задачка: "Когда мне было 4, моей сестре было 2. Сейчас мне 44. Сколько моей сестре?
when I was 4, my sister was 2.1 am now 44. How old is mi sister?
Сложная задача. Ей может быть 42, но также может быть 41 или 43, ведь в условии не говорится, когда у них дни рождения. Также ее может уже не быть в
подробнее»

Буквы на белом фоне тестировщик задача it-юмор geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор

Задачка: "Когда мне было 4, моей сестре было 2. Сейчас мне 44. Сколько моей сестре? when I was 4, my sister was 2.1 am now 44. How old is mi sister? Сложная задача. Ей может быть 42, но также может быть 41 или 43, ведь в условии не говорится, когда у них дни рождения. Также ее может уже не быть в
Мой десятилетий сын программирует лучше вас.
10 июля Тестовый вопрос для 6-ти летних детей при отборе для
поступления в Школу «сократиков»
Собака - 3 Утка - 3
Корова - 2 Кукушка - 4 Овиа - 2 Свинья - 3
Ослик - ?
Петух - 8
Д Тестовый вопрос для 6-ти летних детей при отборе для поступления в Школу «сократиков»:
Собака - 3 Утка - 3 Корова - 2 Кук
подробнее»

ChatGPT нейронные сети Буквы на белом фоне geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор задача

Тестовый вопрос для 6-ти летних детей при отборе для поступления в Школу «сократиков» Собака - 3 Утка - 3 Корова - 2 Кукушка - 4 Овиа - 2 Свинья - 3 Ослик - ? Петух - 8 Д Тестовый вопрос для 6-ти летних детей при отборе для поступления в Школу «сократиков»: Собака - 3 Утка - 3 Корова - 2 Кук