Непейвода Н.Н. Программирование. Раздел 2

Непейвода Н.Н. Программирование. Страница 230

ГР: Все, кто себе нравится и считают, что нравятся другим;

ГТ: Женщины, которые себе не нравятся и считают, что они не нравятся

другим; Г\¥: Мужчины.

В соответствии с выбранными критериями принадлежности индивиду­ума к той или иной группе мы отмечаем в таблице нужные комбинации условий. Обработка одного опросного листа сводится к прочтению ответов, в ходе которого выбирается действие (см. табл. 6.2).

Превращение таблиц решений в программу с условными операторами — автоматизируемая задача. Другие достаточно легко реализуемые задачи, свя­занные с методом таблиц решений: расстановка истинности условий, груп­пировка (склейка) столбцов с одинаковыми действиями, перестановка столб­цов по принципу близости действий и т. д.

При составлении таблицы решений возникает псевдопроблема: а что де­лать, если выполнены условия двух различных действий? Нужно понимать, что ничего страшного в этом нет. Слишком часто и в жизни мы сталкива­емся с выбором, когда нет критериев для предпочтения одного из вариантов. Конечно, лучше всего (для отладки программ) было бы, если программа при наличии нескольких выполненных вариантов выбирала бы действие для ис­полнения случайно, но важно хотя бы программисту четко понимать, что в данном месте ему выбор конкретного действия безразличен.

Этот оператор практически является таблицей решений, в которой все усло­вия уже выписаны явно. Аг называется охраной оператора Б с доступ к 5г возможен лишь при истинности условия охраны. Пример такого оператора

Возникает вопрос о том, что происходит, когда в операторе некоторые случаи не предусмотрены и поданы такие данные, что ни одна из охран не выполнена. Дейкстра предложил считать, что в этом случае программа должна выдавать ошибку. Это решение хорошо теоретически, но никуда не годится практически. Если уж мы попали в непредусмотренную ситуацию, нужно, по крайней мере, проанализировать ее самим и выдать толковое со­общение, а не раздражающую всех, кроме программиста, отлаживающего программу, строчку типа «На с. 117 модуля РиЫпсЗа не выполнены условия охран» (сразу видно, что Дейкстра, предлагая решение, думал лишь о про­граммисте, а не о пользователе). Так что система охраняемых операторов обязана быть полна!

Новости

  • 1
  • 2
Prev Next

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

24.01.2016

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

Роскосмос не планирует в течение ближайшего десятилетия осуществлять пуск тяжёлой ракеты-носителя А...

Ученые РФ опровергли выводы исследований о вреде ГМО

24.01.2016

Ученые РФ опровергли выводы исследований о вреде ГМО

Исследователи из Института проблем передачи информации (ИППИ РАН) проанализировали несколько самых п...

Летающие "Крокодилы"

24.01.2016

Летающие "Крокодилы"

20 удивительных фактов о боевом вертолете Ми-24.Этот вертолет стал таким же узнаваемым символом сове...

В Аргентине описали новый вид динозавра-гиганта

24.01.2016

О ранее неизвестном виде динозавра, относящемуся к инфраотряду зауроподов, рассказали аргентинские п...

Реклама