Javascript must be enabled in your browser to use this page.
Please enable Javascript under your Tools menu in your browser.
Once javascript is enabled Click here to go back to �нтеллектуальная Кобринщина

Символы (строки)

Функции и команды обработки строк

Процедуры

Delete(Var S:String; N, MJnteger) Удаляет М символов из строки S, начиная с позиции N.

Insert(SubS: String; Var S:String; N:Integer) Вставляет подстроку SubS в строку S, начиная с позиции N.

Str(X:Integer; Var S:String) Возвращает представление числа Х в его символьной форме S.

Val(S:String; Var X, Code: Integer) Возвращает представление символов строки S в ее числовой форме К-Параметр Code содержит признак ошибки преобразования (если Code = 0 ошибки нет).

Функции

Chr(X:Byte):Char Возвращает символ с заданным порядковым номером X.

Concat(Sl[, S2, .... SN]):String Выполняет сцепку (конкатенацию) последовательности строк.

Copy(S:String; N, M:Integer):String Возвращает подстроку из строки S, начиная с позиции N и длиной М символов.

Length(S:String):Byte Возвращает количество символов в строке S.

Ord(X:Char):LongInt Возвращает порядковый номер символа Х в таблице кодов символов.

Pos(SubS, S: String):Byte Возвращает номер позиции, начиная с которой в строке S распола-гается подстрока SubS (если значение функции равно нулю, то S не содержит SubS).

 

Программа, которая ведёт с вами в диалог.

Program primer 1;

Uses crt;

var a, b : string [50];

Begin

Clrscr;

writeln ('Добрый день!');

writeln ('Назовите, пожалуйста, свое имя');

readln (a) ;

writeln ('Рад познакомиться, ' , а);

writeln ('Как поживаете? ' ) ;

readln (b) ;

writeln ('Какое совпадение! И я ' , b);

readln;

End.

 

Сравнение строк

Метод сортировки трёх строк по алфавиту.

Program primer 2;

Uses crt;

var a, b, c, d : string [20] ;

Begin

Clrscr;

writeln ('Введите 1-е слово');

readln (a) ;

writeln ('Введите 2-е слово');

readln (b) ;

writeln ('Введите 3-е слово');

readln (с) ;

d : = ‘ ‘;

If a > b then

   begin

     d:= a ;

     a:= b;

     b:= d;

   end;

If b > с then

   begin

       if с < a then

           begin

              d = a;

              a = c;

              с = d;

           end;

          d:= b;

          b:= c;

          c:= d;

      end;

writeln (a);

writeln (b);

writeln (c);

readln;

End.

 

Объединение строк

Составление предложения.

Program primer 3;

Uses Crt;

var

a, b, c, d : string[30];

Begin

         Clrscr;                                                                                   В результате получим:

a:='To be';                                                            To be or not To be That is the question

b: = 'or not';

c:='That is the question';

d:=a+b+a;

writeln (d);

 writeln (c);

 readln;

End.

Сцепление строк.

В результате работы этой программы на                                                                                 экране появятся следующие слова     парад    паром      сом      сад                                                                                    

Program primer 4 ;

Uses Crt;

var

a, b, c, d , 1, m, n, p : string [10];                          

Begin

Clrscr;                                                                               

       а:='пар';

       b:='ад';

       с:='ом';

       d:='c';

       l:=a+b; m:=a+c; n:=d+c; p:=d+b;

writeln (1, ' ' , m, ' ', n, ' ', p);

readln;

End.

 

Копирование подстроки

Составление простых слов из более сложного.

Program primer 5 ;

Uses Crt;

var

a, b, c, d , e : string [15] ;

Begin

Clrscr;

    a:='стихотворение' ;                                        

В результате работы этой программы получим:

b:=copy(a, 1, 4) ;                                                                    

стих, тихо, творение, вор

c:=copy(a, 2, 4) ;

d:=copy(a, 6, 8) ;

e:=copy(a, 7,3);

writeln (b, ' , ' , с, ' , ' , d, ' , ' , е);

readln;

End.

 

Вставка, замена и удаление подстроки

Преобразование слова лево в слово компот.

Program primer 6;

Uses Crt;

var

a, b,c,d : string [15];

Begin

Clrscr;

a:='лекарство';

delete(a, 3, 5);

writeln(a); {лево}

 delete(а, 3, 1);

    b:='т';

    insert(b, a, 3);

writeln(a); {лето}

с:='кот';

d:='мпo';

insert(d, с, 3);

writeln(c); {компот}

readln;

End.

 

Поиск подстроки

Поиск слов в предложении.

Program primer 7;

Uses Crt;

var

a, b, с : string [100];

 m, n    : integer;

Begin

Clrscr;

a ='Жил-был в норе под землей хоббит';

b :='был';

с :='хоббит';

m :=pos (b, a);

n :=pos (с, а);

writeln (b, ' - ', m); {был - 5}

writeln (с, ' - ', n); {хоббит – 27}

readln;

End.

 

Определение длины строки

Program primer 8;

Uses Crt;

var a, b : string[25];

Begin 

    Clrscr ;                                                           В результате получим:  8      19.

a:='computer';                                

b:='calculating machine';

writeln(length(a), '  ', length(b));

readln;

End.                                             

 

Преобразование строк

Программа, определяющая и сравнивающая в введённом с клавиатуры числе количество чётных и нечётных цифр.

Program primer 9;

Uses Crt;

var a: string[5] ;

b: string[1];

i, k, s, sn , x : integer;

Begin

Clrscr;

s: =0; sn: =0 ;

write('Задайте число'); readln(a);

for i:=l to length(a) do

      begin

         b:=copy(a,i,l) ;

         val(b,x,k) ;

         if x mod 2=0 then s:=s+l else sn:=sn+l;

      end;

if s>sn then writeln ('Четных цифр больше');

if s<sn then writeln ('Нечетных цифр больше');

if s=sn then writeln ('Одинаково');

readln;

End.

 

Программа, заменяющая в предложении одно слово на другое.

Program Replace;

Uses Crt;

var  Text, Slovol, Slovo2  : String;

         i, DlinaSlova, P       : Integer;

Begin

CIrScr;

write(‘Введите строку :');       

readln(Text);

write('Kaкoe слово заменить ? ');   readln(Slovol);

write('Ha какое слово заменить ? '); readln(Slovo2);

writeln;

writeln('0 т в е т : ');

writeln('Исходный текст: ', Text);

DlinaSlova := Length( Slovol);

P := Pos(Slovol,Text);      {номер позиции, с которой в строке Text в первый раз встречается подстрока Slovol}

while P>0 do             {цикл продолжается до тех пор, пока подстрока Slovol встречается в строке Text}

   begin

       Delete(Text, P, DlinaSlova); {удаление подстроки Slovol, начинающейся с позиции P, из строки Text}

       Insert(Slovo2, Text, P); {вставка подстроки Slovo2 в строку Text с позиции P}

       P:=PostSlovol, Text);{номер позиции, с которой подстрока Slovol встречается в строке Text в очередной раз}

    end;

writeln('Hoвый текст: ', Text);

   readln;

End.

 

Программа подсчета различных букв в слове.

Program schot;

Uses Crt;

var s: string;

    r: real;

    i, j, n: integer;

Вegin

    CIrScr;

    r:=0;

    readln(s);

    for i:=1 to length(s) do

        begin

           n:=0;

           for j:=1 to length(s) do

               if s[i]=s[j] then inc(n);

           r:=r+1/n;

        end;

    writeln('количество различных букв = ', r:1:0);

    readln;

Еnd.

 

Программа определяющая, является ли слово "перевертышем" .

{Например, "шалаш", "казак" - перевёртыш}.

Program kazak;

Uses Crt;

var s1, s2: string;

       i: integer;

Вegin

    CIrScr;

    readln(s1); s2:='';

    for i:=length(s1) downto 1 do

         s2:=s2+s1[i];

    if s1=s2 then writeln(s1, ' - перевертыш')

             else  writeln(s1, ' - не перевертыш');

   readln;

Еnd.

 

Обработка текста: Выделение слов из текста                              

На входе - текст, на выходе - список слов                               

Program slovo1;

Uses Crt;

const Alpha : set of char=['A'..'Z', 'А'..'П', 'Р'..'Я', 'a'..'z', 'а'..'п', 'р'..'я'];

var s, t: string;

    i: integer;

Вegin

     CIrScr;

     writeln('Введите текст'); readln(s);

     writeln('Список слов в тексте:');

     i:=1;

     Repeat

        while NOT(s[i] in Alpha) and (i<=length(s)) do inc(i);

        t:=' ';

        while (s[i] in Alpha) and (i<=length(s)) do

           begin

              t:=t+s[i];

              inc(i);

           end;

        if length(t)<>0 then writeln(t);

     Until (i>length(s));

   readln;

Еnd.

 

Обработка текста: Подсчет количества слов в тексте                      

На входе - текст, на выходе - количество слов в тексте                  

Program slovo2;

Uses Crt;

const Alpha : set of char=['A'..'Z', 'А'..'П', 'Р'..'Я', 'a'..'z', 'а'..'п', 'р'..'я'];

var s: string;

    i: integer;

    wc: integer;

Вegin

     CIrScr;

     writeln('Введите текст'); readln(s);

     i:=1; wc:=0;

     Repeat

        while NOT(s[i] in Alpha) and (i<=length(s)) do inc(i);

        if (i<=length(s)) then inc(wc);

        while (s[i] in Alpha) and (i<=length(s)) do inc(i);

     Until (i>length(s));

     writeln('Количество слов в этом тексте = ', wc);

     readln;

end.

 

 

Обработка текста: Выделение чисел из текста                             

На входе - текст, на выходе - список чисел                              

Program number;

Uses Crt;

const Digits : set of char=['0'..'9'];

var s, d: string;

       i: integer;

Вegin

     CIrScr;

     writeln('Введите текст, в котором есть и цифры:');

     readln(s);

     writeln('Список чисел в тексте:');

     i:=1;

     Repeat

        while NOT(s[i] in Digits) and (i<=length(s)) do inc(i);

        d:=' ';

        while (s[i] in Digits) and (i<=length(s)) do

           begin

              d:=d+s[i];

              inc(i);

           end;

         if length(d)<>0 then writeln(d);

     Until (i>length(s));

      readln;

Еnd.

 

Обработка текста: Перевод в маленькие буквы (нижний регистр)            

На входе - текст, на выходе - текст из маленьких букв                   

Program text1;

Uses Crt;

var s: string;

function SmallAlpha(ps: string): string;

var i: integer;

begin

   for i:=1 to length(ps) do

     begin

       case ps[i] of

          'A'..'Z','А'..'П': inc(ps[i],32);

          'Р'..'Я'         : inc(ps[i],80);

       end;

     end;

  SmallAlpha:=ps;

end;

Вegin

     CIrScr;

     writeln('Введите любой текст'); readln(s);

     writeln('Этот же текст маленькими буквами:');

     writeln(SmallAlpha(s));

     readln;

Еnd.

 

Обработка текста: Перевод в заглавные буквы (верхний регистр)           

На входе - текст, на выходе - текст из больших букв                     

Program text2;

Uses Crt;

var s: string;

function BigAlpha(ps: string): string;

var i: integer;

begin

   for i:=1 to length(ps) do

     begin

       case ps[i] of

          'a'..'z','а'..'п': dec(ps[i], 32);

          'р'..'я'         : dec(ps[i], 80);

        end;

     end;

   BigAlpha:= ps;

end;

 

Вegin

     ClrScr;

     writeln('Введите любой текст');

     readln(s);

     writeln('Этот же текст большими буквами:');

     writeln(BigAlpha(s));

     readln;

Еnd.