Алгоритмизация и программирование процессов обработки данных в среде Visual Basic 6

Автор работы: Пользователь скрыл имя, 18 Марта 2013 в 15:38, курсовая работа

Описание работы

В данной работе изложены 6 заданий.
Название работы: Задание 1.
Тема задания: “Разветвляющиеся вычислительные процессы”.
Цель задания: Освоение методов программирования решения задач, требующих выполнения разных участков алгоритма в зависимости от истинности или ложности некоторого условия. Ознакомление с логическим типом данных, операциями отношений, логическими функциями и формами условного оператора и оператора выбора.

Файлы: 1 файл

курсовой проект.doc

— 655.00 Кб (Скачать файл)

 

            Вид формы до размещения на ней контейнера Frame:

 

           

 

 

Вид формы после размещения на ней контейнера Frame:

 

 

Процедуры формы frmZ4:

 

Процедура решения 1-ой задачи:

 

Private Sub Command1_Click()

  Dim a%(), ind%(), max%, i%, num%, n%, n1%, a1%, n2%, s2&, s5&

    Label1 = "       Дан массив из N целых чисел. Напечатать " & _

    "сумму элементов,  стоящих на нечетных местах и сумму элементов " & _

    "кратных 5."

  Frame1.Visible = True: fg.Visible = False

  List1.Clear

  n = InputBox("Введите размерность массива")

  ReDim a(1 To n)

  Randomize

  For i = 1 To n

    a(i) = Rnd * 100

    List1.AddItem Str(a(i))

  Next i

  s2 = 0: s5 = 0

  For i = 1 To n

    If i Mod 2 = 0 Then s2 = s2 + a(i)

    If a(i) Mod 5 = 0 Then s5 = s5 + a(i)

  Next i

    Text1 = Str(s2)

    Text2 = Str(s5)

End Sub

 

 

Вид формы с  результатом решения 1-ой задачи.

 

Процедура решения 2-ой задачи:

 

Private Sub Command2_Click()

  Dim m%, n%, i%, j%, num%, k%, sr!

  Dim a&()

    Label1 = "       Дан массив A(M,M) натуральныз чисел. Заменить " & _

    "на сумму  тех элементов, которые гаходятся  выще и левее его. " & _

    "Первые строка  и столбец неизменны."

    Frame1.Visible = False: fg.Visible = True

    m = InputBox("Введите размерность матрицы")

    ReDim a&(1 To m, 1 To m)

    fg.Cols = m + 1: fg.Rows = m + 1

   

     ' Задаем параметры строк элемента NSFlexGrid и нумеруем его строки

       

    For i = 0 To m

      fg.RowHeight(i) = fg.Height / (m + 1)

      If i > 0 Then fg.TextMatrix(i, 0) = "Стр. " + Str(i)

    Next i

   

       ' Задаем параметры столбцов элемента NSFlexGrid и нумеруем их

   

    For j = 0 To m

      fg.ColWidth(j) = fg.Width / (m + 2)

       If j > 0 Then fg.TextMatrix(0, j) = "Стол." + Str(j)

    Next j

   

        ' Вводим  элементы матрицы и отображаем  их в NSFlexGrid

       

    Randomize

    For i = 1 To m

      For j = 1 To m

       a(i, j) = Int(Rnd * 10)

        fg.TextMatrix(i, j) = a(i, j)

      Next j, i

   

                    ' Р Е Ш А Е М  З А  Д А Ч У:

    s = 0: k = 0

    For i = 2 To m

      For j = 2 To m

         a(i, j) = a(i, j - 1) + a(i - 1, j)

         fg.TextMatrix(i, j) = a(i, j)

      Next j

    Next i

End Sub

 

   

Вид формы с  результатом решения 2-ой задачи.

 

Процедура завершения работы приложения:

 

Private Sub Command3_Click()

  End

End Sub

                       

Как обычно добавляем  к проекту форму-заставку frmZ4z. После ее разработки запускаем приложение на выполнение. Оформляем отчет о выполнении задания.

 

Описание выполнения Задания 4.

 

Название работы: Задание 4.

Тема задания: “Обработка одномерных и двумерных массивов”.

Цель задания: Освоение типовых алгоритмов обработки массивов и матриц, а также использование этих алгоритмов для решения  практических задач в соответствии с индивидуальным заданием. Ознакомление с элементом управления MSFlexGrid.

В этом задании нужно  решить 2 задачи.

 

     1. Обработка одномерных массивов:

Дан массив из N целых чисел. Напечатать  сумму элементов, стоящих на нечетных местах и сумму элементов кратных 5.

  

     2. Обработка двумерных массивов (матриц):

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

    

         Решение обеих задач производится  на одной форме. Создаем на  дискете папку “Задание_4”, в которой нужно будет сохранить проект с 4-м заданием.

Открываем новый проект и размещаем  на форме метку и 3 командные кнопки. Нам потребуется также элемент MSFlexGrid. Его на панели элементов нет. Чтобы вызвать его на панель элементов управления, нужно выполнить: “Проект\ Компоненты” и в открывшемся окне щелкнуть на значке квадратика, стоящего левее строки “Microsoft FlexGrid Control 6”. Затем щелкнуть в том же окне на “Применить” и “Ok”. После этого пиктограмма элемента появится на панели элементов управления. Размещаем его на форме и изменяем его имя на fg.

         Теперь нам нужно разместить  поверх элемента MSFlexGrid элемент Frame. Он должен быть такого же размера, как и элемент MSFlexGrid, т.е. должен полностью закрывать собой элемент MSFlexGrid. При прорисовке элемента Frame нужно, чтобы точка начала прорисовки находилась вне элемента MSFlexGrid. На элементе Frame размещаем 3 метки и 1 элемент ListBox, 3 текстовых окна.

 

    Таблица свойств  формы и расположенных на ней  элементов управления

 

    Объект

   Свойство

                Значение свойства

Форма

Name

Caption

Font

frmZ4r

Обработка одномерных и двумерных массивов

Times New Roman, жирный, размер 12

Метка

Name

Caption

Alignment

Font                  

Label1

Выводится условие  текущей задачи

0-левая привязка

Times New Roman, жирный, размер 12

Командная кнопка

Name

Caption

Font

Command1

Задача № 1

Times New Roman, обычный, размер 10

Командная кнопка

Name

Caption

Font

Command2

Задача № 2

Times New Roman, обычный, размер 10

Командная кнопка

Name

Caption

Font

Command3

Выход

Times New Roman, обычный, размер 10

MSFlexGrid

Name

fg

Фрейм

Name

Frame1

Метка на контейнере

Name

Caption

Alignment

Font

Label2

Исходный массив

2-центровка

Times New Roman, жирный, размер 10

Метка на контейнере

Name

Caption

Alignment

Font

Label3

Результат

2-центровка

Times New Roman, жирный, размер 10

Список на контейнере

Name

List1

Текстовое окно

Name

Font

Text1

Times New Roman, нормальный, размер 12

Текстовое окно

Name

Font

Text2

Times New Roman, нормальный, размер 12

Текстовое окно

Name

Font

Text3

Times New Roman, нормальный, размер 


 

            Вид формы до размещения на ней контейнера Frame:

 

           

 

 

Вид формы после размещения на ней контейнера Frame:

 

 

Процедуры формы frmZ4:

 

Процедура решения 1-ой задачи:

 

Private Sub Command1_Click()

  Dim a%(), ind%(), max%, i%, num%, n%, n1%, a1%, n2%, s2&, s5&

    Label1 = "       Дан массив из N целых чисел. Напечатать " & _

    "сумму  элементов, стоящих на нечетных  местах и сумму элементов " & _

    "кратных 5."

  Frame1.Visible = True: fg.Visible = False

  List1.Clear

  n = InputBox("Введите размерность массива")

  ReDim a(1 To n)

  Randomize

  For i = 1 To n

    a(i) = Rnd * 100

    List1.AddItem Str(a(i))

  Next i

  s2 = 0: s5 = 0

  For i = 1 To n

    If i Mod 2 = 0 Then s2 = s2 + a(i)

    If a(i) Mod 5 = 0 Then s5 = s5 + a(i)

  Next i

    Text1 = Str(s2)

    Text2 = Str(s5)

End Sub

 

 

Вид формы с  результатом решения 1-ой задачи.

 

Процедура решения 2-ой задачи:

 

Private Sub Command2_Click()

  Dim m%, n%, i%, j%, num%, k%, sr!

  Dim a(1 To 8, 1 To 6)

    Label1 = "      Дан двумерный массив целых чисел. Напечатать. " & _

    "Найти  сумму, количество среднее арифметическое  значение " & _

    "положительных  элементов заданного столбца."

    Frame1.Visible = False: fg.Visible = True

    m = 8: n = 6

    fg.Cols = n + 1: fg.Rows = m + 1

   

     ' Задаем параметры строк элемента NSFlexGrid и нумеруем его строки

       

    For i = 0 To m

      fg.RowHeight(i) = fg.Height / (m + 1)

      If i > 0 Then fg.TextMatrix(i, 0) = "Стр. " + Str(i)

    Next i

   

       ' Задаем параметры столбцов элемента NSFlexGrid и нумеруем их

   

    For j = 0 To n

      fg.ColWidth(j) = fg.Width / (n + 2)

       If j > 0 Then fg.TextMatrix(0, j) = "Стол." + Str(j)

    Next j

   

        ' Вводим элементы матрицы и  отображаем их в NSFlexGrid

       

    Randomize

    For i = 1 To m

      For j = 1 To n

       a(i, j) = Int(Rnd * 100) - 50

        fg.TextMatrix(i, j) = a(i, j)

    Next j, i

    num = InputBox("Введите  номер столбца")

   

                    ' Р Е Ш А Е М З А Д А Ч У:

    s = 0: k = 0

    For i = 1 To m

       If a(i, num) > 0 Then

         s = s + a(i, num)

         k = k + 1

       End If

    Next i

    sr = s / k

    Text3 = "  Ctol = " & num & "    Sum = " & s & "    Kol = " & k & "    Sred = " & sr

End Sub

 

   

Вид формы с  результатом решения 2-ой задачи.

 

Процедура завершения работы приложения:

 

Private Sub Command3_Click()

  End

End Sub

                       

Как обычно добавляем  к проекту форму-заставку frmZ4z. После ее разработки запускаем приложение на выполнение. Оформляем отчет о выполнении задания.

Описание выполнения Задания 6.

 

Название задания: Задание 6.

Тема задания: “Обработка базы данных Access в среде Visual Basic 6”.

Цель задания: Освоение методов обработки БД Access средствами Visual Basic 6. Ознакомление с объектами технологии ADO и их методами. Ознакомиться с процессом создания на форме пользовательского меню. В качестве примера выполнения Задания 6 ниже приводится решение следующей задачи:

Создать  БД с таблицами:

  1. Номер курса, номер группы, номер в группе, ФИО, пол, год рождения.
  2. Номер курса, номер группы, номер в группе, оценки по 6 экзаменам.

С помощью  меню пользователя обеспечить возможность  обработки БД:

      - корректировки записей в таблицах;

      - добавления новых записей в  таблицы;

      - удаления заданных записей из  таблиц.

Обработав БД, получить таблицу:

  1. Справка о студентах, чей средний балл ниже общего среднего значения

Сформировать  запрос к БД:

    4. На основании 1-ой таблицы  .вывести список студентов, чьи

        фамилии начинаются с вводимой  с клавиатуры заглавной

        русской буквы.

 

          Прежде, чем приступать к выполнению данного задания следует внимательно прочесть стр.102 – 111 учебного пособия, находящегося в файле “VB6”. Затем рекомендуется не просто прочесть, а усвоить материал, изложенный на стр. 112-129 этого учебного пособия. На его стр. 197-208 приведены те же процедуры, которые будут приводиться здесь ниже. Каждая из них для лучшего понимания снабжена подробными комментариями непосредственно в текстах кодов процедур.

         В среде БД Access или с помощью надстройки VB “Visual Data Manager” создать двухтабличную БД в соответствии с индивидуальным заданием.

         Приступаем к выполнению Задания № 6. На чистой дискете создаем папку под названием Задание 6 и копируем в эту папку созданный файл БД. Открываем новый проект. Так как текст задания  № 6 достаточно большой, то для вывода на экран условия задачи будет требоваться отдельная форма. Поэтому создаем проект, содержащий 2 формы: форму с текстом условия задания frmQuest и рабочую форму frmActiveX.

         На форму frmQuest помещаем 2 метки и командную кнопку. В таблице описываем их свойства:

 

             Таблица свойств формы frmQuest и расположенных на ней

             элементов управления.

 

 

          Объект

Свойство

Значение свойства

Форма

Name

Caption

Font

frmQuest

Задание № 6. Условие  задачи.

Times New Roman, жирный, размер 12

Метка

Name

Caption

Alignment

Font

Label1

“ Условие задачи: “

2-по центру

Times New Roman, жирный, размер 16

Метка

Name

Caption

Alignment

Font

Label2

Задается в  процедуре загрузки формы

2-по центру

Times New Roman, нормальный, размер 12

Командная кнопка

Name

Caption

Font

Command1

“Далее”

Times New Roman, нормальный, размер 12


 

Текст задания будет  выводится на метку Label2 процедурой загрузки формы. Поэтому дважды щелкаем по форме и в заготовку процедуры Form_Load записываем код аналогично следующему примеру:

 

Private Sub Form_Load()

Label1 = "Средствами Access или VB создать БД с таблицами:" & vbCrLf & _

“      1. Номер курса, номер группы, номер  в группе, пол, год рождения." & vbCrLf & _

"      2. Номер курса, номер группы, номер  в группе, оценки по 6 экзаменам." & vbCrLf & _

"С  помощью меню пользователя обеспечить  возможность:" & vbCrLf & _

"         - корректировки данных в таблицах;" & vbCrLf & _

"         - добавления новых записей в таблицы;" & vbCrLf & _

"         - удаления заданной записи из  таблиц." & vbCrLf & _

"Обработав  БД, получить таблицу:" & vbCrLf & _

"      3. Справка о студентах, чей  средний балл ниже общего среднего " & vbCrLf & _

"Выполнить  запрос к БД:" & vbCrLf & _

"     4. На основании 1-ой таблицы  выдать сведения о студентах,  чьи фамилии" & _

          vbCrLf & _

"         начинаются с вводимой с клавиатуры  заглавной русской буквы."

End Sub

                 

Для командной кнопки записываем процедуру перехода к форме frmActiveX:

 

      Private Sub Command1_Click()

            frmQuest.Hide

            frmActiveX.Show

     End Sub

 

    Переходим  к проектированию формы frmActiveX.

Процесс создания на форме  пользовательского меню подробно излагается в любом учебнике по VB 6. Нужно ознакомиться с ним и создать на форме меню со следующей структурой:

 

 

           Таблицы             Справки                 Документ           Выход


                                        


            Сессия                 Справка 1


   

    Специальность           Справка 2


                                          Справка 3


 

    Теперь поместим на форму элемент MSFlexGrid. Если по условию задачи целесообразно вывести на экран какое-либо числовое или иное значение, то

располагаем на форме  для его визуализации текстовое  окно и над ним метку с поясняющим текстом. Для варианта образца этого  задания форма приобретает вид:

 

 

     Таблица свойств формы frmActiveX и расположенных на ней элементов управления:

 

   Объект

Свойство

              Значение свойства

Форма

Name

Caption

Font

frmActiveX

Задание № 6.  Обработка БД Access средствами VB

Times New Roman, жирный, размер 12

MSFlexGrid

Name

flg

Метка

Name

Caption

Alignment

Font

ForeColor

Label1

Общее среднее

2-центровка

Times New Roman, жирный, размер 16

vbMagenta

Текстовое окно

Name

Font

ForeColor

Text1

Times New Roman, жирный, размер 14

vbRed

Информация о работе Алгоритмизация и программирование процессов обработки данных в среде Visual Basic 6