Студопедия Главная Случайная страница Обратная связь

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

Правила записи и выполнения





1. Метка m выбирается произвольно в ряду других меток программы.

2. Оператор, помеченный меткой m в соответствии с требованиями алгоритма, может располагаться как выше, так и ниже оператора if.

3. При выполнении проверяемого условия (результат – ИСТИНА), управление передаётся оператору goto, который в свою очередь передаёт управление оператору, помеченному меткой m, нарушая естественный порядок следования операторов.

4. Если результат проверки есть ЛОЖЬ, сохраняется естественный порядок следования операторов, т.е. управление передаётся оператору, записанному непосредственно под if.

Схема выполнения:

ЛОЖЬ ИСТИНА

 

if(Р) goto m;

ветвь_НЕТ

m:...

В качестве ветви НЕТ может использоваться один (простой, составной) или несколько операторов. Например,

... if(.9>=c) goto M4; y2=15; M4: z=10.; ... ... if(.9>=c) goto M4; y2=15; n=2; M4: z=10.; ... ... if(.9>=c) goto M4; { y2=15; n=2; } M4: z=10.; ...

В каждом из фрагментов невыполнение проверяемого условия.9>=c (например, при c=1.6) приводит к выполнению ветви «НЕТ», т.е. операторов, записанных непосредственно под if до помеченного меткой М4, а затем и его тоже. Выполнение условия (например, при c=0.4) приводит к реализации оператора goto M4;, который (минуя операторы ветви «НЕТ») передаёт управление оператору с меткой М4.

В принципе, возможна реализация условно-линейного варианта полного ветвления (ветвь «НЕТ», затем ветвь «ДА») с использованием укороченного if и двух goto.

Структура имеет вид:

if(Р) goto m1;

ветвь_НЕТ

goto m2;

m1: ветвь_ДА

m2:

В качестве ветвей НЕТ (ДА) может использоваться один (простой, составной) или несколько операторов. Например,

... if(8!= b) goto m1; y=sin(15.); goto m2; m1:y=log(120.5); m2:printf(“\ny=%.2f”, y); ... ... if(8!= b) goto m1; y=sin(15.); n=2; goto m2; m1:y=log(120.5); n=1; m2:printf(“\ny=%.2f”, y); if(8!= b) goto m1; { y=sin(15.); n=2; } goto m2; m1:{ y=log(120.5); n=1; } m2:printf(“\ny=%.2f”, y);

В каждом из фрагментов выполнение проверяемого условия (8!= b), например, при b=6 приводит к реализации оператора goto m1;, который (минуя операторы ветви «НЕТ») передаёт управление оператору (операторам) с его меткой m1. Выполняется ветвь «ДА», после чего сохраняется естественный порядок реализации операторов (вывод результатов). Невыполнение проверяемого условия (8!= b), например, при b=8 приводит к выполнению ветви «НЕТ», т.е. операторов, записанных непосредственно под if, включая goto m2; который в свою очередь передаёт управление (минуя операторы ветви «ДА») на вывод результатов (выход из ветвления).

Внимание! Использование укороченного оператора условной передачи управления со структурой if(Р) goto m допускается, но не поощряется правилами программирования, т.к. создаёт сложную структуру ветвления с использованием двух меток.







Дата добавления: 2015-10-02; просмотров: 321. Нарушение авторских прав; Мы поможем в написании вашей работы!




Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...


Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...


Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

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

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

Броматометрия и бромометрия Броматометрический метод основан на окислении вос­становителей броматом калия в кислой среде...

Сравнительно-исторический метод в языкознании сравнительно-исторический метод в языкознании является одним из основных и представляет собой совокупность приёмов...

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

Конституционно-правовые нормы, их особенности и виды Характеристика отрасли права немыслима без уяснения особенностей составляющих ее норм...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия