Реализовать функции Copy и Pos - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

А) Выделения подстроки и заданной строки(copy) b) определения, выходит ли указанная подстрока в заданную строку (pos) В основной программе организуйте вызов этих функций со своими параметрами

Решение задачи: «Реализовать функции Copy и Pos»

textual
Листинг программы
  1. function MyCopy(st:string;p,d:byte):string;
  2. var n,i:byte;
  3.     ps:string;
  4. begin
  5. n:=ord(st[0]);
  6. if p>n then ps:=''
  7. else
  8.  begin
  9.   ps:='';
  10.   i:=p;
  11.   while (i<=p+d-1)and(i<=n) do
  12.    begin
  13.     ps:=ps+st[i];
  14.     i:=i+1;
  15.    end;
  16.  end;
  17. MyCopy:=ps;
  18. end;
  19. var s:string;
  20.     p,d:byte;
  21. begin
  22. writeln('Строка:');
  23. readln(s);
  24. write('Начало копирования p=');
  25. readln(p);
  26. write('Количество символов d=');
  27. readln(d);
  28. if MyCopy(s,p,d)='' then write('Пустая строка')
  29. else write(MyCopy(s,p,d));
  30. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы