Пишем отчёт о выполнении ТЗ. В ТЗ написано -- "программа должна быть написана на языке Си".
Приходит главный "юрист", который умеет оформлять всякие акты, протоколы тестирования и прочего. Но он не знает матчасть. Он спрашивает -- "а как проверить, что программа написана на языке Си?"
И я задумался, а действительно, как проверить (для документов)? Я ему говорю -- "вот страница текста; как ты проверишь, что она на русском языке написана?"
А сам понимаю, что задача просто так не решается. Есть два пути:
1. Нужен человек, который знает язык. Он посмотрит на текст и скажет -- да, так оно и есть. Ему придётся поверить на слово.
2. Можно пропустить программу через компилятор. Если она скомпилируется без ошибок, значит она была написана на языке Си. У этого метода есть недостатки. Например, компилятор может уметь компилировать несколько языков. Или он не сможет её скомпилировать из-за ошибок, но это не значит, что программа написана на каком-то ещё языке. Ну и ещё один момент -- а написано ли явно в руководстве по эксплуатации компилятора, что успешная комплияция означает, что исходный текст написан на каком-либо языке?
Кто-то предложил проверять по ключевым словам, но это тупиковый путь -- слова можно написать правильные, но вместо синтаксиса написать полный бред.
В общем, решили не заострять внимание на этой проблеме. Не будем в отчёте вдаваться в подробности, напишем просто, что "определили, что программа написана на языке Си", а как определили -- писать не будем.
***
Когда я учился в школе, на одном из первых уроков по программированию препод написал на доске такой текст:
t:=x
x:=y
y:=t
Он рассказал, как это работает, что эти выражения меняют местами значения двух переменных. А потом сказал -- ну-ка, а кто ответит. на каком языке это написано? Выдвигали разные версии. Я был очень горд собой, потому что я знал только один язык, где := использовалось для присваивания. Я поднял руку и сказал, что это Паскаль.
А препод сказал -- а вот и неправильно! В Паскале бы в конце строк стояла точка с запятой! Это язык математических выражений.
Ду ю спик модула-2?
zHz00
| пятница, 27 декабря 2019