Операции над действительными числами
Для данных действительного типа определены следующие арифметические операции:
- сложение ( + );
- вычитание ( - );
- умножение ( * );
- деление ( / );
- возведение в степень ( ^ ),
В нецелую степень можно возводить только положительные числа.
Нецелая степень по правилам математики вычисляется по формуле:
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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!