21.03.2012, 16:36 | #1 |
Британский учённый
|
Задачка
Буратине дали три яблока. Два он съел. Сколько яблок осталось у Буратины?
Думаете одно? Это может в первом классе на уроке арифметики оно одно осталось. А ежели задать эту задачку программистам... Ответы могут быть совершенно неожиданными: Неизвестно сколько. Никто-ж не знает, сколько яблок было у него до этого. Мораль: обнуляйте начальные переменные. Даже если обнулить переменные, никто не гарантирует, что Мальвина не отдала ему свои яблоки, пока он уничтожал те два. Или не сожрала третье. Мораль: внимательно используйте глобальные переменные. А где гарантия, что Буратино съел именно два яблока, а не два чего-то другого? Там написано что он съел два. Мораль: выясните детали задачи. Количество яблок у Буратины не изменилось. Они только поменяли область видимости: часть из них переместилась внутрь Буратины.
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
|
За это сообщение автора поблагодарили: EVGL (1), AlexeyS (1), lev (1), Sada (1), S.Kuskov (1), _scorp_ (1), kornix (1). |
21.03.2012, 17:00 | #2 |
MCP
|
Начнем с того, что во-первых, не определено, что есть «Буратино», Во-вторых не определено, что есть «яблоко», более того, с понятием «дали» тоже проблемы. Про понятие «съел» я вообще боюсь говорить. Давайте не будем «миксовать» элементарные операции с логикой и анализом
Не оговорено, например, что между операциями «дали», «съел» и «подсчет остатка» ничего с яблоками не происходит Не оговорено так же, могут ли появиться клоны буратин. А ведь запросто может появиться несколько одинаковых, не различимых между собой буратин (Многопоточность!) |
|
21.03.2012, 21:17 | #3 |
Участник
|
Так же не исключено, что стандартные операции "дали" и "съел" не перегружены для объекта "яблоко". Мораль: поставь точку останова, да посмотри значение в дебагере.
|
|
22.03.2012, 14:13 | #4 |
Программатор
|
Задал вопрос жене:
Буратине дали три яблока. Два он съел. Сколько яблок осталось у Буратины? Получил неожиданный ответ(она психолог) "он же лук жрёт" |
|
|
За это сообщение автора поблагодарили: AlGol (1), Zabr (5), lev (2). |
22.03.2012, 14:47 | #5 |
Участник
|
Три яблока осталось, он их не смог съесть ввиду отсутствия системы пищеварения
__________________
С уважением, Александр. |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Русский вопрос - разборки по понятиям на рынке ERP (Договор) | 23 | |||
Задачка по математике | 2 | |||
Дурацкая задачка | 3 | |||
Сколько я стою? %)) | 194 |
|