Строковые величины.
Строковыми называют константы и переменные, значением которых служит
набор символов, заключенный в апострофы, обозначающие начало и конец набора
(сами апострофы в состав набора не входят). Например, ‘информатика’. Строковые константы и переменные имеют тип string.
Формат этого типа данных:
string[n]
Где n – число из диапазона от 0 до 255.
В разделе описания программы строковых переменных, их тип задается
обязательно. Например:
Var b:string[20];
Здесь число 20 указывает на количество символов в строковой переменной b.
Если вы укажете в описании переменной длину меньшую, чем следует, то
потеряете часть символов. Указание на длину строки можно опустить, но тогда для
записи значения этой строки в памяти ЭВМ будет резервироваться место на максимально
возможную длину строки, то есть 255 символов – это не всегда рационально.
Для обработки строковых величин в Турбо Паскале существуют специальные
процедуры и функции:
1.
length(a) – значением функции является длина строковой величины а. Например: length(‘информатика’); результат: 11.
2.
Сopy(a,m,n) – значением функции является вырезка из
строки ее фрагмента (функция вырезки).
Где а – строковая величина;
m – номер символа в строке с которого начинается
вырезка;
n – количество вырезаемых символов.
Например:
b:=Сopy(‘информатика’,6,3);
результат: b= ‘мат’.
Или:
а:= ‘информатика’
b:=Сopy(а,6,3);
результат: b= ‘мат’.
3.
Delete(a,m,n) – данная процедура удаляет символы из строки.
Где a - строковая величина;
m - номер символа в строке с которого
начинается удаление;
n - количество удаляемых символов.
Например:
а:=’информатика’;
Delete(а,7,5);
результат a= ‘информ’.
4.
Insert(s1,s2,n)
– данная команда добавляет
подстроку s1 в строку s2.
n-позиция в строке s2, куда
вставляется подстрока s1. Например:
s2:=’информатика’;
insert(‘- это наука’,s2,12);
результат: s2=’информатика-это наука’
5.
Concat(a1,a2,…an) – соединение строк.
Где а1, а2,… an соединяемые строки.
Операцию соединения строк можно упростить: а1 + а2 +…+ an.
Например:
b:=’Знания’ + ’-’ + ’сила!’; результат b=’Знания-сила!’.
6.
Str(x,a) – заданное числовое значение преобразуется в строку символов.
Где х – преобразуемое число;
а –
переменная, которой присваивается значение получаемой строки.
Например:
х:=1024;
b:= Str(x,a);
результат а=’1024’
7.
Val(x,a,code) – преобразование величины строкового типа в числовой.
Где x – строка символов, состоящая из цифр;
a - переменная, которой присваивается значение
получаемого числа.
Переменная code
(должна быть описана как integer) хранит код возможной ошибки.
Например:
х:=’1024’;
Val(x,a,code);
результат а=1024.
Или:
Val(‘1024’,a);
результат а=1024.
Задачи:
1.
Из слова железнодорожник
получить слово:
a)
Дозор;
Решение:
а:=’железнодорожник’;
с:=copy(а,8,2)
+ copy(а,5,1) + copy(а,9,2);
b)
Крокодил;
c)
Кирка.
2.
Составить программу,
подсчитывающую число букв а в строке.
Решение:
Var x,n:integer; b:string[30];
Begin
Writeln(‘введите строку’);
Read(b);
n:=0;
For x:=1 to length(b) do
If copy(b,x,1)=’a’ then n:=n+1;
Writeln(‘в строке’,n,’букв а’);
End.
3.
Составить программу,
которая подсчитывает число слов в строке.
4.
Составить программу замены
в строке всех букв а на о.
Решение:
Uses crt;
Var x:integer; b:string[30];
Begin
Writeln(‘введите строку’);
Read(b);
For
x:=1 to length(b) do
If
copy(b,x,1)=’a’ then b:=
copy(b,1,x-1) + ‘o’ + copy(b,x+1,length(b)-x);
Writeln(b);
End.
5.
Составить программу
замены в строке слова ‘сад’ на ‘парк’.
6.
Дана строка. Вывести на
экран все слова, начинающиеся с буквы а.
7.
Дан текст, в котором
имеются цифры. Найти их сумму.
8.
Составить программу
шифровки слов, чтением в обратном порядке.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.