Кошка и собака. Как различить?
На 2-м курсе института дали нам курсовую работу по программированию.
Постановка задачи: написать программу (на ассемблер), которая бы отличала собаку от кошки.
Само собой, наличие алгоритма работы программы было обязательным.
Мы поначалу ржали, а потом чуть не поседели пытаясь составить алгоритм распознавания.
У собаки и кошки по 4 лапы, усы, уши, хвост... Варианты взвесить, сравнить размеры не подходят, т.к. и кошки и собаки бывают как мелкие, так и крупные..
Чуть не сошли с ума, пока нас не осенило.
Алгоритм кратко:
выполнить: наступить объекту на хвост
Проверить:
объект сказал "Мяу" или "ударил лапой с когтями" = true.
вывод: объект = кошка.
Если объект сказал "Мяу" = falshe.
Проверить:
объект сказал "Гав" или "укусил зубами" = true
вывод: объект = собака.
Если объект сказал "Гав" или "укусил зубами" = falshe.
Поменять объект на предусмотренный условием задачи - собаку или кошку.
Препод обозвал нас садистами, но 12 баллов поставил
т.к.
мы проявили оригинальность.
Правильный ответ оказывается был проверить скольких цветов окрас объекта: 2 цвета - собака, более чем два цвета - кошка (или наоборот, точно не помню).
Вариант острых и тупых когтей был забракован, а вдруг кошке сделали маникюр? А собака всю жизнь только по мягкой земле бегала?
Народ из группы до пересчета позвонков и костей дошел. Оказывается количество костей в скелете у кошек и собак различны
Препод очень внимательно на студентов смотрел читая алгоритм с шагами:
1 Словить объект
2 Взять кастрюлю размерами превышающую объект
3 Развести огонь
4 Поместить объект в кастрюлю
5 Залить в кастрюлю воду до отметки "объект покрыт водой"
6 Кипятить до отметки "мясо и сухожилия легко отделяется от костей"
7 Отделить мясо и сухожилия от костей
8 Пересчитать кости и т.д.
Хорошие времена были - студенческие...
Комментарии