Сравнение строковых выражений
Для сравнения строковых выражений используются следующие функции:
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; если string1<string2, то возвращает 1; если string1>string2, то возвращает -1.
Удаление пробелов
При работе со строками используется три функции удаления пробелов. Описание и назначение этих функций представлено в таблице 1.
Таблица 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».
Преобразование строки в число
Для преобразования строки в число используется функция 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) & «переменная»
'Результат: С=«Строковая переменная»
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.
Таблица 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
Выделение подстроки из строки символов
Для выделения подстроки из строки используются функции 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]]), где:
start – позиция начала поиска;
S1 – строка, в которой будет происходить поиск;
S2 – подстрока, которую будем искать в строке S1;
compare – способ сравнения.
Описание и назначение этих функций приведено в табл. 4.
Таблица 4
Описание и назначение функций InStr и InStrRev
Функция | Назначение | Тип аргумента | Тип результата |
InStr([start, ] S1, S2[, compare]) InStrRev(S1, S2[, start[, compare]]) | Определяет позицию первого вхождения подстроки 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
Преобразование элементов массива в строку
Для преобразования элементов массива в строку можно использовать функцию, Join( array[, delimiter]), где:
array – массив, который нужно преобразовать;
delimiter – символ, который будет разделять элементы массива в конечной строке (по умолчанию пробел).
Преобразование строки в массив
Для преобразования строки в массив используется функция Split(S[, delimiter[, limit[, compare]]]), где
S – строка, которую нужно преобразовать в массив
delimiter – символ, который нужно принять за разделитель элементов массива (по умолчанию пробел);
limit – ограничение возвращаемых элементов;
compare – способ сравнения.
ПОРЯДОК ВЫПОЛНЕНИЯ
1. Получить задание у преподавателя.
2. Выполнить задание в соответствии с вариантом.
3. Ответить на контрольные вопросы.
ЗАДАНИЕ
Выполнить сортировку одномерного массива на языке программирования Visual Basic for Applications.
ВАРИАНТ № 1
Дана строка символов.
1) Определить количество слов, длина которых больше трех и меньше либо равно шести символам.
2) Определить длину самого длинного слова и напечатать его.
3) Определить длину строки с символа с номером M по символ с номером N.
4) Определить количество слов, начинающихся на сочетание «ст».
ВАРИАНТ № 2
Дана строка символов.
1) Напечатать строку символов между второй и третьей запятыми.
2) Определить количество слов, заканчивающихся на «ь».
3) Длину самого короткого слова и напечатать его.
4) Определить количество слов, длина которых меньше семи символов.
ВАРИАНТ № 3
Дана строка символов.
1) Напечатать часть строки от первого символа «5» до последнего символа «!».
2) Определить количество слов, содержащих букву «й».
3) Определить количество букв «а» во втором слове.
4) Напечатать слова, начинающиеся на «кр».
ВАРИАНТ № 4
Дана строка символов.
1) Напечатать часть строки от предпоследней до последней запятой.
2) Определить количество слов, заканчивающихся на сочетание «ай».
3) Определить напечатать среднее (по расположению в строке) слово.
4) Определить количество слов, длина которых более 10 символов.
ВАРИАНТ № 5
Дана строка символов.
1) Определить количество символов «=« после предпоследней запятой.
2) Определить и напечатать слова, начинающиеся на «ст» и заканчивающиеся на «нь».
3) Определить количество букв «о» во втором слове.
4) Напечатать второе слово в обратном порядке.
ВАРИАНТ № 6
Дана строка символов.
1) Определить и напечатать слово, содержащее максимальное количество букв «о».
2) Определить количество слов, начинающихся на букву «к» и длиной от трех до семи символов.
3) Определить количество символов между первым символом «7» и последним символом «?».
4) напечатать предпоследнее слово в обратном порядке.
ВАРИАНТ № 7
Дана строка символов.
1) Определить количество слов. Длина которых больше длины первого слова.
2) Определить длину самого длинного слова и напечатать его.
3) Определить длину строки с символа с номером M по вторую встреченную запятую.
4) Определить количество слов, заканчивающихся на «ок».
ВАРИАНТ № 8
Дана строка символов.
1) Напечатать строку символов между второй и предпоследней точками.
2) Определить количество слов, в которых встречается буква «я».
3) Длину самого короткого слова и напечатать его.
4) Определить количество слов, длина которых меньше 8 символов, но больше длины самого короткого слова.
ВАРИАНТ № 9
Дана строка символов.
1) Напечатать часть строки от третьего символа «5» до последнего символа «;».
2) Определить количество слов, начинающихся и заканчивающихся на букву «о».
3) Определить количество букв «к» в предпоследнем слове.
4) Напечатать слова, начинающиеся на «рос».
ВАРИАНТ № 10
Дана строка символов.
1) Напечатать часть строки от предпоследней запятой до первой точки.
2) Определить количество слов, заканчивающихся на сочетание «ин».
3) Определить напечатать среднее (по расположению в строке) слово.
4) Определить количество слов, длина которых не менее 8 символов.
ВАРИАНТ № 11
Дана строка символов.
1) Определить количество символов «+» после второй точки.
2) Определить и напечатать слова, начинающиеся на «ст» и содержащих символ «5».
3) Определить количество букв «о» в строке.
4) Напечатать последнее слово в обратном порядке.
ВАРИАНТ № 12
Дана строка символов.
1) Определить и напечатать слово, содержащее минимальное количество букв «о».
2) Определить количество слов, начинающихся на букву «т» и длиной не более семи символов.
3) Определить количество символов между последним символом «7» и последним символом «?».
4) напечатать предпоследнее слово.
ВАРИАНТ № 13
Дана строка символов.
1) Определить количество слов, содержащих более трех запятых.
2) Определить длину слова, содержащего наибольшее число символов «о» и напечатать его.
3) Определить длину строки до третьего с конца строки слова.
4) Определить количество слов, начинающихся на сочетание «ви».
ВАРИАНТ № 14
Дана строка символов.
1) Напечатать строку символов между второй запятой и началом последнего слова.
2) Определить количество слов, содержащих «ъ».
3) Длину самого длинного слова и напечатать его.
4) Определить количество слов, длина которых меньше семи символов и больше трех символов.
ВАРИАНТ № 15
Дана строка символов.
1) Напечатать часть строки от первого символа «к» до последнего символа «р».
2) Определить количество слов, содержащих сочетание «ай».
3) Определить количество букв «е» в предпоследнем слове.
4) Напечатать слова, начинающиеся на «11».
ВАРИАНТ № 16
Дана строка символов.
1) Напечатать часть от начала самого короткого слова до последней запятой.
2) Определить количество слов, заканчивающихся на сочетание «ть» и состоящих из 4 символов.
3) Определить напечатать третье с конца строки слово.
4) Определить количество слов, длина которых более 4 символов.
ВАРИАНТ № 17
Дана строка символов.
1) Определить количество символов «=« после второго слова.
2) Определить и напечатать слова, начинающиеся на «т».
3) Определить количество букв «о» во втором и предпоследнем словах.
4) Напечатать последнее слово в обратном порядке.
ВАРИАНТ № 18
Дана строка символов.
1) Определить и напечатать слово, содержащее максимальное количество символов, но не содержащее букв «о».
2) Определить количество слов, длиной пять или восемь символов.
3) Определить количество символов между последним символом «%» и третьим символом «!».
4) напечатать самое длинное слово в обратном порядке.
ВАРИАНТ № 19
Дана строка символов.
1) Определить и напечатать слово, содержащее M или N символов.
2) Определить количество слов, содержащих символ «?», но не начинающихся на «о».
3) Определить количество символов между последним символом «э» и символом под номером N.
4) Определить напечатать среднее (по расположению в строке) слово в обратном порядке.
КОНТРОЛЬНЫЕ ВОПРОСЫ
Как описывается область видимости и время существования переменных?
2. Чем характеризуется строка переменной длины?
3. Чем характеризуется строка постоянной длины?
4. Какие операции можно выполнять над строками?
5. Какие действия выполняют функции Val(St) и Str(Value)?
6. Какие действия выполняют функции UCase(S) и LCase(S)?
7. Какие функции определяют позицию вхождения подстроки в строку?
СПИСОК ЛИТЕРАТУРЫ
1. Информатика: Базовый курс : учеб. пособие для студентов втузов / под ред. С. В. Симоновича. – Санкт-Петербург.: Питер, 2010. – 640 с.
2. Таганов, Л. С. Информатика [Электронный ресурс] : учеб. пособие для студентов техн. специальностей и направлений / Л. С. Таганов, А. Г. Пимонов; ГОУ ВПО «Кузбас. гос. техн. ун-т». – Кемерово, 2010. – 330 с.
3. Калабухова, Г. В. Компьютерный практикум по информатике. Офисные технологии: учеб. пособие для студентов вузов, обучающихся по направлению и специальности "Социал. работа" / Г. В. Калабухова, В. М. Титов. – Москва.: Форум, 2008. – 336 с.
СОДЕРЖАНИЕ
Лабораторная работа № 1 Основы позиционных систем счисления. 2
1. ЦЕЛЬ РАБОТЫ... 2
2. ТЕОРЕТИЧЕСКИЕ ПОЛОЖЕНИЯ.. 2
Классификация позиционных систем счисления. 2
Преобразование чисел. 4
Арифметические операции. 11
3. ПРЕДСТАВЛЕНИЕ ДАННЫХ В ПАМЯТИ ЭВМ... 13
Основные положения. 13
Прямой код. 13
Обратный код. 15
Дополнительный код. 16
Модифицированные обратный и дополнительный коды.. 17
4. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ... 18
5. СОДЕРЖАНИЕ ОТЧЕТА.. 18
6. КОНТРОЛЬНЫЕ ВОПРОСЫ... 18
7. СПИСОК ЛИТЕРАТУРЫ... 19
Лабораторная работа № 2 Работа с файлами и директориями в операционной системе MS DOS. 27
1. ЦЕЛЬ РАБОТЫ... 27
2. ТЕОРЕТИЧЕСКИЕ ПОЛОЖЕНИЯ.. 27
2.1. Основные понятия. 27
Назначение операционной системы.. 27
Понятие файла. 28
Способы обращения к файлу. 29
2.2. Характеристика MS DOS. 31
Организация доступа к файлу. 31
Модули ОС MS DOS. 33
Система прерываний. 34
Функции и назначение базовой системы ввода-вывода. 35
Функции и назначение модуля расширения BIOS. 35
Функции и назначение базового модуля. 36
Функции и назначение командного процессора. 36
Назначение загрузчика. 37
Утилиты, внешние команды и драйверы.. 37
Загрузка MS DOS в оперативную память с диска. 37
2.3. Технология работы в MS DOS. 38
Общие сведения о командах. 38
Порядок действий при выполнении команды MS DOS. 40
Команды MS DOS общего назначения. 41
Команда DIR - просмотр директории. 41
Команда MD - создание директории. 42
Команда RD - уничтожение директории. 43
Команда CD - переход в другую директорию.. 43
Основные команды для работы с файлами. 44
Команда TYPE - просмотр текстового файла. 44
Команда DEL - удаление файлов. 45
Команда COPY - копирование файлов. 46
3. ОБРАЗЕЦ ВАРИАНТА ЗАДАНИЯ.. 48
4. КОНТРОЛЬНЫЕ ВОПРОСЫ... 49
5. СПИСОК ЛИТЕРАТУРЫ... 49
Лабораторная работа № 3 Работа с макросами в табличном процессоре MS EXCEL. 50
1. ЦЕЛЬ РАБОТЫ... 50
2. ТЕОРЕТИЧЕСКИЕ ПОЛОЖЕНИЯ.. 50
Создание макросов с помощью макрорекордера. 50
Запись макроса. 51
Использование записанных макросов. 52
Имя и описание макроса. 53
Быстрый запуск макросов. 54
Запуск макроса нажатием клавиши CTRL в сочетании с клавишей быстрого вызова. 54
Запуск макроса нажатием кнопки на панели быстрого доступа. 55
Запуск макроса щелчком области графического объекта. 55
Запуск макроса кнопкой на рабочем листе. 56
Использование относительных ссылок. 57
3. ПОРЯДОК ВЫПОЛНЕНИЯ.. 58
4. ЗАДАНИЕ.. 58
5. КОНТРОЛЬНЫЕ ВОПРОСЫ... 59
6. СПИСОК ЛИТЕРАТУРЫ... 59
Лабораторная работа № 4 Массивы. Элементарные операции с матрицами 60
1. ЦЕЛЬ РАБОТЫ... 60
2. ТЕОРЕТИЧЕСКИЕ ПОЛОЖЕНИЯ.. 60
Основные положения. 60
Описание массивов. 62
Описание статических массивов. 62
Описание динамических массивов. 63
Работа с массивами. 65
Операции с матрицами. Основные виды матриц. 66
Основные операции с матрицами. 68
Ввод матриц. 68
Вывод матриц. 71
Операции над матрицами. 72
3. ПОРЯДОК ВЫПОЛНЕНИЯ.. 74
4. ЗАДАНИЕ.. 74
5. КОНТРОЛЬНЫЕ ВОПРОСЫ... 76
6. СПИСОК ЛИТЕРАТУРЫ... 77
Лабораторная работа № 5 Сортировка массивов. 78
1. ЦЕЛЬ РАБОТЫ... 78
2. ТЕОРЕТИЧЕСКИЕ ПОЛОЖЕНИЯ.. 78
Основные положения. 78
Сортировка методом прямого включения. 79
Сортировка методом прямого выбора. 81
Сортировка методом прямого обмена. 83
Сортировка бинарными включениями. 85
Шейкер – сортировка. 87
3. ПОРЯДОК ВЫПОЛНЕНИЯ.. 90
4. ЗАДАНИЕ.. 90
5. КОНТРОЛЬНЫЕ ВОПРОСЫ... 92
6. СПИСОК ЛИТЕРАТУРЫ... 92
Лабораторная работа № 6 Процедуры и функции. 93
1. ЦЕЛЬ РАБОТЫ... 93
2. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.. 93
Описание и создание процедур. 93
Классификация процедур. 94
Синтаксис процедур и функций. 95
Функции с побочным эффектом.. 99
Создание процедуры.. 100
Создание процедур обработки событий. 101
Вызовы процедур Sub. 102
Вызовы функций. 106
Использование именованных аргументов. 106
Аргументы, являющиеся массивами. 108
3. КОНТРОЛЬНЫЕ ВОПРОСЫ... 110
4. ВАРИАНТЫ ЗАДАНИЙ.. 110
5. СПИСОК ЛИТЕРАТУРЫ... 112
Лабораторная работа № 7 Работа со строковыми данными. 113
1. ЦЕЛЬ РАБОТЫ... 113
2. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.. 113
Общие положения. 113
Строковый тип данных String. 116
Работа с переменными строкового типа. Операции над строками. 117
Функции для работы со строками. 118
Сравнение строковых выражений. 118
Удаление пробелов. 118
Преобразование числа в строку. 119
Преобразование строки в число. 119
Возвращение строки, состоящей из пробелов. 120
Замена подстроки. 120
Преобразование букв строки в заглавные или строчные. 121
Определение длины строки. 122
Выделение подстроки из строки символов. 122
Определение позиции вхождения подстроки в строку. 123
Преобразование элементов массива в строку. 124
Преобразование строки в массив. 124
3. ПОРЯДОК ВЫПОЛНЕНИЯ.. 125
4. ЗАДАНИЕ.. 125
5. КОНТРОЛЬНЫЕ ВОПРОСЫ... 130
6. СПИСОК ЛИТЕРАТУРЫ... 130