Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Последний метод отладки, основанный на «обдумывании», заключается в использовании тестов. Этот метод может показаться несколько странным, так как в начале главы отмечались различия между отладкой и тестированием Однако существуют два типа тестов: тесты для тестирования, целью которых является обнаружение заранее не определенной ошибки, и тесты для отладки, цель которых — обеспечить программиста информацией, полезной для выявления местонахождения подозреваемой ошибки. Тесты для тестирования имеют тенденцию быть «обильными» (небольшим числом тестов пытаются покрыть большое число условий), а тесты для отладки пытаются покрыть только одно условие или небольшое число условий.
Другими словами, после обнаружения симптома подозреваемой ошибки этот метод используют для написания вариантов первоначального теста, чтобы попытаться ее локализовать. На самом деле метод тестирования не является каким-то специальным, исключительным; он часто применяется совместно с методом индукции (для получения информации, необходимой при выдвижении гипотез и (или) их доказательстве) либо с методом дедукции (для исключения возможных причин, уточнения отобранных гипотез и (или) их доказательства).
27. Проблема ограниченности вычислительных систем. Возможности преодоления некоторых типов ограничений.
Начнем с "размера" вычислений, т. е. с количества информации и числа выполняемых операций. Существенно, что этот размер велик, так как если бы он оказался малым, то легче было бы обойтись без машины и произвести вычисления вручную. Право вычислительной машины на существование, ее полезность именно в том и состоит, что она способна выполнять большие вычисления, которые непосильны нам, людям. Мы хотим, чтобы машина делала то, чего мы сами никогда не смогли бы сделать, и параметры современной вычислительной техники таковы, что самые заурядные машинные вычисления выходят далеко за пределы нашего "безоружного" воображения.
Тем не менее, мы должны организовать счет таким способом, чтобы, маневрируя нашими ограниченными возможностями, обеспечить нужные результаты вычислений. Организация счета включает в себя составление программы; здесь мы сталкиваемся с новой проблемой размера, а именно с проблемой длины текста программы, и с этим также следует полностью разобраться. Нам следует осознать тот факт, что наша способность читать или писать текст в очень большой степени зависит от размера этого текста. В телефонной книге моей страны информация об абонентах группируется по городам или деревням, а в пределах каждой такой группы список абонентов упорядочивается по фамилиям в алфавитном порядке. Сам я живу в маленьком селении, и если знаю телефонный номер, то мне достаточно просмотреть несколько колонок, чтобы выяснить, кому он принадлежит, но в большом городе то же самое оказалось бы сложной задачей обработки данных!
По аналогии мне хотелось бы привлечь внимание читателя к тому факту, что "ясность" можно определить количественными характеристиками; этот факт, как это ни странно, не учитывается многими математиками. Теорема, утверждающая некое следствие из заполняющего десять страниц набора условий, вряд ли окажется практически полезной, если при каждом применении теоремы требуется проверять все эти условия. В евклидовой геометрии теорема Пифагора справедлива для любых трех точек A, B и C, таких, что через A и С можно провести прямую, перпендикулярную прямой, соединяющей В и С. Многие ли математики отдают себе отчет в том, что эта теорема сохраняет силу в тех случаях, когда некоторые или все точки A, В, С совпадают. Тем не менее, этим в значительной мере объясняется удобство применения теоремы Пифагора.
Подвожу итог: человек соображает медленно, а емкость его памяти очень мала, и ему следует получше научиться жить в таких условиях, учитывать ограниченность своих возможностей и относиться к ней с полным уважением, а не пытаться игнорировать ее, так как такие тщеславные попытки будут обречены на неудачу.
28. Понятие правильности программ. Доказательство правильности программ.
Дата публикования: 2015-01-26; Прочитано: 271 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!