3. Space(количество_символов) – возвращает строку пробелов длины количество_символов.

4. Mid(string, start[, length]) – возвращает подстроку строки, содержащую указанное число символов исходной строки, например, Mid(“программирование”,4,4)=” грам”.

5. InStr([start, ] string1, string2[, compare]) – возвращает позицию первого вхождения одной строки внутри другой строки, например, k = InStr(1, “XXpXXpXXPXXP”, "W") возвращает 0, т.к. символа "W" нет в строке “XXpXXpXXPXXP”.

 

Private Sub Шифрование()

Const АБВ As String = ''абвгдежзийклмнопрстуфхцчшщъыьэюя''

Const НовАБВ As String = "яюэьыъщшчцхфутсрпонмлкйизжедгвба"

Dim STR As String, STRS As String Dim n As Long

STR = "Простая замена один из самых древних шифров "

STR = LCase(STR) 'преобразуем все символы в строчные

n = Len(STR) 'находим длину строки

STRS = Space(n) 'организуем строку пробелов длины n

For i = 1 To n tmp = Mid(STR, i, 1) 'по одному символу «отрываем» от строки

STR k = InStr(1, АБВ, tmp) 'находим позицию вхождения символа

If k = 0 Then

Mid(STRS, i, 1) = tmp

Else Mid(STRS, i, 1) = Mid(НовАБВ, k, 1)

End If

Next i

Msgbox STRS

End Sub

 

Задача 26. Гласные буквы русского алфавита не изменяются. Первый десяток согласных заменяется на второй десяток согласных (второй - на первый) по следующей таблице:

Б В Г Д Ж З К Л М Н
Щ Ш Ч Ц Х Ф Т С Р П

Решение. Исходными данными задачи является строка произвольной длины. Кроме этого, можно определить две строки-алфавита, состоящие из согласных букв “бвгджзклмнщшчцхфтсрп” и “щшчцхфтсрпбвгджзклмн”. Если в тексте встречается буква из первой строки, то она заменяется на букву с таким же номером из второй строки-алфавита.

 

Private Sub Гласные()

Dim tmp As String, Alf1 As String, Alf2 As String Dim a As String, b As String

a = InputBox(''Введите исходную строку символов'')

Alf1 = ''бвгджзклмнщшчцхфтсрп''

Alf2 = ''щшчцхфтсрпбвгджзклмн''

n = Len(a)

b = Space(n)

For i = 1 To n

tmp = Mid(a, i, 1)

k = InStr(1, Alf1, tmp)

If k = 0 Then

Mid(b, i, 1) = tmp

Else Mid(b, i, 1) = Mid(Alf2, k, 1)

End If

Next i

MsgBox b

End Sub

 

Задачи для самостоятельной работы:

1. Для любого введенного предложения заменить слоги «ма» на слоги «ле».

2. Посчитать количество слов «кот» в предложении, вводимом с клавиатуры. Разделителем слов считать пробелы и запятые.

3. Поменять местами первое и последнее слово в предложении, разделителем слов считать пробел.

4. Образовать по заданному слову слово-перевертыш, в котором все буквы идут в обратном порядке.