Строковые константы в Pascal.

В качестве значения строковой константы может выступать любая последовательность символов. Эта последовательность заключается в апострофы. Строковая константа отличается от символьной константы тем, что здесь в качестве значения константы можно ...

Использование program, begin…end, write, readln, Uses Crt, Clrscr.

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

Abs, Sqr в Pascal.

Abs - функция языка Паскаль, которая вычисляет модуль числа.
Sqr - функция языка Паcкаль, которая возводит число в квадрат.

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

Программирование вычислительных процессов.

Решение задачи на ЭВМ — это сложный процесс, в ходе которого пользователю приходится выполнять целый ряд действий, прежде чем он получит интересующий его результат.

Итерационные циклы.

Если число повторений заранее не известно и решение о завершении цикла принимается на основе анализа некоторого условия, то такой повторяющийся вычислительный процесс называется итерационным циклом.

...

Функция 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.


Комментарии   

+12 # Saruman 02.01.2013 15:57
У меня вопрос. Как узнать, какой по счёту нужный тебе символ, если он встречается несколько раз?
+4 # 1640max 06.02.2013 12:27
Я не профи, но думаю, что надо заменять найденный символ на иной и продолжить поиск
+6 # Антон 25.02.2013 14:30
Вариант!
+13 # шваха 10.04.2014 16:05
Как и в массиве - просто в цикле перебираешь всю строку и сравниваешь с нужным тебе символом. Если хочешь все позиции данного символа "выявить", то в этом же цикле при равенстве символов в массив закидываешь номер этого символа.(если я правильно понял вопрос)
-8 # qwerty 13.09.2014 13:43
:oops:
-2 # qqqqqq 12.11.2014 10:27
Хорошо объяснили. Спасибо 8)
+1 # Сергей 06.01.2015 12:04
Спасибо
-3 # алексей 06.10.2016 12:44
скажите, а как удалить последний символ из строки, если мы заранее не знаем количество символов в ней?
-10 # Мартин 07.10.2016 13:04
Попробуй For i:=1 to 2 down to
0 # N 13.01.2017 18:41
length(a) - функция, результат которой - натуральное число, количество ситволов в строке a
-6 # ljklok 15.10.2016 05:11
:-) ;-)
-6 # bigben 17.10.2016 07:09
:lol: :-) ;-) :-| :-* :cry: :o :-? :zzz :zzz :P :P :sigh: :D
-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.
   ГлавнаяПаскальСтроки в Паскаль