Логические операции и логические выражения.
В основе вычислительной техники лежит логическая система Джорджа Буля. Правила этой системы применимы к самым разнообразным объектам и их группам. Результатом формального расчёта логического выражения явл-ся одно из двух логических значений: истина (True) или ложь (False). Четыре основные операции, которые были использованы при создании электронных вычислительных машин: И(and) (пересечение), ИЛИ (or) (объединение), НЕ(not) (отрицание) и ИСКЛЮЧАЮЩЕЕ ИЛИ-лежат в основе работы всех видов процессоров современных компьютеров. Логическая операция НЕ ставиться перед логическим выражением. Инвертирует (меняет на противоположное) значение логического выражения. Операция И объединяет два логических выражения. Результат получившегося выражения будет истинным, если истинны оба выражения, составляющие данное выражения. В противном случае выражение ложно. Операция ИЛИ объединяет два логических выражения. Результат получившегося выражения будет истинным, если хотя бы одно истинным является хотя бы одно из выражений. В противном случае выражение ложно. Операция ИСКЛЮЧАЮЩЕЕ ИЛИ (хor) объединяет два логических выражения. Результат будет истинным, если значения этих выражений различны. В противном случае выражение ложно.
Логические операции, операции отношения и арифметические операции часто встречаются в одном выражении. При этом отношения, стоящие слева и справа от знака логической операции, должны быть заключены в скобки, поскольку логические операции имеют более высокий приоритет. Вообще принят следующий приоритет операций:
not
and, *, /, div, mod
or, +, -
операции отношения..
Логическую операцию and еще называют логическим умножением, а логическую операцию or - логическим сложением. Кроме того, порядок выполнения операций может изменяться скобками. Например, в логическом выражении расставим порядок действийй
A or B and not (A or B)
Сначала выполняется заключенная в скобки операция or, а затем операции not, and, or. Если подставить вместо переменных А и В значения True и False, то, используя уже рассмотренный порядок действий, получим значение всего выражения равное True.
A | B | Not A | A and B | A or B | A xor B |
True | True | False | True | True | False |
True | False | False | False | True | True |
False | True | True | False | True | True |
False | False | True | False | False | False |
Основные структуры данных.
Данные – диалектическая составная часть информации. Они представляют собой зарегистрированные сигналы. Существует три основных типа данных: линейная (разорванную книгу собрать странички в правильной последовательности), иерархическая (книгу разбивают на части, разделы, графы и т.д.) и табличная (например, оглавление или содержание в книге).
Линейные структуры – это списки. Список – простейшая структура данных, отличающаяся тем, что каждый элемент данных однозначно определяется своим номером в массиве. Разделителем может быть какой-нибудь спец символ или пробел. Т.о. линейные структуры данных (списки) – упорядоченные структуры, в кот адрес элем-та однозначно определяется его номером.
Табличные структуры отличаются от списочных тем, что элем-ты данных определяются адресом ячейки, который состоит не из одного параметра, как в списках, а из нескольких. Для таблицы умножения, например, адрес ячейки опредл-ся номерами строки и столбца. Кол-во разделителей должно быть больше, чем для данных, имеющих структуру списка. Например, когда печатают таблицы строки и столбы разделяют графическими элем-ми – линиями разметки. Одним из видов табличной структуры явл-ся матрицы. В данном случае разделители не нужны, поскольку все элем-ты имеют равную длину и кол-во их известно. Т.о., табличные структуры данных (матрицы) – упорядоченные структуры, в кот адрес элем-та определяется номером строки и номером столбца, на пересечении которых находится ячейка, содержащая искомый элем-т.
Нерегулярные данные, кот трудно представить в виде списка или таблицы часто представляют в виде иерархических структур. В иерархической структуре адрес каждого элем-та определяется путём доступа (маршрутом), ведущим от вершины структуры к данному элементу. (например, Пуск>Программы>Стандартные>Калькулятор.)
В информатике применяют методы для регуляризации иерархических структур с тем, чтобы сделать путь доступа компактным. Один из методов получил название дихотомии.