русс | укр

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

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

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

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


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

УСЛОВНЫЙ ОПЕРАТОР


Дата добавления: 2015-06-12; просмотров: 598; Нарушение авторских прав


В языке Pascal условный оператор начинается с ключевого слова if (если) и в общем виде выглядит так:

 

 
 

 

 


Выражение должно иметь стандартный тип boolean. Если выражение имеет значение True, то выполняется оператор, следующий за словом then. Если же выражение имеет значение False и часть else присутствует, выполняется оператор, следующий за словом else. Если часть else отсутствует, выполняется оператор, следующий за оператором if.

Пример.

if X<1.5 then

Z:=X+Y

else

Z:=1.5;

Обратите внимание! Перед else нет знака «.

Синтаксическая двусмысленность возникает в конструкции

if e1 then if e2 then s1 else s2 , так как часть else s2 может трактоваться как принадлежащая «внешнему» оператору if e1 или вложенному оператору if e2 then.

Эта двусмысленность разрешается путем следующей интерпретации данной конструкции:

if e1 then

begin

if e2 then

s1

else

s2

end;

Правило: служебное слово else всегда ассоциируется с ближайшим по тексту служебным словом if, которое еще не связано со служебным словом else.

ОПЕРАТОР ВАРИАНТА

Данный оператор является обобщением условного оператора для случая произвольного числа альтернатив. Он сопоставляет различным значениям некоторого выражения соответствующие им операторы.

Пример.

case CurColor of

Red: X:=X+2;

Yellow: X:=Y-2;

Green: X:=Y

end;

CurColor – в примере это переменная перечислимого типа. Сначала вычисляется текущее значение переменной CurColor. Затем это значение сопоставляется (сравнивается) с константами, записанными перед операторами. При совпадении значения переменной с одной из констант будет выполнен оператор, помеченный данной константой. На этом выполнение оператора будет завершено. Если значение переменной CurColor не совпадает ни с одной из констант, то данный оператор не выполняет никаких действий. Для того, чтобы задать некоторые действия для случая такого несовпадения, можно использовать альтернативу else:



Пример.

case (K+1)*2 of

2: Add(A,B);

4: Multiply(A,B);

0: Subtract(A,B)

else

writeln(‘ошибка!’)

end;

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

 

Пример.

case Switch of

1..2: begin Proc1; Proc2; Proc3 end;

3,4,10..20: Proc4;

5,6: Proc5;

else

Proc6;

Proc7;

end;

При использовании оператора варианта должны выполняться следующие правила:

1. Значения выражения-«переключателя», записанного после служебного слова case, должно принадлежать упорядоченному типу и иметь размер 1 байт или 1 слово.

2. Все константы, предшествующие операторам альтернатив, должны иметь тип, совместимый с типом выражения.

3. Все константы в альтернативах должны быть уникальны в пределах оператора варианта (то есть повторения констант в альтернативах не допускается); диапазоны не должны пересекаться и не должны содержать констант, указанных в данной или других альтернативах.

При необходимости задания нескольких операторов для каких-либо из альтернатив, следует сгруппировать их в составной оператор, в то время как ветвь else допускает последовательность операторов, разделенных символом «;».

 



<== предыдущая лекция | следующая лекция ==>
СРЕДА TURBO PASCAL | Оператор цикла с параметром


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


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

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

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


 


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

 
 

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

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