УМП Алгоритмизация и программирование. Алгоритмизация
Скачать 0.62 Mb.
|
'Проверка включения флажка на ввод новой матрицы 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 |