русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2014-11-28; просмотров: 1082; Нарушение авторских прав


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

Оператор условия if.

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

 

 

Рисунок 2. Синтаксическая диаграмма оператора условия if.

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

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

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

Оператор условия if выполняется следующим образом. Сначала вычисляется выражение, записанное в условии. В результате его вычисления получается значение булевского типа. В первом случае, если значение выражения есть True (истина), выполняется <оператор1>, указанный после слова then (TO). Если результат вычисления выражения в условии есть 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(l)

end;

В данном примере с клавиатуры считывается значение переменной символьного типа Ch. Затем проверяется условие Ch=’N’. Если оно выполняется, то переменной Parol булевского типа присваивается значение True, если условие не выполняется, False. Затем с клавиатуры считывается значение кода X. Далее оператор if проверяет условие Parol = True. Если оно имеет значение True, то выполняется проверка введенного пароля оператором if X=100. Если условие Х=100 имеет значение True, то выводится сообщение " Пароль и код правильные ", и управление в программе передается на оператор, следующий за словом end. Если оно имеет значение False, выполняется составной оператор, стоящий после слова else, который выводит на экран видеомонитора сообщение "Ошибка в коде", и вызывает стандартную процедуру Halt(l) для остановки программы.



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

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

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

Упражнение. Составим программу, которая вычисляет частное двух целых чисел. В связи с тем, что делить на нуль нельзя, организуем контроль ввода данных. Для контроля вводимых значений делителя используем оператор условного перехода if ... then ... else.Текст программ может выглядеть следующим образом:

program Tutor;

var

А,В: integer;

Rezult: real;

begin

Write('Введите значение делимого A >') ;

Read(A);

Write<'Введите значение делителя В >');

Read(B);

if B=0 { Контроль ввода}

then Writeln('Ha нуль делить нельзя') {Условие выполнено)

else {Условие не выполнено}

begin {Начало составного оператора}

Rezult := А / В;

Writeln('Частное чисел ',А,' и ',В,' = ',Rezult);

End; {Конец составного оператора}

end.

Введите текст программы, откомпилируйте ее и исполните для разных целых значений переменных А и В; Попробуйте задать значение В=0 и убедитесь, что защита ввода работает. В будущих ваших программах выполняйте контроль ввода данных.



<== предыдущая лекция | следующая лекция ==>
Задания для самостоятельной подготовки | Задания для самостоятельной подготовки


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.278 сек.