Повторяем строки

0

No comments posted yet

Comments

Slide 1

Операции со строками Программирование на языке Паскаль

Slide 2

Операции со строками Объединение: добавить одну строку в конец другой. Запись нового значения: var s, s1, s2: string; s := 'Вася'; s1 := 'Привет'; s2 := 'Вася'; s := s1 + ', ' + s2 + '!'; 'Привет, Вася!' Подстрока: выделить часть строки в другую строку. s := '123456789'; s1 := Copy ( s, 3, 6 ); s2 := Copy ( s1, 2, 3 ); '345678' '456' с 3-его символа 6 штук

Slide 3

Удаление и вставка Удаление части строки: Вставка в строку: s := '123456789'; Delete ( s, 3, 6 ); с 3-его символа 6 штук строка меняется! '123456789' '129' s := '123456789'; Insert ( 'ABC', s, 3 ); Insert ( 'Q', s, 5 ); куда вставляем что вставляем начиная с 3-его символа '12ABC3456789' '12ABQC3456789'

Slide 4

Поиск в строке Поиск в строке: s := 'Здесь был Вася.'; n := Pos ( 'е', s ); if n > 0 then writeln('Буква е – это s[', n, ']') else writeln('Не нашли'); n := Pos ( 'Вася', s ); s1 := Copy ( s, n, 4 ); s[3] 3 n = 11 Особенности: функция возвращает номер символа, с которого начинается образец в строке если слова нет, возвращается 0 поиск с начала (находится первое слово) var n: integer;

Slide 5

Примеры s := 'Вася Петя Митя'; n := Pos ( 'Петя', s ); Delete ( s, n, 4 ); Insert ( 'Лена', s, n ); 'Вася Лена Митя' s := 'Вася Петя Митя'; n := length ( s ); s1 := Copy ( s, 1, 4 ); s2 := Copy ( s, 11, 4 ); s3 := Copy ( s, 6, 4 ); s := s3 + s1 + s2; n := length ( s ); 'Вася Митя' 14 'Вася' 'Митя' 'Петя' 'ПетяВасяМитя' 12 6

Slide 6

Операция сцепления (конкатенация) – соединение нескольких строк в одну. ‘мама’ + ‘мыла’ + ’раму’ ‘мамамылараму’ Операции над строками Операции отношения – сравнение двух строк. Строки равны если они содержат одни и те же символы и совпадают по длине

Slide 7

Функция LENGTH (st: string): Integer; - позволяет определить фактическую длину текстовой строки st, хранящейся в указанной переменной. Операции над строками

Slide 8

Функция COPY (st: string: INDEX: Integer: COUNT: Integer); - копирует из строки st подстроку (идущую подряд группу символов) длиной COUNT, начиная с позиции INDEX. St:= COPY(‘Паскаль’,1,3); Writeln (st); {Результат st=’Пас’} Операции над строками

Slide 9

Функция POS (subst, st: string): Integer; - возвращает целочисленный результат, который равен № позиции первого появления в строке st подстроки subst. St:=’Паскаль’; а:=POS(‘ск’,st); {Результат а=3} Операции над строками

Slide 10

Процедура DELETE (var Str:string, INDEX: Integer, COUNT: Integer); - удаляет из строки Str COUNT-символов, начиная с символа с номером INDEX. Операции над строками Процедура INSERT (Subst: string; var Str: String; INDEX: Integer); - вставляет строку Subst в строку Str, начиная с позиции INDEX.

Slide 11

Процедура STR (val: Real, St: string); - процедура преобразует числовое значение val в последовательность символов, которую записывает в строку St: B:=8.1E-4; STR (B:15:10, st) {Результат st=’ 0.0008100000’} Операции над строками

Slide 12

Процедура VAL (st: string, Res: Real, IER: Integer); - процедура преобразует строковое значение st в числовое значение и присваивает это значение переменной Res. St:=’7.7E5’; VAL (st, R1, IER); {Результат R1=770000, IER=0} Операции над строками

Slide 13

Примеры

Slide 14

Задача №1. Даны две строки, выяснить совпадают ли их длины. program pr1; var st1,st2:string; begin write('введите 1-ую строку: '); readln(st1); write('введите 2-ую строку: '); readln(st2); if length(st1)=length(st2) then writeln('длины совпадают') else writeln('длины не совпадают'); readln; end.

Slide 15

Задача №2. Дана строка, подсчитать количество вхождений слова «кот» в данную строку. program pr2; var st:string; i,k:integer; begin write('введите строку: '); readln(st); k:=0; for i:=1 to length(st) do if copy(st,i,3)='кот' then k:=k+1; write('количество вхождений=',k); readln; end.

Slide 16

Задача №3. Найти номер позиции, с которой в заданной строке в первый раз встретится некоторое введенное слово. program pr3; var st1,st2:string; T:integer; begin write ('введите строку: '); readln(st1); write ('введите слово: '); readln(st2); T:=pos(st2,st1); write('введенное слово начинается с ',t,' позиции'); readln; end.

Slide 17

Задача №4. Заменить в заданной строке все вхождения «ку» на «за» с помощью операции копирования, удаления и вставки. program pr4; var st:string; i:integer; begin write('введите строку:'); readln(st); for i:=1 to length(st) do if copy(st,i,2)='ку' then begin delete(st,i,2); insert('за',st,i);    end; write(st); readln; end.

URL: