- •Часть 2 Основы программирования
- •Решения задач в среде Visual Basic for Applications Лабораторная работа № пр1 «Создание процедур»
- •Теоретические сведения
- •Процедуры, константы, переменные
- •Решение
- •Лабораторная работа № пр2 «Работа с условным оператором If ... Then»
- •Теоретические сведения
- •Решение
- •Найти значение функции y в точке X. .
- •Теоретические сведения
- •Решение
- •Лабораторная работа № пр4 «Программирование циклов с условием»
- •Теоретические сведения
- •Лабораторная работа № пр5 «Работа с рекуррентными формулами»
- •Решение
- •Для заданных значений n и X вычислить выражение: . Лабораторная работа № пр6 «Работа со строковыми переменными»
- •Теоретические сведения Строковые переменные
- •Функции преобразования типов
- •Решение
- •Глоссарий
- •1. Основы алгоритмизации
- •1. Основные понятия языка Visual Basic for Applications (vba)
- •1.2. Операция присваивания
- •1.3. Математические операции
- •Логические операции
- •2. Некоторые приемы оптимизации программ
- •Литература Основная
- •Дополнительная
-
Для заданных значений n и X вычислить выражение: . Лабораторная работа № пр6 «Работа со строковыми переменными»
Цель работы: научиться работать со строковыми переменными типа String.
Теоретические сведения Строковые переменные
Тип
|
Хранимая информация |
Занимаемая память |
Интервалы значений
|
String (строка фиксированной длины) |
Текстовая информация (строка) |
1 байт на каждый символ |
От 1 до 65400 |
String (строка переменной длины) |
Текстовая информация (строка) |
10 байт + 1 байт па каждый символ |
От 0 до двух миллиардов символов |
Функции преобразования типов
Примеры функций |
Значение |
Val(Строка) |
Преобразует строку цифровых символов в число |
CStr(Число) |
Преобразует числовое выражение или строку в строку |
CInt(Выражение) |
Преобразует числовое выражение или строку в число типа Integer |
Cvar(Выражение) |
Преобразует числовое выражение или строку в число типа Variant и др. |
Функции обработки строк
Примеры функций |
Значение |
Len(Строка$) |
Возвращает длину Строки$ |
Asc(Строковое выражение) |
Возвращает ASCII код первого символа в строковом выражении |
Chr(asciiКодСимвола) |
Возвращает символ, соответствующий указанному коду ASCII |
Mid(Строка$, Позиция& [, Длина&]) |
В Строке$ выделяется подстрока начиная с заданной Позиции& длины Длина$ (Длина$ - необязательный аргумент) |
Left(Строка$, Длина&) |
В Строке$ выделяется левая подстрока Длиной& |
Right(Строка$, Длина&) |
В Строке$ выделяется правая подстрока Длиной& и др. |
Пример. Функция
Mid(«Иван Николаевич», 6, 3)
Возвращает «Ник».
Пример. Функции Chr(13) и Chr(10). 13 и 10 – это коды ASCII особых, невидимых символов, которые используются при выдаче или печати текста, – символа перехода на новую строку и символа возврата на левую сторону страницы (иначе, символ переноса и символ возврата каретки).
Задача 16 (работа со строковыми переменными). Написать программу, которая считает количество точек в строке. Строка вводится из ячейки MS Excel, код ASCII вводится с клавиатуры.
Решение
Этап 1. Математическая часть
Дано: Строка « Осень. Лес. Солнце. Опушка. Листва.»
(!) Самостоятельно разработать алгоритм на естественном языке и составить блок-схему.
Этап 2. Ввод данных в таблицу Excel
В ячейку А1 вводится строка « Осень. Лес. Солнце. Опушк....»
Этап 3. Определение переменных
Вводятся: St (тип String).
Промежуточные переменные: i (тип Integer) – счетчик цикла, SS (тип String) – искомый символ, x1(тип Integer) – ASCII код ".", L (тип Integer) – длина строки, SSS (тип String) – вырезаем из заданной строки с конца по символу, чтобы сравнить коды первых символов с искомым, x1(тип Integer) – ASCII код первого символа SSS .
Выводятся (результат): n (тип Integer) – количество точек в строке.
Этап 4. Написание процедуры
На рабочем листе Лист1 при помощи Элементов управления создать элемент Кнопка (СommandBatton1).
Private Sub CommandButton1_Click()
Dim St As String
Dim SSS As String
Dim SS As String
Dim L As Integer
Dim x As Integer
Dim x1 As Integer
Dim i As Integer
Dim n As Integer
'Ввод строки
St = Range("A1").Text
SS = "."
'Возвращает ASCII код "."
x1 = Asc(SS)
'Определение длины строки
L = Len(St)
'Подсчет количетсва точек
n = 0
For i = 1 To L
SSS = Right(St, i)
x = Asc(SSS)
If x = x1 Then
n = n + 1
End If
Next i
'Вывод результата в ячейку A2
SSS = "Количество точек в строке равно " + CStr(n)
Range("A2").Value = SSSEnd Sub
Этап 5. Выполнение
Перейти на рабочий лист (ViewMicrosoft Excel или Alt+F11). Выйти из режима Конструктора, левой клавишей мыши (ЛКМ) нажать Кнопку. В ячейке А4 появится результат «Количество точек в строке равно 7».
Этап 6. Переименование листа.
Навести курсор на закладку Лист1, правой клавишей мыши (ПКМ) вызвать контекстное меню, выбрать пункт Переименовать, удалить старое название листа и с клавиатуры набрать новое Количество точек в строке, нажать Enter.
Задачи для самостоятельной работы
-
Написать программу, которая считает сколько раз встречается цифра “9” в строке. Строка вводится из ячейки MS Excel. Цифра “9” вводится с клавиатуры.
-
Написать программу, которая выделяет первое два слово в строке. Вывести номер последнего символа первого слова. Строка вводится из ячейки MS Excel.
Оформление в тетради должно содержать:
-
Условие задачи
-
Входные-выходные данные
-
Переменные: вводимые, выводимые, промежуточные
-
Блок-схема, алгоритм на естественном языке
-
Программа на VBA
-
Результаты вычисления контрольного примера.
Приложение 1