Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

14-es_1 / ЭС - Информатика (ИСФ) / умк_Василевский_Информатика

.pdf
Скачиваний:
43
Добавлен:
18.05.2015
Размер:
3.4 Mб
Скачать

15. Закройте окно конструктора запросов с сохранением изменений. Затем откройте сам запрос и ознакомьтесь с результатами вычислений в вычисляемом поле «Стоимость».

Лабораторная работа № 13

СУБД Microsoft Access. Перекрестные запросы

СУБД Microsoft Access. Запросы по условию. Перекрестные запросы.

Цель работы: научиться создавать перекрестные запросы и запросы по условию.

1.Запустите программу Microsoft Access и создайте новую базу данных, состоящую из нескольких таблиц и хотя бы одного запроса (для выполнения первой части этой работы можно использовать готовую базу данных «Строительное управление»).

2.Простой запрос, рассмотренный в предыдущей работе, является выборкой определенных полей из одной или нескольких таблиц (или запросов); т.о. в запросе представлены не все поля таблиц, а только избранные. Но при этом все записи (строки) этих полей будут представлены в запросе. Запрос по условию – это запрос на выборку, в котором выводятся не все записи, имеющиеся в таблицах, а только те, которые удовлетворяют определенному условию.

3.Для того, чтобы задать условие, откройте запрос, имеющийся в Вашей базе данных, в режиме конструктора. В бланке запроса имеются строки, которые мы не использовали ранее. Это строки «Условие отбора:»

и«или:». Условие отбора задается для конкретного поля запроса и записывается в эти строки. Рассмотрим задание условий отбора на примере базы данных «Строительное управление».

4.Текстовое условие. Предположим, что нам необходимо получить запрос на выборку (уже созданный нами запрос «Закупки материалов»), в котором будут отображаться данные, касающиеся только какого-либо из материалов (например, металла). Чтобы задать это условие, напишите в строку «Условие отбора:» бланка запроса слово «Металл» (слово должно быть написано именно так, как оно написано в таблицах) (рис. 31). Теперь закройте окно конструктора запросов (с сохранением изменений) и откройте сам запрос. Проверьте действие введенного Вами условия.

81

Рис. 31

Наберите (в дополнение к слову «Металл») в строку «или:» слово «Дерево» и самостоятельно посмотрите, как будет выглядеть запрос на выборку (рис. 32).

Рис. 32

5. Условие по дате (числу) (поля с типом данных «Дата/время», «Числовое», «Денежное»). Чтобы в запрос выводилась информация, касающаяся заказов, срок выполнения которых наступает, например, ранее 20.08.04, напишите в строку «Условие отбора:» бланка запроса выражение <#20.08.04# и закройте конструктор запросов. Открыв запрос, убедитесь, что условие действует.

Если есть необходимость вывести информацию по датам позднее 20.08.04, в выражение ставится знак «>». Если необходимо включить эту дату в список, выражение имеет знак «<=» или «>=». Для получения информации по датам, например, между 20.08.04 и 15.10.04, напишите следующее выражение:

Between #20.08.04# And #15.10.04#

82

Тот же принцип применяется и при назначении условий по числовому полю, а также по денежному. Попробуйте самостоятельно ввести условия отбора по этим полям.

6. Создание перекрестного запроса рассмотрим на примере новой базы данных «Расход арматуры». Создайте новую базу данных, состоящую из одной таблицы «Расход арматуры». Поля таблицы: «№№» (счетчик, ключевое поле), «Железобетонное изделие» (текстовый), «Класс арматуры» (текстовый), «Количество, кг» (числовой). Откройте таблицу и заполните ее в соответствии с примером (рис. 33):

Рис. 33

7.Приступим к созданию перекрестного запроса. Закройте таблицу,

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

8.В первый столбец бланка поместите название поля «Железобетонные изделия» (в частности, это можно сделать двойным нажатием на название поля в таблице «Расход арматуры»). В строке «Групповая операция» появляется запись «Группировка». Откройте строку «Перекрестная таблица» и выберите запись «Заголовки строк». Повторите эти действия для полей «Класс арматуры» и «Количество, кг», только для поля «Класс арматуры» в строке «Перекрестная таблица» выберите запись «Заголовки столбцов», а для поля «Количество, кг» – запись «Значения», в строке же «Групповая операция» – значение какой-нибудь функции (например, «Sum») (рис. 34).

83

Рис. 34

9. Закройте окно конструктора запросов (с сохранением изменений). Запрос назовите «Ведомость расхода арматуры» (рис. 35). Откройте запрос.

Рис. 35

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

Лабораторная работа № 14

СУБД Microsoft Access. Контрольная работа

Цельработы: закрепитьполученныенавыкиработысMicrosoft Access.

1.Запустите программу Microsoft Access и создайте новую базу данных, согласно заданию преподавателя.

2.Выполнив задание, сохраните базу данных в специально созданной для этого папке на диске «С» в каталоге «Temp».

3.Пример задания для контрольной работы:

Создайте макет базы данных, предназначенный для отдела снабжения предприятия строительной отрасли.

База данных должна включать таблицы «Материалы, изделия», «Поставщики», «Заказы», «Поставки» (по желанию, дополните этот список).

84

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

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

Создайте запрос (запросы) на выборку (в т.ч. по условию). Создайте перекрестный запрос, который облегчит выбор поставщика

наиболее дешевых материалов.

Лабораторная работа № 15 Алгоритмы

Алгоритмы. Освоение структурных элементов. Создание линейных и ветвящихся алгоритмов (графическая форма записи).

Цель работы: приобрести навыки по созданию алгоритмов и овладению графическим языком записи алгоритмов.

1. Запишите (в графическом виде) примеры линейных и ветвящихся алгоритмов, встречаемые в окружающей жизни. Линейные алгоритмы целиком складываются из структурных элементов типа «следование» – некоторая последовательность операций (см. рис. 36); ветвящиеся алгоритмы помимо структурных элементов «следование» включают элементы типа «ветвление» – проверка некоторого условия, в зависимости от результатов которой «линия действий» разделяется на две ветви (см. рис. 37).

Блок начала алгоритма

Блок начала алгоритма

Функциональный блок

Функциональный блок

 

 

 

 

да

 

 

 

 

нет

 

 

 

 

 

 

Функциональный блок

 

 

 

 

Условие

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Функциональный блок

Функциональный блок

Функциональный блок

 

Рис. 36

Рис. 37

85

2. Проверьте, не противоречат ли Ваши примеры алгоритмов следующим условиям:

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

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

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

При построении блок-схемы алгоритма (графическая форма записи) следует иметь в виду, что:

– из блока начала алгоритма выходит только одна стрелка, и ни одной не входит; в блок конца алгоритма должна входить только одна стрелка, и ни одной не должно выходить;

– в блок действия (функциональный блок) входит только одна стрелка, и выходит тоже только одна;

– в логический блок входит только одна стрелка, выходят только две

ветвь «да» и ветвь «нет»;

– если возникла необходимость повторения каких-либо действий, стрелку необходимо подводить не к блоку, а к стрелке. (Такой алгоритм будет уже циклическим).

Необходимо соблюдать «правило экономии»: при необходимости повторения действий желательно обойтись уже имеющимися блоками действия. Это требование связано с тем, что при создании программ каждый блок будет реализован как фрагмент программы на языке программирования: чем больше блоков, тем больший объем (размер) будет занимать программа, тем сложнее, а следовательно и нестабильнее в работе она будет.

3.Последнее из приведенных требований вызывает необходимость построения в некоторых случаях циклических алгоритмов вместо алгоритмов ветвления. Попытайтесь привести пример циклического алгоритма и изобразить его графически.

4.Задания для самостоятельной работы:

Задание 1. Запроектируйте и изобразите графически алгоритм получения бетонной смеси с заданной осадкой конуса (мера текучести бетонной смеси). Предварительные данные: для приготовления бетонной смеси по-

86

мещают в смеситель щебень (Щ), песок (П), цемент (Ц) и воду (В); смесь перемешивают; полученную смесь проверяют на текучесть (проверяют осадку конуса (ОК), измеряемую в сантиметрах). Если осадка конуса меньше требуемой, значит смесь слишком жесткая, в нее необходимо добавить воду, если ОК больше требуемой – необходимо добавить песок. Действия продолжать до тех пор, пока требуемая осадка конуса не будет достигнута.

Задание 2. Запроектируйте и изобразите графически алгоритм вычисления квадратного уравнения.

Лабораторная работа № 16 Среда программирования Delphi. Часть 1

Среда программирования Delphi. Создание простейшего Windowsприложения в среде программирования Delphi.

Цель работы: освоить начальные приемы работы в среде визуального программирования Delphi на примере создания простейшего Windowsприложения (создать программу, способную подсчитывать сумму чисел).

1.Создайте предварительно (на бумаге) проект будущей программы. Проект должен состоять:

из рисунка окна (формы) будущей программы с размещенными на нем компонентами (кнопками, полями для ввода данных и пр.);

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

фрагментов программы на языке Object Pascal (для каждого из запланированных событий).

2.Запустите Delphi, воспользовавшись меню кнопки «Пуск» (папка «Borland Delphi»). Ознакомьтесь с рабочим столом Delphi. Под цепочкой верхних меню находятся панель инструментов (рис. 38):

Рис. 38

и палитра инструментов (рис. 39):

Рис. 39

87

Ниже располагаются: окно «Инспектора объектов» (рис. 40), а также окно первой «формы» – окна будущего Windows-приложения.

Рис. 40

3.Начните создание Windows-приложения с сохранения главного файла проекта (файл с расширением ~.dpr) и файла первого модуля программы (файл с расширением ~.pas). Для этого в верхнем меню «File» выберите команду «Save Project As…» и в открывшемся диалоговом окне:

выберите место для сохранения файлов проекта (например, папка

«Temp» на диске «С»);

создайте новую папку с помощью клавиши «Создание новой папки» этого диалогового окна (файлы проекта обязательно надо сохранять в отдельную папку);

напишите имя файла первого модуля в поле «Имя файла» и нажмите клавишу «Сохранить»;

в следующем (аналогичном) окне напишите имя главного файла проекта в поле «Имя файла» и нажмите клавишу «Сохранить».

4.Разместите компоненты на поле формы (в соответствии с Вашим предварительным рисунком). Компоненты, необходимые для нашей программы, можно найти на палитре инструментов на вкладке «Standard». Для реализации нашей программы подсчета суммы чисел нам понадобятся:

два поля для ввода (Edit) – в одно пользователь будет записывать числа, в другом будет появляться результат суммирования;

трикнопки(Button) – этокнопки«Закрыть», «Сброс» и«Добавить»;

поле Memo – здесь будет размещаться инструкция для пользователя;

две метки (Label) – метка «Число» рядом с полем для ввода числа

иметка «Сумма» рядом с полем для вывода суммы. Чтобы поместить компонент на поле формы, нажмите левую клавишу мыши сперва на кнопке этого компонента (все эти кнопки – на вкладке «Standard» палитры инст-

88

рументов), а затем на выбранном месте поля формы, где этот компонент по Вашему мнению должен размещаться. Результат этих действий должен выглядеть примерно так (рис. 41):

Рис. 41

5.Обратите внимание на черные квадратики – маркеры выделения, расположенные по углам и серединам сторон любого из компонентов (на рисунке это поле Memo). Выделить любой компонент можно однократным нажатием на него с помощью маркеров выделения, появившихся вслед за этим. Можно увеличить или уменьшить размеры этих компонентов Для этого наведите курсор на любой из маркеров, нажмите на нем левую клавишу мыши и, не отпуская клавишу, ведите мышь в нужную сторону. Добившись нужного размера, отпустите левую клавишу мыши. Если необходимо переместить компонент по окну формы не меняя его размеров, повторите эту же операцию, только нажимать левую клавишу мыши необходимо не на маркерах выделения, а на самом компоненте. Если необходимо удалить компонент, выделите его, и нажмите на клавишу «Delete» на клавиатуре компьютера.

6.Теперь задайте свойства компонентов. Перечень свойств (Properties) для каждого компонента появляется в окне «Инспектора объектов» (Object Inspector) каждый раз, когда Вы выделяете этот компонент. Сама форма тоже в известной степени является компонентом. Чтобы задать свойства формы, необходимо нажать один раз левую клавишу мыши на поле формы, свободном от компонентов, а затем задать свойства формы в окне «Инспектора объектов».

89

Итак, зададим следующие свойства:

для кнопок: свойство Caption (Заголовок) для первой кнопки – «Добавить», для второй – «Сброс» и для третьей – «Закрыть» (т.е. находим

вокне Object Inspector слово Caption и в соседней ячейке вместо слова «Button1» пишем слово «Добавить»);

для меток: свойство Caption (Заголовок) для первой метки – «Число», для второй – «Сумма». Надписи получаются слишком мелкими, поэтому зададим еще одно свойство – Font (Шрифт). Для этого поставим курсор в ячейку справа от ячейки «Font», а затем нажмем на клавишу с многоточием, появившуюся в этой ячейке. В открывшемся окне выберем тип шрифта, его размер и начертание, нажмем на кнопку «ОК». Выполните эту операцию для обеих меток (по желанию, можно и для кнопок).

для поля Memo: выберите в окне Object Inspector свойство Lines (здесь это означает содержимое – текст, написанный в окне), нажмите на кнопку с многоточием, и в появившемся окне «String List Editor» напишите текст инструкции по использованию Вашей программы. Задайте для поля Memo также свойство Font.

для формы: можно задать свойство Caption (по желанию), а также свойство Color – цвет формы.

7. Теперь приступим к программированию событий, запроектированных нами для этой программы. Каждое событие связано с каким-либо компонентом (или с формой), поэтому, начиная программировать событие, необходимо выделить компонент, с которым оно связано. Например, первое событие свяжем с формой. Сущность события состоит в том, что при открытии формы в полях для ввода должны появиться знаки нулей. По-

следовательность наших действий:

«выделите» форму (т.е. нажмите один раз левую клавишу мыши на поле формы, свободном от компонентов);

в окне Object Inspector откройте вкладку Events (События) и поставьте курсор в ячейку справа от названия типа проектируемого события (рис. 42). Здесь этот тип события – OnCreate (открытие формы);

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

между словами «begin» и «end» впишите следующий фрагмент программы:

90