Автор Тема: Запись арифметических и логических выражений  (Прочитано 6895 раз)

0 Пользователей и 1 Гость просматривают эту тему.

instructor

  • Global Moderator
  • Jr. Member
  • *****
  • Сообщений: 54
    • Просмотр профиля
Запись арифметических и логических выражений
« Ответ #1 : 15 Апрель 2015 Среда 11:36:09 »
Запись арифметических и логических выражений.

Арифметические выражения записываются по следующим правилам:

• Нельзя опускать знак умножения между сомножителями и ставить рядом два знака операций.
• Индексы элементов массивов записываются в квадратных (школьный АЯ, Pascal) или круглых (Basic) скобках.
• Для обозначения переменных используются буквы латинского алфавита.
• Операции выполняются в порядке старшинства: сначала вычисление функций, затем возведение в степень, потом умножение и деление и в последнюю очередь — сложение и вычитание.
• Операции одного старшинства выполняются слева направо. Например, a/b*c соответствует a/b*c.

Однако, в школьном АЯ есть одно исключение из этого правила: операции возведения в степень выполняются справа налево. Так, выражение 2**(3**2) в школьном АЯ вычисляется как 2**(3**2) = 512. В языке QBasic аналогичное выражение 2^3^2 вычисляется как (2^3)^2 = 64. А в языке Pascal вообще не предусмотрена операция возведения в степень, в Pascal x^y записывается как exp(y*ln(x)), а x^y^z как exp(exp(z*ln(y))*ln(x)).


Типичные ошибки в записи выражений

5x+1 — Пропущен знак умножения между 5 и х
a+sin x — Аргумент x функции sin x не заключен в скобки
((a+b)/c**3 — Не хватает закрывающей скобки

В записи логических выражений помимо арифметических операций сложения, вычитания, умножения, деления и возведения в степень используются операции отношения < (меньше), <= (меньше или равно), > (больше), >= (больше или равно), = (равно), <> (не равно), а также логические операции и, или, не.
« Последнее редактирование: 27 Март 2017 Понедельник 16:43:47 от instructor »