Применение логических операций с оператором IF.

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

Функции Pred, Succ в Pascal.

В данном уроке мы рассмотрим функции, применяемые к типу CHAR. Функция Pred возвращает в качестве значения предшествующий символ, а функция Succ возвращает последующий символ.

Функции LENGTH и CONCAT.

Функция Length возвращает в качестве значения длину строки. Например, если в строковой переменной «stroka» записано слово «Pascal», то Length(stroka) будет равно 6. Эта операция аналогична операции Ord(stroka[0]), которую мы разбирали в 1-м уроке. ...

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

Вложенный арифметический цикл. Часть 2.

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

Тип данных Integer.

Тип INTEGER (целый). Этот тип представляет множество целых чисел диапазона от -32768 до 32767. В памяти ЭВМ  под целое число отводится два байта (16 бит).

Цикл — это последовательность операторов, которая может выполняться более одного раза. В языке Паскаль разработано три механизма для конструирования циклов, использующих операторы 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.


Комментарии  

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

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

Защитный код
Обновить

   ГлавнаяПаскальЛекции по Паскаль