русс | укр

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

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

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

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


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

Оператор безусловного перехода GOTO


Дата добавления: 2013-12-23; просмотров: 1838; Нарушение авторских прав


WHILE S do Instruction ;

Оператор цикла WHILE

Until S ;

PN

. . .

P2 ;

P1 ;

Repeat

Оператор цикла REPEAT

Оператор цикла REPEAT организует выполнение цикла, состоящего из любого числа операторов, с неизвестным заранее числом повторений. Тело цикла выполняется хотя бы один раз. Выход из цикла осуществляется при истинности некоторого логического выражения. Структура этого оператора:

В этой структуре:

P1, P2, . . . , PN¾ выполняемые операторы, составляющие тело цикла;

S ¾ логическое выражение, истинность которого проверяется в конце каждой итерации.

Так как слова repeat и until являются своеобразными операторными скобками, точке с запятой перед словом until ставить необязательно.

Пример 5. Вычислить значения функции

при

Рис.15. Блок-схема примера 5.

Программа:

Program Example_5 ;

Var

x , y , a , b ,h : real ;

Begin

a := 0.9 ; b := 1.4 ; h := 0.1 ; x := a ;

repeat

y := x*x * exp(-x) * sin(x) ;

WriteLn(‘x=‘,x:7:1,’ y=‘,y:10:5) ;

x := x + h ;

until x > b ;

End.

Оператор цикла WHILE организует выполнение одного оператора неизвестное заранее число раз. Выход из цикла осуществляется, если некоторое логическое выражение окажется ложным. Так как истинность логического выражения проверяется в начале каждой итерации, тело цикла может не выполниться ни разу.

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

В этой структуре:

S ¾ логическое выражение, истинность которого проверяется в начале каждой итерации;

Instruction ¾ выполняемый оператор цикла.

 

Пример 6. Элементы последовательности вычисляются рекуррентно по формуле . Составить программу для вычисления и печати числа элементов последовательности, удовлетворяющих неравенству ai>0,7 , если ao = 27, a значения i изменяются от 1 до 10.



Расчётные формулы:

Пусть n - число вычисляемых элементов последовательности,

k - число элементов, удовлетворяющих условию ai > 0,7.

Тогда

ko =0 - начальное значение k.

Рис.16. Блок-схема примера 6.

Программа:

Program Example_6 ;

Var

a0, a : real ;

i, n, k : integer ;

Begin

WriteLn ;

WriteLn(' Введите n,a0');

ReadLn(n,a0) ;

WriteLn ;

WriteLn('Введено число выполняемых элементов последовательности:' ,n:4);

WriteLn(' Начальное значение :',a0:6:1) ;

k :=0 ;

i :=1 ;

a :=a0 ;

while i <= n do

begin a := a / 3.0 ;

if a > 0.7 then k := k + 1 ;

i := i + 1

end ;

WriteLn ;

WriteLn(' k=',k:4) ;

End.

Инструкции IFи CASE изменяют ход программы в зависимости от некоторого условия. Поэтому эти инструкции иногда называют инструкциями условного перехода. Существует еще одна ¾ инструкция безусловного перехода GOTO.

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

Общий вид оператора GOTO:

GOTO < Метка >

Метка ¾ это идентификатор с двоеточием, стоящий перед оператором, который должен быть выполнен после оператора GOTO.

Использовать оператор GOTO следует крайне осторожно. Широкое его применение без особых на то оснований ухудшает понимание логики работы программы. Безусловный переход можно осуществлять далеко не из каждого места программы и не в любое место программы. Так, нельзя с помощью этого оператора перейти из основной программы в подпрограмму или выйти из подпрограммы, не рекомендуется осуществлять переход внутрь структурированного оператора, т. к. он может дать неправильный результат и т. д.

 

Пример 7. Найти частное от деления целых чисел.

Program Example_7 ;

Label

Out ;

Var

x, y, Rez : Integer ;

Begin

WriteLn(‘Введите делимое’) ;

ReadLn( x ) ;

WriteLn(‘Введите делитель’) ;

ReadLn( y ) ;

If y = 0 Then

begin

WriteLn(‘Деление на ноль’) ;

Goto Out ;

end ;

Rez := x div y ;

WriteLn(‘Частное равно:’,Rez) ;

Out : { метка “пустого” оператора }

End.



<== предыдущая лекция | следующая лекция ==>
Оператор цикла FOR | Объявление массива


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


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

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

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


 


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

 
 

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

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