<?xml version="1.0" encoding="UTF-8"?>
<module name="Строки">
    <alg name="замена">
    <description>
    Меняет в строке <arg id="1">СТРОКА</arg> подстроку <arg id="2">ПОДСТРОКА</arg> на <arg id="3">ФРАГМЕНТ</arg>.
 Если <arg id="4">все</arg>=<arg>Да</arg>, то меняет все вхождения подстроки.
 Если <arg id="4">все</arg>=<arg>Нет</arg>, то меняет только первое вхождения подстроки.
    </description>
     <example>
      использовать Строки
алг
нач
. лит СТРОКА, ПОДСТРОКА, ФРАГМЕНТ
. лит СТРОКА1, СТРОКА2
. СТРОКА:="мама мыла раму (-) раму мыла мама."
. ПОДСТРОКА:="раму"
. ФРАГМЕНТ:="окно"
. СТРОКА1:=замена(СТРОКА,ПОДСТРОКА, ФРАГМЕНТ, да)
. вывод СТРОКА1, нс
. СТРОКА2:=замена(СТРОКА,ПОДСТРОКА, ФРАГМЕНТ, нет)
. вывод СТРОКА2, нс
кон
    </example>
      </alg>
       <alg name="нижний регистр">
    <description>
    Все символы строки <arg id="1">СТРОКА</arg> переводятся в нижний регистр. (Нужно аккуратно работать  с русскими буквами – зависит от кодировки)
     </description>
      </alg>
      <alg name="верхний регистр">
    <description>
    Все символы строки <arg id="1">СТРОКА</arg> переводятся в верхний регистр. (Нужно аккуратно работать  с русскими буквами – зависит от кодировки)
    </description>
      </alg>
       <alg name="найти">
    <description>
    	  Возвращает позицию первого символа подстроки <arg id="1">ПОДСТРОКА</arg> в строке <arg id="2">СТРОКА</arg> .
    	  Если подстрока не найдена, то возвращает -1
      </description>
    <example>
      использовать Строки
 алг 
нач
. цел а
. лит СТРОКА, ПОДСТРОКА
. СТРОКА:="мама мыла раму (-) раму мыла мама."
. ПОДСТРОКА:="(-)"
. а:=найти(ПОДСТРОКА, СТРОКА)
. вывод а, нс
кон
    </example>
      </alg>
    <alg name="удалить">
    <description>
    	  Удалить  <arg id="3">Н</arg> символов из строки <arg id="1">СТРОКА </arg>, начиная с номера <arg id="2">ОТ</arg>.
 Если строка закончилась раньше, то удаляется все до конца строки.
     </description>
     <example>
      использовать Строки
алг
нач
. цел а, н
. лит СТРОКА, СТРОКА1
. СТРОКА:="мама мыла раму (-) раму мыла мама."
. н:=3
. а:=16
. СТРОКА1:=удалить(СТРОКА,а,н)
. вывод СТРОКА1, нс
кон
    </example>
     </alg>
    <alg name="найти после">
    <description>
    Возвращает позицию первого символа подстроки <arg id="2">ПОДСТРОКА</arg> в строке <arg id="3">СТРОКА</arg>,
 начинает искать после позиции <arg id="1">ОТ</arg>.
 Частный случай – если искать с первой позиции, то <arg id="1">ОТ</arg>=0.
 Если подстрока не найдена, то возвращает -1
    </description>
    <example>
      использовать Строки
алг
нач
. цел а, н
. лит СТРОКА, ПОДСТРОКА
. СТРОКА:="мама мыла раму (-) раму мыла мама."
. ПОДСТРОКА:="мама"
. а:=3
. н:=найти после(а, ПОДСТРОКА,СТРОКА)
. вывод н, нс
кон
    </example>
      </alg>
      <alg name="вставить">
    <description>
    В строку <arg id="2">СТРОКА</arg> вставить новый фрагмент <arg id="1">ПОДСТРОКА</arg>, начиная с символа с номером <arg id="3">ОТ</arg> (старый символ с номером <arg id="3">ОТ</arg> смещается вправо).
<ul>
 <li>Если <arg id="3">ОТ</arg> &gt; длин(<arg>СТРОКА</arg>), фрагмент добавляется в конец строки.</li>
 <li>Если <arg id="3">ОТ</arg> &lt; 1 выдается ошибка выполнения.</li>
</ul>
     </description>
   <example>
      использовать Строки
алг
нач
. лит СТРОКА, ПОДСТРОКА1, ПОДСТРОКА2
. лит СТРОКА1
. СТРОКА:="мама мыла раму (-) раму мыла мама"
. ПОДСТРОКА1:="Предложение: "
. ПОДСТРОКА2:=", взято из Букваря"
. СТРОКА1:=вставить(ПОДСТРОКА2,СТРОКА, 100)
. вывод СТРОКА1, нс
. СТРОКА1:=вставить(ПОДСТРОКА1,СТРОКА1, 1)
. вывод СТРОКА1, нс
кон

    </example>
      </alg>
     
</module>