- •Автор: учитель информатики МКОУ Плесской СОШ Юдин А.Б.
- •Теория
- •Теория
- •Теория
- •Теория
- •Задача на сравнение строк
- •Теория
- •Задача на составление строк
- •Преобразование типов
- •Преобразование типов
- •Преобразование типов
- •Преобразование типов
- •Преобразование типов
- •Символы и их коды
- •Символы и их коды
- •Подсчет символов в строке
- •Замечание
- •Подсчет символов в строке
- •Замена символов в строке
- •Замена символов в строке
- •Удаление символов из строки
- •Удаление символов из строки
- •Вложенные условия.
- •Вложенные условия
- •Вложенные циклы
- •Вложенные циклы
Удаление символов из строки |
20 |
Задача 9 Удалить из строки введенной с клавиатуры все буквы R (латинские, заглавные).
Program |
Подготавливаем |
|
|
|||
Uses |
дополнительную |
|
|
|||
переменную |
Если на i-ом месте |
|||||
var |
|
|
не стоит R то |
|||
|
|
|
|
|
прибавляем эту |
|
begin |
|
|
букву к тому, что |
|||
|
|
есть в B |
||||
ClrS |
|
|
|
|
||
|
Write(' |
|
|
|
|
|
|
b:=''; |
|
|
|
|
|
|
for i:=1 to length(a) do |
if (a[i]<>‘R') then b:=b+a[i]; |
|
|||
|
a:=b; |
|
|
То, что получилось в |
|
|
|
writeln(a); |
|
||||
|
|
В перемещаем |
||||
end. |
|
обратно в А |
Удаление символов из строки |
21 |
|
Начало |
|
|
Ввод A |
|
|
B='' |
Блок-схема к |
|
|
задаче |
i,1,length(A) |
удаления букв |
|
|
|
R из строки |
Нет |
A <>'R' |
|
|
i |
|
|
Да |
|
|
B=B+ Ai |
|
|
A=B |
|
|
Вывод А |
|
|
Конец |
|
Вложенные условия. |
22 |
Задача 10. В заданном тексте везде букву "а" заменить на букву "б", а букву "б" - на букву "а".
begin |
Из всей строки нам |
|
нужно выбрать |
||
clRscr; |
||
только А и Б |
||
Readln(s); |
|
|
for i:=1 to length(s) do |
|
if (s[i]='а') or (s[i]='б') then
if (s[i]='а') then s[i]:='б' else s[i]:='а';
writeln(s);
end. И только после осуществлять
замену
Вложенные условия |
23 |
Начало |
|
Si ='а' или Si ='б' |
Ввод S |
|
|
|
|
|
i, 1, length(S) |
|
|
Нет |
Да |
|
Да |
Si ='а' |
Нет |
|
|
|
Si ='б' |
|
Si ='а' |
Вывод S |
|
Блок-схема к задаче |
|
|
|
Конец |
замены А на Б и наоборот |
|
|
|
Вложенные циклы |
24 |
Задача 11. Дана строка символов, содержащая знаки препинания. Подсчитать какие и сколько знаков препинания содержит строка.
begin |
Внешний цикл, |
||||
Тело внешнего |
|||||
|
ClrScr; |
||||
|
цикла содержит |
||||
|
Write('ВВеди строку '); |
||||
|
цикл, отвечающий |
||||
|
s1:=',.;:"!?-'; |
за перебор |
|||
|
|
|
|
символов |
|
|
for i:=1 to length(s1) do begin |
||||
|
введенной строки |
||||
|
|
|
|
||
|
|
k:=0; |
|
||
|
|
for j:=1 to length(s) do if (s[j]=s1[i]) then |
|||
:=k+1; |
|
||||
|
|
if (k<>0) |
then writeln(s1[i],' - ',k:5,' раз'); |
||
|
|
end; |
|
|
|
end. |
|
Вложенные циклы |
|
|
25 |
|
|
Начало |
|
|
|
|
Ввод S |
|
|
|
|
s1=',.;:"!?-' |
|
|
|
i, 1, length(S1) |
|
|
||
|
K=0 |
|
|
|
|
j, 1, length(S) |
|
Конец |
|
|
Sj = S1i |
Да |
K=K+1 |
|
|
|
|
||
|
Нет |
|
|
|
Нет |
|
Да Вывод S1i,K |
Блок-схема к задаче |
|
K<>0 |
подсчета знаков |
|||
|
|
|
|
препинания |