Информатика и технология программирования

         

Смысл переменных при завершении циклов


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

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


for (i=0; i&#60n; i++) if (A[i]&#60 0) break;
if (i==n) ...

В данном примере мы имеем два варианта завершения цикла. В первом случае, который зафиксирован в заголовке цикла, цикл завершается по достижении переменной i значения n . Альтернативный выход из цикла по break происходит при обнаружении отрицательного значения элемента массива. Естественно, если он происходит, то это будет раньше, чем естественное завершение. Тогда проверка (i==n) на самом деле имеет следующий "смысл": был или не был обнаружен в массиве отрицательный элемент. Если условие соблюдается, то не был. Если не соблюдается, то значение i содержит индекс первого встреченного отрицательного элемента. Таким образом, фрагмент цикла, содержащий break , проверяет выполнения свойства , обратного указанному в операторе if СВОЙСТВО " ВСЕОБЩНОСТИ" для всех элементов массива. Или, наоборот, проверяет СВОЙСТВО " СУЩЕСТВОВАНИЯ" элемента массива, для которого справедливо данное условие.



Содержание раздела