Операции над действительными числами



Для данных действительного типа определены следующие арифметические операции:

  • сложение ( + );
  • вычитание ( - );
  • умножение ( * );
  • деление ( / );
  • возведение в степень ( ^ ),

В нецелую степень можно возводить только положительные числа.

Нецелая степень по правилам математики вычисляется по формуле:

ax = ex×ln(a) ,

где е - основание натуральных логарифмов. Это значит, что в дробную степень можно возводить числа, превышающие ноль.

 Ввод-вывод действительных чисел
Возможны 2 формы ввода действительных чисел:

  • с десятичной запятой;
  • экспоненциальная.

Форма с десятичной запятой - это обычная, привычная нам форма, например: 23, 78069.

Экспоненциальная форма - это по существу то, что мы называли полулогарифмической формой: мантисса плюс английская буква Е полюс порядок числа (обязательно целое число). Пробелы внутри числа не допускаются. Например:

4,556098Е3 – это 4,556098´103 = 4556,098);
0,1234567Е-4 – это 0,1234567´10-4 = 0,00001234567).

Экспоненциальная форма удобна для записи чисел значительно больших единицы либо значительно меньших единицы. Действительно, проще записать 1,23Е-10, чем 0,000000000123 или 3,37Е16 чем 33700000000000000. Мало того, что от нулей рябит в глазах, так еще надо не ошибиться в их количестве.

           Вывод чисел.

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

  • с десятичной запятой;
  • экспоненциальную.

Форма вывода может выбираться как самой программой (выбирается та форма, при которой количество выводимых символов меньше), так и пользователем.

Представление в ЭВМ логических данных

 Логические данные

Логические величины могут принимать лишь 2 значения:

  • ЛОЖЬ (варианты: НЕТ, FALSE, NO);
  • ИСТИНА (варианты: ДА, TRUE, YES).

Для представления в ЭВМ логической величины достаточно одного бита, реально же отводится 1, 2 или 4 байта (8, 16 или 32 бита). Такое "расточительство" обусловлено тем, что количество хранимых логических данных обычно невелико, но зато упрощается их обработка процессором. Решение о количестве байт, отводимых под логическую величину, принимает программист, разрабатывающий программу. Если мы пользуемся готовым программным продуктом, то решение за нас уже принято.

Логические величины редко приходится вводить в качестве исходных данных. Чаще всего они образуются при выполнении операций сравнения:

  • меньше ( < );
  • меньше или равно ( <= );
  • равно ( = );
  • не равно ( <> );
  • больше или равно ( >= );
  • больше ( > ).

Составные знаки (например, "<>", следует записывать именно в таком порядке, как приведено выше, без пробелов внутри.

Вот примеры простых выражений, результаты которых - величины логического типа:

  • 4 < 8;
  • -8 <> 7.

Результат первого выражения, очевидно, ИСТИНА, а второго - ЛОЖЬ.

Эксперимент Изложенное выше можно проверить в Excel: · Открыть книгу Excel —> ввести в какую-либо ячейку формулу " =4 < 8 " —> [Enter] —> в другую ячейку ввести формулу " = -8 <> 7 " —> [Enter]. · Опробовать другие выражения.

 

3.4.2. Операции над логическими данными

Для логических данных определены 3 основные операции:

· NOT (НЕ, отрицание, инверсия);

· AND (И, логическое умножение, конъюнкция);

· OR (ИЛИ, логическое сложение, дизъюнкция).

Существуют и другие логические операции, но их результат может быть выражен с помощью перечисленных трех основных.

Операция NOT унарная, т.е. применяется к одному операнду.
Результат операции NOT - смена значения операнда на противоположное.

Например:
NOT (4<7) даст значение ЛОЖЬ;
NOT (9<7) даст значение ИСТИНА;
NOT NOT (4<7) даст значение ИСТИНА.

Операция AND применяется к двум операндам.
Результат операции AND равен ИСТИНА, если оба операнда имеют значение ИСТИНА, и ЛОЖЬ противном случае.

Например:
ИСТИНА AND ИСТИНА даст значение ИСТИНА;
(4<7) AND (2>7) даст значение ЛОЖЬ;
ИСТИНА AND (3<>4) даст значение ИСТИНА.

Операция OR применяется к двум операндам.
Результат операции OR равен ИСТИНА, если хотя бы один операнд имеет значение ИСТИНА, и ЛОЖЬ противном случае.

Например:
ИСТИНА OR ЛОЖЬ даст значение ИСТИНА;
(4<7) OR (2>7) даст значение ИСТИНА;
(6<>6) OR (3=4) даст значение ЛОЖЬ.

Старшинство (порядок выполнения) логических операций следующий:

NOT - AND - OR.

Операция NOT самая старшая. Как и в алгебре, порядок может быть изменен с помощью скобок. Вот пример: вычислить

(5<3) AND NOT (3=4) OR NOT (4>5) .

(5<3) AND NOT (3=4) OR NOT (4>5) = вычисляются выражения в скобках
=ЛОЖЬ AND NOT ЛОЖЬ OR NOT ЛОЖЬ = выполняются все операции NOT
= ЛОЖЬ AND ИСТИНА OR ИСТИНА = выполняется операция AND
= ЛОЖЬ OR ИСТИНА = выполняется операция OR
= ИСТИНА окончательный результат

В некоторых программных продуктах (например, Excel), не определены логические операции, но соответствующие вычисления можно реализовать с помощью логических функций. О логических функциях разговор пойдет в разделе, посвященном Excel. В другом компоненте Microsoft Office - Access - логические операции реализованы.

3.4.3. Формирование логических выражений

В процессе решения широкого круга задач приходится создавать конструкцию типа

ЕСЛИ (ЛогическоеВыражение; Значение1; Значение2),

которая работает следующим образом: вычисляется первый компонент - ЛогическоеВыражение (который, конечно же, должно быть логического типа), и если он имеет значение ИСТИНА, то в качестве результата всей конструкции ЕСЛИ выдается Значение1, в противном случае - Значение2.

Главное в создании этой конструкции - правильно сконструировать первый компонент. Одна из проблем - старшинство операций, особенно когда одновременно присутствуют разнотипные операции (арифметические, логические, сравнения). В разных программных продуктах возможно различие в приоритете, например, логических операций и операций сравнения. Самый надежный способ избежать возможных недоразумений - это использовать скобки. Выражения в скобках, как известно, всегда вычисляются в первую очередь.

Примеры

1. Составить логическое выражение, которое принимает значение ИСТИНА, если 2 числа: a и b больше 5 (a>5) AND (b>5)
2. Составить логическое выражение, которое принимает значение ИСТИНА, если среди 3-х чисел: a, b, c имеется хотя бы одно отрицательное (a<0) OR (b<0) OR (c<0)
3. Составить логическое выражение, которое принимает значение ИСТИНА, если сумма 2-х чисел превышает их произведение, а разность не превосходит 8. ((a+b)>a*b) AND ((a-b)<=8)
4. Составить логическое выражение, которое принимает значение ИСТИНА, если величина х удовлетворяет соотношению 3<x<8. (3<x) AND (x<8)

Относительно примера 4. Наивная запись напрямую: 3<x<8 не годится. В лучшем случае получим сообщение об ошибке, в худшем - неверный результат. Дело в том, что в исходном выражении имеем две последовательных операции сравнения. При исполнении первого сравнения (3<x) получается логическая величина, которая должна будет сравниваться с 8, т.е. числовой величиной, что обычно не имеет смысла. Попробуйте, например, в Excel ввести формулу "=3<4<8". Получившийся результат (ЛОЖЬ) воистину наглая ложь!


Дата добавления: 2018-04-15; просмотров: 923; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!