Задачи на обработку строк

advertisement
Муниципальное общеобразовательное учреждение
Тавринская средняя общеобразовательная школа
Практическое занятие по программированию
для учителей информатики на тему
Задачи
на преобразование строк
Автор: Ярцев В. А.
Тавра
2010
План:
1. О, сколько нам открытий чудных готовит … учебник информатики
(Повторение):
a) Числовые и строковые переменные – в чем разница?
b) Три источника и три составных части … (операции со строками);
 Объединение строк
 Определение длины строки
 Выделение фрагмента из строки
c) Таблица кодов ASCII и две обратные функции:
 нахождение кода символа
 нахождение символа по коду.
2. Стандартная задача:
 замена в строке одного символа на другой:
3. Задачи из учебника.
а) Дана строка А$, состоящая из заглавных латинских букв. Найти B$,
состоящую из маленьких латинских букв. Из CAT получить cat.
б) Дана строка А$, состоящая из маленьких латинских букв. Найти B$,
состоящую из заглавных латинских букв. Из cat получить CAT.
4. Олимпиадная задача.
5. Для тех, кто не работал с файлами - это не просто, а очень просто!
6. Не так страшен Basic, как его компилятор (Заключение).
Теория
Практика
1.
а) A=123 – числовая переменная
A$ = “123” – строковая переменная
b) Операции со строками
1) Объединение, склеивание, конкатенация ( + )
A$=”123”
B$=”45”
C$=A$+B$
PRINT C$
2) Определение длины строки
(количество символов)
X= LEN (“TABLE”)
3) Выделение фрагмента из строки
A$=”КРОТ”
B$= MID$( A$, 2, 3 )
Строка, из
которой
вырезаем
Номер символа,
с которого
вырезаем
В чем ошибка?
B=”ДОМ”
С$= 100
Что будет на экране в
результате исполнения
команды:
PRINT “123”+ “КМ”?
Что будет на экране в
результате исполнения
команды:
PRINT LEN (“50 КМ”)
Что будет на экране в
результате исполнения
команды:
PRINT MID$ (“ПОБЕДА”, 3, 4)
Количество
символов
с) Таблица кодов ASCII
Функция ASC( A$) - дает код символа
Функция CHR$ (A) – дает символ по коду
X=ASC(“Z”)
X$=CHR$(100)
PRINT X, X$
Найдите по таблице:
 код символа “Z”
 символ, код которого 100
 разность между кодами:
“a” и “A”
“N” и “n”
“Z” и “z”
Что будет на экране в
результате исполнения
фрагмента:
2. Стандартная задача:
Замена в строке одного символа на другой:
(A$ на B$)
План решения:
1) Ввести строку
2) Найти длину строки
3) Цикл для каждого символа:
 Вырезать символ
 Если он равен A$, то на его место
вставить B$
4) Вывести новую строку на экран
INPUT X$
X=LEN(X$)
FOR I=1 TO X
C$=MID$(X$, I, 1)
IF C$=A$ THEN
MID$(X$, I, 1)=C$
END IF
NEXT I
PRINT X$
END
3. Задача из учебника:
а) Дана строка А$, состоящая из заглавных
латинских букв. Найти B$,
состоящую из
маленьких латинских букв. Из CAT получить cat.
План решения:
INPUT A$
1) Ввести строку
A=LEN(A$)
2) Найти длину строки
FOR I=1 TO A
3) Цикл для каждого символа:
C$=MID$(A$, I, 1)
 Вырезать символ
C=ASC(C$)
 Найти код
C=C+32
 Увеличить на 32
C$=CHR(C)
 Заменить новый код на символ
MID$(A$, I, 1)=C$
 Вставить новый символ в строку
NEXT I
PRINT A$
4) Вывести новую строку на экран
END
б) Дана строка А$, состоящая из маленьких
латинских букв. Найти B$, состоящую из заглавных
латинских букв. Из cat получить CAT.
4. Олимпиадная задача.
Решить самостоятельно
План решения:
1) Ввести строку
2) Если первая буква не заглавная, поменять ее
на заглавную.
INPUT A$
A = ASC(MID$(A$, 1, 1))
IF A > 95 THEN
A = A - 32
C$ = CHR$(A)
A$ = C$ +
MID$(A$,2,LEN(A$))
END IF
3) Для каждого символа, начиная со второго,
FOR I = 2 TO LEN(A$)
проверить: если буква заглавная, поменять ее C$ = MID$(A$, I, 1)
на маленькую.
IF ASC(C$) < 96 THEN
C = ASC(C$)
C = C + 32
C$ = CHR$(C)
A$ = MID$(A$, 1, I - 1) + C$
+ MID$(A$, I + 1, LEN(A$) - I)
END IF
NEXT
4) Вывести новую строку
PRINT A$
END
5. Ввод из файла и вывод в файл
OPEN "input.txt" FOR INPUT AS #1
INPUT #1, A$
CLOSE #1
Наберите в программе строки
В месте ввода данных
OPEN "output.txt" FOR OUTPUT AS #2
PRINT #2, A$
CLOSE #2
В месте вывода данных
Для проверки работы программы нужно в той же
папке, файл среды QBASIC создать файл под именем
“input.txt”, открыть его, набрать данные для ввода,
сохранить. Затем вернуться в среду, запустить
программу на исполнение. В той же папке, программа
создаст текстовый файл “output.txt”. Откройте его и
убедитесь, что программа выдала верный результат.
Если он не верный, найдите и исправьте ошибку.
6. Для работы с проверяющей системой олимпиадных
задач, разработанной программным комитетом г.
Екатеринбурга сохраненный файл с программой на
QBasic открыть в программе Power Basic compiler,
скомпилировать в exe-файл. Алгоритм работы с
проверяющей системой – это тема другого занятия.
Только для учителей информатики!
Практическое занятие по программированию
из серии
Это вы можете
(от учебника к олимпиадной задаче)
Тема:
Задачи на преобразование строк
Кабинет
№21
Учитель:
Ярцев Виктор
Александрович
Download