Расчет средней выработки рабочих по заданному номеру цеха
Особенности определения средней выработки рабочих по цехам. Программа считывания базы данных в массив, вывода массива на форму, добавления и удаления записей. Составление сведений о численности, средней выработке рабочих с помощью разработанной программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 11.11.2017 |
Размер файла | 984,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Федеральное агентство по образованию
Государственное образовательное учреждение
Высшего профессионального образования
«Государственный Университет Управления»
Институт Информационных Систем Управления
Кафедра компьютерных технологий
КУРСОВОЙ ПРОЕКТ
по дисциплине «Компьютерная подготовка»
Выполнила студентка
Проверил/Канаков А.Г
МОСКВА 2005
Задание курсового проекта
Заданы следующие структуры записей, все данные по полям которых не упорядочены:
№ п/п |
Табельный номер |
Фамилия |
Профессия |
Разряд |
Цех |
Выработка |
1. Определить среднюю выработку рабочих по заданному номеру цеха.
2. По каждой профессии дать все сведения о рабочих
3. По каждому разряду дать сведения о численности и средней выработке рабочих.
Создать таблицу Access из 15 записей (строк), считать данные таблицы в среду Visual Basic, вывести на экран в массив List. Проект должен содержать 4 формы: 1 - общая, 2 - по первому заданию и т.д. Обеспечить возможность добавления и удаления записей, используя динамические массивы.
выработка база численность программа
Содержание
1. Вид таблицы базы данных
2. Функциональная схема курсового проекта
3. Вид формы № 1
4. Программа считывания базы данных в массив, вывода массива на форму, добавления и удаления записей
5. Вид формы № 1 после старта программы
6. Вид формы № 2 решения 1-го пункта задания
7. Программа решения 1-го пункта задания
8. Вид формы № 2 после старта программы
9. Вид формы № 3 решения 2-го пункта задания
10. Программа решения 2-го пункта задания
11. Вид формы № 3 после старта проекта
12. Вид формы № 4 решения 3-го пункта задания
13. Программа решения 3-го пункта задания
14. Вид формы № 4 после старта программы
15. Программа модуля
Заключение
Список используемой литературы
1. Вид таблицы базы данных
2. Функциональная схема курсового проекта
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
3. Вид формы № 1
4. Программа считывания базы данных в массив, вывода массива на форму, добавления и удаления записей
Private Sub Command1_Click() 'программа добавления записей
Data1.Recordset.AddNew 'добавление записи в базу данных через Text1
End Sub
Private Sub Command2_Click()
'программа удаления записей, предварительно введенной в Text1 с помощью
'элемента управления Data1
If MsgBox("Действительно удалить запись для " + Data1.Recordset.Fields("FAM") + "?" , vbYesNo) = vbYes Then
Data1.Recordset.Delete 'удаление записи
N = N - 1 'кол-во записей
Data1.Recordset.MoveNext 'переход на следующую запись
If Data1.Recordset.EOF Then Data1.Recordset.MoveLast 'переход на последнюю запись
End If
End Sub
Private Sub Command3_Click() 'удаление записи по заданному номеру
Dim K As String 'номер удаляемой записи
K = InputBox("Введите номер строки удаляемой записи")
Data1.Recordset.MoveFirst 'переход на первую строку записи в базе данных
Do While Text1 <> "" 'делать пока шифр не равен пустому
If Text1 = K Then Data1.Recordset.Delete: GoTo 10 'если номер записи совпадает с К
Data1.Recordset.MoveNext 'переход на последующие строки базы данных
Loop
10 Data1.Refresh 'Обновление базы данных
End Sub
Private Sub Command4_Click() 'считывание информации из базы данных
N = 0 'кол-во записей в базе данных
Data1.Recordset.MoveFirst 'переход на первую строку записи в базе данных
Do While Text1 <> "" 'определение кол-ва строк в базе данных
N = N + 1
Data1.Recordset.MoveNext 'переход на последующие строки базы данных
Loop
ReDim MS(1 To N) As ZAP 'переобъявление массива записей
Data1.Recordset.MoveFirst 'переход на первую строку записи в базе данных
For I = 1 To N 'формирование массива записей
With MS(I) 'подключение оператора присоединения
.NP = Text1
.TN = Text2
.FAM = Text3
.PROF = Text4
.RAZR = Text5
.CEH = Text6
.VRB = Text7
End With
Data1.Recordset.MoveNext 'переход на последующие строки базы данных
Next I
For I = 1 To 7 'очистка экрана
List1.Clear
Next I
For I = 1 To N 'вывод массива на форму
With MS(I) 'подключение оператора присоединения
List1.List(I - 1) = .NP
List2.List(I - 1) = .TN
List3.List(I - 1) = .FAM
List4.List(I - 1) = .PROF
List5.List(I - 1) = .RAZR
List6.List(I - 1) = .CEH
List7.List(I - 1) = .VRB
End With
Next I
End Sub
Private Sub Command5_Click() 'переход на форму 2
Form1.Hide 'убрать форму с экрана
Form2.Show 'отобразить форму на экране
End Sub
Private Sub Command6_Click() 'переход на форму 3
Form1.Hide 'убрать форму с экрана
Form3.Show 'отобразить форму на экране
End Sub
Private Sub Command7_Click() 'переход на форму 4
Form1.Hide 'убрать форму с экрана
Form4.Show 'отобразить форму на экране
End Sub
Private Sub Command8_Click() 'выход из проекта
End
End Sub
5. Вид формы № 1 после старта программы
6. Вид формы № 2 решения 1-го пункта задания
7. Программа решения 1-го пункта задания
Private Sub Command1_Click()
Dim SR As Integer 'средняя выработка
Dim CH As Integer 'заданный шифр цеха
Dim KOl As Integer 'кол-во рабочих
Dim SUM As Integer 'общяя выработка
1 CH = InputBox("Введите номер цеха")
Text1.Text = CH
KOl = 0
SUM = 0
For I = 1 To N 'цикл доступа к элементам массива
If MS(I).CEH = CH Then
KOl = KOl + 1
SUM = SUM + MS(I).VRB
End If
Next I
If SUM = 0 Then Print ("Ошибка ввода шифра цеха"): GoTo 1
SR = SUM / KOl
Text2.Text = SR
End Sub
Private Sub Command5_Click()
Form2.Hide 'убрать форму с экрана
Form1.Show 'отобразить форму на экране
End Sub
Private Sub Command3_Click()
Form2.Hide 'убрать форму с экрана
Form3.Show 'отобразить форму на экране
End Sub
Private Sub Command4_Click()
Form2.Hide 'убрать форму с экрана
Form4.Show 'отобразить форму на экране
End Sub
Private Sub Command2_Click()
End
End Sub
8. Вид формы № 2 после старта программы
9. Вид формы № 3 решения 2-го пункта задания
10. Программа решения 2-го пункта задания
Private Sub Command1_Click()
Dim R() As String 'массив разных профессий
ReDim R(1 To N) As String
Dim K As Integer ' количесвто разных профессий
Dim F As Byte 'флажок
Dim L As Integer 'вспомогательная переменная
Dim SP As String 'переменная для вывода
K = 0 'кол-во разных профессий
For I = 1 To N 'формирование массива профессий
F = 0
For J = 1 To K 'доступ к массиву профессий
If MS(I).PROF = R(J) Then F = 1: J = K 'профессия есть в массиве профессий
Next J
If F = 0 Then K = K + 1: R(K) = MS(I).PROF 'профессии нет в массиве профессий
Next I
For I = 1 To N - 1 'сортировка по фамилиям
For J = I + 1 To N
If MS(I).FAM > MS(J).FAM Then MAS = MS(I): MS(I) = MS(J): MS(J) = MAS
Next J
Next I
SP = ""
For I = 1 To K 'вывод разных профессий на экран
SP = SP + R(I) + " "
Next I
Text1.Text = SP
With MSFlexGrid1 'подключение оператора присоединения
.Rows = N + 1 'кол-во столбцов с учетом заголовка
.Cols = 6 'кол-во столбцов
.TextMatrix(0, 0) = "Профессия" 'формирование заголовка таблицы
.TextMatrix(0, 1) = "Табельный номер"
.TextMatrix(0, 2) = "Фамилия"
.TextMatrix(0, 3) = "Разряд"
.TextMatrix(0, 4) = "Цех"
.TextMatrix(0, 5) = "Выработка"
.RowHeight(0) = 300 'задание высоты заголовка
.ColWidth(0) = 1500 'задание ширины столбцов
.ColWidth(1) = 800
.ColWidth(2) = 3500
.ColWidth(3) = 800
.ColWidth(4) = 800
.ColWidth(4) = 800
L = 0 'счетчик номеров строк выводимой информации
For J = 1 To K 'доступ к масиву профессий
F = 0 'начальное значение флажка
For I = 1 To N 'доступ к массиву записей базы данных
If R(J) <> MS(I).PROF Then GoTo 10 'к след. записи массива базы данных
If F = 0 Then 'флажковая развилка -первая запиь данного разряда
F = 1 'изменение начального значения
L = L + 1 'номер строки вывода
.TextMatrix(L, 0) = MS(I).PROF
.TextMatrix(L, 1) = MS(I).TN
.TextMatrix(L, 2) = MS(I).FAM
.TextMatrix(L, 3) = MS(I).RAZR
.TextMatrix(L, 4) = MS(I).CEH
.TextMatrix(L, 5) = MS(I).VRB
Else 'не первая запись данного разряда
L = L + 1 'номер строки вывода
.TextMatrix(L, 0) = ""
.TextMatrix(L, 1) = MS(I).TN
.TextMatrix(L, 2) = MS(I).FAM
.TextMatrix(L, 3) = MS(I).RAZR
.TextMatrix(L, 4) = MS(I).CEH
.TextMatrix(L, 5) = MS(I).VRB
End If
10 Next I
Next J
End With
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Command3_Click()
Form3.Hide 'убрать форму с экрана
Form1.Show 'отобразить форму на экране
End Sub
Private Sub Command4_Click()
Form3.Hide 'убрать форму с экрана
Form2.Show 'отобразить форму на экране
End Sub
Private Sub Command5_Click()
Form3.Hide 'убрать форму с экрана
Form4.Show 'отобразить форму на экране
End Sub
11. Вид формы № 3 после старта проекта
12. Вид формы № 4 решения 3-го пункта задания
13. Программа решения 3-го пункта задания
Private Sub Command1_Click()
Dim RZ() As Integer 'массив разрядов
ReDim RZ(1 To N) As Integer 'переобявление массива разрядов
Dim SP As String 'переменная для вывода разрядов
Dim K As Integer 'кол-во разрядов
Dim L As Integer 'вспомогательная переменная
Dim K1 As Integer 'кол-во рабочих одного разряда
Dim VR As Integer 'общая выработка рабочих одного разряда
Dim SRVRB As Single 'средняя выработка
K = 0 'кол-во разных разрядов
For I = 1 To N 'формирование массива разрядов
For J = 1 To K 'доступ к массиву разрядов
If MS(I).RAZR = RZ(J) Then GoTo 10 'разряд есть в массиве разрядов
Next J
K = K + 1: RZ(K) = MS(I).RAZR 'разрядов нет в массиве разрядов
10 Next I
SP = ""
For I = 1 To K
SP = SP + Str(RZ(I)) + " "
Next I
Text1.Text = SP 'вывод разрядов на экран
With MSFlexGrid1 'подключение оператора присоединения
.Rows = N + 1 'кол-во столбцов с учетом заголовка
.Cols = 3 'кол-во столбцов
.TextMatrix(0, 0) = "Разряд" 'формирование заголовка таблицы
.TextMatrix(0, 1) = "Число рабочих"
.TextMatrix(0, 2) = "Средняя выработка"
.RowHeight(0) = 300 'задание высоты заголовка
.ColWidth(0) = 2000 'задание ширины столбцов
.ColWidth(1) = 1500
.ColWidth(2) = 1500
L = 0 'счетчик номеров строк выводимой информации
For J = 1 To K 'доступ к массиву разрядов
K1 = 0 'кол-во рабочих одного разряда
VR = 0 'общяя выработка рабочих одного разряда
For I = 1 To N 'доступ к массиву базы данных
If MS(I).RAZR = RZ(J) Then K1 = K1 + 1: VR = VR + MS(I).VRB
Next I
SRVRB = VR / K1 'средний стаж по профессии
L = L + 1 'номер строки вывода
.TextMatrix(L, 0) = RZ(J)
.TextMatrix(L, 1) = K1
.TextMatrix(L, 2) = SRVRB
Next J
End With
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Command3_Click()
Form4.Hide 'убрать форму с экрана
Form1.Show 'отобразить форму на экране
End Sub
Private Sub Command4_Click()
Form4.Hide 'убрать форму с экрана
Form2.Show 'отобразить форму на экране
End Sub
Private Sub Command5_Click()
Form4.Hide 'убрать форму с экрана
Form3.Show 'отобразить форму на экране
End Sub
14. Вид формы № 4 после старта программы
15. Программа модуля
Option Explicit
Public Type ZAP
NP As Integer
TN As Integer
FAM As String * 15
PROF As String * 15
RAZR As Integer
CEH As Integer
VRB As Integer
End Type
Global MAS As ZAP
Global MS() As ZAP
Global N As Integer
Global I As Integer, J As Integer
Заключение
В своём заключении я бы хотела написать о минусах и плюсах, пройденного курса. Для начала, хотела бы отметить отрицательные моменты.
Во-первых, не понравился порядок, в котором нам давались лекции. Мне кажется, что вопрос № 14 «Основные операторы Visual Basic» следовало дать раньше, тогда бы это избавило нас от многих проблем в начале нашего курса. Потом, мне кажется, что часть одной из первых лекций можно было посвятить «Введению в Visual Basic», в котором рассказать самые элементарные вещи, такие как стандартные обозначения переменных, структура цикла и т.д. Потому как, вспоминая первые лекции, могу отметить, что я просто списывала с доски непонятные мне обозначения, совершенно не понимая, что это и зачем это нужно.
Во-вторых, просмотрев варианты своих одногруппников, я заметила неравносильность некоторых заданий. Я за 30 минут смогла решить лабораторную работу № 6 своей подруги и до сих пор не могу справиться со своей собственной.
В-третьих, мне кажется, было бы правильным наглядно продемонстрировать выполнение хотя бы одной лабораторной работы с пояснениями на одном из первых семинарских занятий. Это бы очень облегчило труд студентов.
К положительным моментам курса я отношу:
1. Количество лабораторных работ, домашних заданий и т.д. Потому как по-настоящему разбираться в Visual Basic'е можно будет лишь благодаря практике. И чем её больше, тем лучше.
2. Система получения автоматов. По-моему, система - очень правильная, потому как автоматы получают именно те люди, которые их заслужили, а не те, кто больше запомнился преподавателю.
3. Напечатанный материал, который нам давался на лекциях. Действительно, ведь его запросто можно освоить дома самостоятельно, а тратить на него (итак не сильно большое количество) лекций было бы как минимум нерационально.
В целом, от пройденного курса я осталась довольна. И если в будущем мне предстоит столкнуться с языком программирования Visual Basic, я думаю, я достойно справлюсь с поставленными передо мной задачами.
Список используемой литературы
1. Канаков А.Г. Методические указания к практическим занятиям по разделу «Разработка приложений в различных программных средах» на языке Visual Basic дисциплины «Компьютерная подготовка» / ГУУ.-М., 2003
2. Канаков А.Г. Методические указания к выполнению лабораторных и домашних работ по дисциплине «Компьютерная подготовка» на языке Visual Basic / ГУУ.-М., 2004.
3. Ананьев А.И., Федоров А.Ф. Самоучитель Visual Basic 6.0. / БХВ-Петербург.-СПб., 2003
Размещено на Allbest.ru
...Подобные документы
Визуальные компоненты среды разработки С++ Builder: форма, кнопка, надпись, изображение, многостраничная панель, таблица строк. Интерфейс программы автоматизации расчета численности рабочих. Окно для ввода исходных данных. Руководство пользователя.
курсовая работа [480,7 K], добавлен 10.02.2012Программы линейной структуры. Составление программы, которая по заданному номеру и значению соответствующего элемента вычисляет значение всех остальных элементов треугольника. Формулирование одномерного массива с помощью генератора случайных чисел.
отчет по практике [1,2 M], добавлен 01.12.2012Составление программы для нахождения минимального и максимального элементов массива. Программа вычисления корней квадратных алгебраических уравнений. Ранжирование одномерного массива по заданному признаку. Формирование массивов с помощью функции random.
контрольная работа [1,0 M], добавлен 30.04.2013Функции формирования массива времени. Формирование массива входного напряжения, массива выходного напряжения. Функция вывода таблицы, расчета заданной точности, вывода титульного листа. Запись в файл массива времени. Блок–схема и текст программы.
курсовая работа [155,6 K], добавлен 22.04.2012Создание базы данных и описание программы "Учебная база данных", предназначенной для группировки сведений об учениках. Характеристика функциональных возможностей программы: добавление записей в базу, редактирование, удаление записей и сортировка данных.
курсовая работа [1,2 M], добавлен 25.04.2011Структура записей входного массива. Описание основных типов данных. Алгоритм программы: присвоение начальных значений переменных, чтение списка из файла, вывод данных на экран, выполнение обработки данных, сохранение списка в файл. Листинг программы.
курсовая работа [325,2 K], добавлен 28.12.2012Разработка, составление и отладка программного модуля "База знаний" средствами программы Quick Sales. Описание схемы базы: возможности редактирования, удаления и добавления данных. Текст программы и контрольный пример поиска через панель управления.
курсовая работа [519,0 K], добавлен 26.01.2013Организация работы базы данных с помощью сбалансированных В-деревьев: принципы, методы добавления, поиска, удаления элементов из структуры. Процедуры, производящие балансировку и слияние записей в блоке. Реализация программы в Научной библиотеке ОрелГТУ.
курсовая работа [95,3 K], добавлен 12.08.2011Описание особенностей работы с массивами на С/С++. Образование адресного выражения с использованием имени массива или указателя на массив. Написание программы, которая объединяет два упорядоченных по возрастанию массива в один упорядоченный массив.
лабораторная работа [114,2 K], добавлен 25.03.2019Проектирование базы данных "Учебные заведения Петербурга". Создание и обработка базы данных в среде Excel. Вывод сведений обо всех учебных заведениях, сгруппированных по статусу учебного заведения, с подсчётом средней заработной платы преподавателей.
курсовая работа [1,7 M], добавлен 27.02.2015Разработка программы для работы с множеством данных, перечень и работа ее модулей. Проверка работы программы. Реализация поиска элемента в файле по его номеру и добавление элементов в конец уже созданного НД. Возможности и особенности применения программы
курсовая работа [3,5 M], добавлен 22.06.2012Создание программы визуализации методов сортировки массива, особенности и направления ее практического применения. Выбор и обоснование среды программирования. Разработка руководства пользователя. Листинг программы и оценка эффективности ее использования.
дипломная работа [1,0 M], добавлен 15.06.2014Разработка программы, создающей и управляющей базой данных, ее реализация на языке Turbo Pascal. Организация алгоритма программы. Вывод информации и возможность добавления информации в базу данных. Поиск информации в базе данных по заданному значению.
курсовая работа [26,7 K], добавлен 19.06.2010Основы проверки и расчета входных данных и вывода выходных данных программы, их блок-схемы. Реализация функции считывания числовых данных из файла, управление (создание, уничтожение и редактирование) визуальными компонентами во время выполнения программы.
контрольная работа [1,3 M], добавлен 12.06.2009Программный комплекс по обработке заданного множества данных в динамической памяти компьютера. Запросы к массиву записей множества данных – групп в детском саду. Функция сортировки массива по числовому полю. Использование главной программы MAINPRO.
курсовая работа [419,3 K], добавлен 23.07.2014Составление математической модели для определения местоположения точки относительно многоугольника. Оформление процедуры расчета расстояния, выбора точек из массива, сортировки массива и вывода результатов в программе в форме функций пользователя.
курсовая работа [16,6 K], добавлен 06.08.2013Блок-схема программы, подсчитывающей количество слов последовательности, начинающихся с большой буквы и оканчивающихся цифрой. Символьный квадратный массив и его заполнение. Создание программы, которая формирует файл записей заданной структуры.
курсовая работа [529,7 K], добавлен 19.12.2010Запись в массив листа Excel c именем "Эксперимент". Среднее арифметическое значение элементов массива. Вывод диалогового окна. Фрагмент программы, организующий считывание исходного массива в программу для обработки. Адрес ячейки электронной таблицы.
контрольная работа [1,1 M], добавлен 16.08.2011Общая характеристика организации массива в виде двоичного дерева. Особенности линейного и двоичного поиска заданного элемента массива. Методика упорядочения массива методом сортировки деревом. Инструкции и текст программы для нечисленной обработки данных.
курсовая работа [242,3 K], добавлен 12.11.2010Основы работы с прикладным программным обеспечением, содержащим составляющие для работы с данными. Составление исходного кода скриптов для сортировки, добавления, редактирования и удаления информации в базу данных. Особенности работы операции поиска.
курсовая работа [610,7 K], добавлен 20.01.2012