[H-L-L.ru] |
Форма входа |
Меню сайта |
Главная » Статьи » Лекции по C++ » 2. Операторы ветвления и операторы передачи управления |
Оператор goto Оператор безусловного перехода goto имеет формат: goto metka; В теле той же функции должна присутствовать ровно одна конструкция вида: metka: оператор; Оператор goto передает управление оператору с меткой metka. Метка –это обычный идентификатор. Оператор goto может передать управление на метку, обязательно расположенную в одном с ним теле функции. Операторы if и goto могли бы заменить все операторы ветвления, передачи управления и цикла, но такой подход оказался не очень удобен. Применение goto может нарушить принципы структурного и модульного программирования, по которым все блоки, из которых состоит программа, должны иметь только один вход и один выход. Кроме того, операторы выбора и цикла выглядят более изящно и позволяют ускорить выполнение программы. Использование оператора безусловного перехода оправдано в двух случаях: - принудительный выход вниз по тексту программы из нескольких вложенных циклов или переключателей; - переход из нескольких мест функции в одно (например, если перед выходом из функции необходимо всегда выполнять какие-либо одни и те же действия). В остальных случаях для записи любого алгоритма существуют более подходящие средства, а использование goto приводит только к усложнению структуры программы и затруднению отладки. В любом случае не следует с помощью goto передавать управление внутрь операторов if, switch и циклов. Нельзя переходить внутрь блоков, содержащих инициализацию переменных, на операторы, расположенные после нее, поскольку в этом случае инициализация не будет выполнена: int k; ... goto metka; ... {int a = 3. b = 4; k = a + b; metka: int m = k + 1; ... } После выполнения этого фрагмента программы значение переменной m не определено. Оператор break Оператор прерывает выполнение оператора switch. Управление передается следующему за ним оператору. Об этом было уже сказано выше. Здесь следует лишь подчеркнуть, что break относится к операторам передачи управления. Тестирование программ Тестирование выполняется после отладки программы и заключается в проверке правильности ее функционирования при всех вариантах исходных данных, значений переменных, условий и т.п. Это означает, что нужно проверить проход программы по всем «путям» блок-схемы. Сколько путей – столько раз нужно выполнить программу с разными значениями переменных. Следует также проверять какие значения нельзя присваивать переменным в ходе выполнения программы по причине их несоответствия типу переменных или недопустимости этого значения в каком-либо выражении программы (например, нулевое значение переменной может вызвать ошибку деления на 0). Результат тестирования – примеры выполнения программы при разных исходных данных и инструкция пользователя, запрещающая вводить неверные исходные данные (например, вместо цифр буквы или цифры, но не те, что надо). В инструкции следует пояснить, почему вводится то или иное запрещение, рекомендация или требование. Источник: оператор goto break тестирование программ | |
Всего комментариев: 0 | |