Хелпикс

Главная

Контакты

Случайная статья





Операции с строками. Основные задачи.



Операции с строками. Основные задачи.

Всё переписать, по возможности проверить в среде программирования PascalABCnet, отправить фотоотчёт на e-mail: sanina_e_v@mail.ru или

viber (whatsApp): 89198240636

Среду программирования можно скачать с Гугл-диска:

https://drive.google.com/drive/folders/1bEwPZTlZniydF4EsYmlpklyJrbGsN00t?usp=sharing


Выбирайте версию PascalABCNET-win32.exe (для 32-bit операционной системы, в основном XP и нетбуки) и PascalABCNET-win64.exe (для 64-bit операционной системы)

1) Вставка подстроки

Задача:

Вставить в заданную позицию строки другую строку.

Описание переменных:

s1, s2 – строки;
i – позиция вставки.

Алгоритм решения задачи:

1. Определить значения s1, s2 и i.

2. С помощью процедуры insert()вставить s2 в s1, начиная с позиции i.

program vstpod;

var

s1,s2: string;

i: byte;

begin

write('Введите первую строку: ');

readln(s1);

write('Введите вторую строку: ');

readln(s2);

write('Введите позицию вставки второй строки в первую: ');

readln(i);

insert(s2,s1,i);

writeln(s1);

end.


 

 

2) Замена подстроки в строке:

Задача:

Найти в строке определенную последовательность символов и заменить ее другой.

Описание переменных:

s, s_old, s_new – исходная строка, заменяемая подстрока, вставляемая подстрока;
i – номер символа строки, с которого начинается подстрока;
l_old – длина заменяемой подстроки.

Алгоритм решения задачи:

1. Ввести строку, подстроку, которую требуется заменить, и подстроку, которую требуется вставить на место прежней.

2. Найти место вхождения подстроки в строку с помощью функции pos().

3. Удалить старую подстроку с помощью процедуры delete().

4. Вставить новую подстроку, используя процедуру insert().

programzampvstr;

var

   s,s_old,s_new: string;

i,l_old: byte;

begin

   write('Введите строку: ');

readln(s);

write('Что заменить в строке? ');

readln(s_old);

l_old := length(s_old);

write('На что заменить? ');

readln(s_new);

i := pos(s_old,s);

delete(s,i,l_old);

insert(s_new,s,i);

writeln(s);

 

end.

3) Копирование части строки:

Задача:

Скопировать часть строки с определенной позиции и определенной длины в другую строку.

Описание переменных:

s1, s2 – первая и вторая строка;
n – позиция, с которой будет копироваться строка;
len – длина копируемой части строки.

Алгоритм решения задачи:

1. Записать в переменную s1 исходную строку.

2. Узнать начало второй строки и ее длину.

3. Присвоить s2 результат выполнения функции copy().

 

programcopystr;

var

   s1,s2: string;

n,len: byte;

begin

   write('Введите строку: ');

readln(s1);

write('Выберите позицию начала копирования: ');

read(n);

write('Длина копируемой части строки: ');

readln(len);

s2 := copy(s1,n,len);

writeln('Ваша копия: ',s2);

 

end.
Определение длины строки:

Задача:

Определить длину строки, введенной пользователем.

Описание переменных:

s – строка;
len – ее длина.

Алгоритм решения задачи:

1. Введенная пользователем строка записывается в переменную s.

2. Результат выполнения функции length(s) сохраняется в переменной len и, затем, выводится на экран.

programdlnstr;

var

   s: string;

len: byte;

begin

   write('Введите строку: ');

readln(s);

len := length(s);

writeln('Длина этой строки ', len,' символов.');

end.
Удаление подстроки:

Задача:

Удалить из строки ее часть с заданной позиции и заданной длины.

Описание переменных:

s – строка;
i – номер символа в строке, начиная с которого будет осуществляться удаление;
len – длина удаляемой последовательности символов.

Алгоритм решения задачи:

1. Присвоить переменной s произвольную строку.

2. Записать в i и len первый символ, с которого будет производиться удаление, и длину удаляемой последовательности.

3. Применить процедуру delete() к строке s.

4. Вывести на экран строку s.

programydpodstr;

var

   s: string;

i,len: byte;

begin

   write('Введите строку: ');

readln(s);

write('Выберите позицию, с которой нужно удалить часть: ');

readln(i);

write('Укажите длину удаляемого фрагмента: ');

readln(len);

delete(s,i,len);

writeln(s);

end.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.