November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Saturday, September 8th, 2012 07:18 pm

Любимое юмористическое сообщество ru_php подкинуло любопытную задачку. Несмотря накажущуюся простоту, оказалось, что у очень большого количества выпускников профильных (!) учебных заведений она вызывает серьёзные затруднения. Потому что не подпадает ни под один шаблон, которым учат в этих заведениях, тут надо немножечко задействовать собственный мозг.

Поэтому задача эта, как выяснилось, очень распространена на Западе в качестве средства отсеивания недопрограммистов (a.k.a. быдлокодеров). Которые как раз и отличаются неспособностью самостоятельно думать.

Для системных администраторов, пожалуй, тоже подойдёт, поскольку она не на знание конкретных языков, а чисто алгоритмическая. Итак, проверьте себя:

Напишите на любом известном вам языке программу, которая для каждого числа от 1 до 100:
если число делится на 3, печатает слово “Hello”, если число делится на 5, выводит слово “world”, если число делится и на 3, и на 5, печатает фразу “Hello world”, иначе печатает само число. Всё.

P.S. У меня эта задача затруднений не вызвала. Жена, не имеющая профильного программистского образования, её тоже довольно легко решила. А вы? ;)

Оригинал этой записи в личном блоге.
Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме.

Sunday, September 9th, 2012 10:16 am (UTC)
Наверное, вы правы. Ничем другим "сложности" с этой задачей, на мой взгляд, объяснить невозможно.
Sunday, September 9th, 2012 10:33 am (UTC)
Ну, я вот честно говоря, вообще не понял в чем проблема и поэтому решил написать программу (у меня есть на ipad некий бейсик):

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 он тоже не воспринимает).

В чем же сложность? Нет ведь даже мало-мальски запутанного набора условий. И алгоритмы знать не надо. Ничего не надо, а поди ж ты.
Sunday, September 9th, 2012 10:43 am (UTC)
Ну там очень примитивная реализация бейсика, как языка. Это ж игрушка.

Зато там есть, например, процедуры позволяющие face recognition (полагаю их iOS предоставляет) :-)
Sunday, September 9th, 2012 02:49 pm (UTC)
Нет тут никакой сложности. То есть вообще. Человек, который придумал использовать эту задачу на интервью программистов пишет:
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/)
Sunday, September 9th, 2012 03:06 pm (UTC)
в том и идея, что деление на can code/can't code почти бинарное. кто не может писать код, не может написать ничего.