Литерные величины в языке программирования TurboBasiс

Разделы: Информатика


Цель урока: Научить реализовывать литерные величины в языке программирования 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

Замечания:

  1. К – счетчик буквы “а”;
  2. с помощью функции MID$ организовываем выделение и просмотр каждого символа, входящего в текст (или группы символов), сравнивая его с буквой “а”;
  3. К стоит перед телом цикла, иначе он всегда будет равен 0;
  4. при сравнении лит. величин строчные буквы не равны прописным, латинские не равны русским! Поэтому наша программа сосчитает только маленькие (прописные) буквы “а”. Если хотим подсчитать все буквы а, то строку с условиемследует записать так:
    IF (MID$(A$,I,1)=”a”) OR (MID$(A$,I,1)=”A”) THEN K=K+1 ;
  5. если необходимо подсчитать количество слов в тексте, то надо подсчитать количество пробелов и прибавить 1.

Задача №2.

Заменить в тексте “до ре ми ре ля” все “ре” на “ля”.

CLS

F$=”до ре ми ре ля”

FOR I=1 TO LEN(F$)-1

IF MID$(F$,I,2)=”ре” THEN MID$(F$,I,2)=”ля ”

NEXT

PRINTF$

Замечания:

  1. Для того, чтобы избежать многократного ввода данного текста (“до ре ми ре ля”), в программе задается литерная величина, значением которой является этот текст;
  2. Текст просматривается до предпоследнего символа, т.к. заменяем 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$

Замечания:

  1. В случае, если фрагмент текста, подлежащий замене, не равен по длине фрагменту, заменяющему его, или в результате операций над литерной величиной изменяется ее длина, следует создавать новый текст;
  2. Учителю следует подробно разобрать 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. Подведение итогов

  • Выставление оценок;
  • Проанализировать усвояемость материала по итогам оценок;
  • Д.З.