Функция для поиска буквы в строке - Pascal
Формулировка задачи:
Задача:
Напишите функцию для поиска буквы в заданной строке.Функция возвращает True, если в строке есть хоть одна эта буква , и False в противном случаи.
Написал программу, но учитель по информатике сказал, что программа очень сложна и не надежна.
Вопрос: Как сделать программу проще и надежнее???
function find(arg: string; ch: char): boolean; var i, n: integer; begin n := 0; for i := 1 to length(arg) do if arg[i] = ch then n := n + 1; if n > 0 then find := true else find := false; end; var s: string; ch1: char; begin writeln('Введите строку'); readln(s); writeln('Введите буквy,наличие которой нужно проверить'); readln(ch1); writeln(find(s, ch1)); end.
Решение задачи: «Функция для поиска буквы в строке»
textual
Листинг программы
function find(arg: string; ch: char): boolean; begin find:=pos(ch,arg)>0; end;
Объяснение кода листинга программы
- Функция называется
find
и принимает два аргумента:arg
(строка) иch
(символ). - Функция возвращает логическое значение (boolean), указывающее, найден ли символ
ch
в строкеarg
. - Внутренний процесс функции осуществляется с помощью функции
pos
, которая возвращает позицию символаch
в строкеarg
. Если символ найден, тоpos
возвращает положительное число, большее нуля, иначе возвращается ноль. - Значение
pos
присваивается переменнойfind
, которая используется для определения результата функции. - Код завершается, когда функция
find
вызывается с аргументамиarg
иch
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д