Решение прикладных задач на компьютере. Практикум для студентов

       

Лабораторная работа № 18: Планирование перевозок


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

Создайте таблицы:

  • расстояния между  заводами и стройками,
  • потребности строек (строка),
  • мощности заводов (столбец)
  •  первоначальный план перевозок - количество рейсов с i-го завода
  • на  j-ю стройку:

    Ячейка

    C

    D

    E

    F



    I

    J

    3

    Р а с с т о я н и я

    4

    Стройка1

    Стройка2

    Стройка3

    Стройка4

    Планы заводов

    5

    Завод 1

    900

    6

    Завод 2

    200

    7

    Завод 3

    300

    8

    Потребности строек

    100

    300

    600

    400

    S (D8:I*)=S(J5:J7)

    9

    План перевозок (число рейсов с заводов на стройки)

    Вывезено с заводов

    10

    Завод 1

    =CУММА(D9:I9)

    11

    Завод 2

    =CУММА(D10:I10)

    12

    Завод 3

    =CУММА(D11:I11)

    13

    Завезено на стройки

    S(D10:

    D12)

    S(E10:

    E12)

    S(F10:

    F12)

    S(I10:

    I12)

    14

    Число рейсов * расстояния

    Cуммарный

    15

    Завод 1

    =D10*D5

    пробег

    16

    Завод 2

    Скопируйте формулу на всю таблицу

    всех машин

    17

    Завод 3

    =СУММА(D14:I16)

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

              - Запустите Сервис - Поиск решения и заполните окна появившейся экранной формы.
    Целевая ячейка в данном случае - J17, в которой находится суммарный пробег машин со всех заводов на все стройки, и значение в которой надо сделать минимальным (или заданным, если надо “нагнать” план по километражу).  Изменять  можно ячейки D10 - I12  (план перевозок) при условии равенства мощностей заводов и потребностей строек, то есть ячеек J10 - J12 и D13 - I13 значениям, заданным в J5 - J7 и D8 - I8. Кроме того, следует задать условие, что количества рейсов - величины положительные и целые. Запустите выполнение программы (Выполнить). 

    5. Системы управления базами данных

              База данных - это совокупность данных, упорядоченная для их использования в компьютерах, то есть набор данных, организованный по определенным правилам. В настоящее время наиболее популярны три типа структур БД: иерархические (пример - система файлов и папок Windows), сетевые (БД на гиперссылках, в том числе Всемирная Паутина World Wide Web) и реляционные базы данных (от английского relation - отношение, связь), состоящие из двумерных  взаимосвязанных таблиц. Однородные данные  в таблице (например, оценки студентов по одному из предметов - столбцы таблицы) образуют поля, а совокупность данных, относящихся к одному субъекту (например, фамилия и все оценки в ведомости - строка таблицы) называется записью. Для создания баз данных, их заполнения и корректировки, поиска и выборки необходимой информации и ее представления в наглядном виде используются системы управления базами данных - СУБД.

              В состав СУБД входят  пакеты программ, библиотеки, а также логическое описание структуры данных и их физическое описание  (где и как записаны данные на магнитных носителях), создаваемые СУБД при инициации БД и  ее структуры.

              В пакет MS Office, разработанный фирмой  Microsoft, наряду с  Word и Excel входит СУБД Access. Ее характерное отличие от старых СУБД  - полное использование возможностей Windows  и хранение в одном файле БД нескольких таблиц, запросов, форм, отчетов, макросов и модулей. Запрос



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

    аналогично форме, но в отчет включаются данные из всех записей, он разбит на страницы и полностью подготовлен для печати. Макрос представляет из себя набор команд, позволяющих объединить разрозненные операции обработки данных (аналогично ВАТ-файлу).  Модули содержат программы на языке Visual Basic, которые могут  разрабатываться пользователем  для реализации нестандартных процедур при создании приложения.

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

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

     

    Лабораторная работа № 19: Создание таблицы БД Access

     

          Создайте таблицу с анкетными данными, используя все типы переменных СУБД Access:

    - Войдите в Access (обычно его ярлык имеет вид ключа), откройте одну из имеющихся в компьютере баз данных или создайте новую, поместив ее в свою папку;



    - Инициируйте создание новой таблицы с помощью Конструктора таблиц (Таблицы - Создать - Конструктор);

    - Создайте макет таблицы, задавая заголовки ее столбцов (“Имя поля”) и типы переменных в этих столбцах (полях).  Для изучения различных типов переменных удобно использовать таблицу с анкетными данными. Можно рекомендовать следующий макет анкеты:

    Имя поля

    Тип поля

    Примечания

    № п/п

    Счетчик

    Заполняется автоматически

    Фамилия

    Текст

    Текст длиной не более 255  символов; ограничьте: 10 - 15 символов

    Имя

    Текст

    Дата рождения

    Дата

    Например 12-08-48

    Зарплата

    Денежный

    Установите вид валюты

    Рост

    Числовой

    Установите тип переменной – целый (Integer, Long) или вещественный (Single, Double)

    Судимость

    Логический

    Переменная имеет два значения - ДА или НЕТ

    Характеристика

    МЕМО

    Длинный текст

    Портрет

    Объект OLE

     Технология OLE (Object Linking and Embedding - связывание и внедрение объектов) позволяет  подключать к базе данных рисунки, презентации, звуковые файлы и видеофильмы. 

              - Создайте первичный ключ - поле, данные в котором уникальны и  однозначно идентифицируют запись - строку всех прочих данных. В данном случае используем в качестве первичного ключа поле “  № п/п ”. Для создания первичного ключа щелкните по кнопке  с рисунком ключа на панели инструментов, а затем укажите на имя поля “Фамилия”;

              - Закройте макет таблицы (Файл - Закрыть) с присвоением ему имени; если ключ не был создан, компьютер предложит вам его создать;

              - Откройте таблицу с этим именем (Таблица - Открыть) и заполните 5-7 строк. Графу  “Характеристика” можно заполнить абракадаброй, чтобы убедиться в возможности хранения длинного текста в поле типа МЕМО. В графу “Портрет” (объект OLE) вставьте изображение, пользуясь командами Вставка - Объект - Рисунок Paint.   При этом запустится графический редактор Paint, в котором можно создать рисунок. Возврат в Access  осуществляется командой Файл - Выход ... или переходом в Access в Панели задач.


    Объекты в поля OLE можно вставлять копированием через Буфер обмена.

              Попробуйте импортировать или связать таблицу из другой БД: Таблица – Создать – Импорт (или Связать), затем внимательно читайте тексты и устанавливайте параметры в диалоговых окнах.

    Лабораторная работа № 20: Создание связей таблиц БД

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

                                Детали                                                                        Цех

    Номер

    Деталь

    Цена

     

    Рабочий

    Деталь

    Количество

    1

    Болт

    3

    2

    3

    46

    2

    Гайка

    3

    3

    5

    56

    3

    Шайба

    2

    4

    6

    4

    4

    Винт

    5

    2

    2

    43

    5

    Гвоздь

    1

    1

    2

    53

    6

    Шатун

    120

    4

    1

    25

    Поле  Номер таблицы “Детали” сделайте числовым и ключевым. Таблица  “Цех” – без ключевого поля, все поля числовые.

              Воспользуйтесь командами Сервис - Схема данных - Добавить, чтобы поместить в рабочем окне шаблоны всех трех таблиц.   Для установления связей поставьте курсор мыши на поле “№ п/п” таблицы “Анкета”, нажмите левую клавишу и протащите мышь на поле “Рабочий”  таблицы “Цех”, а затем так же свяжите Номер из “Детали” с полем Детали таблицы “Цех”. Сохраните Схему данных, включив при этом режимы  Сохранение целостности данных и Каскадное обновление. Вернитесь в режим таблиц и попробуйте изменять номера рабочих и деталей в зависимых таблицах, а затем в главной.

    Лабораторные работы № 21, 22: Создание запросов



        Создайте запрос на выборку данных из таблицы “Анкета” и их размещение в заданном порядке:

    - Воспользуйтесь командами Запрос – Создать – Конструктор – Добавить и разместите на рабочем поле шаблон таблицы “Анкета”; Закрыть;

    -  Внесите в шаблон запроса заголовки полей, используя линейки прокрутки в верхней строке (“Поле”) или перетаскивая мышью заголовки полей из шаблона таблицы в шаблон запроса; включите Сортировку по одному из полей;

    - Закройте запрос (Файл - Закрыть) с присвоением ему имени;

    - Откройте запрос (Открыть)   и просмотрите полученные результаты;

    - Вернитесь в режим Конструктора запросов и внесите условия отбора: определенные фамилии, или величину зарплаты, или рост, или другой параметр. Возможно сочетание критериев отбора по условию ИЛИ (фамилия Иванов ИЛИ Сидоров), по условию И (рост >150 И < 190) , а также различные комбинации критериев. Последовательно переходя из режима Конструктора в режим просмотра результатов запроса,  опробуйте несколько комбинаций критериев отбора и вывода данных на экран;

    - Используйте Построитель выражений для арифметических расчетов:

    встаньте на свободное поле, вызовите Построитель выражений, щелкнув по его ярлыку в Меню, выберите поля (в запросе или таблицах – например, Рост умножьте на Зарплату) и арифметические операции, вставьте их в выражение кнопкой Вставить; замените заголовок Выражение1 на более осмысленный;

    - Скопируйте таблицу “Анкета” и результаты запроса в текст Word и таблицу Excel.    

    Запрос по нескольким таблицам:  Запрос  - Создать  – Конструктор, Добавить все таблицы, Закрыть; осуществите выборку по полям  из всех таблиц, например, Фамилия, Деталь, Цена, Количество; с помощью Построителя выражений домножьте Цену на Количество.

    Групповые операции: в запросе по всем таблицам удалите поле Детали и все условия (если есть), Вставка – Групповые операции, установите Группировку

    по полю Цена*Количество; используйте функцию Sum (Сумма), затем Avg (Среднее), чтобы получить суммарный и средний доход на каждого рабочего; вычислите суммарный доход по каждой детали (запрос с полями Деталь, Цена*Количество).


    Создайте запрос с полем Судимость и шестью полями Рост; в режиме Групповые операции установите для полей Рост различные функции: Sum (Сумма),  Avg(Среднее), StDev (стандартное отклонение) , Min, Max, Count (количество).

    Запрос с обновлением: установите определенную зарплату, например 9999, сотрудникам, у которых рост больше 180: создать запрос с полями Рост и Зарплата, установить Условие Рост >180, в Меню Запрос – С обновлением, в поле Зарплата Замена 9999; после выполнения запроса посмотрите таблицу Анкета. Поднимите в 2 раза зарплату рабочим, у которых доход больше определенной величины, например 1000: создайте запрос с обновлением с полями Фамилия, Зарплата и Sum(Цена*Количество), Условие Sum(Цена*Количество)>1000,  Замена  Построитель выражений  Зарплата*2.

    Лабораторная работа № 23: Создание формы

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

    и Объект OLE, то есть длинных текстов и графики.  Работа персонала с информационными компьютерными системами часто сводится к заполнению экранных форм, что позволяет избегать ошибок при вводе и не требует специальной подготовки сотрудников. Современные языки программирования: Visual Basic, Delphi,   C++ отличаются от старых именно большим набором средств для создания экранных форм и размещения на них элементов управления - окон, кнопок, списков и т.д.,  а также позволяют работать со  всеми типами переменных Access и обращаться к таблицам Excel и другим базам данных.

    Создайте форму по таблице “Анкета” в режиме  Мастера и преобразуйте в режиме   Конструктора:

    - Вызовите Мастер форм: Форма - Мастер, укажите эту таблицу в качестве источника данных, затем установите параметры в диалоговом режиме;



    - просмотрите записи, затем вызывайте Конструктор (Вид – Конструктор); если не появится Панель инструментов – щелкните по клавише с молоточками;

    -  растяните мышью границы рабочего поля; щелкните по форме правой клавишей мыши и поменяйте ее цвет;

    - Создайте заголовок формы: щелкните по букве А на панели инструментов, затем поставьте курсор мыши в предполагаемый верхний левый угол окна надписи, нажмите левую клавишу и растяните окно до нужных размеров; отпустите клавишу и внесите в окно нужный текст; щелкните мышью вне окна, а потом по окну правой  клавишей мыши: откроется контекстное меню “Свойства”, с помощью которого задайте размер, цвет и шрифт надписи, цвет фона и параметры обрамления; щелкая по окну левой клавишей мыши, можно обеспечить перетаскивание окна или изменение его размеров;

    -   аналогичным образом разместите поля данных на форме, измените размер, цвет, обрамление, шрифт;

    -   вставьте в форму небольшой рисунок из Paint или Word;

    - создайте новое окно поля данных: щелкните по буквам ab  на панели инструментов, измените его размеры, цвет и шрифт; вызовите  Свойства – Данные, в строке Данные

    щелкните кнопку с тремя точками, в появившемся Построителе выражений

    создайте формулу Зарплата*Рост;

    -   просмотрите форму: Вид – Режим формы, затем закройте макет формы, присвоив ему имя, и откройте форму; просмотрите содержимое записей, внесите изменения и дополнения в данные, затем закройте форму, откройте таблицу и просмотрите внесенные изменения;


    Содержание раздела