Функции LENGTH и CONCAT.

Функция Length возвращает в качестве значения длину строки. Например, если в строковой переменной «stroka» записано слово «Pascal», то Length(stroka) будет равно 6. Эта операция аналогична операции Ord(stroka[0]), которую мы разбирали в 1-м уроке. ...

Ввод логических переменных с клавиатуры.

В отличие от переменных целого, вещественного или символьного типов данных, булевские переменные нельзя вводить с клавиатуры, их можно только выводить на экран. Однако можно использовать небольшую хитрость. Для того чтобы можно было ввести булевскую ...

Применение логических операций с оператором IF.

В данном уроке мы рассмотрим применение логической операции And с условным оператором If.

Циклы и массивы

Линейные процессы вычислений.

Простейший алгоритм представляет собой цепочку блоков (операторов) от начального блока до конечного. Каждый блок должен быть выполнен один единственный раз. Это линейный алгоритм. Он отражает ...

Тип данных Real.

Тип REAL (вещественный). Число типа REAL занимает три слова (шесть байтов). При работе с вещественными числами нужно помнить, что на любом отрезке вещественной оси существует бесчисленное множество ...

Функция Copy позволяет копировать из строки часть символов. Функция имеет 3 параметра. Copy (st, index, count). St-строка из которой копируют, Index-номер символа, с которого начинается копирование, Count-количество символов, которое будет скопировано.
Процедура Delete удаляет часть символов из строки. Процедура имеет 3 параметра. Delete (st, index, count). St-строка, из которой будут удалены символы, Index-номер символа, с которого начинается удаление, Count-количество символов, подлежащих удалению.
Процедура Insert позволяет вставлять символы в строку. Процедура имеет 3 параметра. Insert (subst, st, index). Subst-подстрока, которую необходимо вставить, St-строка, в которую вставляется подстрока, Index-номер элемента, с которого начинается вставка.
Функция Pos отыскивает в строке первое вхождение подстроки и возвращает в качестве значения номер элемента, с которого начинается вхождение. Функция имеет 2 параметра. Pos (subst, st). Subst-подстрока, St-строка.

Использование функции COPY, процедуры DELETE.


program string5;
uses crt;
var stroka1,stroka2:string;
begin
clrscr;
stroka1:='Programmirovanie ';
stroka2:=copy(stroka1,3,10);
writeln(stroka2);
delete(stroka1,3,10);
writeln(stroka1);
readln
end.

Строка №6. Записываем в переменную «stroka1» слово «Programmirovanie».

Строка №7. В переменную «stroka2» записываем значение функции Copy. В результате работы этой функции из переменной «stroka1» (слова «Programmirovanie») будет скопировано 10 символов, начиная с 3-го символа.

Строка №9. Процедура Delete удалит из слова «Programmirovanie» 10 символов, начиная с 3-го.

funkciya COPY, procedura DELETE

funkciya COPY, procedura DELETE.


Использование функции POS, процедуры INSERT.



program string6;
uses crt;
var stroka1,stroka2:string;
nomer:integer;
begin
clrscr;
stroka1:='Programmirovanie ';
stroka2:='PASCAL';
insert(stroka2,stroka1,8);
writeln(stroka1);
nomer:=pos('S',stroka1);
writeln(nomer);
readln
end.


Строка №9. Процедура Insert позволяет вставить в строку другую строку. В нашем случае в слово «Programmirovanie» вставляется слово «PASCAL», начиная с 8-го символа.
Строка №11. В переменную «nomer» записывается значение функции Pos. Переменная «stroka1» содержит слово «ProgramPASCALmirovanie». Буква «S» является 10-й по счету. Соответственно в переменную «nomer» будет записано число 10.

funkciya POS, procedura INSERT

funkciya POS, procedura INSERT.


Предыдущая статья : Функции LENGTH и CONCAT.

Оглавление : Уроки Паскаль. Строки.

Следующая статья : Процедуры STR и VAL.


Комментарии  

 
+11 # Saruman 02.01.2013 15:57
У меня вопрос. Как узнать, какой по счёту нужный тебе символ, если он встречается несколько раз?
 
 
+2 # 1640max 06.02.2013 12:27
Я не профи, но думаю, что надо заменять найденный символ на иной и продолжить поиск
 
 
+2 # Антон 25.02.2013 14:30
Вариант!
 
 
+9 # шваха 10.04.2014 16:05
Как и в массиве - просто в цикле перебираешь всю строку и сравниваешь с нужным тебе символом. Если хочешь все позиции данного символа "выявить", то в этом же цикле при равенстве символов в массив закидываешь номер этого символа.(если я правильно понял вопрос)
 
 
-3 # qwerty 13.09.2014 13:43
:oops:
 
 
-2 # qqqqqq 12.11.2014 10:27
Хорошо объяснили. Спасибо 8)
 
 
+2 # Сергей 06.01.2015 12:04
Спасибо
 
 
-1 # Мари 13.12.2016 20:10
А в Vba какая есть функция ,которая такая же , как Copy в Паскале ?
 
 
-1 # Павел Дмитриевич 17.12.2016 22:55
С функцией POS не получается...
Вылетает ошибка: "Ожидалась переменная"
 
 
-1 # Dj 14.03.2017 16:58
Даны 2 строки вывести все символы которые есть в s1 и которых нет в s2
 
 
-1 # aijamal 10.04.2017 12:28
Составить и записать программу используя "Insert"
 
 
0 # Casil 16.03.2018 13:21
var
s,s_old,s_new: string;
i,l_old: byte;
begin
write('Insert string: ');
readln(s);
write('What change? ');
readln(s_old);
l_old := length(s_old);
write('What to replace? ');
readln(s_new);
i := pos(s_old,s);
delete(s,i,l_ol d);
insert(s_new,s, i);
writeln(s);
readln
end.
 
   ГлавнаяПаскальСтроки в ПаскальПроцедуры STR и VAL.