Любимое юмористическое сообщество ru_php подкинуло любопытную задачку. Несмотря накажущуюся простоту, оказалось, что у очень большого количества выпускников профильных (!) учебных заведений она вызывает серьёзные затруднения. Потому что не подпадает ни под один шаблон, которым учат в этих заведениях, тут надо немножечко задействовать собственный мозг.
Поэтому задача эта, как выяснилось, очень распространена на Западе в качестве средства отсеивания недопрограммистов (a.k.a. быдлокодеров). Которые как раз и отличаются неспособностью самостоятельно думать.
Для системных администраторов, пожалуй, тоже подойдёт, поскольку она не на знание конкретных языков, а чисто алгоритмическая. Итак, проверьте себя:
Напишите на любом известном вам языке программу, которая для каждого числа от 1 до 100:
если число делится на 3, печатает слово “Hello”, если число делится на 5, выводит слово “world”, если число делится и на 3, и на 5, печатает фразу “Hello world”, иначе печатает само число. Всё.
P.S. У меня эта задача затруднений не вызвала. Жена, не имеющая профильного программистского образования, её тоже довольно легко решила. А вы? ;)
Оригинал этой записи в личном блоге.
Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме.
no subject
А вот проверка двух условий сразу с четырьмя возможными исходами - рвёт шаблон напрочь. Не учили этому. У кого мозги есть, тот быстро догадается. Ну а нет - так нет..
no subject
FOR i=1 TO 100
IF (MOD(i,3)=0) AND (MOD(i,5)=0) THEN
PRINT "hello world"
GOTO 10
END IF
IF (MOD(i,3)=0) THEN
PRINT "hello"
GOTO 10
END IF
IF (MOD(i,5)=0) THEN
PRINT "world"
GOTO 10
END IF
PRINT i
10 NEXT
goto 10 -- замена отсутствующему оператору continue (и next он тоже не воспринимает).
В чем же сложность? Нет ведь даже мало-мальски запутанного набора условий. И алгоритмы знать не надо. Ничего не надо, а поди ж ты.
no subject
no subject
Зато там есть, например, процедуры позволяющие face recognition (полагаю их iOS предоставляет) :-)
no subject
I’ve come to discover that people who struggle to code don’t just struggle on big problems, or even smallish problems (i.e. write a implementation of a linked list). They struggle with tiny problems.
(http://imranontech.com/2007/01/24/using-fizzbuzz-to-find-developers-who-grok-coding/)
no subject
no subject