Информатика и ИКТ
Школьный интернет-учебник М.А. и М.В. Выграненко

Тема 9: Алгоритмы и исполнители (30 часов)

Уроки № 29-31(73-75): Основные задачи обработки строк

 

Практические, проверочные и домашние работы

Практическая работа 29:
"Основные задачи обработки строк".

Контрольная работа:
"Обработка строк"

Задача 1.
Составить программу, определяющую, сколько раз встречается заданный символ в заданном тексте.

Это обычная задача перебора и нахождения суммы. Значит, основа алгоритма – цикл. Мы должны просмотреть каждый символ заданного текста и проверить, совпадает ли он с заданным символом. Если совпадает, то к счётчику добавляется единица.
Определим переменные для величин:
R$ - заданный текст; W$ - заданный символ, N – длина исходного текста, S – количество символов, совпадающих с заданным.

input "Введите текст", R$
input "Введите нужный знак", W$
rem Обнуляем счётчик:
S=0
rem Определяем длину введённого текста:
N=length(R$)
rem Организуем цикл просмотра каждого символа исходного текста:
for I=1 to N
if mid(R$,I,1)=W$ then S=S+1
next I
print "В заданном тексте буква ";
print W$;
print " встречается ";
print S;
print "раз"

Задача 2.
Составить программу, позволяющую убрать из заданной фразы первое слово.

Алгоритм состоит в определении номера первого пробела в заданной фразе (циклический алгоритм поиска). После этого надо выбрать часть фразы от символа, следующего за пробелом, до конца. Её длина будет меньше исходной на число, равное номеру первого пробела.

input "Введите текст", R$
rem Определяем длину введённой фразы:
N= length (R$)
rem Устанавливаем счётчик просмотренных символов:
I=1
rem Организуем цикл проверки каждого символа исходной фразы:
while mid (R$, I, 1)<>" "
I=I+1
end while
rem Выбираем правую часть исходной фразы длиной N-I символов:
P$ = right (R$, N-I)

print "Без первого слова получится: ";
print P$

Задача 3.
Составить программу, определяющую встречаются ли в заданном слове удвоенные гласные или согласные.

Это задача перебора и сравнения символа с соседним.

input "Введите текст", T$
rem Обнуляем счётчик удвоенных символов:
S=0
rem Определяем длину введённого текста:
K=length(T$)
rem Организуем цикл просмотра и сравнения символов:
for I=2 to K
if mid(T$,I,1)=mid(T$,I-1,1) then S=S+1
next I
if S=0 then
print
"Нет удвоенных букв"
else
print
"Есть"
end if

Задача 4.
Чему будут равны переменные А$ и B$ после выполнения следующих программ?

А)
A$ = “РАДИО”
B$ = “ВЕЩАНИЕ”
B$ = A$ + B$
A$ = MID(B$, 3, 3) + MID(A$, 3, 1)
print A$
print B$

В)
A$ = "КРИМИНАЛИСТИКА"
if MID(A$, 3, 2) > MID(A$, 5, 2) then goto m60
B$ = MID(A$, 8, 6)
A$ = MID(A$, 1, 3) + MID(A$, 11, 4)
goto m80
m60: A$ = MID(A$, 4, 2) + MID(A$, 10, 5)
B$="Г"+MID(A$,3,2)+MID(A$,6,1)+MID(A$,7,1)+MID(A$,10,5)
m80: print A$
print B$
end

Задача 5.
Составить программу для подсчёта количества слов в заданной фразе.
Идея: посчитать количество пробелов между словами.

clg
input “Введите текст”, R$
S=0
for I=1 to length(R$)
if mid(R$, I, 1)=” ” then S=S+1
next I
print S+1;
print “Cлов в заданной фразе”


Задача 6.
Составить программу для определения номера первой встречающейся в заданной фразе буквы К.

clg
input “Введите текст”, R$
for I=1 to length(R$)
if mid(R$,I,1)=”к” then goto n50
next I
print “Буквы к в заданной фразе нет”
end
n50: print “Номер первой буквы к – “;
print I

Задача 7.
Составить программу для определения, сколько слов в заданной фразе кончаются на А.

clg
S=0
input “Введите текст”, W$
W$=W$+” ”
for I=1 to length(W$)
if mid(W$, I, 1)<> “ ” then goto K
if mid(W$, I-1, 1)= “а” then S=S+1
K: next I
if mid(W$, length(W$), 1)= “а” then S=S+1
print S;
print “ - слов в заданной фразе кончаются на а”

Контрольная работа (14 вариантов) на темы:

  • операции над строковыми величинами
  • циклический алгоритм
  • алгоритм ветвления

Указание учителю. Вместо решения задач контрольной работы можно предложить учащимся игру в слова: чья программа составит наибольшее количество слов из заданного. Но эта работа, конечно, на оценку "отлично" не тянет.

Приложения

Задачник-практикум (Т. 1), 4.4.6 [4]

 

Начало \ Программа 8-9 \ Тема 9 \ Урок 29-31(73-75)

При использовании материалов сайта просьба соблюдать приличия
© М.А. и М.В. Выграненко, 2009-2017

Рейтинг@Mail.ru