Студопедия

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

КАТЕГОРИИ:

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






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






 

Условный оператор используется для составления разветвляющихся программ.

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

 

Условный оператор существует в двух формах записи: полной и сокращённой.

Полная форма записи:

IF < условие>

THEN

< оператор 1>

ELSE

< оператор 2>;

 

Служебные слова IF, THEN, ELSE означают соответственно: ЕСЛИ, ТО, ИНАЧЕ.

 

Принцип работы полного условного оператора: вначале проверяется условие стоящие после зарезервированного слова IF. Если оно истинно, то выполняется оператор 1, стоящий после зарезервированного слова THEN, а иначе, если условие оказывается ложным, то выполняется оператор 2 стоящий после зарезервированного слова E LSE.

Следует обратить внимание, что перед словом ELSE «;» не ставится!

Сокращённая форма записи:

IF < условие>

THEN

< оператор >;

Принцип работы сокращённого условного оператора: если условие стоящие после зарезервированного слова IF истинно, то выполняется оператор, стоящий после зарезервированного слова THEN, и на этом действие условного оператора прекращается. Если условие ложное, то условный оператор не выполняет ни каких действий.

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

Наиболее часто используемые логические союзы – это конъюнкция и дизъюнкция.

Рассмотрим подробнее эти два союза:

Конъюнкция (от латинского conjunctio - связываю) или логическое умножение.

- соответствует союзу И (AND)

- обозначается &

Схематичное обозначение:

Формула:

С=А& В=АВ

Логический смысл: Сложное условие С будет истинным тогда и только тогда, когда будут истинным одновременно и условие А и условие В.

Таблица истинности:

А В С
     
     
     
     

Дизъюнкция (от латинского disjunctio - различаю) или логическое сложение.

- соответствует союзу ИЛИ (OR)

- обозначается Ú

Схематичное обозначение:

Формула

С=А Ú В=А+В

Логический смысл: Сложное условие С будет ложным тогда и только тогда, когда будут ложными одновременно и условие А и условие В.

Таблица истинности:

А В С
     
     
     
     

 

При использовании сложных условий необходимо помнить:

- что каждое простое условие, входящие в состав сложного условия должно заключаться в круглые скобки;

- логический союз AND имеет больший приоритет, чем логический союз OR.

Рассмотрим примеры.

Пример1. Составить программу для вычисления значения функции:

Program Fuction;

Var x: integer;

y: real;

Begin

Write (‘Введите х=’);

Readln (x);

IF x> =0

THEN

Y: =sqrt(x)

ELSE

Y: =sqr(x);

Writeln (‘X=’, x, ‘ Y=’, y);

End.

Пример2. Составить программу для нахождения модуля действительного числа (стандартную функцию ABS не использовать).

Program Modul;

Var а, b: integer;

Begin

Writeln (‘Введите а=’);

Readln (a);

IF а> =0

THEN b: =а

ELSE b: = –а;

Writeln (‘Модуль числа’, a, ’=’, b);

End.

Пример 3. Вывести на экран номер четверти, которой принадлежит точка с координатами (x, y), при условии, что (х< > 0) и (y< > 0).

Program Chet;

Var x, y: integer;

Begin

Write (‘введите координаты x и y: ’);

Readln (x, y);

If (x> 0) and (y> 0)

Then

Writeln (1)

Else

If (x> 0) and (y< 0)

Then

Writeln (4)

Else

If (x< 0) and (y> 0)

Then

Writeln (2)

Else

Writeln (3);

End.

Пример 4. Даны два натуральных двузначных числа М и K. В большем из этих чисел проверить содержит ли оно цифру N или кратно ли оно N.

Program Number;

Var m, k, n, mx: integer;

Begin

Writeln(‘Введите три числа: ’);

Readln (m, k, n);

If m> k

Then

mx: =m

Else

mx: =k;

If (mx div 10=n) or (mx mod 10=n) or (mx mod n=0)

Then

Writeln ('Да')

Else

Writeln ('Нет');

End.



Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.011 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал