Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к зачету .doc
Скачиваний:
9
Добавлен:
13.08.2019
Размер:
317.44 Кб
Скачать
  1. Ошибкоопасные ситуации при вычислениях.

- неверный порядок вычисления операций в выражении (особенно в сочетании с отсутствием типового контроля)

- путаница между полной и краткой схемой вычисления логических выражений

- сравнения >, < (потеря третьего результата сравнения), для полноценного сравнения требуется не один условный оператор, а 2 вложенных

- сравнения >=, <=(ошибки типа +/-1)

- деление на 0

- извлечение корня из отрицательного числа

- взятие логарифма неположительного числа

- использование данных не того типа

- присваивание целой переменной вещественного значения (может допускаться, но с каким округлением?)

- сравнение вещественных чисел (погрешности округления)

- вычисления с плавающей точкой (погрешности округления)

- переполнение при арифметических вычислениях (получение очень больших чисел)

- потеря значимости при вычислении с плавающей точкой (получение чисел с очень маленькой мантиссой)

- переполнение или потеря значимости в промежуточных вычислениях арифметических вычислений

  1. Ошибкоопасные ситуации при передаче управления и вызовах подпрограмм.

- развилки (пропущена ветвь «иначе» при case)

- много вложенных условных оператора (чтобы избежать, не надо после then писать сокращенные условные операторы, необходимо приписывать пустые ветви «иначе»)

- зацикливание (должна меняться хотя бы 1 переменная, входящая в условие цикла), не надо менять его «вручную» при вычислении тела цикла

- неверное количество параметров (количество фактических соответствует количеству формальных параметров)

- неверные типы параметров

- неверный порядок следования параметров (практически везде соответствие устанавливается по номеру параметра), единицы измерения не записываются, а подразумеваются

- неверные единицы измерения параметров (использование параметров внутри подпрограммы)

- неверный способ передачи параметров (передача формального параметра по значению и по ссылке, передача по ссылке константы)

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

- одновременный доступ к одной и той же переменной через параметр, передаваемый по ссылке, и через глобал (к одной и той же переменной обращение идет по двум разным именам – по имени глабольной переменной и по имени формального параметра)

  1. Безмашинное тестирование.

Методы безмашинного тестирования – сухая прокрутка, символическая прокрутка, объяснение коллеге, просмотр программы с анализом ошибкоопасных мест, искусственное внесение ошибок в программу, передача коллеге для самостоятельного изучения

Сухая прокрутка – ручное моделирование работы машины при выполнении программы, роль центрального процессора - человек, роль оперативной памяти – трассировочная таблица

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

Символическая прокрутка – анализ программы шаг за шагом, каждый раз когда переменная принимает значение, убедиться, что значение соответствует смыслу переменной, найти те условия, при которых вычисления дадут сбой, убедиться, что в программе отображены все возможные случаи

Объяснение коллеге – рассуждения вслух отличаются от рассуждений про себя, вынуждение сформулировать все допущения

Передача коллеге для самостоятельного изучения – «видит то что написано «на самом деле»

Искусственное внесение ошибок в программу – вносить должен посторонний человек или программа