Реализовать функции 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.

Объяснение кода листинга программы

  1. Функция MyCopy принимает три параметра: st (строка, которую нужно скопировать), p (начало области для копирования) и d (количество символов для копирования).
  2. Переменная n и i инициализируются значением первого символа строки st и проверяется, превышает ли значение переменной p значение n. Если да, то переменная ps устанавливается в пустую строку. Если нет, то переменная ps устанавливается в пустую строку, а i устанавливается равным p.
  3. Затем в цикле while выполняются следующие действия: переменная ps увеличивается на текущий символ st[i], и i увеличивается на 1. Цикл продолжается до тех пор, пока i меньше или равно p+d-1 и i меньше или равно n.
  4. По окончании цикла переменная ps возвращается из функции MyCopy.
  5. Основная программа считывает строку, начало копирования и количество символов для копирования. Если функция MyCopy возвращает пустую строку, выводится сообщение Пустая строка. В противном случае выводится результат функции MyCopy.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5
Похожие ответы