1 / 13

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

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 <= Length (S) Do If S[i] = c Then Delete (S, i, 1). Обработка строк с использованием подпрограмм.

graceland
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 <= Length (S) Do If S[i] = c Then Delete (S, i, 1) Обработка строк с использованием подпрограмм Автор разработки: Камалова Нафиса Ахатовна, учитель информатики МАОУ «СОШ №5» МО «ЛМР» РТ 2012 – 2013 учебный год

  2. Изучаем новое Мозговой штурм Проверка домашнего задания Содержание Домашнее задание Самостоятельная работа

  3. Мозговой штурм Str1:=‘ABCDEFGH’; Delete (Str1, 3, 4); Writeln (Str1); Результат: Str1:=‘ABCDEF’; Str2:=‘abcdef’; Insert (Str1, Str2, 3); Результат: Str2 = ‘abABCDEFcdef’ Str1=‘ABGH’ Str1:=‘ABCDEFGH’; Str2:= ‘Мама мыла раму’; K1:= Length (Str1); K2:= Length(Str2); Результат: Str1:=‘CDE’ Str2:=‘ABCDEFGH’; K1:= Pos (Str1, Str2); K2:= Pos (Str2, Str1); Результат: K1=3; K2=0 K1 = 8; K2 = 15

  4. Блок-схема решения задачи: Задача.Дана строка символов. Удалить из нее символы, расположенные на четных местах. Проверка домашнего задания Начало Начало Ввод S Ввод S i := 2 i := 2 i ≤ Length(S) i ≤ Length(S) Нет Да Delete (S, i, 1) Delete (S, i, 1) Вывод S Вывод S i := i + 1 Конец Конец

  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); Readln End. Исходная строка: abcdefgh Итоговая строка: aceg

  6. Изучаем новое Задача 1. Удалить из первой строки все символы “k”, из второй – символы “a”. Основной алгоритм Вспомогательный алгоритм Начало Del (s, c) Ввод S1 i := i + 1 Del (S1, ‘k’) i ≤ Length(S) Вывод S1 Да Конец Ввод S2 Нет Да S[ i ] = c Del (S2, ‘a’) Вывод S2 Delete (S[i], i, 1) i := i + 1 Конец

  7. Изучаем новое Программа: 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) Elsei := 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); Readln End. Исходные строки: askfgkkhjykc zbandamaakr Итоговые строки: asfghjyc zbndmkr

  8. Изучаем новое Задача 2. Даны две строки. Встречаются ли в первой строке буква “a” и буква “o”, а во второй строке – буква “d” и буква “h”? Вспомогательный алгоритм Основной алгоритм Opr (s,q1,q2) Начало i := 1 t := False Ввод S1, S2 K1 := 0 K2 := 0 t1 := Opr (S1, ‘a’, ‘o’) Нет Да i <= длина (S) t2 :=Opr (S2, ‘d’, ‘h’) Да S[i] = q1 Нет Да Нет (k1<>0) and (k2<>0 Вывод t1, t2 K1 := k1 + 1 t := True S[i] = q2 Конец Opr := t K2 := k2 + 1 Конец

  9. Изучаем новое Описание функции: Программа: Program Example; Var S1, S2: String; t1, t2: Boolean; FunctionOpr (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); Readln End. FunctionOpr (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:=t End;

  10. Изучаем новое Задача 3.Заменить все вхождения подстроки W в строке S на подстроку V. Основной алгоритм Вспомогательный алгоритм Начало Stroki (W,V,St) Ввод W Pos (W, V) <> 0 Да Нет Ввод S K:= Pos (W, St) Ввод V Конец Delete (S,k, Length (w)) Stroki (W,V,S) Insert (V, St, k) Вывод S Конец

  11. Изучаем новое Программа: Program Example_3; Var W, S, V: String; Procedure Ins (W,V: String; Var St: String); Var k: Byte; Begin WhilePos (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. Исходные строки: W = ‘Маша’ S = ‘Маша мыла раму’ V = ‘Нина’ Результат: S = ‘Нина мыла раму’

  12. Самостоятельная работа Вариант 1. Даны две строки символов. Проверить, содержится ли в первой строке символ-цифра, во второй строке – строчная латинская буква. Вариант 2. Даны две строки. В первой строке заменить сочетание “no’ на сочетание “da”, во второй строке – сочетание “as” на сочетание “ne”. Вариант 4. Даны две строки символов. В первой строке перед сочетанием “fo” вставить символ “r”, во второй строке – перед сочетанием “go” вставить символ “t”. Вариант 3. Даны две строки. Какая буква встречается раньше: “a” или “o” в первой строке, и “w” или “u” во второй?

  13. Домашнее задание Первая стока: asd23bc163gh5k Вторая строка: frtu452ehasb31m2n8d Задача. Подсчитать сумму цифр, встречающихся в двух строках, состоящих из символов-букв и символов-цифр. Сумма цифр: S = 45

More Related