Операции над строковыми переменными
а) Сравнения(<>,<,>, >=,<=,=)
d:=’мама’; p:=’папа’
d>p
б) конкатенация(сложение)
s:=’Д’+’Артаньян’;
writeln(s);
Задание: определить правильность написания операторов :
var A,B,C,D,G,Z : STRING;
v : integer;
begin
A:= «Информатика»; ошибка
B:=Формат; ошибка
С:=’’; пустая строка
D:=25 ; ошибка
G=’25’;
Z:=’формат; ошибка
V:=’пример’; ошибка
в) функции обработки
1. Delete(str,poz,n) - удаление из строки str, начиная с позиции poz, n символов.
Пример :
str:=’оператор’;
Delete(str,2,2)
результат ‘оратор’
2. Insert(str1,str2,poz) - вставка строки str1 в строку str2, начиная с позиции poz.
Пример :
str1:=’ка’;
str2:=’Тропинка’;
Insert(str1,str2,6)
результат ‘Тропиканка’
3. Length(st) - вычисляет текущую длину(количество символов) строки.
Пример :
str:=’оператор’;
Length(str)
результат 8
4. Copy(st,poz,n) - из строки st, начиная с позиции poz, берутся n символов;
Пример :
str:=’стройка’;
Copy(str,2,6)
результат ‘тройка’
5. Pos(str1,str2) - поиск подстроки str2 в строке str1 и возвращает номер позиции, с которой начинается строка str2, если подстрока не найдена, то возвращается 0.
Пример :
str1:=’абракадабра’; str2:=’брак’;
pos(str1,str2)
результат 2
6. Str(v,s) - заданное число v преобразуется в строку s;
7. Val(s,v,c) - если строка s состоит из цифр, они преобразуются в некоторое числовое значение и передаются переменной v.
8. Concat(s1,s2,....,sn) -строки s1,s2,....,sn записываются одна за другой.
Задача 1 : Установить : какие типы должны иметь переменные в приведенном фрагменте программы и какие значения они примут после выполнения операций.
s:=’ситуация’;
st:=’уа’;
a:=Length(s+’’+st);
n:=Pos(st,s);
insert(st,s,6);
delete(s,4,2);
st:=copy(s,1,3)+copy(s,7,1);
Задача 2.Написать программу, которая из двух строковых констант «КЛАССШКОЛА» и «АБВГД№0123456789» выводит на экран 2 строки, содержащие номер школы и литеру класса, определяет длину полученных строк.
НАПРИМЕР : ШКОЛА №7
КЛАСС 9Б
program z2;
const a=’КЛАССШКОЛА’;
b=’АБВГД№0123456789’;
var s1,s2 : string;
begin
s1:=copy(a,6,5)+’’+ copy(b,6,1)+ copy(b,14,1)
s2:= copy(a,1,5)+’’+ copy(b,length(b),1)+ copy(b,2,1)
writeln(s1,s2);
end.
Символы имеют коды от 0 до 255.
ORD(w) - возвращает код символа w.
CHR(i) - определяет символ с кодом i.
Задача 1.Дана строка символов. Вывести символы строки в столбец.
Program xx;
var st:string; i:integer;
begin
for i:=1 to length(st) do
writeln(st[i]);
end.
Задача 2.Вывести символы и соответствующие им коды. Переменная k используется в качестве счетчика для организации последовательного вывода по 15 символов.
Program kod;
var i, k : integer;
begin
writeln(‘Вывод порядковых номеров (кодов) символов - значение
переменной i и самих символов’);
for i:=1 to 255 do
begin
write(i:4,’ символ’,chr(i)); inc(k);
if k=15 then begin writeln; k:=0 end
end;
end.
Задача 3:Вывести символы в виде :
A
BB
CCC
...
WWW...WWW (23 раза)
program vv;
var i:char; j:integer;
begin
for i:=’A’ to ‘W’ do
begin
for j:=1 to Ord(i)-Ord(‘A’)+1 do write(i);
writeln;
end;
end.
Задача 4.Удалить среднюю букву строки при нечетной длине и две средние буквы при четной длине строки.
Program rr;
var st:string; k:integer;
begin k:=length(st);
if k mod 2=1 then delete(st, k div 2+1,1)
else delete(st, k div 2,2)
end.
Дата добавления: 2015-01-15; просмотров: 1559;