Главная страница
Навигация по странице:

  • Функции для работы со строками . Сравнение строковых выражений

  • Преобразование числа в строку

  • Преобразование строки в число

  • Возвращение строки, состоящей из пробелов

  • Преобразование букв строки в заглавные или строчные

  • Определение длины строки

  • Выделение подстроки из строки символов

  • Определение позиции вхождения подстроки в строку

  • Преобразование элементов массива в строку

  • Преобразование строки в массив

  • 3. ПОРЯДОК ВЫПОЛНЕНИЯ 1. Получить задание у преподавателя. 2. Выполнить задание в соответствии с вариантом. 3. Ответить на контрольные вопросы. 4. ЗАДАНИЕ

  • Лабораторная работа № 10 Пользовательские процедуры и функции 1. ЦЕЛЬ РАБОТЫ

  • 2. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ Общие положения Описание и создание процедур

  • информатика. Игнатьева Елена Александровна, Измайлова Елена Ивановна. Информатика. Электронный ресурс методические указания


    Скачать 4.32 Mb.
    НазваниеИгнатьева Елена Александровна, Измайлова Елена Ивановна. Информатика. Электронный ресурс методические указания
    Дата20.06.2022
    Размер4.32 Mb.
    Формат файлаpdf
    Имя файлаинформатика.pdf
    ТипМетодические указания
    #604814
    страница13 из 15
    1   ...   7   8   9   10   11   12   13   14   15
    Работа с переменными строкового типа
    Операции над строками
    Строки можно присваивать, объединять и сравнивать. Объ- единение строк записывается в естественном виде. Если сумма получается длиннее, чем описанная длина левой части оператора присваивания, то излишек отсекается.
    Для объединения двух и более строк используется символ "&" (амперсанд) или "+" (сложение). Результатом объединения строк является строка.
    Пример 1:
    Sub строки1()
    Dim A As String
    Dim B As String
    Dim C As String
    A="Строковая"
    В="переменная"
    С=A & B
    'Результат: С = "Строковая переменная"
    С=А + "переменная"
    'Результат: С = "Строковая пере- менная"
    End Sub
    Первый комментарий соответствует случаю, когда при по- шаговом выполнении программы жёлтым выделен оператор С=A
    & B. Этот комментарий означает следующее: если указатель мышки подвести к С, то высветится С = "Строковая переменная"
    – результат выполнения оператора, находящегося в одной строке с комментарием.
    Аналогичный смысл имеют все комментарии в программах данного методического указания, начинающегося со слова "Ре- зультат".

    167
    Следует учесть, что при остановах во время выполнения программы жёлтым цветом выделяется первый из невыполнен- ных операторов.
    Благодаря операции объединения строк, строку можно рас- сматривать как выражение, аналогичное арифметическим и логи- ческим выражениям
    Сравнение строк происходит посимвольно, начиная от пер- вого символа в строке. Строки равны, если имеют одинаковую длину и посимвольно эквивалентны.
    В языке VBA имеется набор стандартных (встроенных) функций для работы со строковыми данными.
    Функции для работы со строками
    . Сравнение строковых выражений
    Для сравнения строковых выражений используются сле- дующие функции:
    1) Option Compare{Binary | Text | Database}, где
    Binary – сравнение идёт побайтно;
    Text – сравнение идёт по расположению этих слов в слова- ре;
    Database – работает только с Microsoft Access.
    Операция сравнения не зависит от регистра символов.
    2) StrComp (string1, string2 [,compare]), где string1 – строка, которая сравнивается; string2 – строка, которая сравнивается; compare – способ сравнения (по умолчанию 0 – Binary, 1 –
    Text)
    Если string1=string2, то функция возвращает 0; если string1string2, то возвра- щает -1.
    Удаление пробелов
    При работе со строками используется три функции удаления пробелов. Описание и назначение этих функций представлено в таблице 1.

    168
    Таблица 1
    Описание и назначение функций удаления пробелов
    Функция
    Назначение
    Тип аргумента
    Тип результата
    LTrim(N)
    Удаляет все про- белы в начале строки (слева – left)
    String
    String
    RTrim(N)
    Удаляет все про- белы в конце строки (справа – right)
    String
    String
    Trim(N)
    Удаляет все про- белы в начале и в конце строки
    String
    String
    Пример 2:
    Sub Строки2()
    Dim A As String
    Dim B As String
    A=" Строковая переменная "
    В=LTrim(A)
    'Результат: "Строковая переменная "
    B=RTrim(A)
    'Результат: " Строковая переменная"
    B=Trim(A)
    'Результат: "Строковая переменная"
    End Sub
    Преобразование числа в строку
    Для преобразования числового значения в строковое ис- пользуется функция Str(Value), где
    Value – аргумент функции числового типа.
    Результат будет иметь тип String.
    Например:
    Если переменная n=1000, то в результате S=Str(n) получим
    S="1000".

    169
    Преобразование строки в число
    Для преобразования строки в число используется функция
    Val(St), где
    St – аргумент функции строкового типа.
    Результат будет иметь числовой тип.
    Если функция Val не может сделать преобразование, то она возвращает ноль.
    Пример 3:
    Sub Строки3()
    Dim A As String
    Dim B As Currency
    A="45.77"
    B=Val(A)
    'Результат: В=45.77
    A=Str(B)
    'Результат: А="45.77"
    B=Val("4.7=X")
    'Результат: В=4.7
    B=Val("Х=4.7")
    'Результат: В=0
    End Sub
    Возвращение строки, состоящей из пробелов
    Для возвращения в программу строки, состоящей из пробе- лов, используется функция Space(N), где
    N – аргумент функции типа Byte, обозначающий количество пробелов, из которых будет состоять строка.
    Пример 4:
    Sub Строки4()
    Dim A As String
    Dim B As Currency
    Dim C As String
    A="X="
    B=45.77
    C=A & Str(B)
    'Результат: С="Х=45.77"
    B=Val("45.77=X")
    'Результат: В=45.77
    B=Val(C)
    'Результат: В=0
    C="Строковая" & Space(3) & "переменная"

    170
    'Результат: С="Строковая пере- менная"
    End Sub
    Замена подстроки
    Для замены какой-либо части строки или определённых символов используется функция Replace.
    Её синтаксис: Replace(expression, find, replace [,start [,count
    [,compare]]]), где: expression – исходная строка; find – какую подстроку заменить; replace – на какую подстроку заменит; start – позиция начала поиска (по умолчанию равна 1); count – количество проводимых замен (по умолчанию равно 1); compare – способ сравнения (по умолчанию Binary(0) – сравнение идёт побайтно; Text(1) – сравнение идёт по располо- жению строк в словаре).
    Пример 5:
    Sub строки5()
    Dim A As String
    Dim B As String
    A="Павел Иванов"
    B=Replace(A, "Иванов", "Гусев")
    'Результат:
    В="Павел Гусев
    End Sub
    Преобразование букв строки в заглавные или строчные
    Для преобразования строки или строковой переменной та- ким образом, чтобы все буквы стали заглавными (то есть буквами верхнего регистра – upper case) или строчными (то есть буквами нижнего регистра – lower case) используются функции UCase(S) и LCase(S) соответственно.
    Описание и назначение этих функций приведено в таблице 2.

    171
    Таблица 2
    Описание и назначение функций UCase и LCase
    Функция
    Назначение
    Тип аргумента Тип результата
    UCase(S)
    Преобразует все буквы стро- ки в заглавные
    String
    String
    LCase(S)
    Преобразует все буквы стро- ки в строчные
    String
    String
    Пример 6:
    Sub Строки6()
    Dim A As String
    Dim B As String
    A="Павел Иванов"
    В=UCase(A)
    'Результат: "ПАВЕЛ ИВАНОВ"
    B=LCase(A)
    'Результат: "павел иванов"
    End Sub
    Определение длины строки
    Для определения количества символов в строке (не считая кавычек) применяется функция Len(S),где
    S – строка символов.
    Результат будет иметь тип Integer
    Пример 7:
    Sub Строки7()
    Dim S As String
    Dim N As Integer
    A="Строковая переменная"
    N=Len(S)
    'Результат: N=20
    End Sub

    172
    Выделение подстроки из строки символов
    Для выделения подстроки из строки используются функции
    Left(S,N), Right(S,N), Mid(S, Start, N), где:
    S – строка;
    N – количество выделяемых символов;
    Start – позиция начала замены.
    Описание и назначение этих функций приведено в таблице 3.
    Таблица 3
    Описание и назначение функций Left, Right, Mid
    Функция
    Назначение
    Тип аргумента Тип результата
    Left(S,N)
    Right(S,N)
    Mid(S, Start, N)
    Выделяет N сим- волов слева
    Выделяет N сим- волов справа
    Выделяет N сим- волов начиная с позиции start
    S – String
    N – Byte
    Start – Byte
    String
    Пример 8:
    Sub Строки8()
    Dim S As String
    Dim S1 As String
    S=" Моя строковая переменная"
    S1=Left(S, 3)
    'Результат: S="Моя"
    S1=Right(S, 10)
    'Результат: S="переменная"
    S1=mid(S, 5,9)
    'Результат: S="строковая"
    End Sub
    Определение позиции вхождения подстроки в строку
    Для определения позиции вхождения подстроки в строку используются функции InStr([start, ] S1, S2[, compare])
    InStrRev(S1, S2[, start[, compare]]), где:

    173 start – позиция начала поиска;
    S1 – строка, в которой будет происходить поиск;
    S2 – подстрока, которую будем искать в строке S1; compare – способ сравнения.
    Описание и назначение этих функций приведено в таблице 4.
    Таблица 4
    Описание и назначение функций InStr и InStrRev
    Функция
    Назначение
    Тип аргумента
    Тип резуль- тата
    InStr([start, ] S1,
    S2[, compare])
    InStrRev(S1,
    S2[, start[, com- pare]])
    Определяет по- зицию первого вхождения под- строки
    S2 в строку S1
    Определяет по- зицию послед- него вхождения подстроки S2 в строку S1 start – Byte
    S1 – String
    S2 – Srting compare – 0 или
    1 (по умолча- нию 0)
    Byte
    Пример 9:
    Sub Строки9()
    Dim S As String
    Dim S1 As String
    Dim N As Byte
    S=" Моя строковая переменная"
    S1="о"
    N= InStr(S, S1)
    'Результат: N=2
    N= InStrRev(S, S1)
    'Результат: N=9
    End Sub

    174
    Преобразование элементов массива в строку
    Для преобразования элементов массива в строку можно ис- пользовать функцию, Join( array[, delimiter]), где: array – массив, который нужно преобразовать; delimiter – символ, который будет разделять элементы мас- сива в конечной строке (по умолчанию пробел).
    Преобразование строки в массив
    Для преобразования строки в массив используется функция
    Split(S[, delimiter[, limit[, compare]]]), где
    S – строка, которую нужно преобразовать в массив delimiter – символ, который нужно принять за разделитель элементов массива (по умолчанию пробел); limit – ограничение возвращаемых элементов; compare – способ сравнения.
    3. ПОРЯДОК ВЫПОЛНЕНИЯ
    1. Получить задание у преподавателя.
    2. Выполнить задание в соответствии с вариантом.
    3. Ответить на контрольные вопросы.
    4. ЗАДАНИЕ
    Выполнить сортировку одномерного массива на языке про- граммирования Visual Basic for Applications.
    ВАРИАНТ № 1
    Дана строка символов.
    1) Определить количество слов, длина которых больше трех и меньше либо равно шести символам.
    2) Определить длину самого длинного слова и напечатать его.
    3) Определить длину строки с символа с номером M по сим- вол с номером N.
    4) Определить количество слов, начинающихся на сочета- ние "ст".

    175
    ВАРИАНТ № 2
    Дана строка символов.
    1) Напечатать строку символов между второй и третьей за- пятыми.
    2) Определить количество слов, заканчивающихся на "ь".
    3) Длину самого короткого слова и напечатать его.
    4) Определить количество слов, длина которых меньше семи символов.
    ВАРИАНТ № 3
    Дана строка символов.
    1) Напечатать часть строки от первого символа "5" до по- следнего символа "!".
    2) Определить количество слов, содержащих букву "й".
    3) Определить количество букв "а" во втором слове.
    4) Напечатать слова, начинающиеся на "кр".
    ВАРИАНТ № 4
    Дана строка символов.
    1) Напечатать часть строки от предпоследней до последней запятой.
    2) Определить количество слов, заканчивающихся на соче- тание "ай".
    3) Определить напечатать среднее (по расположению в строке) слово.
    4) Определить количество слов, длина которых более 10 символов.
    ВАРИАНТ № 5
    Дана строка символов.
    1) Определить количество символов "=" после предпослед- ней запятой.
    2) Определить и напечатать слова, начинающиеся на "ст" и заканчивающиеся на "нь".
    3) Определить количество букв "о" во втором слове.
    4) Напечатать второе слово в обратном порядке.

    176
    ВАРИАНТ № 6
    Дана строка символов.
    1) Определить и напечатать слово, содержащее максималь- ное количество букв "о".
    2) Определить количество слов, начинающихся на букву "к" и длиной от трех до семи символов.
    3) Определить количество символов между первым симво- лом "7" и последним символом "?".
    4) напечатать предпоследнее слово в обратном порядке.
    ВАРИАНТ № 7
    Дана строка символов.
    1) Определить количество слов. Длина которых больше длины первого слова.
    2) Определить длину самого длинного слова и напечатать его.
    3) Определить длину строки с символа с номером M по вто- рую встреченную запятую.
    4) Определить количество слов, заканчивающихся на "ок".
    ВАРИАНТ № 8
    Дана строка символов.
    1) Напечатать строку символов между второй и предпослед- ней точками.
    2) Определить количество слов, в которых встречается бук- ва "я".
    3) Длину самого короткого слова и напечатать его.
    4) Определить количество слов, длина которых меньше 8 символов, но больше длины самого короткого слова.
    ВАРИАНТ № 9
    Дана строка символов.
    1) Напечатать часть строки от третьего символа "5" до по- следнего символа ";".
    2) Определить количество слов, начинающихся и заканчи- вающихся на букву "о".
    3) Определить количество букв "к" в предпоследнем слове.

    177 4) Напечатать слова, начинающиеся на "рос".
    ВАРИАНТ № 10
    Дана строка символов.
    1) Напечатать часть строки от предпоследней запятой до первой точки.
    2) Определить количество слов, заканчивающихся на соче- тание "ин".
    3) Определить напечатать среднее (по расположению в строке) слово.
    4) Определить количество слов, длина которых не менее 8 символов.
    ВАРИАНТ № 11
    Дана строка символов.
    1) Определить количество символов "+" после второй точки.
    2) Определить и напечатать слова, начинающиеся на "ст" и содержащих символ "5".
    3) Определить количество букв "о" в строке.
    4) Напечатать последнее слово в обратном порядке.
    ВАРИАНТ № 12
    Дана строка символов.
    1) Определить и напечатать слово, содержащее минималь- ное количество букв "о".
    2) Определить количество слов, начинающихся на букву "т" и длиной не более семи символов.
    3) Определить количество символов между последним сим- волом "7" и последним символом "?".
    4) напечатать предпоследнее слово.
    ВАРИАНТ № 13
    Дана строка символов.
    1) Определить количество слов, содержащих более трех за- пятых.
    2) Определить длину слова, содержащего наибольшее число символов "о" и напечатать его.
    3) Определить длину строки до третьего с конца строки сло- ва.

    178 4) Определить количество слов, начинающихся на сочетание "ви".
    ВАРИАНТ № 14
    Дана строка символов.
    1) Напечатать строку символов между второй запятой и на- чалом последнего слова.
    2) Определить количество слов, содержащих "ъ".
    3) Длину самого длинного слова и напечатать его.
    4) Определить количество слов, длина которых меньше семи символов и больше трех символов.
    ВАРИАНТ № 15
    Дана строка символов.
    1) Напечатать часть строки от первого символа "к" до по- следнего символа "р".
    2) Определить количество слов, содержащих сочетание "ай".
    3) Определить количество букв "е" в предпоследнем слове.
    4) Напечатать слова, начинающиеся на "11".
    ВАРИАНТ № 16
    Дана строка символов.
    1) Напечатать часть от начала самого короткого слова до последней запятой.
    2) Определить количество слов, заканчивающихся на соче- тание "ть" и состоящих из 4 символов.
    3) Определить напечатать третье с конца строки слово.
    4) Определить количество слов, длина которых более 4 сим- волов.
    ВАРИАНТ № 17
    Дана строка символов.
    1) Определить количество символов "=" после второго сло- ва.
    2) Определить и напечатать слова, начинающиеся на "т".
    3) Определить количество букв "о" во втором и предпослед- нем словах.
    4) Напечатать последнее слово в обратном порядке.

    179
    ВАРИАНТ № 18
    Дана строка символов.
    1) Определить и напечатать слово, содержащее максималь- ное количество символов, но не содержащее букв "о".
    2) Определить количество слов, длиной пять или восемь символов.
    3) Определить количество символов между последним сим- волом "%" и третьим символом "!".
    4) напечатать самое длинное слово в обратном порядке.
    ВАРИАНТ № 19
    Дана строка символов.
    1) Определить и напечатать слово, содержащее M или N символов.
    2) Определить количество слов, содержащих символ "?", но не начинающихся на "о".
    3) Определить количество символов между последним сим- волом "э" и символом под номером N.
    4) Определить напечатать среднее (по расположению в строке) слово в обратном порядке.
    5. КОНТРОЛЬНЫЕ ВОПРОСЫ
    Как описывается область видимости и время существования переменных?
    2. Чем характеризуется строка переменной длины?
    3. Чем характеризуется строка постоянной длины?
    4. Какие операции можно выполнять над строками?
    5. Какие действия выполняют функции Val(St) и Str(Value)?
    6. Какие действия выполняют функции UCase(S) и
    LCase(S)?
    7. Какие функции определяют позицию вхождения подстро- ки в строку?

    180
    Лабораторная работа №
    10
    Пользовательские процедуры и функции
    1. ЦЕЛЬ РАБОТЫ
    Изучение синтаксиса стандартных строковых процедур и функций, встроенных в язык программирования высокого уровня
    Visual Basic for Applications (VBA), получение навыков примене- ния строковых процедур и функций в программах пользователя при работе с данными строкового типа.
    2. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
    Общие положения
    Описание и создание процедур
    В офисном программировании целью работы, обычно, явля- ется создание системы документов. С системой документов свя- зан программный проект, представляющий совокупность про- граммных проектов, связанных с каждым отдельным докумен- том. Проекты разных документов связаны между собой и могут иметь общие данные и общие процедуры и функции, доступные из разных проектов. Каждый проект состоит из модулей разного типа. Каждый модуль содержит объявления переменных, проце- дур и функций. Процедуры и функции являются минимальными модульными конструкциями, из которых строится программный проект.
    Процедура (функция) – это программная единица VBA, включающая операторы описания ее локальных данных и испол- няемые операторы. Обычно в процедуру объединяют регулярно выполняемую последовательность действий, решающую отдель- ную задачу или подзадачу. Особенность процедур VBA в том, что они могут использовать в качестве элементарных действий большое количество встроенных методов и функций, оперирую- щих с разнообразными объектами этой системы. Поэтому струк-

    181 тура управления типичной процедуры прикладной офисной сис- темы довольно проста: она состоит из последовательности вызо- вов встроенных процедур и функций, управляемой небольшим количеством условных операторов и циклов. Обычно ее размеры не должны превышать нескольких десятков строк.
    1   ...   7   8   9   10   11   12   13   14   15


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