X-Puzzle#3

Xakep, номер #049, стр. 049-110-1


Ведущий: Иван Скляров

Sklyarov@real.xakep.ru

«ПРОЙДИСЬ ДЕБАГГЕРОМ ПО СВОИМ МОЗГАМ!»

Не стесняйся присылать мне свои ответы, даже если ты смог ответить всего на один пазл, я с интересом почитаю твои оригинальные решения. Ну, а имена героев, которые первыми правильно ответят на все вопросы, конечно же, будут опубликованы в журнале, прославятся на всю Россию (и не только) и навечно войдут в историю Х. Приз тоже за нами не заржавеет ;).

Но помни: в большинстве случаев вариант ответа засчитывается как правильный, только если к нему приложено подробное и ВЕРНОЕ объяснение, почему выбран именно этот вариант, а не какой-либо другой.

ОТВЕТЫ К ПРЕДЫДУЩЕМУ ВЫПУСКУ X-PUZZLE

Ответ на пазл #1 «Эффективный снифинг»

Для проведения пассивного снифинга снифер имеет смысл устанавливать только на машину под номером 22. Все остальные машины ограничены свитчами и бриджами, из-за чего пакеты с них не могут быть перехвачены.

Ответ на пазл #2 «Дедушкин подарок»

Диск является лицензионным, т.к. присутствуют файлы ioslink.sys и ioslink.vxd, явно свидетельствующие о том, что установлена защита от копирования DiscGuard (подробнее о защитах CD читай на нашем сайте http://www.xakep.ru/post/14861/default.htm). Маловероятно, что пираты станут выпускать защищенные компакт-диски.

Ответ на пазл #3 «C vs. C++»

Сразу видно, что первый приведенный кусок кода является описанием функции. Такое описание корректно только для синтаксиса языка Си, в Си++ необходимо явно указывать тип каждого параметра в функции, а также тип возвращаемого значения.

Второй кусок кода принадлежит языку Си++, т. к. используется комментарий, свойственный только этому языку.

Инструкция в третьем куске кода может относиться только к синтаксису языка Си++, т. к. только в нем переменную можно объявлять в любой точке блока перед ее использованием.

Четвертый кусок также принадлежит языку Си++, только в нем можно определять переменные как битовые поля.

Ответ на пазл #4 «Что? Где? Когда?»

Ответы на вопросы (по порядку):

1. Название программного продукта – Delphi. Дельфи – это древнегреческий город, в котором жил знаменитый дельфийский оракул.

2. Ошибка в программе названа жучком (bug), потому что во времена больших ЭВМ они часто выходили из строя из-за мотыльков, которые слетались на свет и тепло от электронных ламп. Если бы в те времена причиной выхода ЭВМ из строя были бобры, то сейчас ошибки в программе называли бы бобриками :).

3. Тип BOOLEAN назван в честь английского математика Джорджа Буля, создателя булевой алгебры, который к тому же приходится отцом писательнице Этель Лилиан Войнич (Войнич – фамилия мужа).

4. В черном ящике лежит журнал «Хакер». А ты что думал? ;)

ПЕРВЫЙ ПАЗЛ «Кривая Клава»

Хакер подрабатывал тем, что выполнял задания по программированию для некоторых студентов-разгильдяев. Как обычно, в 4 часа утра, хакер взялся за решение очередной задачи для одного балбеса-первокурсника (к 7 утра он обещал предоставить задание уже в готовом виде). Лениво зевнув, хакер начал читать условие задачи, в котором говорилось следующее: составить программу на языке С++ для нахождения значений уравнения вида y=10*x^2+7*x-4, где x меняется в интервале [–n; n] с шагом 1 (n - задается пользователем). Усмехнувшись, хакер быстренько обыграл задачу в уме, представив ее примерно в таком виде:

Содержание  Вперед на стр. 049-110-2