Напишите программу, которая распечатывает сообщение о синтаксической ошибке компилятора или интерпретатора. Сообщение об ошибке должно вводить в заблуждение, так что сопровождающим кода потребуется несколько дней, чтобы выяснить, что ошибка была фальсифицирована, то есть вам следует запутать (и скрыть свое намерение). Кроме того, ошибка должна быть максимально точной и должна правильно ссылаться на код.
Для компилируемых языков предположим, что ваш сопровождающий код будет выполнять compile program.p && ./program
в командной строке компиляцию и запускать программу, это означает, что он не может различить, поступает ли результат от компилятора или самой программы. Также предположим, что ваш сопровождающий код включит синтаксические сообщения об ошибках.
Для справки вот пример, который я сделал: https://gist.github.com/359604
DATA
Секция кодирует строку сообщения об ошибке, и хэш %abcdef
является таблицей декодирования. Ошибка напечатала ссылки на обратную косую черту, которая заставляет сопровождающего кода попытаться подсчитать обратную косую черту.
Записи будут оцениваться по:
- Кодекс имеет обманчиво очевидное намерение
/6
- Код корректно воспроизводит ошибку
/16
(ваша точка начинается с 16 и делится на соответствующие коэффициенты для каждой неточности)- Правильная капитализация: 4
- Правильный номер строки и номер столбца: 4
- Правильная формулировка: 2 за каждое неверное слово
- Указанный номер строки вводит в заблуждение сопровождающий код
/3
Например,
./pythontest1.py: line 7: syntax error near token `('
./pythontest1.py: line 7: ` x=input("Enter a number:") #Number input'
получает 8 (16/2) правильности за пропущенное «неожиданное» перед «токеном», отображается обычный интерпретатор Python
./pythontest1.py: line 7: syntax error near unexpected token `('
./pythontest1.py: line 7: ` x=input("Enter a number:") #Number input'
Если ваш пункт «Код воспроизводит ошибку правильно» меньше 1, ваша заявка будет дисквалифицирована.
В случае галстука я выставлю дополнительные оценочные факторы.