Задача:
Создайте функцию, которая принимает строку и возвращает количество символов в ней без учета пробелов. Pascal.
План:
- Алгоритм решения
- Код программы
- Примеры входных данных и ожидаемых результатов
- Объяснение кода программы
- Блок-схема
Алгоритм решения:
-
Определение функции
CountNonSpaceChars
:- Принимает строку
s
в качестве параметра - Инициализирует переменную
count
значением 0
- Принимает строку
-
Цикл по символам строки:
- Проходит по каждому символу строки от 1 до длины строки
- Если текущий символ не является пробелом:
- Увеличивает
count
на 1
- Увеличивает
-
Возвращает значение
count
-
В основной программе:
- Запрашивает ввод строки у пользователя
- Вызывает функцию
CountNonSpaceChars
с введенной строкой - Выводит результат (количество символов без учета пробелов)
Код программы на языке Pascal:
Код Pascal
function CountNonSpaceChars(s: string): integer;
var
i, count: integer;
begin
count := 0;
for i := 1 to Length(s) do
if s[i] <> ' ' then
count := count + 1;
CountNonSpaceChars := count;
end;
var
input: string;
result: integer;
begin
Write('Enter a string: ');
ReadLn(input);
result := CountNonSpaceChars(input);
WriteLn('Number of non-space characters: ', result);
end.
Примеры входных данных и ожидаемых результатов:
Пример 1:
Вход: "Hello World"
Ожидаемый результат: 10
Пример 2:
Вход: "Programming is fun!"
Ожидаемый результат: 18
Пример 3:
Вход: " Spaces at edges "
Ожидаемый результат: 15
Пример 4:
Вход: "NoSpacesAtAll"
Ожидаемый результат: 13
Пример 5:
Вход: " "
Ожидаемый результат: 0
Пример 6:
Вход: "123 456 789"
Ожидаемый результат: 9
Пример 7:
Вход: "Special@#$%^&*()Characters!"
Ожидаемый результат: 26
Объяснение кода программы:
-
Объявление функции:
Объявляется функцияfunction CountNonSpaceChars(s: string): integer;
CountNonSpaceChars
, которая принимает строкуs
и возвращает целое число. -
Объявление локальных переменных:
Объявляются две целочисленные переменные:var i, count: integer;
i
для итерации иcount
для подсчета символов. -
Инициализация счетчика:
Счетчикcount := 0;
count
инициализируется нулем. -
Цикл для перебора символов:
Запускается цикл, который перебирает все символы строки от 1 до длины строки.for i := 1 to Length(s) do
-
Проверка символа на пробел:
Проверяется, не является ли текущий символ пробелом.if s[i] <> ' ' then
-
Увеличение счетчика:
Если символ не пробел, счетчик увеличивается на 1.count := count + 1;
-
Возврат результата:
Функция возвращает итоговое значение счетчика.CountNonSpaceChars := count;
-
Объявление переменных в основной программе:
Объявляются переменные для ввода строки и хранения результата.var input: string; result: integer;
-
Ввод строки:
Выводится приглашение и считывается введенная пользователем строка.Write('Enter a string: '); ReadLn(input);
-
Вызов функции:
Вызывается функцияresult := CountNonSpaceChars(input);
CountNonSpaceChars
с введенной строкой, результат сохраняется вresult
. -
Вывод результата:
Выводится количество символов без учета пробелов.WriteLn('Number of non-space characters: ', result);