13
Автор разработки: Камалова Нафиса Ахатовна, учитель информатики МАОУ «СОШ №5» МО «ЛМР» РТ 2012 – 2013 учебный год Обработка строк с Обработка строк с использованием подпрограмм использованием подпрограмм k:= Pos (W, St); k:= Pos (W, St); Delete (St, k, Delete (St, k, Length (W)); Length (W)); Insert (V, St, k) Insert (V, St, k)

Автор разработки: Камалова Нафиса Ахатовна, учитель информатики МАОУ «СОШ №5» МО «ЛМР» РТ

Embed Size (px)

DESCRIPTION

k:= Pos (W, St); Delete (St, k, Length (W)); Insert (V, St, k). Begin If s[i]=q1 Then k1:=k1+1 Else If s[i]=q2 Then k2:=k2+1 End;. While i

Citation preview

Page 1: Автор разработки: Камалова  Нафиса  Ахатовна,   учитель информатики МАОУ «СОШ №5» МО «ЛМР» РТ

Автор разработки: Камалова Нафиса Ахатовна, учитель информатики МАОУ «СОШ №5» МО «ЛМР» РТ

2012 – 2013 учебный год

Обработка строк с Обработка строк с использованием подпрограммиспользованием подпрограмм

k:= Pos (W, St);k:= Pos (W, St); Delete (St, k, Length Delete (St, k, Length (W));(W)); Insert (V, St, k)Insert (V, St, k)

Page 2: Автор разработки: Камалова  Нафиса  Ахатовна,   учитель информатики МАОУ «СОШ №5» МО «ЛМР» РТ

СодержаниеСодержание

Page 3: Автор разработки: Камалова  Нафиса  Ахатовна,   учитель информатики МАОУ «СОШ №5» МО «ЛМР» РТ

Str1:=‘ABCDEF’;Str1:=‘ABCDEF’;Str2:=‘abcdef’;Str2:=‘abcdef’;

Insert (Str1, Str2, 3);Insert (Str1, Str2, 3);Результат:Результат:

Str1:=‘ABCDEFGH’;Str1:=‘ABCDEFGH’;Delete (Str1, 3, 4);Delete (Str1, 3, 4);

Writeln (Str1);Writeln (Str1);Результат:Результат:

Str1:=‘CDE’Str1:=‘CDE’Str2:=‘ABCDEFGH’;Str2:=‘ABCDEFGH’;

K1:= Pos (Str1, Str2);K1:= Pos (Str1, Str2);K2:= Pos (Str2, Str1);K2:= Pos (Str2, Str1);

Результат:Результат:

Str1:=‘ABCDEFGH’;Str1:=‘ABCDEFGH’;Str2:= ‘Str2:= ‘Мама мыла Мама мыла

рамураму’;’;K1:= Length (Str1);K1:= Length (Str1);K2:= Length(Str2);K2:= Length(Str2);

Результат:Результат:

Str2 = ‘abABCDEFcdef’Str2 = ‘abABCDEFcdef’ Str1=‘ABGH’Str1=‘ABGH’

K1=3;K1=3;K2=0K2=0

K1 = 8;K1 = 8;K2 = 15K2 = 15

Page 4: Автор разработки: Камалова  Нафиса  Ахатовна,   учитель информатики МАОУ «СОШ №5» МО «ЛМР» РТ

Блок-схема решения задачи:

ВводS

Delete (S, i, 1)ВыводS

Конец

i ≤ Length (S)

i := 2

Начало

ДаНет

Задача.Задача. Дана строка символов. Удалить из нее Дана строка символов. Удалить из нее символы, расположенные на четных местах.символы, расположенные на четных местах.

i := i + 1

ВводS

Delete (S, i, 1)ВыводS

Конец

i ≤ Length (S)

i := 2

Начало

Page 5: Автор разработки: Камалова  Нафиса  Ахатовна,   учитель информатики МАОУ «СОШ №5» МО «ЛМР» РТ

Программа:

Program Example;Var S: String; i: Integer;Begin Write (‘S=‘); Readln (S); i := 2; While i <= Length (s) Do Begin Delete (S, i, 1); i := i +1; End; Writeln (‘S=‘, S); ReadlnEnd.

Задача.Задача. Дана строка символов. Удалить из нее Дана строка символов. Удалить из нее символы, расположенные на четных местах.символы, расположенные на четных местах.

Page 6: Автор разработки: Камалова  Нафиса  Ахатовна,   учитель информатики МАОУ «СОШ №5» МО «ЛМР» РТ

Задача 1.Задача 1.Удалить из первой строки все символы “k”, из второй – символы “a”.

Основной алгоритмОсновной алгоритм

Del (s, c)Del (s, c)

i ≤ Length(S)i ≤ Length(S)

S[ i ] = cS[ i ] = c

Delete (S[i], i, 1Delete (S[i], i, 1))i := i + 1i := i + 1

КонецКонец

НачалоНачало

Ввод Ввод S1S1

Del (S1, ‘k’)Del (S1, ‘k’)

Вывод Вывод S1S1

Ввод Ввод S2S2

Del (S2, ‘a’)Del (S2, ‘a’)

Вывод Вывод S2S2

КонецКонец

i := i + 1i := i + 1

ДаДаНет

Page 7: Автор разработки: Камалова  Нафиса  Ахатовна,   учитель информатики МАОУ «СОШ №5» МО «ЛМР» РТ

Программа:Программа:

Program Example_1;Var S1, S2: String;Procedure Del (Var S: String; c: Char);Var i: Integer; {i – локальный параметр}Begin i := 1; While i <= Length (S) Do If S[i] = c Then Delete (S, i, 1) Else i := i + 1;i := i + 1;End;Begin Write (‘Введите строку S1: ’); Readln (S1); Del (S1, ‘k’); {S1, ‘k’ – фактические параметры} Writeln (‘S1=‘, S1); Write (‘Введите строку S2: ’); Readln (S2); Del (S2, ‘a’); {S2, ‘a’ – фактические параметры} Writeln (‘S2= ‘, S2); ReadlnEnd.

Page 8: Автор разработки: Камалова  Нафиса  Ахатовна,   учитель информатики МАОУ «СОШ №5» МО «ЛМР» РТ

Задача 2.Задача 2.Даны две строки. Встречаются ли в первой строке буква Даны две строки. Встречаются ли в первой строке буква “a” “a” и и буква буква “o”, “o”, а во второй строке – буква а во второй строке – буква “d”“d” и буква и буква “h”“h”??

Вспомогательный алгоритмВспомогательный алгоритмОсновной алгоритмОсновной алгоритм

i <= i <= длина (длина (SS))

S[i] = q1S[i] = q1

K2 := k2 + 1K2 := k2 + 1

(k1<>0) (k1<>0) and (k2<>0and (k2<>0

t := Truet := True

Opr := tOpr := t

КонецКонец

S[i] = q2S[i] = q2

K1 := k1 + 1

КонецКонец

Opr (s,q1,q2)

i := 1i := 1

t := Falset := False

K1 := 0

K2 := 0K2 := 0

Вывод Вывод t1, t2t1, t2

НачалоНачало

Ввод Ввод S1, S2S1, S2

t1 := Opr (S1, ‘a’, ‘o’)t1 := Opr (S1, ‘a’, ‘o’)

t2 :=Opr (S2, ‘d’, ‘h’)t2 :=Opr (S2, ‘d’, ‘h’)

Да

Да

Да

Нет

Нет

Нет

Page 9: Автор разработки: Камалова  Нафиса  Ахатовна,   учитель информатики МАОУ «СОШ №5» МО «ЛМР» РТ

Function Opr (S: String; q1, q2: Char): Boolean;Var i, k1, k2: Integer; t: Boolean;Begin i:=1; t:=false; k1:=0; k2:=0; While i<= Length (s) Do Begin If s[i]=q1 Then k1:=k1+1 Else If s[i]=q2 Then k2:=k2+1 End; If (k1<>0)and(k2<>0) Then t:= true; Opr:=tEnd;

Program Example;Var S1, S2: String; t1, t2: Boolean;Function Opr (S: String; q1, q2: Char): Boolean;…End;Begin Write ('S1= '); Readln (S1); Write ('S2= '); Readln (S2); t1:=Opr (S1, 'a','o'); t2:=Opr (S2, 'd', 'h'); Writeln ('t1= ', t1, 't2= ', t2); ReadlnEnd.

Page 10: Автор разработки: Камалова  Нафиса  Ахатовна,   учитель информатики МАОУ «СОШ №5» МО «ЛМР» РТ

K:= Pos (W, St)K:= Pos (W, St)

Delete (S,k, Length (w))Delete (S,k, Length (w))

Insert (V, St, k)Insert (V, St, k)

КонецКонец

Stroki (W,V,St)Stroki (W,V,St)

Pos (W, V) <> 0Pos (W, V) <> 0Ввод Ввод SS

Stroki (W,V,S)Stroki (W,V,S)

Вывод Вывод S S

Ввод Ввод WW

НачалоНачало

КонецКонец

Ввод Ввод VV

Вспомогательный алгоритмВспомогательный алгоритм Основной алгоритмОсновной алгоритм

ДаНет

Задача 3.Задача 3. Заменить все вхождения подстроки Заменить все вхождения подстроки W W в строке в строке S S на подстроку на подстроку V.V.

Page 11: Автор разработки: Камалова  Нафиса  Ахатовна,   учитель информатики МАОУ «СОШ №5» МО «ЛМР» РТ

Программа:Программа:

Program Example_3;Var W, S, V: String;Procedure Ins (W,V: String; Var St: String);Var k: Byte;Begin While Pos (W, St)<>0 Do Begin k:= Pos (W, St); Delete (St, k, Length (W)); Insert (V, St, k) End;End;Begin Writeln (‘Введите строки’); Readln (W); Readln (S); Readln (V); Ins (W, V, S); {{Вызов процедурыВызов процедуры}} Writeln (‘S=‘, S);Readln End.

Page 12: Автор разработки: Камалова  Нафиса  Ахатовна,   учитель информатики МАОУ «СОШ №5» МО «ЛМР» РТ

Вариант 2. Вариант 2. Даны две строки. В первой Даны две строки. В первой строке заменить сочетание строке заменить сочетание “no’ на сочетание “da”, во “no’ на сочетание “da”, во второй строке – сочетание второй строке – сочетание “as” на сочетание “ne”. “as” на сочетание “ne”.

Вариант 1.Вариант 1.Даны две строки Даны две строки символов. Проверить, символов. Проверить, содержится ли в первой содержится ли в первой строке символ-цифра, во строке символ-цифра, во второй строке – строчная второй строке – строчная латинская буква.латинская буква.

Вариант 3.Вариант 3. Даны две строки. Какая Даны две строки. Какая буква встречается буква встречается раньше: “раньше: “aa” или “” или “oo” в ” в первой строке, и “первой строке, и “ww” или ” или ““uu” во второй?” во второй?

Вариант 4.Вариант 4. Даны две строки символов. Даны две строки символов. В первой строке перед В первой строке перед сочетанием “сочетанием “fofo” вставить ” вставить символ “символ “rr”, во второй ”, во второй строке – перед сочетанием строке – перед сочетанием ““gogo” вставить символ “” вставить символ “tt”.”.

Page 13: Автор разработки: Камалова  Нафиса  Ахатовна,   учитель информатики МАОУ «СОШ №5» МО «ЛМР» РТ

Задача. Задача. Подсчитать сумму Подсчитать сумму цифр, встречающихся цифр, встречающихся в двух строках, в двух строках, состоящих из состоящих из символов-букв и символов-букв и символов-цифр.символов-цифр.