Excel и Access
Категория реферата: Рефераты по информатике, программированию
Теги реферата: ресурсы реферат, реферати
Добавил(а) на сайт: Кулагинский.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 | Следующая страница реферата
1. Всякий атом есть логическое выражение.
2. Если Х и У - логические выражения, то выражения (Х AND У), (Х OR У) и
(NOT Х) тоже являются логическими.
Вот примеры арифметических выражений: (NOT х = 7), (х = 2+2, AND у >
2*(х+3)).
Замечание 1. На практике при записи формул можно во многих случаях опускать
скобки, что мы и будем делать без особых оговорок.
Теперь переходим к значениям выражений. Значениями арифметических выражений
являются числа, а значениями логических выражений – Истина и Ложь.
Если мы знаем значения всех атрибутов, входящих в выражение, то мы можем
вычислить и значение самого выражения. Скажем, если значение х и у есть, соответственно, 7 и 8, то значением выражения (х+2*у) есть 23. Значением
атома х=(х+2*у) будет Ложь, потому что на самом деле 7 не равно 23.
Ну, а как вычислять значений логических выражений, не являющихся атомами?
Для этого служат так называемые таблицы истинности. Они позволяют вычислить
значение логического выражения, если известны значения его подвыражений.
Вот например таблица истинности для операции AND.
|Х |У |Х AND У |
|Истина |Истина |Истина |
|Истина |Ложь |Ложь |
|Ложь |Истина |Ложь |
|Ложь |Ложь |Ложь |
Она показывает, как, зная значения выражений Х и У, вычислить значение
выражения (Х AND У).
А вот таблицы истинности для OR и NOT:
|Х |У |Х OR У |
|Истина |Истина |Истина |
|Истина |Ложь |Истина |
|Ложь |Истина |Истина |
|Ложь |Ложь |Ложь |
|Х |NOT Х |
|Истина |Ложь |
|Ложь |Истина |
Зная значения атомов, вы можете с помощью этих таблиц вычислить значение
любого выражения, построив для него свою таблицу истинности. В качестве
примера построим такую таблицу для выражения NOT (Х OR У)
|Х |У |Х OR У |NOT(Х OR У) |
|Истина |Истина |Истина |Ложь |
|Истина |Ложь |Истина |Ложь |
|Ложь |Истина |Истина |Ложь |
|Ложь |Ложь |Ложь |Истина |
Замечание 2. С подобными конструкциями мы встречаемся в естественных
языках, например в русском. Там аналогами логических выражений являются
повествовательные предложения, аналогами атомов – простые повествовательные
предложения, а аналогами логических операций – слова И, ИЛИ, НЕТ и др.
Конечно, аналогия здесь далеко не полная, но все же она позволяет понять
основные идеи алгебры логики.
В самом деле, когда истинно предложение “На улице потемнело ИЛИ у меня
устали глаза”? Когда истинно хотя бы одно из предложений “На улице
потемнело” или “у меня устали глаза”. Таким образом, в данном случае ИЛИ
действует аналогично операции OR (правда, в других фразах ИЛИ может
употребляться в другом смысле). Точно так же союз И можно считать аналогом
операции AND. Например, фраза “Вдруг заиграла музыка И в зал вошла она”
истинна если и только истинны обе ее составные части: “вдруг заиграла
музыка” и “в зал вошла она”. НЕ или НЕТ часто выступает аналогом операции
NOT. Скажем предложение “я НЕ знаю этого человека” истинно в точности в тех
случаях, когда ложна фраза “я знаю этого человека”. Вообще, язык алгебры
логики можно рассматривать как попытку формализовать естественный язык.
Замечание 3. Выше мы говорили о классической, двузначной логике, когда
имеется всего два значения истинности ДА и НЕТ (употребляются еще и другие
обозначения, скажем ИСТИНА и ЛОЖЬ или TRUE и FALSE). Кроме двузначной
логики в принципе можно рассматривать и другие логики, например
трехзначную, в которой кроме ДА и НЕТ есть еще и третье значение –
НЕИЗВЕСТНО (в Access оно обозначается как Null). На самом деле в Access
реализована некая мешанина из двузначной и трехзначной логики. Оговоримся
сразу, что мы не рекомендуем учителю выходить за рамки классической логики.
Тем не менее, для полного понимания работы Access нам придется коснуться и
трехзначной логики.
Наличие в Access трехзначной логики связано с тем, что в таблицах Access
допускаются пустые клетки (так называемые Null-значения). Например, таблица
ЗНАКОМЫЕ может выглядеть так:
|Фамилия |Имя |Отчество |
|Иванов |Петр | |
(Отчество Иванова мы не знаем.)
Спрашивается, как должна такая БД отвечать на запрос “Верно ли, что у Петра
Иванова отчество – Сергеевич?” Ясно, что ни ДА, ни НЕТ тут не подходит.
Необходимо ввести третье значение.
Надо сказать, что попытки ввести в БД Null-значения и трехзначную логику
многим авторам представляются неуместными. Вот что говорит по этому поводу
известный специалист в области БД К.Дейт в своей последней монографии.
“Автор данной книги разделяет мнение многих других авторов о том, что null-
значения и трехзначная логика являются ошибочными понятиями и им нет места
в число формальных системах, подобных реляционной модели.” ([4], стр. 544).
На наш взгляд, забивать школьнику голову трехзначной логикой и Null-
значениями при изучении Access не стоит. Дай Бог ему разобраться с обычной, двузначной логикой.
Мы рекомендуем ограничиться случаем, когда таблицы не имеют пустых клеток.
Можно даже установить значение ДА параметра Свойства поля/Обязательное
поле. В этом случае Access будет сам следить, чтобы все клетки были
заполнены. Тогда пользователь гарантирован ото всех неприятностей, связанных с Null-значениями.
Замечание 4. Обычно логику определяют как науку о правильных рассуждениях
([1, 3, 5, 9]). На наш взгляд, это не совсем верно. В вычислительной науке
и, в особенности, в теории баз данных на первый план выходит другой аспект.
Здесь логика используется как формальная модель естественного языка. На
это, конечно, можно возразить, что язык и мышление тесно связаны. Но ведь
мышление отнюдь не сводится к дедуктивным (т.е. основанным на
доказательствах) методам.
Пусть логическое выражение Х не содержит атрибутов, кроме х1, х2, … , хк.
Придав этим атрибутам некоторые значения, мы, тем самым, придаем числовые
значения всем арифметическим выражениям, входящим в Х. Выполнив
соответствующие сравнения, мы узнаем значения всех атомов, входящих в Х.
Далее, с помощью таблиц истинности, мы можем вычислить и значение выражения
Х.
Теперь пусть у нас есть кортеж К с атрибутами х1, х2, … , хк. Он
сопоставляет каждому из этих атрибутов некоторое число. Следовательно, он
обращает выражение Х либо в ИСТИНУ, либо в ЛОЖЬ.
Итак, мы доказали следующее утверждение.
Теорема 1. Пусть Х логическое выражение, не содержащее атрибутов, кроме х1, х2, …, хк, а К - кортеж с атрибутами х1, х2, … , хк. Тогда выражение Х либо
истинно, либо ложно.
В первом случае мы говорим, что выражение Х ИСТИННО на кортеже К, а во
втором – что оно ЛОЖНО.
Таким образом, логическое выражение можно трактовать как функцию, перерабатывающую кортеж в одно из двух значений ИСТИНА или ЛОЖЬ.
Теорема 1 позволяет использовать логические выражения в качестве фильтров.
Каждое такое выражение будет выбирать из таблицы те кортежи, на которых оно
истинно.
Как задать фильтр?
Теперь переходим к процедурной части. Чтобы посмотреть фильтр (если он
есть), нужно открыть соответствующую таблицу в режиме конструктора и
выполнить команду “Свойства” меню Вид или контекстного меню. Откроется окно
“Свойства таблицы”, в котором есть строка “Фильтр”.
Установив курсор в поле Фильтр, вы можете распахнуть его с помощью
комбинации Shift+F2.
Если фильтра еще нет, то вы можете создать его прямо в этом окне. Там же
можно и корректировать его.
Однако, это не единственный способ задания фильтра. Вы можете
воспользоваться также специальным окном “Фильтр”, вызываемым командой
Записи| Фильтр| Расширенный фильтр.
В окне “Фильтр” находится бланк QBE.
Окно фильтра состоит из двух частей. В верхней части находится схема
отношения (прямоугольник, содержащий имя таблицы и перечень атрибутов). В
нижней части находится бланк запроса QBE. Он содержит строку ПОЛЕ, в
которой указываются атрибуты, по которым идет фильтрация, либо сортировка.
Ниже располагается строка СОРТИРОВКА, в которой для некоторых атрибутов
указывается порядок сортировки (по убыванию, или по возрастанию). Еще ниже
располагается строка УСЛОВИЕ ОТБОРА и строки ИЛИ (из них обычно видна
только одна).
На наш взгляд, сортировку стоит объяснять отдельно, и мы пока не будем ее
рассматривать. Отметим также, что сортировка несколько выходит за рамки
классической реляционной модели, поскольку там отношение мыслится как
множество (т.е. неупорядоченный набор) кортежей. Впрочем, тот, кто прилежно
изучал информатику, знает, что любая хорошая модель проще, чем
соответствующая реальность.
Этот бланк удобно применять, если фильтр имеет некоторый специальный вид, о
котором мы сейчас поговорим. Это так называемая дизъюнктивная нормальная
форма (сокращенно – ДНФ). Она заслуживает внимание не только в связи с
изучением Access, и поэтом мы уделим ей особое внимание.
Вот примеры выражений в ДНФ (мы будем для краткости называть их ДНФ-
выражениями).
(Вес = 2 AND NOT (Высота >3) AND Ширина 5 AND
NOT (Ширина 4 AND Высота >6 AND Ширина 80 AND NOT (Зарплата 80) AND Зарплата
80 AND NOT (Зарплата 80) AND
Зарплата 80 OR NOT (Зарплата 80) AND Зарплата
3) AND Ширина 5 AND
NOT (Ширина 4 AND Высота >6 AND Ширина 3 |5 |NOT 4 |>6 | 18, то тем самым вы сформулировали
логическое выражение [ Балл] =5 AND [ Код] > 18.
Условные выражения, набранные в соседних строках одного и того же столбца, соединяются между собой знаком OR. Например, если столбец имеет имя Балл и
набрали в строке Условие отбора: =8, а в строке Или: =12, то тем самым вы
сформулировали логическое выражение [ Балл] =5 OR [ Балл] =12.” ([ Ш] , стр. 614).
Это, конечно, верно. Но отсюда нельзя понять, как записать на бланке, скажем, выражение [ Балл] =5 OR [ Код] > 18. Мы считаем, что примеры должны
не заменять точных определений, а дополнять их. (Правда, еще раз
подчеркнем, что мы не претендуем на формализацию Access в полном объеме. Мы
предлагаем формально описать лишь некоторый его фрагмент).
Итак, бланк QBE ориентирован на запись ДНФ-выражений. Но ведь фильтры могут
задаваться любыми логическими выражениями, в том числе и не являющимися ДНФ-
выражениями! И тут у любознательного ученика может возникнуть вопрос: а
почему так сделано? Как быть, если фильтр не является ДНФ-выражением? Это
что, недосмотр разработчиков, или тут есть какой-то резон?
К сожалению, “пользовательская” информатика (видимо вслед за разработчиками
программного продукта), очень не любит отвечать на подобные вопросы. А зря.
Мы считаем, что школьная информатика должна не только отвечать на эти
вопросы, но и стимулировать их появление у учащихся.
Оказывается, резон есть. Дело в том, что всякое логическое выражение
эквивалентно некоторому ДНФ-выражению. И мы это сейчас докажем. А заодно
дадим и алгоритм сведения произвольного логического выражения к ДНФ-
выраженнию.
Сведение произвольного логического выражения к ДНФ-выраженнию.
Определение 4. Пусть Х и У – логические выражения с одинаковыми наборами
атомов. Скажем, что Х и У равносильны, если они принимают одинаковые
значения для любого набора значений входящих в них атомов.
Символически эквивалентность выражений Х и У обозначается как Х? У.
Лемма 1. Пусть Х и У – произвольные логические выражения. Тогда NOT(Х OR У)
? (NOT Х) AND (NOT У)
Доказательство. Мы только что построили таблицу истинности для NOT(Х OR У).
Постройте такую же таблицу для ? (NOT Х) AND (NOT У) и сравните обе
таблицы.
Лемма 2. Пусть Х и У – произвольные логические выражения. Тогда NOT(Х AND
У) ? (NOT Х) OR (NOT У).
Доказательство: аналогично доказательству леммы 1.
Лемма 3. Пусть Х, У и Z– произвольные логические выражения. Тогда Х AND (У
OR Z) ? (Х AND У) OR (Х AND Z).
Доказательство: постройте таблицы истинности для обоих выражений.
Теорема 2. Всякое логическое выражение эквивалентно некоторому ДНФ-
выражению.
Эскиз доказательства. Идея доказательства очень проста. Сначала мы с
помощью лемм 1 и 2 загоняем все NOT внутрь AND и OR, а потом, с помощью
леммы 3 – все AND внутрь OR. Формальное описание этой процедуры довольно
громоздко, и поэтому мы ограничимся примером. Пусть Х, У и Z– произвольные
атомы. Тогда Х AND NOT(У AND Z) ? Х AND (NOT У OR NOT Z) ? (Х AND NOT У) OR
(Х AND NOT Z).
Заключение.
Итак, мы убедились, что фильтр – это просто логическое выражение, а
фильтрование – выбор кортежей, на которых это выражение истинно. Фильтр
записывается на бланке QBE. Этот бланк приспособлен для записи ДНФ-
выражений. Такой выбор не случаен: любое логическое выражение эквивалентно
некоторому ДНФ-выражению. Таковы, на наш взгляд, основные идеи, лежащие в
основе реализации фильтра в Access.
Отметим, кстати, что в Access существуют еще и другие конструкции, идейно
очень близкие к фильтру, но оформленные, порою, совершенно по-другому. В
частности, это ЗАПРОСЫ НА УДАЛЕНИЕ (см. [6]), а также УСЛОВИЯ НА ЗНАЧЕНИЕ, задаваемые либо в СВОЙСТВАХ ТАБЛИЦЫ, либо в СВОЙСТВАХ ПОЛЯ. Соотношение
фильтра, условия на значение и ЗАПРОСА НА УДАЛЕНИЯ можно пояснить так.
Каждое из них задается логическим выражением, которое мы будем называть
“законом”. ФИЛЬТР позволяет скрыть все “незаконные” кортежи, УСЛОВИЯ НА
ЗНАЧЕНИЕ – не допустить появления в таблице “незаконных” кортежей, а ЗАПРОС
НА УДАЛЕНИЯ – удалить все “незаконные” кортежи из таблицы.
.
Общие сведения
Microsoft Excel - табличный процессор, программа для создания и обработки
электронных таблиц (Электронная таблица - таблица, используемая для
размещения в ячейках данных для последующей обработки с помощью формул, описывающих зависимости между значениями этих ячеек).
Microsoft Excel позволяет работать с таблицами в двух режимах:
- обычный - наиболее удобный для выполнения большинства операций.
- разметка страниц - удобен для окончательного форматирования таблицы перед распечаткой. Границы между страницами в этом режиме отображаются синими пунктирными линиями. Границы таблицы - сплошной синей линией, перетягивая которую, можно изменять размеры таблицы.
Для перехода между режимами Обычный и Разметка страниц используются соответствующие пункты меню Вид.
Рабочая книга, ячейки
Файл Microsoft Excel называется рабочей книгой. Рабочая книга состоит из рабочих листов, имена которых (Лист1, Лист2, …) выведены на ярлыках в нижней части окна рабочей книги (рис.2). Щелкая по ярлыкам, можно переходить от листа к листу внутри рабочей книги. Для прокручивания ярлыков используются кнопки слева от горизонтальной координатной линейки:
Рабочий лист представляет собой таблицу, состоящую из 256 столбцов и
65536 строк. Столбцы именуются латинскими буквами, а строки – цифрами.
Каждая ячейка (Ячейка - минимальный элемент электронной таблицы, над которым можно выполнять те или иные операции.) таблицы имеет адрес, который состоит из имени строки и имени столбца. Например, если ячейка находится в столбце F и строке 7, то она имеет адрес F7. Диапазон ячеек - две или более ячеек листа. Ячейки диапазона могут быть как смежными, так и несмежными.
Форматирование строк, столбцов и ячеек
Для изменения ширины столбца перемещайте правую границу заголовка столбца
до тех пор, пока его ширина не достигнет необходимого размера. Отображаемая
ширина столбца говорит о среднем числе символов 0-9 стандартного шрифта, помещающихся в ячейке.
Рекомендуем скачать другие рефераты по теме: изложение 5 класс, бюджет реферат.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 | Следующая страница реферата