Составьте программу подсчета гласных букв слова x, что используются при написании слова z - QBasic
Формулировка задачи:
Помогите решить задачку)
2. Составьте программу подсчета гласных букв слова x, что используются при написании слова z.
Заранее спасибо.
Решение задачи: «Составьте программу подсчета гласных букв слова x, что используются при написании слова z»
textual
Листинг программы
DEFSTR S, X-Z DEFINT I-L CLS DEF fnx (s2, s1) DO j = INSTR(s2, s1) IF j > 0 THEN MID$(s2, j, 1) = "0" LOOP UNTIL j = 0 fnx = s2 END DEF DEF fns (s) SELECT CASE s CASE "*", "Ґ", "с", "Ё", "®", "г", "л", "н", "о", "п" fns = "Yes" CASE ELSE fns = "No" END SELECT END DEF DEF fni (s2, s1) l = 0 DO j = INSTR(s2, s1) IF j > 0 THEN l = l + 1 MID$(s2, j, 1) = "0" ELSE EXIT DO END IF LOOP fni = l END DEF INPUT "Z = "; z INPUT "X = "; x k = 0 FOR i = 1 TO LEN(z) s1 = MID$(z, i, 1) IF fns(s1) = "Yes" THEN k = k + fni(x, s1) z = fnx(z, s1) END IF NEXT i PRINT "K = "; k END
Объяснение кода листинга программы
Список действий, которые выполняются в коде:
- Определение пользовательских функций
fnxиfns, а также переменныхI-LиS-Z. - Функция
fnxзаменяет первое вхождение подстрокиs1в строкеs2на0. - Функция
fnsпроверяет, является ли символsгласным (если символ равен*,Ґ,с,Ё,®,г,л,н,о,п, тоfnsвозвращаетYes, иначеNo). - Функция
fniсчитает количество вхождений подстрокиs1в строкеs2и заменяет каждый гласный символ вs2на0. - Ввод строк
zиxс помощью функцииINPUT. - Переменная
kинициализируется нулем. - Цикл
FORпроходит по каждому символу строкиz. - Для каждого символа
s1проверяется, является ли он гласным с помощью функцииfns. - Если символ
s1является гласным, то к переменнойkдобавляется количество вхождений подстрокиs1вx(функцияfni). - Строка
zзаменяется наfnxс помощью функцииfnx. - После завершения цикла выводится значение переменной
k.