Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Clarion Programming / Выражения

.htm
Скачиваний:
25
Добавлен:
02.05.2014
Размер:
38.16 Кб
Скачать

Выражения     Поиск Рубрикатор Форумы Новости сервера Учебный центр Книжный магазин Авторам Море(!) аналитической информации! :: CITFORUM.RU Вы можете приобрести полную версию сайта на CD-ROM CITFORUM.RU >>> ПРОГРАММИРОВАНИЕ      [http://www.citforum.ru/programming/clarion/cla_4.shtml]

Скоро! Восьмая техническая конференция

"Корпоративные базы данных 2003"

Москва, 17-18 апреля 2003 года

Компания Microsoft приглашает вас посетить бесплатный семинар

"День разработчика 2003",

который пройдет 11 марта в Санкт-Петербурге,

13 марта - в Екатеринбурге, 18 марта - в Киеве.

Cпешите зарегистрироваться! Количество мест ограничено! ГЛАВА 4 -ВЫРАЖЕНИЯ Выражения Числовые константы Числовые выражения Арифметические операторы Строковые константы Оператор конкатенации Строковые выражения Логические операторы Логические выражения

Выражения Выражение - это математическая или логическая формула, порождающая значение. Выражение может быть переменной в операторе присваивания, параметром процедуры или функции, индексом массива или условием структур IF, CASE, LOOP или EXECUTE. Выражения могут содержать константы, переменные и/или обращения к функциям, объединенные логическими и/или арифметическими операторами. Выражения вычисляются в стандартном алгебраическом порядке операций. Приоритет операторов управляется типом операторов и расположением скобок. Каждая операция производит (внутреннее) промежуточное значение, используемое в последующих операциях. Скобки используются для группирования операций в выражениях. Выражения вычисляются от внутренних скобок к внешним. Операторы, при вычислении выражения, имеют следующие приоритеты (от высших к низшим): Уровень 1 () Скобочное группирование Уровень 2 - Унарный минус Уровень 3 вызов функции Получить значение от RETURN Уровень 4 ^ Возведение в степень Уровень 5 */% Умножение, деление, остаток от деления Уровень 6 + - Сложение, вычитание Уровень 7 & Конкатенация Выражения могут порождать числовые, строковые или логические значение (вычисление true/false). Выражения могут вовсе не содержать операторов; они могут быть одиночной переменной, константой или вызовом функции. Числовые константы Числовые константы - это постоянные числовые значения. Они могут применяться в описаниях данных, в выражениях, как параметры процедур или функций или как атрибуты. Числовые константы могут представляться в десятичном, двоичном, восьмеричном, шестнадцатеричном или научном форматах. Символы форматирования, как например, знаки доллара или запятые, не разрешены в числовых константах. Десятичные числовые константы могут содержать необязательный ведущий знак минуса (символ переноса), целую и необязательную десятичную дробную часть. Пример: -924 76. 346 -45.026 Двоичные числовые константы могут содержать необязательный знак минуса, цифры 0 и 1 и должны заканчиваться символом B или b. Пример: 1011b -1000110B Восьмеричные числовые константы содержат необязательный знак минуса, цифры от 0 до 7 и завершаются символом O или o. Пример: 3403o -7041312O Шестнадцатеричные числовые константы содержат необязательный знак минуса, цифры от 0 до 9, буквы от A до F (представляющие числа от 10 до 15) и завершающий символ H или h. Если самый первый символ в шестнадцатиричном числе - буква от A до F, то надо перед ней ставить 0 обязательно! Пример: -1FFBh 0CD1F74FH Числовые выражения Числовые выражения могут быть параметрами процедур или функций, условиями в структурах IF, CASE, LOOP или EXECUTE или же источником в операторе присваивания, где значение выражения получает числовая переменная. Числовые выражения могут содержать арифметические операторы и оператор конкатенации, но не могут содержать логические операторы. Если в числовых выражениях используются строковые константы или переменные, то они преобразуются в промежуточные числовые значения. Если имеется оператор конкатенации, то промежуточное значение преобразуется в числовое ПОСЛЕ собственно конкатенации. Пример: 3.12159 !Значение ПИ Count + 1 !Прибавить 1 к Count (1-N*N)/R !N раз по N вычитается из 1 !а затем делится на R 305 & 7854555 !Соединяем код области и телефон См. также: Правила преобразования данных Арифметические операторы Арифметический оператор арифметически комбинирует два операнда для получения промежуточного значения. Это операторы: + Сложение (A+B значит A плюс B) - Вычитание (A-B значит A минус B) * Умножение (A*B значит A раз по B) / Деление (A/B значит A делить на B) ^ Возведение в степень (A^B значит A возведено в степень B) % Деление по модулю (A%B значит остаток от деления A на B) Все арифметические операторы порождают промежуточные значения типа Long или Real. Тип данных для промежуточного значения определяется выполняемой операцией и типами операндов. Тем не менее, деление или возведение в степь ВСЕГДА порождают промежуточные значения типа Real. Строковые константы Строковая константа - это набор символов, заключенный в одиночные кавычки (апострофы). Символы, которые нельзя ввести с клавиатуры, можно вставить в строковую константу, заключив их ASCII символьные коды в угловые скобки < и > . Символьные коды ASCII могут быть представлены в десятичной или шестнадцатеричной форме. В строковой константе, левая угловая скобка < инициирует поиск правой угловой скобки. Так что, для того, чтобы вставить левую угловую скобку в строку, ее надо ввести дважды. То же справедливо и для апострофов чтобы ввести в строку апостроф, его надо вводить дважды. Два апострофа между которыми либо вообще нет символов (либо только пробелы) представляют пустую строку. Если надо повторить несколько раз один и тот же символ, то стоит воспользоваться представлением в виде счетчика повторения. Число раз, которое символ должен повториться, помещается между фигурными скобками { и }, которые ставятся сразу же за повторяемым символом. Пример: 'string constant' !Строковая константа It''s a girl!' !Вложенный апостроф '<27,15>' !Десятичные ASCII-коды <OEh> !Шестнадцатеричный ASCII-код 'A<< B' !Вложенная левая угловая скобка, A<B '*{20}' !12 звездочек в формате счетчика повторения '' !Нулевая (пустая) строка Оператор конкатенации (соединения) Оператор конкатенации & используется для дописывания одной строковой переменной к другой. Длина результирующей строки, это сумма длин обоих конкатенированных значений. Числовые типы данных можно конкатенировать со строками или другими числовыми переменными или константами. Зачастую, стоит использовать функцию CLIP для удаления хвостовых пробелов в строке, к которой подсоединяется другая строка. Пример: CLIP(FirstName) & Initial & & LastName !Составляем полное имя 'Clarion Software' & ', Inc.' !Соединяем две константы См. также: CLIP, Числовые выражения, Правила преобразования данных Строковые выражения Строковые выражения можно использовать как параметры процедур, функций и атрибутов, или как исходная часть оператора присваивания, где данные должна принимать строковая переменная. Строковые выражения могут содержать как одиночные строковые и числовые переменные, так и сложные комбинации из подвыражений, функций и операций. Пример: 'Adress:'&Cus:Adress !Подсоединяем константу к переменной Name !Строковая переменная 'Phone:' & '305-' & FORMAT(Phone,@P###-##I@itp) !Соединяем константы и результат функции FORMAT Weight & 'Ibs.' !Подсоединяем переменную к константе Логические операторы Логический оператор сравнивает два операнда или выражения и порождает условия ИСТИНА или ЛОЖЬ. Есть два типа логических операторов: условные и булевы. Условные операторы сравнивают два значения или выражения. Булевы операторы связывают вместе строковые, числовые и/или логические выражения для определения логики true-false (?). Операторы можно комбинировать, для проверки сложных условий. Условные операторы = Знак равенства   < Меньше чем   > Больше чем Булевы операторы NOT Логическое НЕ (логическая арифметика) ~ Тильда (логическое НЕ)   AND Логическое И   OR Логическое ИЛИ   XOR Логическое ИИЛИ (исключающее ИЛИ) Комбинированные <> НЕ равно операторы ~= НЕ равно   NOT= НЕ равно   <= Меньше или равно   =< Меньше или равно   ~< НЕ больше   NOT> НЕ больше   >= Больше или равно   => Больше или равно   -< НЕ меньше   NOT< НЕ меньше При логических вычислениях, любое НЕнулевое значение означает ИСТИНУ, а пустая строка или нулевое значение означает ЛОЖЬ. Пример: Логическое выражение Результат A - B Истина, если A равно B A < B Истина, если A меньше B A> B Истина, если A больше B A <>B,A ~= B, A NOT= B Истина, если A НЕ равно B A ~<B,A>= B, A NOT<B Истина, если A НЕ не меньше B A ~>B,A<= B, A NOT>B Истина, если A НЕ не больше B ~ A, NOT A Истина, если A простое или ноль A AND B Истина, если A ИСТИНА и B ИСТИНА A OR B Истина, если либо A ИСТИНА, либо B ИСТИНА, либо оба вместе A XOR B Истина, если либо A ИСТИНА, либо B ИСТИНА, но НЕ оба вместе Логические выражения Логические выражения вычисляют условия ИСТИНА-ЛОЖЬ в управляющих структурах IF, LOOP UNTIL, и LOOP WHILE. Управление передается в зависимости от конечного результата выражения (ИСТИНА или ЛОЖЬ). Логические выражения вычисляются слева направо. Правый операнд выражений AND, OR и XOR вычисляется только когда он может повлиять на результат. Для избежания неполных сравнений или для изменения порядка вычислений можно использовать скобки. Приоритеты логических операторов таковы: Уровень1 Условные операторы Уровень2 ~, NOT Уровень3 AND Уровень4 OR, XOR Пример: LOOP UNTIL EOF(Customer) !ИСТИНА, если конец файла !какие-то операторы . IF A = B THEN RETURN. !RETURN если A равно B LOOP WHILE - Done# !Повторять пока ЛОЖЬ (Done# = 0) !какие-то операторы . IF A >= B OR (C>B AND E=D) THEN RETURN.!True if a >= b,also ! true if both c > b and e = d. !The second part of the expression ! (after OR) is evaluated only if the ! first part is not true. Назад | Содержание | Вперед

  Citforum.ru приглашает вас посетить семинары:

25 марта 2003 года, Москва

ИТ-бюджетирование в банковских учреждениях. 26 марта 2003 года, Москва

Как анализировать эффективность ИТ банковских учреждений. Практический опыт проведения работ. 27 марта 2003 года, Москва

ИТ в банковских учреждениях. Разработка стратегии развития ИС. 19-21 марта 2003 года, Москва

26-28 марта 2003, Санкт-Петербург.

Теория и практика обеспечения безопасности информационных систем 17 апреля 2003 года, Москва

6 марта и 24 апреля 2003, Санкт-Петербург.

"Практическое применение международного стандарта безопасности информационных систем ISO 17799" 8 апреля 2003 года, Москва

3 апреля 2003, Санкт-Петербург.

"Обеспечение комплексной информационной безопасности предприятия" 10 апреля 2003 г., Москва.

14 апреля 2003 г., Санкт-Петербург

"Анализ рисков информационных систем компаний" Рекомендуем CD Domina Security: Управление информационными рисками корпоративных ИС Internet/Intranet Коммерческая тайна и экономическая безопасность бизнеса Применение стандарта безопасности ISO 17799

Новые поступления в разделе "Подробно о лучших книгах": Компьютерные системы передачи данных, Вильям Столлингс Качество обслуживания в сетях IP, Шринивас Вегешна Цифровая связь: теоретические основы и практическое применение, Скляр Б.

Аутентификация: от паролей до открытых ключей, Дж. Уинзор Энциклопедия SQL. 3-е изд+CD, Грофф Дж., Вайнберг П. Современные операционные системы. Изд.2, Э. Таненбаум

Поиск Рубрикатор Форумы Новости сервера Учебный центр Книжный магазин Реклама на сервере <<< В начало | Наверх Быстрый переход >>>   Internet-технологии  Сетевые технологии  Базы данных  Операционные системы  Программирование  Аппаратные платформы  Материалы конференций  Пользователям и преподавателям  Корпоративные ресурсы  Книги, которые мы выбираем   Комментарии: mailto:info@citforum.ru?Subject='From bottom of CIT FORUM' u="u266.74.spylog.com";d=document;nv=navigator;na=nv.appName;t="";p=1; sz=" width=88 height=31 "; hl=history.length;d.cookie="b=b";c=0; bv=Math.round(parseFloat(nv.appVersion)*100); if (d.cookie) c=1;n=(na.substring(0,2)=="Mi")?0:1; if((n==0)||(bv >= 300)){rn=Math.random();t=(new Date()).getTimezoneOffset();} else {rn=0;} z="p="+p+"&rn="+rn+"&t="+t+"&c="+c+"&hl="+hl; if (self != top) { fr=1;} else { fr=0;} r=escape(d.referrer);r1=""; sl="1.0";h=0; pl="";sl="1.1"; if((n==1) && (bv >= 300)) { for(var i = 0; i < nv.plugins.length; i++) pl += nv.plugins[i].name+":"; } j = (navigator.javaEnabled() ? "Y" : "N"); sl="1.2";s=screen;wh=s.width+'x'+s.height; px=(n==0)?screen.colorDepth:screen.pixelDepth;z+="&wh="+wh+"&px="+px; sl="1.3" y=""; y+=""; y+=""; y+=""; d.write(y); Copyright © Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.