Описать рекурсивную функцию letter (s), которая подсчитывает количество букв в строке - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Описать рекурсивную функцию letter(s), которая подсчитывает количество букв в строке s.
помогите пожалуйста!!!

Решение задачи: «Описать рекурсивную функцию letter (s), которая подсчитывает количество букв в строке»

textual
Листинг программы
program abc;
uses crt;
const bk=['A'..'Z','a'..'z','А'..'я','ё','Ё'];
function letters(s:string;i:integer):integer;
var k:integer;
begin
if s[i] in bk then inc(k);
if i<length(s) then k:=k+letters(s,i+1);
letters:=k;
end;
var s:string;
begin
writeln('Введите строку:');
readln(s);
write('Количество букв=',letters(s,1))
end.

Объяснение кода листинга программы

  1. Создается программа abc, которая использует библиотеку crt.
  2. В программе объявляется константа bk, которая содержит массивы символов для каждой буквы алфавита в верхнем и нижнем регистре, а также для кириллицы и знаков препинания.
  3. Затем объявляется функция letters, которая принимает два аргумента: строку s и целое число i.
  4. Внутри функции проверяется, является ли символ в строке s в массиве bk. Если да, то увеличивается счетчик k.
  5. Если i меньше длины строки s, то вызывается рекурсивно функция letters для следующего символа в строке. Значение k обновляется в соответствии с результатом рекурсивного вызова.
  6. Наконец, значение letters присваивается переменной k.
  7. В основной части программы считывается строка от пользователя с помощью функции readln.
  8. Выводится сообщение, содержащее количество букв в строке s, используя функцию letters.
  9. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.4 из 5
Похожие ответы