Реализовать функции 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д