curiousl: (свинки)
curiousl ([personal profile] curiousl) wrote2011-07-14 09:56 pm
Entry tags:

Баян, небось, однако славный

Буратине дали три яблока. Два он съел. Сколько яблок осталось у Буратины?

Думаете — одно? Фигушки! Это может в первом классе на уроке арифметики оно одно осталось. А ежели задать эту задачку программистам... Ответы могут быть совершенно неожиданными:

— Неизвестно сколько. Никто-ж не знает, сколько яблок было у него до этого.
Мораль: обнуляйте начальные переменные.

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

— А где гарантия, что Буратино съел именно два яблока, а не два чего-то другого? Там написано что он съел два.

— Количество яблок у Буратины не изменилось. Они только поменяли область видимости: часть из них переместилась внутрь Буратины.