Расчет средней выработки рабочих по заданному номеру цеха

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.