Реализовать функции Copy и Pos - Pascal ABC
Формулировка задачи:
А) Выделения подстроки и заданной строки(copy)
b) определения, выходит ли указанная подстрока в заданную строку (pos)
В основной программе организуйте вызов этих функций со своими параметрами
Решение задачи: «Реализовать функции Copy и Pos»
textual
Листинг программы
function MyCopy(st:string;p,d:byte):string; var n,i:byte; ps:string; begin n:=ord(st[0]); if p>n then ps:='' else begin ps:=''; i:=p; while (i<=p+d-1)and(i<=n) do begin ps:=ps+st[i]; i:=i+1; end; end; MyCopy:=ps; end; var s:string; p,d:byte; begin writeln('Строка:'); readln(s); write('Начало копирования p='); readln(p); write('Количество символов d='); readln(d); if MyCopy(s,p,d)='' then write('Пустая строка') else write(MyCopy(s,p,d)); end.
Объяснение кода листинга программы
- Функция MyCopy принимает три параметра: st (строка, которую нужно скопировать), p (начало области для копирования) и d (количество символов для копирования).
- Переменная n и i инициализируются значением первого символа строки st и проверяется, превышает ли значение переменной p значение n. Если да, то переменная ps устанавливается в пустую строку. Если нет, то переменная ps устанавливается в пустую строку, а i устанавливается равным p.
- Затем в цикле while выполняются следующие действия: переменная ps увеличивается на текущий символ st[i], и i увеличивается на 1. Цикл продолжается до тех пор, пока i меньше или равно p+d-1 и i меньше или равно n.
- По окончании цикла переменная ps возвращается из функции MyCopy.
- Основная программа считывает строку, начало копирования и количество символов для копирования. Если функция MyCopy возвращает пустую строку, выводится сообщение
Пустая строка
. В противном случае выводится результат функции MyCopy.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д