Хелпикс

Главная

Контакты

Случайная статья





Лабораторное занятие № 2.. Условные операторы.. Теоретические сведения



Лабораторное занятие № 2.

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

 

Лабораторное (практическое) занятие рассчитано на 2 часа, относится к теме «Управляющая конструкция if, цикл for»

Формируемые компетенции: ОК. 1-9 ПК 1. 1 - 1. 6      , У1, У2

Цель: закрепить навыки работы с условными операторами.

Методическое и техническое обеспечение: IBM PC-совместимый компьютер, Lazarus.

 

Теоретические сведения

 

Условные операторы предназначены для выбора к исполнению одного из возможных действий (операторов) в зависимости от некоторого условия (при этом одно из действий может быть пустым, т. е. отсутствовать). В качестве условий выбора используется значение логического выражения. В Lazarus имеются два условных оператора: if и case.

Оператор условия if. Оператор условия if является одним из самых популярных средств, изменяющих естественный порядок выполнения операторов программы. Синтаксическая диаграмма оператора условия if выглядит таким образом:

 

 

 


Как видно из диаграммы, он может принимать одну из следующих форм:

 


If < условие> then < оператор1>                             else < оператор2>;

If < условие> then < оператор>;

ЕСЛИ < условие> ТО < оператор1>

ИНАЧЕ < оператор2>    

ЕСЛИ < условие> ТО < оператор>


 


 

Выполняется следующим образом. Сначала вычисляется выражение, записанное в условии. В результате его вычисления получается значение булевского типа. В первом случае, если значение выражения есть True (истина), выполняется < оператор1>, указанный после слова then (ТО). Если результат вычисления выражения в условии есть False (ложь), то выполняется< оператор2>. Во втором - если результат выражения true, выполняется < оператор>, если false -оператор, следующий сразу за оператором if. Операторы if могут быть вложенными.

Пример фрагмента программы с оператором условия if:

Read (Ch); If Ch=’N’ then Parol: = True             Else Parol: = False; Read (X); If Parol = True then If X = 100 then Write (‘ Пароль и код правильные ‘) Else begin  Writeln (‘ Ошибка в коде ‘);  Halt (1)    End; В данном примере с клавиатуры считывается значение переменной символьного типа Ch. Затем проверяется условие Ch=”N”. Если оно выполняется то переменный Parol булевского типа присваивается значение true, Если условие не выполняется, false. Затем с клавиатуры считывается значение кода Х. Далее оператор if проверяет условие Parol=true.

 

Если оно имеет значение true то выполняется проверка введенного пароля оператором if X=100. Если условие Х=100 имеет значение True, то выводится сообщение ”Пароль и код правильные”, и управление в программе передаётся на оператор, следующий за словом end, если оно имеет значение False, выполняется составной оператор, стоящий после слова else, который выводит на экран видеомонитора сообщение ”Ошибка в коде“ и вызывает стандартную процедуру Halt(1) для остановки программы.

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

If условие1 then if условие2 then < оператор1> else < оператор2>

Возникающая двусмысленность, к какому оператору if принадлежит часть false < оператор2>, разрешается тем, что служебное слово else всегда ассоциируется (связывается) с ближайшим по тексту служебным словом if, которое еще не связано со служебным словом else.

В связи с этим следует проявлять аккуратность при записи вложенных операторов условия.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.