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


Полезное:

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


Категории:

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






Безусловный оператор перехода





Это единственный оператор, в котором используется метка. Он имеет вид:

Go To <метка>;

После выполнения этого оператора будет осуществлен переход на оператор, перед которым стоит указанная метка.

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

1. Не допускаются переходы внутрь подпрограмм (процедур и функций) или из них.

2. Переход внутрь структурного оператора может вызвать непредсказуемые эффекты, хотя компилятор не выдает сообщение об ошибке.

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

Program S;

Label L;

Const Eps = 1E-6; {определим точность как константу}

Var a,x,y:real;

Begin

WriteLn (‘Введите число для определения кубического корня’);

Read (a);

x:= a;

L: y:= x; {«старим» предыдущее значение}

x:= 1/3*(a/sqr(y)+2*y); {вычисляем новое значение}

If Abs(x-y)>Eps Then

GoTo L; {повторим, если разность старого и нового значений не достигла заданной точности}

WriteLn (‘Значение корня:’, x:10:6);

End.

Условный оператор

При составлении по алгоритму программы на месте блока «Решение» записывается условный оператор, который может иметь 2 формы. В общем виде полная форма записывается как:

If <логическое выражение> Then <оператор1> Else < оператор2>;

а сокращенная:

If < логическое выражение > Then < оператор1>;

В первом случае, если логическое выражение истинно (True), то выполняется оператор1, а если ложно, то оператор2. Во втором случае при ложности логического выражения просто осуществляется переход к следующему оператору.

Наиболее простой пример – вычисление значения кусочно-непрерывной функции:

Program Function;

Var

f,x:real;

Begin

Read (x);

If x>=0 Then F:= x*x {первый вариант}

Else F:= sqrt (x); {второй вариант}

WriteLn ('Значение функции =',F:8:3);

end.

Заметим, что значение функции используется как имя переменной. Оно не должно содержать скобок, поэтому здесь вместо F (x) используется просто F (можно функцию назвать и по-другому, например Fx).







Date: 2016-07-22; view: 339; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию