Главная страница

УМП Алгоритмизация и программирование. Алгоритмизация


Скачать 0.62 Mb.
НазваниеАлгоритмизация
Дата21.02.2019
Размер0.62 Mb.
Формат файлаpdf
Имя файлаУМП Алгоритмизация и программирование.pdf
ТипУчебно-методическое пособие
#68441
страница4 из 4
1   2   3   4
'Проверка включения флажка на ввод новой матрицы
If Check2.Value = 1 Then
'Проверка активации кнопки ввода данных
If Command1.Enabled = False Then
Command1.Enabled = True f = 1
End If
'Установка курсора в текстовое поле

46
Первый.SetFocus
'Очистка текстового поля
Результат.Text = ""
'Очистка надписи
Label7.Caption = ""
'Выход из программы
Else: End
End If
End Sub
Для второй диалоговой формы:
’Процедура скрытия формы с элементами матрицы
Private Sub Command1_Click()
Form2.Hide
End Sub
Практическое задание
1. Дополнительно запрограммируйте операции поиска минимума, вы- числения произведения элементов главной диагонали, среднего арифмети- ческого из элементов, суммы элементов последнего столбца, определение номера строки минимального элемента.
Контрольные вопросы
1. Объясните работу элемента управления ListBox.
2. Объясните работу элемента управления CheckBox.
Лабораторная работа 6
Обработка символьных данных
Цель занятия – изучение операций по обработке символьных дан-
ных.
Рассмотрим конструкцию Select Case, которая позволяет обрабаты- вать в программе несколько условий и аналогична блоку конструкций
if.. .Then.. .Else. Эта конструкция состоит из анализируемого выражения и набора операторов Case на каждое возможное значение выражения. Рабо-

47
тает эта конструкция следующим образом. Сначала Visual Basic вычисляет значение заданного в конструкции выражения. Затем полученное значение сравнивается со значениями, задаваемыми в операторах Case конструкции.
Если найдено искомое значение, выполняются команды, приписанные данному оператору Case. После завершения выполнения всех конструкций управление будет передано конструкции, следующей за ключевым словом
End Select.
Синтаксис конструкции Select Case следующий:
Select Caseсравниваемое значение
Caseзначение1 конструкция1
Case значение2 конструкция2
. . .
End Select
В начале конструкции расположены ключевые слова Select Case, ука- зывающие, что расположенный рядом с ними параметр сравниваемое зна-
чение будет проверяться на несколько значений. Далее следуют группы команд, начинающиеся с ключевого слова Case. Если параметр сравни-
ваемое значение равен значению, указанному в текущем операторе Case, то будут выполняться команды, расположенные между этим и следующим ключевым словом Case.
Рассмотрим функции, предназначенные для обработки символьных данных:
Таблица 2.11
Функции, предназначенные для обработки символьных данных
Функция
Назначение
Asc
Возвращает ASCII-код символа
Left
Возвращает указанное количество символов с начала строки
Len
Возвращает количество символов в строке
Mid
Возвращает заданное количество символов из произвольного места строки
Выделение подстроки заданной символьной строки, используя функ- ции Left, Right и Mid. Функции Left и Right выделяют строку начиная с крайнего левого или крайнего правого символа, а функция Mid позволяет выбрать любую подстроку.

48
Синтаксис функций:
Left(выражение, число символов)
Right(выражение, число символов)
Mid(выражение, номер позиции, [ число символов ])
Ниже приведены примеры использования этих функций и возвра- щаемые ими значения:
Content= "Выделение подстроки"
Print Left(Content, 3) возвращает "Выд"
Print Right (Content, 6) возвращает "строки"
Print Mid (Content, 11,3) возвращает "под"
В качестве примера рассмотрим создание программы обработки сим- вольных данных.
Входные данные: символьные данные.
Выходные данные: сложение (конкатенация) символьных данных, определение количества символов в слове, удаление части слова, вывод числового кода символа.
Диалоговая форма
Спроектируйте интерфейс программы, состоящий из 1 формы с ис- пользованием элементов управления (рис. 2.16).
На форме располагаются 4 текстовых надписи (3 из них пустые), 3 текстовых поля для ввода и вывода данных; раскрывающийся список для выбора операции; 2 кнопки: 1 для выполнения операции (ОК), 1 для выхо- да из программы (Выход).
Рис. 2.16. Диалоговая форма
Расположение пустых надписей

49
Свойства объектов
В окне свойств объектов определите свойства каждого элемента управления:
Таблица 2.12
Свойства элементов управления первой диалоговой формы
Элемент управления
Свойство
Имя
Свойство Caption
Форма Form1
Операции с символьными данными
Надпись1 Label1
*
Надпись2 Label2
*
Надпись3 Label3
*
Надпись4 Label4
Вид операции
Текстовое поле1 Text1
-
Текстовое поле2 Text2
-
Текстовое поле3 Text3
-
Кнопка1 Command1
ОК
Кнопка2 Command2
Выход
Раскрывающийся спи- сок
Combo1 -
* - пустая надпись (надпись выводится в зависимости от типа операции)
В текстовых полях необходимо стереть заданный по умолчанию текст.
В раскрывающемся списке в свойстве List наберите список операций:
Конкатенация, Вырезка символов, Количество символов, Числовой код,
Количество иск. символов, Замена символа, Изменение последовательно- сти.
Программный код
'Объявление переменных
Dim i As Integer
Dim simvol As String
Dim stroka As String
Dim sum As Integer

50
'Процедура вывода надписей при выборе операции
Private Sub Combo1_Click()
'Запуск процедуры очистки текстовых полей
clear
'Конструкция выбора
Select Case Combo1.Text
Case Is = "Конкатенация"
Label1.Caption = "1 слово"
Label2.Caption = "2 слово"
Label3.Caption = "Конкатенация"
Case Is = "Вырезка символов"
Label1.Caption = "Исходное слово"
Label2.Caption = "Количество символов"
Label3.Caption = "Итоговое слово"
Case Is = "Количество символов"
Label1.Caption = "Исходное слово"
Label2.Caption = "Количество символов"
Label3.Caption = ""
Text3.Text = ""
Case Is = "Числовой код"
Label1.Caption = "Итоговое слово"
Label2.Caption = "Числовой код символа"
Label3.Caption = ""
Text3.Text = ""
Case Is = "Количество иск. символов"
Label1.Caption = "Исходное слово"
Label2.Caption = "Искомый символ"
Label3.Caption = "Количество иск. символов"
Case Is = "Замена символа"
Label1.Caption = "Исходное слово"
Label2.Caption = "1 символ"
Label3.Caption = "2 символ"
Case Is = "Изменение последовательности"
Label1.Caption = "Исходное слово"
Label2.Caption = "Итоговое слово"

51
Label3.Caption = ""
Text3.Text = ""
End Select
End Sub
'Операция сложения строк
Private Sub Command1_Click()
If Combo1.Text = "Конкатенация" Then
Text3.Text = Text1.Text + Text2.Text
End If
'Операция вырезки символов
If Combo1.Text = "Вырезка символов" Then
'Функция Left$ вырезает заданное количество символов
Text3.Text = Left$(Text1.Text, Val(Text2.Text))
End If
'Операция подсчета количества символов
If Combo1.Text = "Количество символов" Then
'Функция Len подсчитывает количество символов
Text2.Text = Len(Text1.Text)
End If
'Операция нахождения числового кода
If Combo1.Text = "Числовой код" Then
'Функция Asc переводит символ в числовой код
Text2.Text = Asc(Text1.Text)
End If
'Операция нахождения количества искомых символов
If Combo1.Text = "Количество иск. символов" Then sum = 0
For i = 1 To Len(Text1.Text)
'Функция Mid$ записывет в переменную simvol каждый символ
слова по порядку
simvol = Mid$(Text1.Text, i, 1)
'Если символ совпадает с искомым переменная sum увеличивает-
ся на 1
If simvol = Text2.Text Then sum = sum + 1
Next i
'Вывод суммы

52
Text3.Text = sum
End If
'Операция замены символов
If Combo1.Text = "Замена символа" Then stroka = Text1.Text
For i = 1 To Len(Text1.Text) simvol = Mid$(Text1.Text, i, 1)
'Если символ из исходного слова совпадает с 1 символом, то про-
исходит замена этого символа на 2
If simvol = Text2.Text Then
Mid$(stroka, i, 1) = Text3.Text
End If
Next i
'Вывод итогового слова
Text1.Text = stroka
Label1.Caption = "Итоговое слово"
End If
'Операция изменения последовательности символов
If Combo1.Text = "Изменение последовательности" Then
For i = 1 To Len(Text1.Text) simvol = Mid$(Text1.Text, i, 1)
Text2.Text = simvol + Text2.Text
Next i
'Вывод итогового слова
Text1.Text = stroka
End If
End Sub
'Процедура выхода из программы
Private Sub Command2_Click()
End
End Sub
'Процедура очистки текстовых полей
Private Sub clear()
Text2.Text = ""
Text3.Text = ""
End Sub

53
Практическое задание
1. Дополнительно запрограммируйте операции поиска порядкового номера заданного символа слова, вырезания первой и последней букв сло- ва, замены всех символов слова на заданный, вывода числового кода за- данного символа из слова.
Контрольные вопросы
1. Объясните работу конструкции Select Case.
2. Объясните работу функции Len.
3. Объясните работу функции Asc.
4. Объясните работу функции Left.
5. Объясните работу функции Mid.
Лабораторная работа 7
Построение графических изображений
Цель занятия – изучение графических методов для построения
изображений.
Создание графических изображений возможно с использованием сле- дующих графических методов:
Scale – позволяет задать систему координат и масштаб для формы или графического окна:
Object.Scale (X1, Y1) – (X2,Y2)
Pset – установка точки с заданными координатами и цветом:
Object.Pset (X, Y), color
Line – рисование линии, прямоугольника или закрашенного прямо- угольника заданного цвета:
Object.Line (X1, Y1) – (X2,Y2), color
Для размещения в форме графического окна для вывода в него графи- ческих изображений, текста и анимации используется объект типа
PictureBox.

54
В качестве примера рассмотрим создание программы построения гра- фика функции.
Диалоговая форма программы
Спроектируйте интерфейс программы, состоящий из 1 формы с ис- пользованием элементов управления (рис. 2.17).
На форме располагаются графическое окно, 2 кнопки: 1 для вывода графика функции (График), 1 для выхода из программы (Выход).
Свойства объектов
В окне свойств объектов определите свойства каждого элемента управления:
Таблица 2.13
Свойства элементов управления диалоговой формы
Элемент управления
Свойство
Имя
Свойство Caption
Форма Form1
График функции
Графическое окно Picture1
-
Кнопка1 Command1 График
Кнопка2 Command2 Выход
Рис. 2.17. Диалоговая форма программы

55
Программный код
'Процедура построения графика функции
Private Sub Command1_Click()
'Установка масштаба
Picture1.Scale (-10, 2)-(10, -2)
'Построение графика
For x = -10 To 10 Step 0.01
Picture1.PSet (x, Cos(x))
Next
'Ось Х
Picture1.Line (-10, 0)-(10, 0)
For i = -10 To 10
Picture1.PSet (i, 0)
Picture1.Print i
Next
'Ось Y
Picture1.Line (0, 2)-(0, -2)
For i = -2 To 2
Picture1.PSet (0, i)
Picture1.Print i
Next
'Координатная сетка
For i = -10 To 10
Picture1.Line (i, 2)-(i, -2), vbRed
Next
End Sub
'Процедура выхода из программы
Private Sub Command2_Click()
End
End Sub
Практическое задание
1. Запрограммируйте раскрывающийся список для выбора построе- ния дополнительных функций (sin(x), tan(x)), дополнительно создайте кнопку для операции очистки графического поля.
Контрольные вопросы
1. Перечислите существующие графические методы, их назначение.
2. Объясните работу элемента управления PictureBox.

56
Литература
1. Алексеев А.П. Информатика 2007. – М.: Солон-Пресс, 2007. – 605 с.
2. Visual Basic 6: учебный курс. – С.-Пб.: Питер, 2001. – 576 с.
3. Одинцов И.О. Профессиональное программирование. Системный подход. - С.-Пб.: БХВ-Петербург, 2002. - 512 с.

57
Содержание
Введение ………………………………………………………….…..….. 3
Раздел 1. Конструирование алгоритмов.………..……………..…..……
4
Практическое занятие 1. Понятия алгоритма и программы…….……..
4
Практическое занятие 2. Разветвляющийся алгоритм………...………. 7
Практическое занятие 3. Циклический алгоритм…………………....... 9
Практическое занятие 4. Операции с одномерными массивами…...… 12
Практическое занятие 5. Операции с двумерными массивами……..... 15
Задачи для самостоятельного решения……..………..………………… 18
Раздел № 2. Разработка компьютерных программ в среде Visual Basic…………………………………..…………….…….
18
Лабораторная работа 1. Среда разработки Visual Basic……….………
18
Лабораторная работа 2. Создание программного проекта….....………
28
Лабораторная работа 3. Разработка программы с оператором усло- вия…………………………………………………………………………
31
Лабораторная работа 4. Обработка одномерного массива…….………
35
Лабораторная работа 5. Обработка двумерного массива……..…….…
40
Лабораторная работа 6. Обработка символьных данных………..….…
46
Лабораторная работа 7. Построение графических изображений....…..
53
Литература………………………………………………….……………. 56

58
Учебное издание
Станислав Юрьевич Бутузов
Борис Михайлович Пранов
Ренат Шамильевич Хабибулин
АЛГОРИТМИЗАЦИЯ
И ПРОГРАММИРОВАНИЕ
УЧЕБНО-МЕТОДИЧЕСКОЕ ПОСОБИЕ
Издание второе, переработанное и дополненное
Издано в авторской редакции
Подписано в печать______________. Формат 60×90 1/16. Печ. л. 3,5.
Уч.-изд. л. 3,5. Бумага офсетная. Тираж 300 экз. Заказ
Академия ГПС МЧС России
129366, Москва, ул. Бориса Галушкина, 4
1   2   3   4


написать администратору сайта