Задание: разработайте приложение, которое проверяет, является ли введенное слово палиндромом (т.е. словом, которое читается одинаково и слева направо, и справа налево).
Ход работы
Рис. 36. Конструктор формы
1 Создайте новый проект.
2 Сначала разработаем функцию, которая будет менять местами символы в данной строке S симметрично относительно ее середины (например, значением функции для строки «МАМА» и номером символа 2 будет строка «ММАА»),
3 Назовем эту функцию Переставить и опишем ее следующим образом:
Private Function Переставить(s As String, n As Integer) As String
Dim x As String * 1
Dim y As String * 1
x = Mid$(s, n, 1)
y = Mid$(s, Len(s) - n + 1, 1)
Mid$(s, n, 1) = y
Mid$(s, Len(s) - n + 1, 1) = x
Переставить = s
End Function
Для получения новой
строки в данной функции меняются символы с номерами n и .
4 Теперь создадим функцию Палиндром, которая из заданной строки S получает ее симметричную копию, например, из строки МАМА получится AMAМ:
Private Function Палиндром(s As String) As String
Dim i As Integer
For i = 1 To Len(s) / 2
s = Переставить(s, i)
Next i
Палиндром = s
End Function
5 Расположите элементы управления на новой форме, как показано на рис. 36.
Рис. 37
6 Запрограммируйте кнопку cmdПроверка следующим образом:
Private Sub cmdПроверка_Click()
If txtСлово = Палиндром(txtСлово) Then
lblРезультат = "Введенное слово - палиндром!"
Else
lblРезультат = "Введенное слово - не палиндром!"
End If
End Sub
7 Запустите и отладьте приложение. Сохраните его.
Дополнительное задание
Переместите описание функций Переставить и Палиндром в стандартный модуль. Посмотрите, как изменится код модуля формы.
Контрольные задания
Разработайте приложение, которое
1) выясняет: верно ли, что в данной строке имеются все буквы, входящие во введенное слово;
2) заменяет во введенной строке все малые буквы одноименными большими;
3) находит последнее слово, начинающееся с буквы а;
4) подсчитывает количество слов во введенной строке;
5) находит количество слов, начинающихся с буквы б;
6) находит количество слов, у которых первый и последний символы совпадают между собой;
7) подсчитывает количество букв а в последнем слове введенной строки;
8) находит длину самого короткого слова;
9) находит длину самого длинного слова;
10) удаляет все символы, не являющиеся буквами или цифрами, и заменяет каждую большую одноименной малой.
Вопросы для самоконтроля
1 В чем разница между операторами Private и Public?
2 Заголовок некой функции описан с помощью оператора:
Private Удалить(a As Integer, b As String) As Long
Верно ли произведен вызов функции в следующем примере:
F = Удалить( 2, проба) ?
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.