Студопедия

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

Разделы сайта

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






Оператор IF.






Оператор условного перехода IF в программах представляется в одном из двух форматов:

IF логическое выражение THEN блок инструкций -1

ELSE блок инструкций - 2;

или

IF логическое выражение THEN блок инструкций- 1.

Здесь IF, THEN и ELSE - ключевые слова; логическое выражение - оператор сравнения или сложное логическое выражение; блок инструкций (1 и 2) - любые исполняемые операторы языка или блоки операторов, заключенные в операторные скобки (BEGIN... END).

При выполнении условного оператора IF вначале анализируется результат логического выражения и в зависимости от его значения, управление передается одному из операторов (блоку операторов), следующему за ключевым словом THEN или ELSE. Если значение результата TRUE «истина», то выполняется оператор (блок операторов), следующий за ключевым словом THEN. В противном случае (значение результата FALSE «ложь») выполняется оператор (блок операторов), следующий за ключевым словом ELSE. Далее в любом случае выполняется оператор, следующий в программе непосредственно за оператором IF. Ниже приведен фрагмент программы, поясняющий действие рассматриваемого оператора:

IF А < = В THEN D: = 2*D ELSE D: = ABS(D);

В укороченном операторе IF отсутствует ключевое слово ELSE и блок инструкций, следующий за ним. Действия такой конструкции аналогичны рассмотренной выше. Если значение результата логического выражения TRUE, то выполняется оператор (блок операторов), следующий за ключевым словом THEN. При значении результата FALSE блок инструкций - 1 не выполняется, а сразу же выполняется блок инструкций непосредственно следующий за оператором IF. Пример использования усеченного логического оператора IF:

IF А < = В THEN BEGIN D: = 2*D; GOTO 10 END;

В последнем фрагменте пришлось после THEN вводить не один оператор, а так называемый составной оператор (блок операторов), который заключен в операторные скобки BEGIN...END; Формат такого составного оператора имеет вид:

 

BEGIN

оператор 1;

оператор 2;

оператор N

END;

 

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

IF логическое выражение -1 THEN блок инструкций -1

ELSE IF логическое выражение – 2 THEN блок инструкций - 2

ELSE блок инструкций3.

Пример 5.1. Определить значение функции У(х).

 

 
 


Program razv1; {заголовок программы}

var x, y: real; {раздел описания переменных}

begin {начало раздела операторов}

clrscr; {команда очистки экрана}

writeln('Введите значение х'); {вывод текста на экран}

write('х=');

readln(х); { ввод значения а }

if х < 0.25 then y: = sqrt(abs(x+35+exp(x-1))) else {логическое условие}

y: = x + sqr(sin(2.6*x));

writeln('при x = ', x, ' y = ', y: 6: 2); {вывод результата}

readln; {задержка экрана}

end.

 

Пример 5.2. Рассчитать значение функции У(х), значение х вводится с клавиатуры. При вводе значения х, для которого функция не определена, должно выводиться сообщение «Функция не определена».

 
 

 

 


Program razv2; {заголовок программы}

uses crt; {указание библиотечных модулей}

var x: real; {раздел описания переменных}

begin {начало раздела операторов}

clrscr; {команда очистки экрана}

writeln('Введите значение х'); {вывод текста на экран}

write(‘х=’);

readln(х); { ввод значения x }

{1 логическое условие}

if х < 1 then y: = sin(2*x+4.2)/cos(2*x+4.2)-2*x else

{2 логическое условие}

if (2< =x) and (x< =5) then y: = sin(x)+sqrt(6*x) else

{3 логическое условие}

if x> 7 then y: = 3.56+(2+x)/(1+sqrt(x)) else

begin writeln('При х=', х, 'функция не определена');

readln;

exit;

end;

writeln('при x = ', x, ' y = ', y: 6: 2); {вывод результата}

readln; {задержка экрана}

end.

 

Варианты заданий

Рассчитать значение функции У(х). Значение аргумента вводится с клавиатуры. При вводе значения х, для которого функция не определена, должно выводиться сообщение «Функция не определена».

 

1.    
2. 2    
3.  
   
   
   
   
     
   
   
   
   
   
   
   

 

Контрольные вопросы

 

1. Что такое алгоритм с ветвлением?

2. Как записывается условный оператор (оператор ветвления) в Паскале?

3. Что такое полная и сокращенная записи условного оператора?

4. Что используется в качестве условий в операторе ветвления?

5. Какие знаки отношений можно использовать при составлении условий?

6. Что такое составное условие?

7. Каковы правила записи составных условий?

8. Какие вы знаете логические операции?

9. Какие действуют правила старшинства логических операций?

10. Что располагается после служебных слов THEN и ELSE?

11. Что такое составной оператор? Какую структуру он имеет?

12. B каких случаях используется составной оператор?

 







© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.