АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

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

Читайте также:
  1. Аппаратчик-оператор экологических установок
  2. Арифметический оператор присваивания
  3. Договорные отношения в туризме. Работа туроператоров с поставщиками туристических услуг и партнёрами
  4. Классификация математических моделей в зависимости от оператора модели
  5. Логические операторы
  6. Оператор Like и символы подстановки в запросах
  7. Оператор Без НДС С НДС
  8. Оператор выбора switch
  9. Оператор цикла do while
  10. Оператор цикла do while
  11. Оператор цикла for
  12. Оператор цикла while

УПРАВЛЯЮЩИЕ СТРУКТУРЫ

 

Алгоритмы решения большинства задач не являются последовательными. Действия (вычисления), которые необходимо выполнить, могут зависеть от определенного условия, например, входных данных, или результатов, полученных во время выполнения программы.

Условие

В языке Паскаль условие ¾ это выражение логического типа (BOOLEAN), которое может принимать одно из двух значений: “истина” (TRUE) или “ложь” (FALSE).

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

Таблица 7.
Оператор Описание Значение выражения
> Больше TRUE, если первый операнд больше второго, иначе FALSE
< Меньше TRUE, если первый операнд меньше второго, иначе FALSE
= Равно TRUE, если первый операнд равен второму, иначе FALSE
<> Не равно TRUE, если первый операнд не равен второму, иначе FALSE
>= Больше или равно TRUE, если первый операнд больше или равен второму, иначе FALSE
<= Меньше или равно TRUE, если первый операнд меньше или равен второму, иначе FALSE

Использование операторов сравнения позволяет записывать простые условия.

Из простых условий, которые являются выражениями логического типа, можно строить сложные условия с применением к ним, как к операндам, логических операторов: NOT ¾ отрицание, AND ¾ “ логическое И ”, OR ¾ “ логическое ИЛИ ”, XOR ¾ “ логическое исключающее ИЛИ

Результат применения логических операторов к операндам логического типа представлен в таблице 8.

Таблица 8.
Op1 Op2 (Op1)AND(Op2) (Op1)OR(Op2) NOT(Op1) (Op1)XOR(Op2)
FALSE FALSE TRUE TRUE FALSE TRUE FALSE TRUE FALSE FALSE FALSE TRUE FALSE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE TRUE TRUE FALSE

 

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

Выбор

Выбор действия в зависимости от выполнения условия может быть реализован при помощи инструкций IF и CASE.

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

Оператор IF реализует алгоритмическую конструкцию РАЗВИЛКА и изменяет порядок выполнения операторов в зависимости от истинности или ложности некоторого условия. Существует два варианта оператора:

If S then A

else B; { полная развилка }

и

If S then A; { укороченная развилка }.

В этих операторах:

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

A ¾ оператор, который выполняется, если выражение S истинно;

B ¾ оператор, который выполняется, если выражение S ложно.

Так как условный оператор IF является единым предложением, ни перед then, ни перед else точку с запятой ставить нельзя.

Пример 1:

Вычислить значение функции y, заданной выражением

Блок-схема решения данного примера представлена на рис. 11.

Рис.11. Блок-схема примера 1.

Программа (полная развилка):

Program Example_1;

Var

x, y: Real;

Begin

Write (‘ Введите число x’);

ReadLn (x);

If x > 0 then y:= ln(x)

else

If x = 0 then y:= 1

else y:= exp(x);

WriteLn(‘ Значение y=‘, y)

End.

 

Программа (укороченная развилка):

Program Example_1;

Var x, y: Real;

Label 1, 2,3;

Begin

Write(‘ Введите число x’);

ReadLn (x);

If (x > 0) then Go to 1;

If (x = 0) then Go to 2;

y:= exp(x);

Go to 3;

1: y:= ln(x);

Go to 3;

2: y:= 1;

3: WriteLn(‘ Значение y=‘, y)

End.

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

С помощью этого оператора можно выбрать вариант из любого количества вариантов. Структура этого оператора в Turbo Pascal:

Case S of

C1: Instruction_1;

C2: Instruction_2;

....................

CN: Instruction_N;


Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)