Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Описание выполнения всех заданий по VB.doc
Скачиваний:
1
Добавлен:
21.07.2019
Размер:
1.89 Mб
Скачать

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

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

Тема задания: “Обработка чисел и числовых последовательностей”.

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

В этом задании нужно решить 3 задачи. В качестве примера ниже рассмотрены следующие задачи:

1. Обработка числа (целого или вещественного)

Дано 7-значное натуральное число. Получить новое число

вычеркиванием четных цифр в исходном числе.

2. Обработка числовой последовательности с известным количеством

элементов.

Среди всех 4-значных натуральных чисел найти общее количество

простых и значение наибольшего из них.

3. Обработка числовой последовательности с неизвестным

количеством элементов.

Вводится последовательность натуральных чисел с заранее

неизвестным количеством элементов. Найти сумму самой длинной

ее цепочки подряд идущих нечетных чисел.

Решение всех трех задач производится на одной форме frmZ3r. Открываем новый проект и размещаем на форме 7 меток, 2 текстовых окна, командную кнопку, 5 элементов Image, элемент ListBox и элемент Frame (контейнер). После размещения элемента Frame размещаем на нем 3 элемента OptionButton. При этом нужно следить за тем, чтобы в момент начала размещения каждого из элементов OptionButton на контейнере Frame курсор мышки находился на контейнере Frame. Иначе нарисованный элемент OptionButton хотя и будет выглядеть принадлежащим элементу Frame, но фактически принадлежать ему не будет.

В папку проекта копируем 2 разных файла с расширением ico, которые содержат небольшие графические изображения. Свойству Picture элемента Image1 присваиваем значение какого-либо из этих рисунков. Второй рисунок присваиваем значениям свойства Picture всех остальных элементов Image. Процесс нанесения изображения на элемент Image прост: в окне свойств нужно щелкнуть на свойстве Picture, а затем на появившемся в его строке значке троеточия. В результате откроется окно, в котором будет список скопированных в папку проекта графических файлов. Выделяем один из них и щелкаем в этом окне по кнопке “Открыть”. После нанесения изображений на все элементы Image графические файлы можно удалить из папки проекта, так как теперь они будут храниться в автоматически созданном файле с расширением frx. Понятно, что удалять графические файлы из папки проекта можно только после сохранения проекта. В итоге форма должна принять изображенный на рисунке вид.

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

Объект

Свойство

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

Форма

Name

Caption

frmZ3r

Задание № 1. Обработка чисел и числовых последовательностей

Метка

Name

Caption

Alignment

Font

Label1

Устанавливается в процедурах для каждой из решаемых задач

2-центровка

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

Метка

Name

Caption

Alignment

Font

Label2

Решение задачи № 1

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

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

Метка

Name

Caption

Alignment

Font

Label3

Решение задачи № 2

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

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

Метка

Name

Caption

Alignment

Font

Label4

Решение задачи № 3

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

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

Метка

Name

Caption

Alignment

Font

Label5

Устанавливается в процедурах для каждой из решаемых задач

1-правая привязка

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

Метка

Name

Caption

Alignment

Font

Label6

Устанавливается в процедурах для каждой из решаемых задач

1-правая привязка

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

Метка

Name

Caption

Alignment

Font

Label7

Устанавливается в процедурах для каждой из решаемых задач

2-центровка

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

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

Name

Text

Alignment

Font

Text1

Используется для вывода результата

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

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

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

Name

Text

Alignment

Font

Text2

Используется для вывода результата

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

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

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

Name

Caption

Font

Style

BackColor

Command1

Выход

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

Graphical

vbYellow

Контейнер

Name

Caption

Font

Frame1

№ задачи

Селекторная

кнопка

Name

Caption

Alignment

Font

Option1

Задача № 1

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

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

Селекторная

кнопка

Name

Caption

Alignment

Font

Option2

Задача № 2

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

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

Селекторная

кнопка

Name

Caption

Alignment

Font

Option3

Задача № 3

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

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

Рисунок

Name

Picture

Stretch

Image1

Выбрать самостоятельно

Stretch

Рисунок

Name

Picture

Stretch

Image2

Выбрать самостоятельно отличающимся от Image1

Stretch

Рисунок

Name

Picture

Stretch

Image3

Такой, как у Image2

Stretch

Рисунок

Name

Picture

Stretch

Image4

Такой, как у Image2

Stretch

Рисунок

Name

Picture

Stretch

Image5

Такой, как у Image2

Stretch

Список

Name

Font

List1

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

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

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

Private Sub Option1_Click()

Image3.Picture = Image1.Picture

Image4.Picture = Image2.Picture

Image5.Picture = Image2.Picture

Dim n&, m&, rez&, k As Byte, s As Byte

Text1 = "": Text2 = ""

Label1 = "Дано 7-значное натуральное число. Получить новое число" & _

" вычеркиванием четных цифр в исходном числе."

Label5 = "Исходное число:": Label6 = "Результат:"

Label7.Visible = False

List1.Visible = False

If Option1.Value Then

Randomize

n = Rnd * 10 ^ 7

m = n: s = 0: rez = 0

Text1 = Str(n)

Do While m >= 1

k = m Mod 10

If k Mod 2 <> 0 Then

s = s + 1

rez = rez + k * 10 ^ (s - 1)

End If

m = m \ 10

Loop

Text2 = Str(rez)

End If

End Sub

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

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

Private Sub Option2_Click()

Image4.Picture = Image1.Picture

Image3.Picture = Image2.Picture

Image5.Picture = Image2.Picture

Dim i%, j%, n%, k%, f As Boolean

If Option2.Value Then

Text1 = "": Text2 = ""

Label1 = "Среди всех 4-значных натуральных чисел найти общее " & _

"количество простых и значение наибольшего из них."

Label5 = "Макс. простой:": Label6 = "Кол-во простых:"

Label7 = "Простые числа:"

Label7.Visible = True

List1.Visible = True: List1.Clear

k = 0

For i = 1000 To 9999

f = True

For j = 2 To i \ 2

If i Mod j = 0 Then f = False: Exit For

Next j

If f Then n = i: k = k + 1: List1.AddItem Str(n)

Next i

Text1 = Str(n): Text2 = Str(k)

End If

End Sub

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

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

Private Sub Option3_Click()

Image5.Picture = Image1.Picture

Image3.Picture = Image2.Picture

Image4.Picture = Image2.Picture

Dim n%, k%, kd%, sum&, sd&

If Option3.Value Then

Text1 = "": Text2 = ""

Label5 = "Кол-во чисел:": Label6 = "Сумма чисел:"

Label7 = "Введенные числа:"

Label7.Visible = True

List1.Visible = True: List1.Clear

Label1 = "Вводится последовательность натуральных чисел с " & _

"неопределенным количеством элементов. Найти сумму самой " & _

"длинной ее цепочки подряд идущих нечетных чисел."

k = o: kd = 0

sum = 0: sd = 0

Randomize

Do

n = Int(Rnd * 1000)

List1.AddItem Str(n)

If n Mod 2 <> 0 Then

k = k + 1

sum = sum + n

Else

If sum > sd Then sd = sum: kd = k

k = 0

sum = 0

End If

Loop Until MsgBox("Закончить ввод? ", 36) = vbYes

Text1 = Str(kd): Text2 = Str(sd)

End If

End Sub

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

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

Private Sub Command1_Click()

End

End Sub

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

Вопросы для защиты Задания 3.

1. Назначения и основные свойства элементов управления OpnionButton,

ListBox, Frame, Image.

2. Способы заполнения списка и добавления новых элементов в список

ListBox.

3. Особенности размещения элементов на контейнере Frame.

4. Оператор цикла с параметром (регулярный цикл), его назначение, принцип

работы (этапы выполнения его компонентов), ограничения на параметр и

его значения, вложенные циклы с параметром, досрочный выход из цикла.

5. Операторы итерационных циклов, их назначение, принципы работы,

отличия между разными типами итерационных циклов, вложенные

итерационные циклы, досрочный выход из итерационных циклов.

Желаю успешной защиты Задания 3!