Логические операции And, Or, Not, Xor в Pascal.

Над переменными логического типа можно производить логические операции. В языке программирования Pascal существуют следующие логические операции : Andлогическое умножение, Orлогическое сложение, Notлогическое отрицание, Xor ...

Ввод логических переменных с клавиатуры.

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

Ветвления в Pascal.

Ветвления в Паскаль позволяют выполнять действия не поочередно, как мы делали в предыдущих программах, а в зависимости от каких - либо условий. Для этого в языке программирования Pascal предусмотрены различные условные операторы. В данном уроке мы ...

Циклы и массивы

Манипулирование строками STRING.

В языке Паскаль при работе с текстами чаще всего используются короткие строки типа STRING. Стандартные процедуры READLN(St), WRITE(St) и WRITELN(St) поддерживают ввод и вывод строк переменной длины ...

Примеры использования различных операторов цикла.

Примеры использования различных операторов цикла.

Цикл — это последовательность операторов, которая может выполняться более одного раза. В языке Паскаль разработано три механизма для конструирования циклов, использующих операторы FOR, WHILE, REPEAT.

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

Иногда его называют просто оператором перехода. Он имеет вид GOTO <Метка>, где метка это идентификатор, описанный в разделе LABEL. Метка ставится перед оператором, на выполнение которого нужно передать управление и отделяется от него двоеточием. Использование оператора GOTO в Паскале сильно ограничено и не рекомендуется. Так, нельзя входить извне в такие сложные операторы как IF, CASE, FOR, WHILE, REPEAT, BEGIN... END, процедуры, функции и другие, хотя транслятор может и не обнаружить ошибки. Переходы рекомендуется осуществлять внутри одного уровня или при выходе на более высокий уровень.
Областью действия метки является тот блок, где она описана, и переходы по этой метке возможны только в этом блоке. С помощью операторов IF и GOTO можно организовать циклический процесс. Поскольку операторы в теле программы выполняются последовательно друг за другом, то необходимо один из операторов пометить меткой, а затем с помощью оператора GOTO повторно вернуться на выполнение помеченного оператора. Чтобы этот возврат был управляемым, то есть для избегания бесконечных циклов, необходим анализ определенных условий, именно для этого и нужен условный оператор IF.
Пример 14. Вычислить:

Operator bezuslovnogo perekhoda

Вычисления закончить при выполнении условия |Y - 0,5|<EPS.
Алгоритм программы, в которой предполагается использование операторов безусловного перехода GOTO, с помощью структурограмм представить невозможно. Для графического отображения таких программ используют только блок-схемы. В блок-схеме оператору GOTO <метка> соответствует графический объект - стрелка. Эта стрелка передает управление блоку, который помечен в верхнем левом углу меткой.Вы можете выбрать самый лучший принтер по многим параметрам, взвесив все за и против. В нашем случае идентификатором метки является цифра 1.
Циклический алгоритм программы приведен на рисунке 8. На рисунке 8 видно, что блок 1 повторяется до тех пор, пока условие имеет значение TRUE. Как только условие станет равным FALSE, искомая величина Y и номер текущей итерации I будут выведены на экран монитора.

Operator bezuslovnogo perekhoda.

PROGRAM PR14;
LABEL 1;
VAR
Y, EPS: REAL;
I: INTEGER;
BEGIN
WRITELN(,BBEДИTE EPS');
READLN(EPS);
Y := 0;
I := 0;
1: I:=I + 1;
Y:=Y + 1/(2*I- 1)/(2*I+ 1);
IF ABS(Y - 0.5) >= EPS THEN GOTO 1;
WRITELN('I = ',  I,',  Y = ', Y:6:4)
END.
Следует отметить, что организация циклов с помощью операторов GOTO не рекомендуется. Причина кроется в том, что именно использование этого оператора приводит к основной доле ошибок, которые допускает программист. Но эти ошибки, к тому же, самые трудные в диагностике и отладке программы. Именно для борьбы с этими ошибками использовали такую трудоемкую процедуру, как трассировка программы. Для борьбы с использованием оператора GOTO идеологами структурного программирования были предложены так называемые структурированные операторы циклов FOR, WHILE и REPEAT.


Предыдущая статья: Оператор варианта CASE.
Оглавление: Лекции по Pascal.
Следующая статья: Циклы с параметром. Оператор FOR.


Комментарии  

 
+1 # все неправильно 15.01.2015 08:02
:D :D :D
Ответить
 

Добавить комментарий

   ГлавнаяПаскальЛекции по ПаскальТип данных Integer.