- •Содержание
- •Лабораторна робота № 1. Оболонка системи програмування visual basic. Заняття 1
- •1. Запустите Visual Basic и произведите необходимую настройку.
- •2. Задайте различные свойства формы:
- •3. Запустите программу на выполнение.
- •17. Запустите программу на выполнение и проверьте ее работу.
- •20. Сохраните проект на рабочем диске.
- •Лабораторна робота № 1.Этапи розробки windows-додатків в середовищі програмування visual basic (на прикладі створення простого додатку). Заняття 2.
- •1. Постановка задачи
- •3. Напишите программные коды
- •4. Отладьте6 программу
- •Завдання до самостійної роботи № 1 (в,лс,вс).
- •I. Содержательная постановка задачи.
- •II. Математическая постановка задачи.
- •III. Разработка пользовательского интерфейса.
- •Лабораторна робота № 2. Дані в visual basic. Типи даних.
- •Завдання на самостійну (в) й практичну роботу (вс, лс)
- •Лабораторна робота № 3. Область видимості змінної.
- •ИмяФормы. ИмяПеременной
- •Лабораторна робота № 4. Арифметичні вырази й вбудовані функції visual basic
- •Лабораторная работа № 5. Введення-виведення даних. Функція inputbox и msgbox. Вікно й функція inputbox.
- •Лабораторна робота №6. Проектування додатків vb6, що містять лінійні алгоритмічні структури
- •Завдання на самостійну роботу(в,вс,лс)
- •Лабораторна робота № 7. Проектування додатків vb6, що містять галужені алгоритмічні структури. Заняття 1
- •Завдання на самостійну (в) й практичну роботу (вс, лс)
- •Лабораторна робота 7. Проектування додатків vb6, що містять галужені алгоритмічні структури. Заняття 2
- •Завдання на самостійну роботу(в,вс,лс)
- •Лабораторна робота №8. Проектування додатків vb6, що містять циклічні алгоритмічні структури. Заняття 1. Цикли з лічильником
- •Завдання на самостійну роботу(в,вс,лс)
- •Лабораторна робота №8. Проектування додатків vb6, що містять циклічні алгоритмічні структури. Заняття 2. Цикли з умовою
- •Завдання на самостійну роботу(в,вс,лс)
- •Завдання на практичну роботу (вс,лс)
- •Лабораторна робота №9. Проектування додатків vb6, що містять вкладені циклічні алгоритмічні структури. Заняття 1.
- •Завдання на самостійну роботу(в,вс,лс)
- •Лабораторна робота №9. Проектування додатків vb6, що містять вкладені циклічні алгоритмічні структури. Заняття 2
- •Завдання на самостійну роботу(в,вс,лс)
- •Лабораторна робота №10. Проектування додатків vb6, у яких дані організовані у вигляді одновимірних масивів. Заняття 1.
- •Завдання на самостійну роботу(в,вс,лс)
- •Лабораторна робота №10. Проектування додатків vb6, у яких дані організовані у вигляді одновимірних масивів. Заняття 2
- •Завдання на самостійну (в) й практичну роботу (вс,лс)
- •Завдання на самостійну роботу(в,вс,лс)
- •Лабораторна робота №10. Проектування додатків vb6, у яких дані організовані у вигляді одновимірних масивів. Заняття 3. Сортування елементів масиву. Обмін значеннями.
- •Ilорядок действий
- •Завдання на самостійну роботу(в,вс,лс)
- •Завдання на практичну роботу(вс,лс)
- •Лабораторна робота №11. Проектування додатків vb6, у яких дані організовані у вигляді двовимірних масивів
- •Завдання на самостійну роботу(в, вс,лс)
- •Завдання на практичну роботу (вс,лс)
- •Завдання на самостійну роботу(вс,лс)
- •Лабораторна робота №12. Проектування додатків vb6, у яких дані організовані у вигляді структур. Користувальницький тип даних.
- •VbExclamation, "Столько друзей не бывает"
- •VbExclamation, "Поиск не дал результатов"
- •VbExclamation, "Поиск не дал результатов"
- •Мid(Друзья(j).BirthDay, 4, 2) завдання на самостійну роботу(в,вс,лс)
- •Лабораторна робота №13. Модульне програмування. Заняття 1.
- •Завдання на самостійну (в) та практичну роботу (вс,лс) завдання с13.4
- •Лабораторна робота №13. Модульне програмування. Заняття 2
- •InputВох("Задайте любой вопрос", "????")
- •Завдання на самостійну (в) й практичну роботу (вс,лс)
- •Лабораторна робота № 14. Налагодження програм
- •Лабораторна робота № 15. Обробка символьної інформації.
- •Завдання на самостійну роботу(в,вс,лс)
- •Контрольний опрос на практичному занятті (Лс,Вс).
- •Лабораторна робота № 16. Проектування додатків vb6, у яких дані організовані у вигляді файлів на магнітних носіях.
- •Завдання на самостійну роботу(в,вс,лс)
- •Контрольний опрос на практичному занятті (Вс, Лс)
- •Лабораторна робота № 17. Графіка
Завдання на самостійну роботу(в,вс,лс)
ЗАВДАННЯ 15.5. Постановка задачи: СОЗДАТЬ ПРОЕКТ, ПОЗВОЛЯЮЩИЙ ВЫПОЛНЯТЬ ШИФРОВКУ И ДЕШИФРОВКУ СООБЩЕНИЙ С ПОМОЩЬЮ КЛЮЧЕВОЙ ФРАЗЫ. ПРИ ЭТОМ ФРАЗА, КОТОРАЯ БУДЕТ ИСПОЛЬЗОВАТЬСЯ В КАЧЕСТВЕ КЛЮЧЕВОЙ, ДОЛЖНА СОДЕРЖАТЬ ВСЕ БУКВЫ РУССКОГО АЛФАВИТА И НАИБОЛЕЕ ЧАСТО ИСПЛЬЗУЕМЫЕ ЗНАКИ ПРЕПИНАНИЯ. Проект должен состоять из трех форм (рис. 15.9).
Рис. 15.9
Первой должна появиться форма frmKluch, которая позволяет ввести ключевую фразу и выбрать режим работы (рис. 15.10). В качестве ключевой фразы выбрана фраза: "... умею ли я находить с помощью электронно-вычислительной машины значения функций, а также главные объемы!?" Она не глубока по содержанию, но удовлетворяет требованиям ключевой фразы. Вы можете придумать свою ключевую фразу или использовать данную.
После ввода ключевой фразы, выбора режима Шифровка и щелчка по кнопке <ОК> загружается форма Шифровка – frmShifr (рис 15.11). В верхнее текстовое поле вводится секретное сообщение и выполняется щелчок по кнопке <Шифровка>. В нижнем текстовом поле появляется результат шифровки. На форме предусмотрена возможность возврата к форме frmKluch (см. рис. 15.10), где можно сменить режим работы и ключевую фразу.
Рис. 15.10
Рис. 15.11
После выбора режима Дешифровка на форме frmKluch и щелчка по кнопке <ОК> через окно InputBox вводятся коды букв и выполняется щелчок по кнопке <ОК> (рис. 15.12).
Рис. 15.12
После завершения ввода и щелчка по кнопке < Cancel > загружается форма frmDeshifr, где в текстовом появляется результат дешифровки.На форме предусмотрена возможность возврата к форме frmKluch, в которой можно сменить режим работы и ключевую фразу.
Порядок действий
1. Расположите на первой форме (рис. 15.9) две метки, текстовое поле, одну командную кнопку и две кнопки-переключателя (OptionButton) .
2. Установите значения свойства Name: формы – frmKluch, кнопки — cmdOK, текстового поля — txtКluch, кнопок-переключателей — optShifr и optDeShifr (соответственно).
3. Установите значения свойства Caption всех объектов в соответствии с рис. 15.10.
4. Установите для текстового поля значение свойства PasswordChar — *.
5. По собственному усмотрению установите значения свойств, определяюшие внешний вид объектов.
6. Сохраните первую форму под именем frmKluch, а проект — под именем Лр15_Зад5_Шuфровка-Дешuфровка.
7. Добавьте в проект вторую форму (см. рис. 15.11). Разместите те на форме две метки, два текстовых поля и две командные кнопки.
8. Установите значения свойства Name: формы — frmShifr, текстовых полей — txtSecret и txtRezult, кнопок — cmdReturn и cmdShifr
9. Установите для обоих текстовых полей значения свойств ScrollBars — l—Horizontal.
10. Установите значения свойства Caption формы, кнопок и меток, в которых информация не изменяется, в cooтветствии с рис. 15.11.
11. По собственному усмотрению установите значения свойств, определяющие внешний вид объектов.
12. Сохраните вторую форму под именем frmShifr.
13. Добавьте в проект третью форму (см. рис. 15.13). Разместите на форме метку, текстовое поле и две командные кнопки.
14. Установите значения свойства Name: формы — frmDeShifr, текстового поля — txtRezult, кнопок — cmdReturn u cmdDeShifr.
15. Установите для текстового поля значение свойства ScrollBars - l-Horizontal.
16. Установите значения свойства Caption формы, кнопок и меток, в которых информация не изменяется, в соответствии с рис. 15.13.
17. По собственному усмотрению установите значения свойств, определяющие внешний вид объектов.
18. Сохраните третью форму под именем frmDeShifr.
19. Проанализируйте представленные ниже программные коды для трех форм, а потом наберите эти коды.
Форма frmKluch
Public Kluch As String
Private Sub cmdOK_Click()
txtKluch.PasswordChar = “ * “.
Kluch= tхtKluch.Техt
IF optShifr.Value = True Then
frmKluch.Нidе
frmShifr.Show
ElseIf optDeShifr.Va1ue = True Then
frmKluch.Нidе
frmDeShifr.Show
End IF
End Sub
Private Sub Fоrm_Асtivаtе()
txtKluch.Text = "... умею ли я находить с помощью электронно-
‘вычислительной машины значения функций, а также главные объемы!?"
End Sub
Форма frmShifr
Private Sub Form_Activate()
tхtRеzult.техt = ""
txtSecret.Text = “”
txtSecret. SetFocus
End Sub
Private Sub cmdReturn_ Click()
frmShifr.Нide
frmКluch.Show
End Sub
Private Sub cmdShifr_Click()
Dim secret As String, р As String
Dim L As Integer, i As Integer, с As Integer
tхtRеzult.Техt = ""
txtSecret.SetFocus
secret = txtSecret.Text ‘секретное сообщение
L = Len(secret) ‘длина секретного сообщения
For i = 1 То L
р = Mid(secret, i, 1) ‘выделяется один символ секретного сообщения
c=InStr(frmКluch. Кluch,p) ‘определяется его код – место первого ‘появления в ключевой фразе
tхtRеzult.Техt = tхtRеzult.Техt + Str(c) + " " 'Вывод результатов ‘шифровки
Next i
End Sub
Форма frmDeShifr
Private Sub cmdReturn_ Click()
frmDeShifr. Нide
frmКluch.Show
End Sub
Private Sub cmdDeShifr _ Click()
Dim r As String
Dim х As String
Dim secret As String
r = InрutВох("Введите шифр буквы и щелкните по кнопке OK, при завершении ввода щелкните по кнопкам <Саnсеl>, <Дешифровка»)
Do Until r = ""
х = Мid(frmКluсh.Kluсh, r, 1) 'Выделяем одну букву на nозиции r в ключевой фразе
secret = secret + х 'Формируем результат дешифровки ‘(секретное сообщение)
r = InрutВох("Введите шифр буквы и щелкните по кнопке OK, при завершении ввода щелкните по кнопкам <Саnсеl>, <Дешифровка»)
Loop
tхtRеzult.Visible = True
tхtRеzult.Text = secret
End Sub
Private Sub Form_Activate()
tхtRеzult.Техt = ""
tхtRеzult.Visible =False
End Sub
20. Проверьте правильность работы проекта. Устраните возможные ошибки.
21. Сохраните проект под именем Лр15_Зад5_Шифровка_Дешифровка
ЗАВДАННЯ 15.6. Постановка задачи: ПЕРВЫЙ ИГРОК ПРЕДЛАГАЕТ КОМПЬЮТЕРУ СЛОВО, СОСТОЯЩЕЕ НЕ МЕНЕЕ ЧЕМ ИЗ ДВУХ БУКВ. МАКСИМАЛЬНАЯ ДЛИНА СЛОВА ОГРАНИЧЕНА ДЕСЯТЬЮ БУКВАМИ. КОМПЬЮТЕР "ПЕРЕМЕШИВАЕТ" БУКВЫ И ВЫДАЕТ АНАГРАММУ ИСХОДНОГО СЛОВА. ВТОРОЙ ИГРОК ПО АНАГРАММЕ ДОЛЖЕН ОПРЕДЕЛИТЬ ЗАДАННОЕ СЛОВО.
После ввода загаданного слова в текстовое поле (слово отображается в поле звездочками) и щелчка по кнопке <Показать анаграмму > на кнопках (рис. 15.13) появляются буквы, из которых состоит слово.
Пытаемся отгадать слово. Щелкаем по кнопкам в том порядке, в котором буквы, расположенные на них, входят в слово. Кнопки, по которым щелкнули мышью, пропадают, а буквы слова появляются в нижнем текстовом поле (рис. 15.14).
Далее следует щелкнуть по кнопке <Проверка>. Если слово угадано, в окне MsgBox появляется соответствующее сообщение, а слово проявляется в верхнем поле (рис. 15.15).
Рис. 15.13
Рис. 15.14
Если слово не угадано, в окне MsgBox появляется соответствующее сообщение и предоставляется возможность угадать слово заново или ввести новое слово, щелкнув по кнопке < Новое слово>.
Порядок действий
1. Разделите форму линиями на три части.
Рис. 15.15
2. В верхней части формы расположите метку, текстовое поле и командную кнопку. Значение свойства Name текстового поля — txtСлова, кнопки — сmdАнаграмма.
3. Установите для текстового значение поля свойства PasswordChar — *.
4. В средней части формы расположите метку, ниже разместите десять
объектов типа Контрольный индикатор (CheckBox).Установите для них значение свойства Style — l-Graphical. Значение свойства Name для всех элементов — chk, а значение свойства Index — от 1 до 10. Данные объекты образуют массив объектов.
5. В нижней части формы расположите метку, текстовое поле и три командные кнопки. Значение свойства Name текстового поля — txtОтвет, кнопок — соответственно сmdПроверка, сmdНовоеСлово и сmdВыход.
6.3начение свойства Caption для формы и меток установите в соответствии с рис. 15.14.
7. Сохраните проект под именем Лр40_Зад6_Анаграмма
8. Подробно разберите представленный ниже программный код, а затем наберите его.
Option Explicit
Dim Слово As String, Анаграмма As String, c As String, Ответ As String
Dim L1 As Integer, L2 As Integer, i As Integer, j As Integer
Dim Index As Integer
Dim a(1 To 10) As String
Private Sub chk_Click(Index As Integer)
Ответ = Ответ + chk(Index).Caption 'При щелчке по кнопке с выбранной буквой к перемнной Ответ 'добавляется буква с кнопки
txtОтвет.Text = Ответ
chk(Index).Visible = False 'Кнопка с выбранной буквой становится невидимой
End Sub
Private Sub Form_Activate()
txtСлово.SetFocus
Ответ = ""
End Sub
Private Function Letter(a As String, i As Integer) As String 'Функция удаления букв
Select Case i
Case 1
Letter = Right(a, Len(a) - 1)
Case Len(a)
Letter = Left(a, Len(a) - 1)
Case Else
Letter = Left(a, i - 1) + Right(a, Len(a) - 1)
End Select
End Function
Private Sub сmd_Click()
txtСлово.PasswordChar = ""
For Index = 1 To 10
chk(Index).Enabled = True
Next Index
For Index = 1 To 10
chk(Index).Value = 0
chk(Index).Visible = True
chk(Index).Caption = ""
Next Index
txtСлово.SetFocus
txtОтвет.Text = ""
txtСлово.Text = ""
Ответ = ""
End Sub
Private Sub сmdАнаграмма_Click()
Слово = txtСлово.Text 'Загаданное слово
L1 = Len(Слово) 'Длина загаданного cлова
c = Слово
L2 = Len(c)
Randomize Timer
For i = 1 To L1
j = 1 + Int(L2 * Rnd()) 'j - случайная позиции буквы в загаданном слове
chk(i).Caption = Mid(c, j, 1) 'Выделение одной буквы слова на позиции j и ‘размещение этой буквы на кнопке с номером i
a(i) = chk(i).Caption 'Запоминание выделенной буквы в массиве a
c = Left(c, j - 1) + Right(c, L2 - j) 'Из слова удаляется буква на позиции j
L2 = L2 - 1 'Длина слова уменьшается на 1
Next i
End Sub
Private Sub сmdВыход_Click()
End
End Sub
Private Sub сmdПроверка_Click()
If Ответ = Слово Then 'Если слово угадано
txtСлово.PasswordChar = ""
txtСлово.Text = Слово 'Оно появляется на месте'загаданного
MsgBox "Слово угадано !!!", vbOKOnly, "Проверка"
Else 'Если слово не угадано.
MsgBox "Не угадал! Попробуй еще!", vbOKOnly, "Проверка" 'предлагается ‘следующая попытка
For Index = 1 To L1
chk(Index).Value = 0
chk(Index).Visible = True
chk(Index).Caption = a(Index)
Next Index
txtОтвет.Text = ""
Ответ = ""
End If
End Sub
9. Проверьте правильность работы проекта. Устраните возможные ошибки.
10. Сохраните изменения в проекте.
Подведем итоги: В работе были использованы новые Функции:
Len (определение длины строки);
Mid (выделение строки символов в строке);
UCase (перевод всех строчных букв строки в прописные)
Asc (выдача цифрового значения, которое соответствует коду ASCII первого символа строки);
Chr (выдача символа, код ASCII которого определяется аргументом функции);
Instr (отыскание места первого появления некоторой строки в другой строке начиная с некоторой позиции).
