Разработка программы определения запасов сырья
Графическая схема алгоритма выполнения программы определения запасов сырья. Решение задачи с помощью программы MS Excel. Разработка макроса для построения диаграммы. Использование интерфейса программы для работы с таблицей. Разработка базы данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 24.04.2014 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
Задание 17
1. Исходные данные и принятые обозначения
2. Математическая постановка задачи
3. Графическая схема алгоритма
4. Решение задачи с помощью программы MS Excel
5. Разработка макроса для построения диаграммы
6. Разработка интерфейса
7. Использование интерфейса для работы с таблицей
8. Разработка базы данных
Список использованных источников
Задание 17
Разработать программу определения запасов сырья. На нескольких предприятиях используется сырье одного вида. Для каждого предприятия заданы верхние и нижние границы норм хранения этого сырья.
1) Определить номера предприятий, имеющих запасы сырья выше нормы, ниже нормы и общие запасы сырья на этих предприятиях.
2) Определить количество предприятий, имеющих излишки сырья, недостаток сырья, суммарный излишек и недостаток сырья на этих предприятиях.
3) Найдите величину излишков сырья по всем предприятиям и определите, хватит ли этих излишков для покрытия недостатков сырья для всех нуждающихся предприятий.
1. Исходные данные и принятые обозначения
Исходные данные задачи могут быть представлены в виде матрицы запасов сырья Q(I,M), где I -- номер предприятия, (1=1,N), M-величина запасов сырья. При этом целевая функция системы MAX<M>MIN.
Исходные данные для расчета и принятые обозначения у переменных приведены в таблице 1 и таблице 2.
Таблица 1 -Запасы сырья, тыс.т.
Номер предприятия |
Запасы сырья |
Нижняя граница |
Верхняя граница |
|
1 |
170 |
90 |
120 |
|
2 |
220 |
170 |
220 |
|
3 |
120 |
140 |
140 |
Таблица 2 - Принятые обозначения и описание данных задачи
Вид данных |
Наименование показателя |
Обозначение |
Единицы измерения |
Вид переменной |
Формат |
|
Входные |
Количество предприятий |
N |
Шт. |
Простая |
Целый |
|
Номер предприятия |
I |
- |
Простая |
Целый |
||
Запасы сырья |
М |
Тыс.т. |
Простая |
Целый |
||
Верхниеграницы норм хранения |
МАХ |
Тыс.т. |
Простая |
Целый |
||
Нижние границы норм хранения |
MIN |
Тыс.т. |
Простая |
Целый |
||
Остатки сырья наi-омпредприятии |
Q(I, M) |
Тыс.т |
Индексированная |
Целый |
||
Выходные |
Номера предприятий, имеющих запасы сырья выше нормы |
MAX(IM) |
- |
Индексированная |
Целый |
|
Номера предприятий, имеющих запасы сырьяниже нормы |
MIN(IM) |
- |
Индексированная |
Целый |
||
Общие запасы сырья |
SUM(N) |
Тыс.т |
Индексированная |
Целый |
||
Количество предприятий, имеющих запасы сырья выше нормы |
MAX(NM) |
Шт. |
Индексированная |
Целый |
||
Количество предприятий, имеющих запасы сырьяниже нормы |
MIN(MN) |
Шт. |
Индексированная |
Целый |
||
Промежуточный |
Суммарный излишек сырья на предприятиях |
MAXSUM(NM) |
Тыс.т |
Индексированная |
Целый |
|
Суммарный недостаток сырья на предприятиях |
MINSUM(NM) |
Тыс.т |
Индексированная |
Целый |
2. Математическая постановка задачи
Общие запасы сырья
Суммарный излишек сырья на предприятиях
Суммарный недостаток сырья на предприятиях
3. Графическая схема алгоритма
4. Решение задачи с помощью программы MS Excel
Загружаем программу MicrosoftExcel [2]. Введем исходную (табл. 3) таблицу (рис 1).
Таблица 3 -Обеспеченность предприятий сырьем
Номер предприятия |
Запасы сырья |
Нижняя граница |
Верхняя граница |
|
1 |
170 |
90 |
120 |
|
2 |
220 |
170 |
220 |
|
3 |
120 |
140 |
140 |
|
Рисунок 1 - Решение задачи в Excel
Определить номера предприятий, имеющих запасы сырья выше или ниже нормы (таблица 4).
Таблица 4 - Запасы сырья на предприятиях
Номер предприятия |
Излишки |
Недостаток |
|
1 |
50 |
||
2 |
|||
3 |
20 |
||
Итого |
50 |
20 |
Для нахождения излишков или недостатка сырья используем функцию ЕСЛИ [3] (логическое выражение; значение, если истина; значение, если ложь) и получаем =ЕСЛИ(B5-D5>0;B5-D5;"").
Проверяет, выполняется ли условие, и возвращает одно значение, если оно выполняется, и другое значение, если нет.
Находим общую сумму излишков или недостатка сырья по всем предприятиям, используя функцию СУММА [4] и получаем ==СУММ(B16:B23).
Определяем общие запасы руды =СУММ(B5:B12).
Определим количество предприятий, имеющих запасы сырья выше или ниже нормы. Для определения количества предприятий используем функциюСЧЕТ, считающуюколичество ячеек указанного интервала, в которых содержаться числа и получаем =СЧЁТ(B16:B23).
Таблица с расчетами представлена на рис. 2.
Рисунок 2 - Расчетная таблица с формулами
Построенная диаграмма представлена на рис. 3.
Рисунок 3. Диаграмма определения запасов сырья
5. Разработка макроса для построения диаграммы
Удалим диаграмму, построенную в п.4. и запишем все действия построения диаграммы в макрос. Для этого выполним следующие действия[5]:
Выполним команду Сервис - Макрос - Начать запись -- введем имя макроса «График».
Выполнимпостроение диаграммы и назначение ей параметров.
Выполним команду Сервис - Макрос - Остановить Запись.
Sub График()
' ГрафикМакрос
ActiveCell.Offset(-3, -6).Range("A1:D4").Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Range("'ЗапасыСырья'!$A$4:$D$7")
ActiveChart.SeriesCollection(2).Select
ActiveChart.SetSourceData
ActiveChart.PlotArea.Select
ActiveChart.ChartArea.Select
EndSub
Данный макрос используется при проектировании интерфейса. Необходимо будет привязать его к кнопке в п. 6.
6. Разработка интерфейса
Интерфейс программы предусматривается для удобства ввода исходных данных и вывода результатов расчета. Реальная расчетная таблица может быть очень большой, данные и результаты могут быть не видны на одном экране, разбросаны по таблице. Для редактирования данных, их ввода, удаления и просмотра результатов расчета будет требоваться перемещение по большой таблице, что не очень удобно. Разработка интерфейса программы включает проектирование форм для ввода исходных данных и вывода результатов. Написания кода для процедур отклика элементов управления: кнопок, кнопок выбора, счетчиков и т.д. Написаниякода модулей, если программа объемная. Проверка работы интерфейса на контрольном примере.
Запуск интерфейса программы, осуществляется кнопкой «ДОБАВЛЕНИЕ И УДАЛЕНИЕ предприятий», расположенной на рабочем листе (рисунок 1). Для установки кнопки подключим панель инструментов «Элементы управления» командой ВИД - Панели инструментов -- Элементы управления [6]. На ней нажмем на кнопку «Конструктор» (она должна быть утоплена) -- тем самым включится режим конструктора. Выбираем на панели инструментов кнопку «Кнопка», переходим в область рабочего листа и, нажав левую клавишу мыши, рисуем кнопку. Нажав кнопку «Свойства» на ПИ, устанавливаем свойство Caption = «ДОБАВЛЕНИЕ И УДАЛЕНИЕ предприятий». Привязываем к кнопке процедуру запуска формы 1. Для этого 2 раза щелкаем по ней левой кнопкой мыши и между строк начала и конца процедуры, которые генерируются автоматически, вставляем команду показать (Show) форму UserForml.
Private Sub CommandButtonl_Click()
UserForml.Show
EndSub
Нажатие на кнопку «ДОБАВЛЕНИЕ И УДАЛЕНИЕ предприятий» открывает форму 1. Проект формы 1 представлен на рисунке 4 с обозначением элементов управления.
программа алгоритм таблица база
Рисунок 4 - Модуль работы с исходными данными
Для создания формы 1 перейдем в редактор VBA командой Сервис - Макрос - Редактор VisualBasic. В редакторе выполним команду Insert -UserForm. В окне свойств UserForml изменим свойство Caption = Работа с исходными данными -- этот текст появится в строке надписи формы 1.
На вид формы 1 оказывает влияние структура таблицы в Excel. На ней размещены поля (TextBox) для ввода номеров предприятий, запасов сырья на каждом из них, а также верхних и нижних норм хранения. Т.е. предполагается ввод в таблицу по строкам (как в базах данных) -- это интервалы ячеек:A5:D5, A6:D6 и т.д. Кроме того на форме1 размещены надписи (lebel).
На форме расположены элементы управления. Названия кнопок формы введены аналогично, т.е.путем изменения её свойства Caption. Элементы управления выполняют следующие функции:
- Кнопка «Добавить запись» - из полей формы 1 записывает новую строку в ячейки таблицы Excel, например, А8:D8, для этого пользователь должен ввести в поля формы значения для новой строки таблицы.
Кнопка «Удалить запись» - удаляет выбранную запись, переписыванием нижележащей записи на выбранную.
- Кнопка «Посмотреть ИТОГИ» - загружает форму2.
- Кнопка «Закрыть Форму» - закрывает форму1.
Программирование отклика кнопки «Добавить запись»
Private Sub CommandButton1_Click()
i = TextBox1.Value + 4
Cells(i, 1).Value = TextBox1.Value
Cells(i, 2).Value = TextBox4.Value
Cells(i, 3).Value = TextBox2.Value
Cells(i, 4).Value = TextBox3.Value
EndSub
Программирование отклика кнопки «Удалить запись»
Private Sub CommandButton2_Click()
j = TextBox1.Value + 4
While Worksheets(1).Cells(j, 1).Value <> ""
Cells(j, 1).Value = Cells(j + 1, 1).Value
Cells(j, 2).Value = Cells(j + 1, 2).Value
Cells(j, 3).Value = Cells(j + 1, 3).Value
Cells(j, 4).Value = Cells(j + 1, 4).Value
j = j + 1
Wend
EndSub
Программирование отклика кнопки «Просмотреть итоги»
Private Sub CommandButton3_Click()
UserForm1.Hide
UserForm2.Show
EndSub
Программирование отклика кнопки «Закрыть форму»
Private Sub CommandButton4_Click()
UserForm1.Hide
EndSub
Проект формы 2 представлен на рисунке 5 с обозначением элементов управления.
Рисунок 5. Форма с итоговыми данными
При открытие формы происходит ее инициализация итоговыми данными из листа Excel.
Private Sub UserForm_Initialize()
TextBox1.Value = Cells(13, 2).Value
TextBox2.Value = Cells(24, 2).Value
TextBox3.Value = Cells(24, 3).Value
TextBox4.Value = TextBox2.Value - TextBox3.Value
EndSub
При формировании графика происходит запуск макроса, созданного в п.5. Сформированная диаграмма представлена на рис. 3.
7. Использование интерфейса для работы с таблицей
Добавление записей в таблицу. Нажмем на кнопку «ДОБАВЛЕНИЕ И УДАЛЕНИЕ предприятий», расположенную на рабочем листе. Откроется форма1 (рис.6), счетчиком установите значения полей на номере последнейзаписи (в нашем примере запись 3), заполним поля формы 1 значениями, нажмите на кнопку «Добавить запись», данные перепишутся в таблицу. По введённым данным рассчитаются общие запасы, излишки или недостаток сырья и количество предприятий.
Рисунок 6 - Добавление новой записи
Удалим запись 3 из таблицы, нажав кнопку «Удалить запись» (рис. 7).
Рисунок 7 - Удаление записи
Просмотрим итоговые данные (рис. 8).
Рисунок 8 - Форма «Итоги»
8. Разработка базы данных
В программе Access создаем базу данных, в которой будут храниться данные аналогичные тем, что приведены таблице Excel.
Загружаем программу Access и выбираем команду «Создание новой базы данных», задаем имя базы данных Запасы сырья.mdb. Выбираем объект «Таблицы», команду «Создать таблицу» в режиме «Конструктор»[7]. Вводим имена полей, задаем тип полей и заносим характеристики полей создаваемой таблицы (см. таблицу 3). После конструирования таблицы сохраняем её с заданием имени таблицы «Запасы». Открываем созданную таблицу (см. рисунок 9) и заносим в неё значения аналогичные таблице Excel (см. рисунок 1 или таблицу 1).
Рисунок 9 - Таблица «Запасы»
В окне базы данных выбираем объект «Формы» и команду «Создать» - «Автоформа:в столбец». Форму сохраняем под именем «Запасы» (см. рисунок 10).
Рисунок 10 - Форма «Запасы»
Разработаем запрос с вычисляемым полем по остаткам сырья от нижней границы хранения. Переходим на вкладку «Запросы». Выбираем «Создание запроса в режиме конструктора», выбираем таблицу «Запасы», отбираем все поля из этой таблицы в запрос. При закрытии запроса сохраняем его, открываем, проверяем правильность выполнения. Создаем вычисляемое поле в запросе, для чего открываем запрос в Конструкторе, выбираем свободное поле, в конце занятых полей, открываем «Построитель выражений» и формируем в нем выражение для вычисляемого поля «Остаток» (рис. 11).
Рисунок 11 - Построитель выражений Access
Сохраняем и выполняем запрос, результат выполнения запроса представлен на рисунке 12.
Рисунок 12 - Конструктор запросов
Для просмотра кода SQL созданного запроса, откроем его в Конструкторе запросов и выполним команду ЗАПРОС -- Запрос SQL [8]. Ниже приведен код запроса «Остаток запасов».
SELECT Запасы.[Номер предприятия], Запасы.[Запасы сырья], Запасы.[Верхняя граница], Запасы.[Нижняя граница], [Запасы]![Запасы сырья]-[Запасы]![Нижняя граница] AS Остаток
FROM Запасы;
После слова SELECT указаны поля, отобранные в запрос и в том числе вычисляемое поле. После слова FROM указано имя таблицы из которой отобраны поля.
Отчет разрабатывается с использованием «Мастера отчетов», основой для отчета могут служить таблицы и запросы. В нашем случае основой отчета будет запрос, отбираем в него нужные поля из запроса, если данные можно сгруппировать, то нужно выполнить группировку и получить итоги по группе. В нашем примере проводим группировку по полю «Запасы Сырья» (рис. 13).
Разработанный отчет представлен на рисунке 14.
Рисунок 13 - Конструктор запросов
Рисунок 14 - Результат выполнения запроса
Список использованных источников
1. Межгосударственный стандарт ГОСТ 7.1-2003 «Система стандартов по информации, библиотечному и издательскому делу. Библиографическая запись. Библиографическое описание. Общие требования и правила составления»
2. ГарнаевА.,РудиковаЛ. Microsoft Office Excel 2010. Разработка приложений (+ CD-ROM) - СПб.:БХВ-Петербург, 2011. - 514 с.
3. Кузьменко В. VBA. Эффективное использование - М.:Бином-Пресс, 2012. - 624 с.
4. Белоусова С., Бессонова И. Основные принципы и концепции программирования на языке VBA в Excel - М.:Интернет-университет информационных технологий, Бином. Лаборатория знаний, 2010. - 200 с.
5. Уокенбах Д. Формулы в MicrosoftExcel 2010 (+ CD-ROM) - М.: Диалектика, 2011. - 704 с.
6. Гарбер Г. Основы программирования на VBA Excel и численных методов (+ CD-ROM) - М.: Принтком, 2009. - 432 с.
7. СурядныйА.С. Microsoft Access 2010. Лучший самоучитель - М.:Астрель, ВКТ , 2002. - 448 с.
8. Смирнова О.В. Access 2007 на практике - М.: Народный самоучитель, 2009. - 160 с.
Размещено на Allbest.ru
Подобные документы
Этапы процедуры принятия решений. Разработка математического алгоритма. Блок-схема алгоритма работы программы. Разработка программы на языке программирования С++ в среде разработки MFC. Текст программы определения технического состояния станка с ЧПУ.
курсовая работа [823,0 K], добавлен 18.12.2011Решение задачи с помощью программы MS. Использование интерфейса для работы с электронной таблицей. Разработка и создание базы данных для хранения и обработки информации. Оформление пояснительной записки с помощью текстового редактора Microsoft Word.
курсовая работа [2,7 M], добавлен 13.01.2015Разработка блок-схемы и программы обработки одномерного массива с доступом к элементам с помощью индексов и с помощью указателей. Словесное описание алгоритма и пользовательского интерфейса, листинг программы обработки матрицы и результат её выполнения.
курсовая работа [391,1 K], добавлен 30.09.2013Разработка алгоритма решения задачи численного интегрирования методом трапеции. Словесное описание и блок-схема разработанного алгоритма программы. Описание интерфейса, главного окна и основных форм программы. Проверка работоспособности программы.
курсовая работа [1,4 M], добавлен 16.03.2012Разработка программы с использованием языка программирования Pascal для выполнения алгебраических действий с действительными числами без знака в шестнадцатеричной системе счисления. Описание хода выполнения, схема алгоритма, листинг программы, ее функции.
реферат [687,5 K], добавлен 28.10.2011Формальная постановка задачи и спецификация программы. Сценарий диалога с пользователем. Разработка структур данных и алгоритмов. Таблица параметров и текст программы на языке C++. Тестирование программы с целью определения корректности ее работы.
контрольная работа [27,5 K], добавлен 07.07.2012Определение номера бурового станка с максимальной суммарной производительностью за весь период. Решение задачи с помощью электронных таблиц. Расчетная таблица с формулами. Разработка макроса для построения графика. Разработка интерфейса программы.
курсовая работа [1,9 M], добавлен 10.04.2014Структура и основные операции коммерческого банка. Использование языка программирования Visual Basic for Application, математическая формулировка задачи. Разработка модуля программы расчёта кредитов и депозитов. Схема алгоритма выполнения программы.
курсовая работа [2,9 M], добавлен 09.04.2012Словесное описание алгоритма программы. Открытие файла процедурой Rewrite, его проверка на наличие ошибок при открытии. Особенности построения диаграммы. Листинг программы, ее тестирование и отладка. Выполнение процедуры CloseFile при закрытии файла.
контрольная работа [17,3 K], добавлен 11.06.2010Разработка программы для рисования различных правильных многоугольников с помощью объектно-ориентированного языка программирования. Использование для разработки среды C++ Builder 6 и библиотеки VCL. Разработка интерфейса приложения и алгоритма его работы.
курсовая работа [616,4 K], добавлен 18.10.2010