Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Форматирование и стиль оформления циклов






Хороший стиль программирования предполагает сдвиг тела цикла вправо относительно оператора, управляющего циклом, и относительно остального программного кода. В программе F 0 RDEMO такой сдвиг применен к одной строке, а в программе CUBELIST вправо сдвинут весь блок, за исключением обрамляющих фигурных скобок. Подобное форматирование является очень удобным, поскольку позволяет легко увидеть, где начинается цикл, а где заканчивается. Компилятор не отличает форматированный текст от неформатированного (по крайней мере, на его работе это никак не сказывается).

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

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

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

 

· ТЕМА 12. ОБНАРУЖЕНИЕ ОШИБОК

С помощью средств компилятора, позволяющих облегчить процесс обнаружения ошибок в программах, вы можете создать динамическую модель, иллюстрирующую процесс выполнения вашего цикла. Главным из таких средств является пошаговое выполнение. Откройте окно проекта для отлаживаемой программы и окно с текстом программы. Детали работы с отладчиком зависят от компиляторов, информацию о которых можно получить из приложения В «Microsoft Visual C++» или приложения Г «Borland C++ Builder». Нажимая соответствующую функциональную клавишу, можно построчно исполнять код вашей программы. Таким образом, вы сможете увидеть работу программы в том порядке, в котором записаны ваши операторы. При работе с циклом вы сможете убедиться в том, что сначала исполняется тело вашего цикла, затем происходит переход, и тело цикла исполняется снова.

Отладчик можно также использовать для того, чтобы следить за значениями переменных в процессе исполнения программы. Вы можете поэкспериментировать с программой cubelist, поместив переменные numb и cube в окно Watch window вашего отладчика, и посмотреть на изменения их значений при исполнении программы. Чтобы получить информацию об использовании окна Watch, загляните в соответствующее приложение.

Watch window и пошаговое исполнение программы являются мощным отладочным инструментом. Если поведение вашей программы отличается от задуманного, вы можете использовать эти средства для контроля над объектами программы. Как правило, причина ошибки после такой отладки становится ясной.

Варианты цикла for

Инкрементирующий оператор не обязательно должен производить операцию инкрементирования счетчика цикла; вместо инкрементирования может использоваться любая другая операция, В следующем примере под названием FACTOR в операторе цикла используется декрементирование счетчика цикла, Программа запрашивает значение у пользователя, а затем подсчитывает факториал этого числа (факториал числа представляет из себя произведение всех целых положительных чисел, не превышающих данное число. Например, факториал числа 5 равен 1*2*3*4*5 = 120).

В этом примере инициализирующий оператор присваивает переменной j значение, вводимое пользователем. Условием продолжения цикла является положительность значения j. Инкрементирующее выражение после каждой итерации уменьшает значение j на единицу.

Мы использовали тип unsigned long для переменной, хранящей значение факториала, потому, что даже для небольших чисел значения их факториалов очень велико. В 32-битных системах размеры типов int и long совпадают, но в 16-битных системах размер типа long больше. Следующий результат работы программы показывает, насколько велико может быть значение факториала даже для небольшого числа:

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


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал