На главную

 

 

Сайт основан 1 марта 2003 года

= Основы алгоритмизации и программирования =


Операции, функции и процедуры для строковых величин

String – величина строкового типа, значением которой является набор символов клавиатуры, заключённых в апострофы: ’Сегодня урок информатики!!’

Величины строкового типа могут быть описаны так:

var a,b,c:string; r:string[10]; m:array[1..10] of string[20];

a,b,c – строковые величины с максимально-возможным количеством символов в строке - 255.

r – строковая величина с максимально-возможным количеством символов в строке – 10.

m - -массив из десяти элементов, каждый из которых является строкой с максимально-возможным количеством символов в строке – 20.

1. Запись строковых значений в память компьютера:   
a:=’урок’;      
в:=’’;           «обнуление» строковой величины в
а[1]:=’
c        замена первого символа в значении переменной а
                 был урок, будет срок
readln(a);       ввод значения а с клавиатуры; для строковых величин
                 рекомендуется использовать
readln(…);

2. Операция соединения - + (свойством коммуникативности не обладает):
b:='shar';
c:='ada';
а:=b+c;          a будет равно 'sharada'
d:=c+b;          d будет равно 'adashar'

3. Функция определения длины строки а (количество символов в строке) - length(a). Значение функции – величина целого типа.
a:=’Сегодня урок.’; d:=length(a);   d будет равно 13
в:=’’; d:=length(в);                d будет равно 0

4. Функция определения номера позиции, с которого начинается строка с в строке r - pos(c,r). Значение функции – величина целого типа. Если строка с отсутствует, то результат = 0
b:='shar';
c:='ada';
а:=b+c;
d:=pos(c,a);     d будет равно 5

5. Функция копирования фрагмента строки а, начиная с х (integer) позиции в количестве к (integer) символов - copy(a,х,к). Значение функции – величина строковая.
a:=’информатика’;
d:=copy(a,3,5);  d будет равно форма

6. Процедура удаления фрагмента строки а, начиная с х (integer) позиции в количестве к (integer) символов - delete(a,х,к);
a:=’болтик’;
delete(a,3,1);         а будет равно ботик

7. Процедура вставки строки с в строку а, начиная с х (integer) позиции - insert(с,a,х);
a:=’тачка’;
insert(’ан’,а,4);      а будет равно тачанка

Примеры программ:

1. Сколько раз в заданном слове встречается заданная буква

program z1;

var a,b:string; i,k,r:integer;

begin

readln(a);

readln(b);

k:=0;r:=length(a);

for i:=1 to r  do

   if a[i]=b then k:=k+1;

   {if copy(a,i,1)=b then k:=k+1; - можно и так}

writeln(k);

end.}

 

2. Замена в заданном слове буквы m на букву p

program z2;

var a,b:string;

    i,k,r:integer;

begin

readln(a);

for i:=1 to length(a) do

     if a[i]='m' then a[i]:='p';

writeln(a);

end.

     {Замена в строке а знака = на слово ravno}

     {i:=1;

     repeat

     if a[i]='='

        then begin delete(a,i,1);insert('ravno',a,i); i:=i+4; end;

     r:=length(a);

     i:=i+1;

     until r<i;}

 

     {Замена в строке а слово ravno на знак = }

     {i:=1;

     repeat

     if copy(a,i,5)=’ravno’

        then begin delete(a,i,5);insert('=',a,i); end;

     r:=length(a);

     i:=i+1;

     until r<i;}

 

 

3. Формирование новой величины: слово записывается справа-налево

program z3;

var a,b:string; i:integer;

begin

readln(a);

b:='';

for i:=1 to length(a) do

   b:=a[i]+b;
   {
b:=a[i]+a[i]+b; - в этом случае слово будет записано справа-налево и буквы будут удвоены}
 

writeln(b);

end.

 


Наверх

На главную

 

Дизайн : WWS corporation & ROKI company.