русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

О П Е Р А Т О Р П Е Р Е Х О Д А


Дата добавления: 2014-11-27; просмотров: 528; Нарушение авторских прав


 

Синтаксическая диаграмма:

 

 
 


 

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

Переход внутрь сложного оператора запрещен (такими операторами являются составной и условный операторы, операторы цикла, варианта, присоединения).

Пример.Алгоритм Евклида.

 
 

 


Program Evklid1;

Label10;

Varm,n,d,q,r : word;

Begin

Read(m,n); Writeln('m = ',m,' n = ',n);

10:

If n>0 then

Begin

q:=m div n; r:=m mod n;

m:=n; n:=r;

Goto 10

End

d:=m; Writeln('d=',d)

End.

 

Примечание. Оператор q := m div n является избыточным, поскольку вычисленное значение q в программе Evklid1 не используется.

 

Рассмотрим вкратце, что собой представляет метка в программе.

При трансляции Паскаль-программы каждый ее оператор преобразуется в одну или несколько машинных команд. Эти команды размещаются в последовательных полях памяти. Каждая команда имеет конкретный адрес, определяемый адресом крайнего левого байта поля памяти, которое занимает команда. Команды, как правило, выполняются последовательно, в порядке их записи в памяти. Однако если встречается команда перехода, которой соответствует оператор Goto в Паскаль-программе, то дальше будет выполняться не следующая по порядку машинная команда, а команда, адрес которой указан в команде перехода. Этот адрес перехода и соответствует метке в Паскаль-программе.

 

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



Ниже перечисляются случаи, когда целесообразно применять оператор Goto:

- выход из блока в вызывающую программу (переход с помощью оператора Goto на конец блока);

- переход на конец тела цикла;

- принудительный выход из цикла;

- переход к удаленному фрагменту программы.

Однако для того, чтобы явно не применять оператор Goto, в Турбо Паскале для первых трех случаев предусмотрены специальные операторы, а именно Exit, Continue и Break.

Примечание.Операторы Continue и Breakвведены в версии 7.0 языка Турбо Паскаль.

 

В частности, алгоритм Евклида легко реализовать без операторов Gotoс помощью операторов цикла Whileили Repeat.



<== предыдущая лекция | следующая лекция ==>
П Р О Ц Е Д У Р Ы В В О Д А - В Ы В О Д А | О П Е Р А Т О Р Ц И К Л А С П Р Е Д У С Л О В И Е М


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.881 сек.