Операции над строковыми переменными

а) Сравнения (<>,<,>, >=,<=,=)

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.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: