Задача:
Создайте функцию, которая принимает строку и возвращает количество гласных букв в ней. Free Pascal.
План:
- Алгоритм решения
- Код программы
- Примеры входных данных и ожидаемых результатов
- Объяснение кода программы
- Блок-схема
Алгоритм решения:
-
Определение функции
CountVowels
:- Принимает строку
str
в качестве входного параметра - Возвращает целое число (количество гласных)
- Принимает строку
-
Инициализация:
- Создание множества
vowels
, содержащего все гласные буквы (в нижнем и верхнем регистре) - Инициализация переменной
Result
(результат) нулем
- Создание множества
-
Подсчет гласных:
- Цикл
for
проходит по каждому символу входной строки - Проверка каждого символа на принадлежность к множеству
vowels
- Если символ является гласной, увеличение
Result
на 1
- Цикл
-
Возврат результата:
- Функция возвращает значение
Result
- Функция возвращает значение
-
Основная программа:
- Запрос ввода строки от пользователя
- Вызов функции
CountVowels
с введенной строкой - Вывод количества гласных на экран
Код программы на языке Free Pascal:
Код Free Pascal
function CountVowels(str: string): integer;
var
i: integer;
vowels: set of char;
begin
vowels := ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'];
Result := 0;
for i := 1 to Length(str) do
begin
if str[i] in vowels then
Inc(Result);
end;
end;
var
input: string;
vowelCount: integer;
begin
Write('Enter a string: ');
ReadLn(input);
vowelCount := CountVowels(input);
WriteLn('Number of vowels: ', vowelCount);
end.
Примеры входных данных и ожидаемых результатов:
Input: "Hello World"
Output: Number of vowels: 3
Input: "Programming is fun"
Output: Number of vowels: 5
Input: "aEiOu"
Output: Number of vowels: 5
Input: "RHYTHM"
Output: Number of vowels: 0
Input: "The quick brown fox jumps over the lazy dog"
Output: Number of vowels: 11
Input: "1234567890"
Output: Number of vowels: 0
Input: "AaEeIiOoUu"
Output: Number of vowels: 10
Объяснение кода программы:
-
Объявление функции:
Определяется функцияfunction CountVowels(str: string): integer;
CountVowels
, которая принимает строкуstr
и возвращает целое число (количество гласных). -
Объявление переменных:
Объявляются локальные переменные:var i: integer; vowels: set of char;
i
для итерации иvowels
как множество символов для хранения гласных букв. -
Инициализация множества гласных:
Множествоvowels := ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'];
vowels
заполняется гласными буквами в нижнем и верхнем регистрах. -
Инициализация результата:
ПеременнаяResult := 0;
Result
(неявно объявленная в функции) инициализируется нулем. -
Цикл подсчета гласных:
Цикл проходит по каждому символу строки. Если символ находится в множествеfor i := 1 to Length(str) do begin if str[i] in vowels then Inc(Result); end;
vowels
, счетчикResult
увеличивается на 1. -
Объявление переменных в основной программе:
Объявляются переменные для хранения введенной строки и количества гласных.var input: string; vowelCount: integer;
-
Ввод строки:
Выводится приглашение и считывается строка от пользователя.Write('Enter a string: '); ReadLn(input);
-
Вызов функции и вывод результата:
Вызывается функцияvowelCount := CountVowels(input); WriteLn('Number of vowels: ', vowelCount);
CountVowels
с введенной строкой, и результат выводится на экран.