Цели:
- изучать и закрепить основные алгоритмы решения задач на анализ и преобразование текста,
- развивать логическое мышление,
- расширять кругозор,
- развивать познавательный интерес,
- воспитывать информационную культуру.
Оборудование:
- компьютеры,
- доска,
- мел,
- кроссворд.
Ход урока.
1. Организационный момент.
1.1.Учитель ставит перед учащимися цель урока.
1.2. Ребята записывают тему урока и дату.
2. Повторение.
2.1. Кроссворд.
(Ребятам предоставляется возможность решить кроссворд, состоящий из операторов и функций по обработке литерных величин. Учащийся, правильно назвавший оператор или функцию, выходит к доске и заполняет клетки кроссворда, а ниже на доске записывает общую форму записи).
По горизонтали:
- Эта функция используется для вывода заданного количества пробелов.
- Производит поиск первого вхождения заданной подстроки в исходную строку.
- С помощью этой функции можно вырезать из заданного текста какую-нибудь часть, даже один символ.
- С помощью этого оператора можно вводить не только литерные величины, но и числовые.
По вертикали:
- Результатом выполнения функции является количество символов в строке.
- Вывести любую информацию в любом виде поможет оператор ….
- Выводит строку из одинаковых символов определенной длины.
Общая форма записи.
SPACE$(N)
INSTR(N, X$, Y$)
MID$(A$, N, M)
INPUT “текст”; <переменные>
LEN(A$)
PRINT <объекты>
STRING$(N, M)
2.2. Проверка домашнего задания.
(Домашним заданием было составить несколько новых слов из букв одного слова. Все справились? Кто сколько составил слов? Тот учащийся, который составил больше всего слов, дает тетрадь на проверку учителю. Остальные вводят и отлаживают свои программы на компьютерах. Учитель ограничивает их до 3-х слов. После окончания выполнения учитель проверяет правильность. Пока все выполняют на компьютере домашнюю работу, тот кто не подготовил домашнее задание, подходит к учителю для разбора задачи и получает дополнительную задачу на дом.)
3. Изучение нового материала.
Многие задачи по обработке литерных величин требуют анализа текста, подсчитать количество заданных символов, преобразовать исходный текст по заданному условию. Сегодня мы с вами научимся решать такие задачи, используя операторы и функции по обработке литерных величин.
3.1. Рассмотрим одну из задач на анализ текста и замену символов.
Запишите условие задачи.
Задача 1: Дан исходный текст. Заменить все символы “*” на символ “+”.
(Задача решается совместно у доски).
Определим исходные данные и результаты работы программы.
Исходные данные: A$ - исходный текст,
Результат: A1$ - измененный текст.
Каким образом можно решить задачу? (Ребята пытаются выстроить алгоритм решения). Учитель записывает программу на доске с объяснением.
CLS
INPUT “Введите текст”; A$
A1$= “”
N=LEN(A$)
FOR I=1 TO N
B$=MID$(A$, I, 1)
IF B$= “*” THEN A1$=A1$+ “+” ELSE A1$=A1$+B$
NTXT I
PRINT “Исходный текст”; A$
PRINT “Измененный текст”, A1$
Далее ученики набирают текст, делают отладку и тестирование программы на компьютере.
3.2. Какие нужно сделать изменения в полученной программе для замены любого заданного пользователем символа?
Задача 2: Дан текст. Замените один символ, заданный пользователем, на другой символ.
(Ребята определяют исходные данные и результаты работы программы.
Исходные данные:
A$ - исходный текст,
C$ - символ для поиска,
B$ - символ для замены.
Результат:
A1$ - измененный текст,
k – количество символов.
Предлагают добавить и изменить строки программы, а учитель исправляет текст программы на доске).
Программа имеет вид:
CLS
INPUT “Введите исходный текст”; A$
INPUT “Символ для поиска”; C$
INPUT “Символ для замены”; D$
A1$= “”
N=LEN(A$)
FOR I=1 TO N
B$=MID$(A$, I, 1)
IF B$=C$ THEN A1$=A1$+D$ ELSE A1$=A1$+B$
NEXT I
PRINT “Исходный текст”; A$
PRINT “Измененный текст”; A1$
Далее ученики редактируют текст программы, делают отладку и тестирование на компьютере.
3.3. Одна из типовых задач требует подсчета заданных символов в тексте.
Давайте попробуем изменить программу так, чтобы она не только заменяла символы, но и подсчитывала количество замен.
Запишите условие задачи в тетради.
Задача 3: Дан текст. Замените один символ, заданный пользователем, на другой символ. Подсчитать количество замен.
(Ребята предлагают алгоритм решения, учитель делает изменения в программе на доске и ребята записывают программу в тетради.)
CLS
INPUT “Введите исходный текст”; A$
INPUT “Символ для поиска”; C$
INPUT “Символ для замены”; D$
K=0
N=LEN(A$)
A1$= “”
FOR I=1 TO N
B$=MID$(A$, I, 1)
IF B$=C$ THEN A1$=A1$+D$:k=k+1 ELSE A1$=A1$+B$
NEXT I
PRINT “Исходный текст”; A$
PRINT “Измененный текст”; A1$
PRINT “Количество замененных символов”; k
Ребята редактируют текст программы, делают отладку и тестирование на компьютере.
4. Закрепление.
Для закрепления темы ребятам предлагается решить задачу.
Задача 4: Дан текст. Подсчитать количество пробелов в тексте.
(Ребята изменяют текст программы, на компьютере и показывают результаты работы учителю.)
5. Итог урока.
5.1. Учитель обобщает изученный материал. (Какие задачи научились решать? Понятен ли изучаемый материал?)
5.2. Выставление оценок за урок.
5.3. Домашнее задание.
Детям дифференцированно предлагаются 10 вариантов задач, различных по сложности. Также предлагается одна дополнительная задача для желающих.
Варианты домашнего задания:
- Во введенном тексте поменяйте ! на ? и наоборот. (на “3”)
- Ввести слово и преобразовать его след. образом: 2 первые и 2 последние буквы отделите от середины слова пробелами.(на “4”)
- Вывести на экран каждый десятый символ введенного текста. (на “4”)
- Каждые два символа во введенном тексте разделить знаком “*”. (на “4”)
- Во введенном тексте, состоящем из 2-х слов, разделенных пробелом, поменять слова местами. (на “5”)
- Введите текст и определите номер позиции первой точки, заканчивающей предложение (на “5”)
- Подсчитать сколько в тексте повествовательных предложений. (На “5”)
- Определить есть ли во введенном тексте вопросительное предложение. (на “5”)
- Подсчитать сколько в тексте вопросительных предложений.(на “5”)
- Подсчитать количество слов в тексте, заканчивающихся на букву “я” (на “5”)
- Подсчитать сколько слов во введенном тексте (дополнительная задача)