Цель урока: Научить реализовывать литерные величины в языке программирования TurboBasic.
Задачи:
Образовательные:
- углубить понятие литерной величины;
- сформировать понятия: длина литерной величины, конкатенация, вырезка;
- научить выполнять операции и функции, определенные над литерными величинами;
- научить использовать знания о литерной величине, об операциях и функциях, определенных над литерными величинами, в решении задач, т.е. в обработке нечисловой информации.
Воспитательные:
- воспитывать умение планировать свой труд по времени;
- организовать самоконтроль учащихся;
- воспитывать правильный режим труда и отдыха;
- воспитание личностных качеств: внимательность, аккуратность, усидчивость, самостоятельность, ответственность.
Развивающие:
- развитие познавательного интереса и активности;
- развитие технического мышления.
Средства обучения: класс ПК, электронная доска, карточки с задачами.
Форма организации познавательной деятельности: фронтальная, индивидуальная.
План занятия
1. Организационный момент | 2 мин. |
2. Актуализация и мотивация | 4 мин. |
3. Повторение | 2 мин. |
4. Изложение нового материала | 30 мин. |
5. Закрепление учебного материала | |
(решение опорных задач) | 35 мин. |
6. Вводный инструктаж | 4 мин. |
7. Практическая работа | 75 мин. |
8. Рефлексия | 3 мин. |
9.Подведение итогов | 5 мин. |
Всего на эту тему отводится 4 урока
Ход урока
1. Организационный момент:
- приветствовать учеников;
- отметить отсутствующих;
2. Актуализация и мотивация:
- объявить тему урока;
- назвать цель урока;
- 80% машинного времени тратится на обработку нечисловой информации.
3. Повторение:
Вы уже встречались в курсе информатики с понятием “литерная величина” (“символьная величина”).
Давайте вспомним определение литерной величины.
Литерная величина – это величина, значением которой является любой набор символов, заключенный в кавычки.
Новый материал.
Именуются литерные величины латинскими буквами и знаком $.
Примеры:
A$=”#2BF^&*65”
B$=”Зима”
C$=”457”
D$=” “ (пробел – равноправный символ)
F$=”” (пустая строка)
Арифметических действий с литерными величинами выполнять нельзя!
Всякая литерная величина (текст) имеет определенную длину.
Длина литерной величины – это количество символов между кавычками.
1. Операции и функции, определенные над литерными величинами
Склеивание (или конкатенация) – это объединение нескольких текстов в один. Обозначается знаком “+”.
Примеры:
a) склеить 2 литерные величины “паро” и “воз”:
“паро”+”воз”=”паровоз”
b) при сложении 2-х чисел 15 и 10 получаем 25, т.е.
15+10=25
А что же получим в результате операции склеивания 2-х литерных величин A$=”15” и B$=”10” ?
A$+B$=”1510”
Если поменять слагаемые местами, то результат получится иной: B$+A$=”1015”
Замечание: для операции склеивания переместительный закон не выполняется!!!
c) даны две литерные величины:
P$=”Иванова”
Q$=”Маша”.
Для того, чтобы получить литерную величину C$=”Маша Иванова”, что нужно склеить?
C$=”Маша Иванова”=Q$+” “+”P”
Вопрос: А что получим в результате склеивания
Q$+P$ ?
2. Определение длины литерной величины
Существует функция, определяющая длину литерной величины:
LEN (<имя или значение литерной величины>)
Определим длины значений литерных величин в приведенных выше примерах:
LEN(A$)= 9
LEN(B$)= 4
LEN(C$)= 3
LEN(D$)= 1
LEN(F$)= 0
LEN(“информатика”)=11
Замечание: минимальная длина литерной величины равна 0, максимальная 255.
3. Вырезка – выделение необходимого фрагмента текста
Что нужно знать, чтобы вырезать определенный фрагмент из данного текста?
- сколько символов вырезать;
- с какой позиции начинать вырезать.
Существует функция вырезки: MID$(A$,M,N) – означает из литерной величины A$ вырезать N символов, начиная с позиции M .
Пример: Дана A$=”Благородство”.
Получить:
1) ”город”
MID$(Q$,4,5)=”город”
2) “Благо”
MID$(Q$,1,5)=”Благо”
3) Вырезать последний символ в A$.
MID$(Q$,12,1)=”о”;
4) А если не знаем длину литерной величины, как вырезать последний символ?
MID$(Q$,LEN(Q$),1)=”о”.
Существует 2 частных случая вырезки:
а) Вырезка слева:
LEFT$ (<имя или значение литерной величины>,<кол-во вырезаемых символов>)
Пример:
дана Z$=”носорог”
LEFT$(Z$, 3)=”нос”
б) Вырезка справа:
RIGHT$(<имя или значение литерной величины>,<кол-во вырезаемых символов>)
Пример: дана Z$=”носорог”
RIGHT$(Z$,3)=”рог”
? Как записать с помощью функции MID$ функции LEFT$ и RIGHT$ ?
LEFT$(Z$,N)=MID$(Z$,1,N)
RIGHT$(Z$,N)=MID$(Z$,LEN(Z$)-N+1,N)
4. Замена фрагмента текста
Если MID$ в команде стоит левее знака присваивания, то вместо вырезки происходит замена фрагмента текста.
Пример: Заменить “слова” на “слоги”.
M$=”слова”
MID$(M$,4,2)=”ги”
PRINT M$
Что получим в результате выполнения этой программы? (M$=”слоги”)
5. Решение опорных задач
Задача №1. В произвольном тексте подсчитать количество букв “а”.
CLS
INPUT”Введи текст”;A$
K=0
FOR I=1 TO LEN(A$)
IF MID$(A$,I,1)=”a” THEN K=K+1
NEXT
PRINT”букв а:”;K
Замечания:
- К – счетчик буквы “а”;
- с помощью функции MID$ организовываем выделение и просмотр каждого символа, входящего в текст (или группы символов), сравнивая его с буквой “а”;
- К стоит перед телом цикла, иначе он всегда будет равен 0;
- при сравнении лит. величин строчные буквы не
равны прописным, латинские не равны русским!
Поэтому наша программа сосчитает только
маленькие (прописные) буквы “а”. Если хотим
подсчитать все буквы а, то строку с
условиемследует записать так:
IF (MID$(A$,I,1)=”a”) OR (MID$(A$,I,1)=”A”) THEN K=K+1 ; - если необходимо подсчитать количество слов в тексте, то надо подсчитать количество пробелов и прибавить 1.
Задача №2.
Заменить в тексте “до ре ми ре ля” все “ре” на “ля”.
CLS
F$=”до ре ми ре ля”
FOR I=1 TO LEN(F$)-1
IF MID$(F$,I,2)=”ре” THEN MID$(F$,I,2)=”ля ”
NEXT
PRINTF$
Замечания:
- Для того, чтобы избежать многократного ввода данного текста (“до ре ми ре ля”), в программе задается литерная величина, значением которой является этот текст;
- Текст просматривается до предпоследнего символа, т.к. заменяем 2 символа, и здесь достаточно сравнить только первые.
Задача №3.
Составить программу, которая исправляет следущую ошибку: после запятой всегда ставят пробел.
CLS
INPUT”введи текст”;P$
Q$=””
FOR I=1 TO LEN(P$)
IF MID$(P$,I,1)=”,” THEN Q$=Q$+”, “
ELSE Q$=Q$+MID$(P$,I,1)
NEXT
PRINT Q$
Замечания:
- В случае, если фрагмент текста, подлежащий замене, не равен по длине фрагменту, заменяющему его, или в результате операций над литерной величиной изменяется ее длина, следует создавать новый текст;
- Учителю следует подробно разобрать 40-ую строку, так ли необходима часть этой строки:
ELSE Q$=Q$+MID$(P$,I,1) ?
Что будет, если ее опустить?
Задача №4.
Между всеми символами поставить знак плюс.
CLS
A$=”12345”
B$=””
FOR I=1 TO LEN(A$)-1
B$=B$+MID$(A$,I,1)+”+”
NEXT
B$=B$+MID$(A$,LEN(A$),1)
PRINT B$
Замечания:
Можно поставить вопрос по данной программе:
- какой будет результат, если заменить строку: FOR I=1 TO LEN(A$) ?
Задача №5.
Ввести символы как элементы литерного массива и составить из них текст.
DATA р,о,щ,а
DIM A$(3)
FOR I=0 TO 3
READ A(I)
NEXT
B$=””
FOR I=0 TO 3
B$=B$+A(I)
NEXT
PRINT B$
END
6. Вводный инструктаж
- Что надо решить самостоятельно (номера);
- Напомнить критерии оценки;
- Сказать о типичных ошибках.
7. Самостоятельная работа учащихся
Проводится по индивидуальным карточкам. Приложение 1.
Во время сам.работы провести текущий инструктаж:
А) безопасность труда ;
Б) текущая проверка решения задач учащимися.
8. Рефлексия
- Обобщить:
- Какую тему изучили?
- С какими понятиями познакомились?
- Какие операции (функции) над литерными величинами научились выполнять?
9. Подведение итогов
- Выставление оценок;
- Проанализировать усвояемость материала по итогам оценок;
- Д.З.