Конспект урока "Символьные величины"

Тема урока 1: «Символьные величины».
Цели урока: 1. Ввести понятие символьной величины,
ознакомить учащихся с обозначением и особенностями символьных
величин, способами их ввода и вывода. Сформировать навыки
использования конкатенации при решении задач.
2. Развивать абстрактное и логическое мышление учащихся.
3. Воспитывать интерес к углубленному изучению предмета,
навыки самостоятельной работы учащихся.
Тип урока: изучение нового материала.
План урока.
1. Мотивация изучения темы.
2. Объяснение нового материала.
3. Домашнее задание.
1. Мотивация изучения темы.
Очень часто приходится обрабатывать текстовую
информацию. Самым удобным способом обработки текстовой
информации является обработка текста с помощью компьютера.
Компьютер, являясь универсальным средством обработки
информации, решает весьма разнообразные задачи, причем не
только числового характера: от составления платежных
ведомостей до верстки газет. При обработке текстов компьютер
должен уметь оперировать не только числами, но и различными
нецифровыми символами. Поэтому необходимо знать, какие
команды нужно давать машине, чтобы она могла обрабатывать
текст.
2. Объяснение нового материала.
Учащиеся набирают и запускают программу (она должна быть
сохранена до конца урока):
INPUT “Введите ваше имя”; A$
INPUT “Введите вашу фамилию”; B$
PRINT “Здравствуй, “; A$; “ “; B$; “. Начнем урок.”
Ребята наблюдают за выполнением программы.
Вопрос. Какие новые символы (знаки) и
последовательности символов встретились в данной
программе?
Знак доллара “$” является отличием одного типов
данных. Этот тип называется символьным, а величины,
значения которых являются строки символов, -
символьными. Они обозначаются буквой или буквой и
цифрой с добавлением символа “$” и подразделяются на
символьные переменные и символьные константы.
Символьные (строковые, текстовые)
константы это заключенные между двойными кавычками
строки длиной до 255 символов, которые остаются
неизменными в процессе решения задачи. Такими символами
могут быть буквы, цифры, пробелы и любые другие знаки, за
исключением знака кавычек. Иногда текстовые константы
используются для вывода пояснительных надписей в
различных операторах – PRINT, INPUT, REM.
a) A1$ = ”MSX-БЕЙСИК”
b) C$ = “2+3 =”
c) INPUT «Введите число»; А
PRINT “ОТВЕТ” ; A + 20
В последнем фрагменте строки «Введите число» и
«ОТВЕТ» являются символьными константами.
Символьная переменная это строка длиной 255
символов, но ее значение может меняться в ходе решения
задачи.
INPUT Введите число, большее 0 “; X
IF X>0 THEN C$=“ПРАВИЛЬНОELSE C$= “НЕПРАВИЛЬНО”
PRINT C$
В данном примере С$ - символьная переменная.
Ввод, присвоение и вывод символьных величин
осуществляется так же, как и для числовых:
INPUT Как вас зовут?”; N$
NAME$ = N$
PRINT «Здравствуйте,»; NAME$
Значение символьных величин можно задавать с
помощью операторов ввода READ и DATA. В
операторе DATA кавычки могут быть опущены, если
строка символов не содержит запятых, точек с запятой и
двоеточий.
DATA понедельник, вторник, среда, четверг,
пятница, суббота, воскресенье
INPUT Введите номер дня недели” ; X
FOR I = 1 TO 7
READ C$
IF X=I THEN PRINT “Сегодня –“ ; C$
NEXT I
Еще один способ ввода символьных данных связан
с применением функции INPUT$(N), которая принимает
с клавиатуры N символов и присваивает их символьной
величине. Отражение символов, соответствующих
нажимаемым клавишам, на экране не осуществляется.
Если введено меньше символов, чем задано, функция
будет ожидать дальнейшего ввода.
Если в тексте встречаются запятая или кавычки, то
используется оператор LINE INPUT (сокращенно
LINPUT).
Его формат:
LINE INPUT [“сообщение”;] переменная
(квадратные скобки здесь и далее указывают на
необязательность данного параметра).
Оператор аналогичен оператору INPUT с одной
лишь разницей, что в результате его выполнения любые
символы, вводимые с клавиатуры, объединяются в одну
строку. Если введена числовая величина, то она
трактуется как символьная.
Рассмотрим фрагмент программы:
LINPUT “ВВЕДИТЕ ИЗМЕРЕНИЕ СКОРОСТИ В МЕТРАХ”; A$
PRINT A$
При его выполнении если введено число 55,7, то
оно будет выведено на экран. При использовании же
вместо оператора LINPUT в данном фрагменте INPUT
будет выведено сообщение об ошибке или число 23 .
Задание 1. Найдите ошибки в записях символьных
величин (если они есть) и объясните их:
1) A$= «информатика»
2) CK2 = “вычислительная техника”
3) D$ = компьютер
4) 65N$ =”2+2=4”
(2)Ппропущен знак $. 3)Пропущены кавычки.
4)Неправильное имя символьной величины цифры
стоят перед буквой.)
Задание 2. Выполните предложенную в начале урока
программу, вводя различные значения фамилии и имени.
Задание 3. Назовите все величины, используемые в
приведенной в начале урока программе. Определите,
какие из них являются символьными переменными, а
какие - символьными константами.
Для символьных величин определена
единственная операция сложение, или
конкатенация. Она обозначается знаком «+» и
позволяет строить из двух символьных величин третью,
состоящую из символов первой, за которыми следуют
символы второй.
Например, если K$ = ин”, P$ = “форма”, S$ =
“тика”, то в результате сложения D$ = K$+P$+S$ будет
слово «информатика»
А что получится в результате сложения
P$+K$+S$?
Если в результате сложения символьных величин
получится строка, большая 255 символов, лишние
символы будут отброшены.
Задание 4.
А) Добавьте и измените строки раннее рассмотренной
программы следующим образом:
30 C$ = A$ + “ “ + B$
40 PRINT «Здравствуй,»; C$; “. Начнем урок.”
Б) Измените строку 30, поменяв местами A#
Тема урока 2: «Функции обработки символьных
величин».
Цели урока: 1. Познакомить учащихся с функциями обработки
строк, научить использовать эти функции при решении задач.
4. Развивать абстрактное и логическое мышление учащихся.
5. Воспитывать интерес к углубленному изучению предмета, навыки
самостоятельной работы учащихся.
Тип урока: комбинированный
План урока.
4. Проверка домашнего задания.
5. Объяснение нового материала.
6. Решение задач.
7. Домашнее задание.
3. Проверка домашнего задания.
Ученикам предлагаются следующие вопросы:
1) Какие величины называются символьными?
2) Как они обозначаются?
3) Какая операция определена для символьных величин?
4) Каким образом вводятся и выводятся символьные величины?
Решение заданной на дом задачи в тетрадях проверяется в ходе
урока,
4. Объяснение нового материала.
Многие функции, которые встречаются в языке Бейсик, являются
составной частью языка и называются стандартными функциями.
Назовите некоторые из них (ABS(X), COS(X), SIN(X), SQR(X) и т.д.)
Эти функции являются числовыми и обрабатывают числовые
значения.
Для работы с введенным нами новым типом
символьные величины тоже есть свои функции. Они
называются строковыми (символьными) функциями. Каждая
такая функция имеет уникальное имя, по которому
происходит обращение к ней. В зависимости от типа
результата строковые функции делятся на функции обработки
строк и функции преобразования типов данных. В Функциях
обработки строк и аргументов, и результат является строками.
Аргумент и результат функции преобразования типов данных,
в отличие от аргумента и результата функции обработки
строк, представляют собой данные разных типов.
При обработке текста часто необходимо знать его длину, т.е.
количество составляющих его символов.
Задание. Подсчитайте длину символьной величины A$ =
«Информатика изучает технологию сбора, хранения и переработки
информации» (72)
! Обратите внимание! Считаются не только буквы, но и пробелы,
знаки препинания кроме кавычек.
Трудоемкую работу по определению длины текста в Бейсике
выполняет функция LEN(X$) ( от английского LENgth длина),
которая находит длину символьной величины X$. Аргументом
функции LEN должна быть символьная величина. Результатом
является целое число, заключенное между 0 и 255.
LEN(“SOS”) =3
LEN(“*****”)=5
LEN(“”)=0
В результате выполнения фрагмента программы
10 P$ = “ эта фраза в настоящем времени”
20 PRINT «длина =»; LEN (P$)
на экран будет выведено сообщение о длине цепочки P$, равной 29
Вопрос. Может ли быть результатом функции LEN число 325?
(Нет, так как символьные величины это строки длиной 255
символов.)
Одной из основных операций, необходимых для анализа
текста, - выделение какой-либо его части. Выполнить эту операцию
позволяет функция MID$ (от английского MIDdle середина). Ее
результатом являются символьные строки, поэтому имя этой
функции всегда сопровождается знаком $. Функция MID$(X$,N,M)
вырезает подстроку длиной в М символов из строки X$, начиная с
символа с номером N. Эта функция может находится как справа, так
и слева от знака равенства и в зависимости от своего положения
выполняет различные действия:
1. Функция MID$ справа от знака равенства.
Форма:
MID$(A$, N, [M]) = B$
При выполнении этой команды последовательные символы строки
A$ начиная с позиции N, замещаются на первые М символов строки
B$. Остальные символы в A$ остаются без изменения. [M]
необязательный параметр.
Рассмотрим фрагмент программы:
10 X$ = “1234567890”
20 INPUT Y$, N, M
30 MID$(X$, N, M) = Y$
40 PRINT X$
В результате его выполнения при вводе LL, 5, 3 на экране
выводится 1234LL7890. Если ввести слово КРОКОДИЛ, 7, 4, то на
экране выводится строка123456КРОК.
Примечание. Такое расположение функции MID$ применяется
достаточно редко.
2 Функция MID$ слева от знака равенства.
Форма:
B$ = MID$(A$, N, [M])
При выполнении этой команды переменной B$ присваивается
значения, представляющие собой М последовательных символов
величины A$, первый из которых занимает позицию N.
MID$(“мишка”,2, 3) = «ишк»
Если М не указано или количество символов в строке справа
от символа N меньше, чем М, то выдается строка с номера N до
конца текста:
MID$(«паровоз», 5) = «воз»
Если значение М=0 или значение N превышает длину строки,
то результатом будет пустая строка.
1) MID$(“ “, 2, 3) = “
2) MID$(“ЭВМ”, 5, 3) = “
3) 10 INPUT X$, M
20 Y$ = MID$(X$, M)
30 PRINT Y$
В результате выполнения последнего фрагмента при вводе
1234567890б 5 на экран выводится 567890 (т.е. переменная Y$
принимает значение, равное 567890).
Кроме функций LEN и MID в разных версиях Бейсика
имеются несколько десятков других функций.
Например: вырезка первых символов слова может
осуществляться с помощью функции LEFT$(X$, N). Функция
LEFT$(X$,N) вырезает подстроку длиной в М символов из строки
X$, начиная с первого символа ,N. количество вырезаемых
символов.
X$ = “столица”
PRINT LEFT$(X$, 3)
В результате на экран выводится слово «сто».
Например: вырезка последних символов слова может
осуществляться с помощью функции RIGHT$(X$, N). Функция
RIGHT$(X$,N) вырезает подстроку длиной в М символов из строки
X$, начиная с последнего символа ,N количество вырезаемых
символов.
X$ = “столица”
PRINT RIGHT$(X$, 4)
В результате на экран выводится слово «лица».
5. Решение задач.
Задача 1. Заменить в предложении восклицательный знак на
вопросительный.
Решение.
Примечание. Задача разбирается совместно у доски, далее ученики
самостоятельно набирают текст программы и осуществляют отладку
программы на компьютере.
Используемые величины:
A$ -вводимый текст;
N длина вводимого текста;
B$ - вырезаемый из текста символ;
I номер вырезаемого символа;
C$ - текст, в котором «!» заменен «?»
Из вводимого текста A$ вырезается по одному символу B$ и
проверяется условие: если B$ = !”, то C$ = С$ + ?”, иначе
C$ = C$ + B$
10 INPUT A$
20 N = LEN(A$)
30 C$ = “
40 FOR I = 1 TO N
50 B$ = MID$(A$, I, 1)
60 IF B$ = “!” THEN C$ = C$ + “?” ELSE C$ = C$ + B$
70 NEXT I
80 PRINT C$
90 END
Вопрос. Обязательно ли использовать при решении величину N?
Почему?
Задача 2. Дан текст. Определить содержит ли он символы «.»
Решение.
Примечание. Эту задачу ученики решают самостоятельно после
разбора и отладки предыдущей задачи. Проверка решения
проводится у доски в конце урока.
Используемые величины те же, что и в задаче 1.
Из текста A$ вырезается по одному символу B$ и проверяется
условие B$ = “.”.Если оно выполняется, то просмотр заканчивается и
выводится «Да», иначе просмотр продолжается; если достигнут
конец текста и искомый символ не найден, выводится «Нет».
10 INPUT A$
20 N = LEN(A$)
30 FOR I = 1 TO N
40 B$ = MID$(A$, I, 1)
50 IF B$ = “.” THEN 90
60 NEXT I
70 PRINT “Нет”
80 GOTO 100
90 PRINT «Да»
100 END
Вопрос. Что изменится в решении, если нужно находить не «.», а
«*», «=»?
6. Домашнее задание.
Задача 1. Во введенном тексте поменяйте «!» на «?» и наоборот.
Задача 2. Напишите программу, которая из слов «оболочка»,
«турист», «раствор», составит слово «оболтус».
Тема урока 3: «Решение задач на поиск, подсчет и
удаление символов».
Цели урока: 1. Познакомить учащихся операциями для
решения задач тип «поиск и подсчет», «удаление (вставка)».
Научить применять известные функции и операции для решения
задач.
6. Развивать абстрактное и логическое мышление учащихся.
7. Воспитывать интерес к углубленному изучению предмета, навыки
самостоятельной работы учащихся.
Тип урока: комбинированный
План урока.
8. Проверка домашнего задания.
9. Объяснение нового материала.
10. Решение задач.
11. Домашнее задание.
7. Проверка домашнего задания.
К доске вызывается ученик для объяснения решения домашней
задачи. Одновременно идет фронтальный опрос.
Вопросы:
5) Назовите основные функции обработки строк.
6) Что такое длина символьной величины? Как найти ее с помощью
функций языка Бейсик?
7) Как работает функция MID$(A$, M, N)? Что представляют собой
аргументы этой функции?
Решение заданных на дом задач в тетрадях проверяется в ходе
урока,
8. Объяснение нового материала.
Используя операции сравнения и известные функции обработки
строк, можно решать задачи различного типа, например задачи на
подсчет и поиск, задачи на удаление (вставку).
В условиях типа по «подсчет, поиск» присутствуют слова
«найти…», «подсчитать …», при этом указывается условие, которому
должны удовлетворять подсчитываемые символы (или группа
символов).
Во многих задачах этого типа речь идет о выделении слова.
Слово это последовательность букв, заключенная между символами,
левый из которых пробел, а правый – любой знак препинания или
пробел. Одно слово от другого отделяется определенным символом
(пробел, запятая, и т.д.).
Алгоритм решения задач типа «подсчет поиск»:
Ввести текст, определить его длину;
«вырезать» из текста группу символов и проверить, удовлетворяет
ли она условию задачи;
если требуется только найти группу символов, удовлетворяющих
заданному условию, то выдать сообщение, что символы найдены,
или групп символов, удовлетворяющих такому условию нет;
если требуется подсчитать количество групп символов,
удовлетворяющих заданному условию, то изменить значение
счетчика;
если конец текста достигнут, то завершить работу программы.
9. Решение задач.
Задача 1. Введите текст и определите номе позиции первой точки,
заканчивающей предложение (предполагается, что хотя бы одно из
предложений заканчивается точкой).
Решение.
Используемые величины:
A$ - вводимый текст;
B$ - символ, вырезаемый из текста (текущий и стоящий справа);
E$ - символ, вырезаемый из текста (текущий и стоящий слева);
N - длина текста;
I - - номер пары символов в тексте;
B номер первой точки.
Текст просматривается начиная со второго символа.
Поскольку возможны два случая употребления точки точкой
оканчивается предложение и точка употребляется в многоточии, то
проверяются, во-первых, текущий и стоящий справа символы, если
они равны «.», то эта точка в конце предложения; во-вторых,
текущий и находящийся слева от точки, их комбинация не должна
быть «..». Если оба условия выполняются, то, значит, первая точка
найдена (B=I) и просмотр текста заканчивается.
10 INPUT A$
20 N = LEN(A$)
30 FOR I=2 TO N-1
40 B$ = MID$(A$, I, 2)
50 E$ = MID$(A$, I-1, 2)
60 IF B$ =”. “ AND E$ <> “. .” THEN B = I ELSE 80
70 I = N
80 NEXT I
90 PRINT B
100 END
В задачах на удаление и вставку происходит «сжатие» или
«расширение» группы символов. В условиях задач этого типа
присутствуют слова «вставить», «заменить», «удалить», а также
указывается, какие символы вставить или удалить, в соответствии с
каким условием заменить одни символы на другие.
Алгоритм решения задач на удаление и вставку:
Ввести текст, определить его длину;
Найти нужный символ или номер его позиции;
Выполнить указанное в задаче действие;
Если конец текста не достигнут, то перейти к нахождению
следующей нужной позиции, иначе вывести результат и
завершить работу.
Чтобы «сжать» исходный текст T$, удалив из него цепочку символов
от (I+1)-го до (I+N)-го, нужно «переслать» посимвольно текст T$ в
новую символьную переменную G$ от начала до I-го символа и от
(I+N+1)-го символа до конца, используя операцию конкатенации
G$ = MID$(T$, 1, I) = MID$(T$, I+N+1, M),
где М – длина исходного текста.
Чтобы «раздвинуть» текст T$, вставив последовательность
символов V$ между I-м и (I+1) –м символами исходного текста,
нужно текст T$ переслать посимвольно от начала до I-го символа и
от (I+1)-го символа до конца в новую символьную переменную G$,
вставив между ними требуемую цепочку символов V$, используя
операцию конкатенации.
G$ = MID$(T$, 1, I) + V$ + MID$(T$, I + 1, M).
Задача 2. Из данного текста удалите его часть, заключенную в
скобки (вместе со скобками). Учтите, что таких частей в тексте
может быть несколько. Предполагается, что в удаленном тексте
внутренних скобок нет.
Решение.
Используемые величины:
A$ - вводимый текст;
B$ - вырезаемый символ;
С$ - выводимый символ;
N - длина текста;
S количество символов в скобках, включая скобки;
I - - номер пары символов в тексте;
J номер символа в скобках;
D$- вырезаемый из скобок символ.
Для решения задачи необходимо найти позицию символа «(«.
Часть исходного текста до «(« переслать в переменную С$. Далее
исходный текст просмотреть с позиции, следующей за позицией
первого символа «)». Если в оставшейся части будет обнаружен
символ «(«, переслать в C$ часть исходного текста между символами
«)» и «(« и т.д.
10 INPUT A$
20 N = LEN(A$)
30 C$ = “”
40 FOR I=1 TO N
50 B$ = MID$(A$, I, 1)
60 IF B$ = ”(“ THEN 70 ELSE 140
70 S = 0
80 FOR J = I + 1 TO N
90 S = S + 1
100 D$ = MID$(A$, J, 1)
110 IF D$ = “)” THEN I = I + S ELSE 130
120 GOTO 150
130 NEXT J
140 C$ = C$ + B$
150 NEXT I
160 PRINT C$
170 END
10. Домашние задание.
Тема урока 4: «Символьные величины. Решение
задач».
Цели урока: 1. Закрепить понятие символьной величины,
Сформировать навыки использования конкатенации и стандартных
функций при решении задач.
8. Развивать абстрактное и логическое мышление учащихся.
9. Воспитывать интерес к углубленному изучению предмета, навыки
самостоятельной работы учащихся.
Тип урока: комбинированный.
План урока.
12. Проверка домашнего задания.
13. Решение задач..
14. Домашнее задание.
11. Проверка домашнего задания.
К доске вызываются два ученика. Проверяются ключевые
моменты в решении заданных на дом задач, обсуждаются и
исправляются ошибки в решении.
12. Решение задач.
На пршлых уроках мы познакомились с функциями
обработки символьных величин, в частности с функциями
обработки строк.
Вопрос. Какие функции относятся к этому типу? Привести
примеры.
С помощью рассмотренных функций приступим к решению
задач.
Задача1. Выяснить, является ли заданное слово палиндромом
(перевертышем).
Решение.
10 INPUT « Введите слово –“; A$
20 N = LEN(A$0
30 FOR I = 1 TO N
40 Y$ = MID$(B$, I,1) + Y$
50 NEXT I
60 PRINT Y$
70 IF A$ = Y$ THEN PRINT “ПЕРЕВЕРТЫШ” ELSE PRINT
“НЕТ”
80 END
Задача 2. Определить сколько раз в данном тексте встречается
некоторый текст в качестве его части.
10 INPUT Ввести строку –“; A$
20 INPUT “Ввести подстроку –“; B$
30 N= LEN(A$) : T=0
40 C = LEN(B$0
50 FOR I = 1 TO N-(C-1)
60 IF MID$(A$, I, C) = B$ THEN T = T+1
70 NEXT I
80 PRINT T
90 END
Задача 3. В данном тексте оставить без изменения каждый третий
символ, все остальные заменить на символ «-« (Например: слово
«компьютер» заменится на слово «—м—ю—р»
Решение.
10 INPUT A$
20 FOR I = 1 TO LEN(A$)
30 IF I/3<>I\3 THEN MID$(A$, I, 1) = -
40 NEXT I
50 PRINT A$
60 END
Задача 4. Дано слово. Переставить в этом слове первую и
последнюю буквы.
10 INPUT “Введите слово ; A$
20 N= LEN(A$)
30 B$ = MID$(A$, N, 1) + MID$(A$, 2, N-2) + MID$(A$, 1, 1)
40 PRINT B$
50 END
Измените программу так, чтобы она меняла местами первую и
вторую буквы.
30 B$ = MID$(A$, 2, 1) + MID$(A$, 1, 1) + MID$(A$, 3, N-2)
13. Домашнее задание.
Задача 1. Задана текстовая строка. Подсчитать отдельно буквы «а» и «о».
10 INPUT A$
20 A=0: B=0
30 FOR I = 1 TO LEN(A$)
40 IF MID$(A$, I, 1) = “a” THEN A = A + 1
50 IF MID$(A$, I, 1) =”b” THEN B = B + 1
60 NEXT I
70 PRINT A
80 PRINT B
90 END
Задача 2. Даны два слова одинаковой длины (например «пушка»,
«кошка»). Составить и напечатать переменную, в которой буквы
этих слов сцепляются друг с другом поочередно. (С$ =
«пкуошшккаа» ).
Решение.
10 INPUT A$, B$
20 N = LEN(A$): C$ = “
30 FOR I =1 TO N
40 C$ =C$ + MID$(A$, I, 1) + MID$(B$, I, 1)
50 NEXT
60 PRINT C$
70 END
Тема урока 5: «Символьные величины. Решение
задач».
Цели урока: 1. Закрепить понятие символьной величины,
Сформировать навыки использования конкатенации и стандартных
функций при решении задач.
2. Развивать абстрактное и логическое мышление учащихся.
3. Воспитывать интерес к углубленному изучению предмета, навыки
самостоятельной работы учащихся.
Тип урока: комбинированный.
План урока.
1. Проверка домашнего задания.
2. Решение задач..
3. Домашнее задание.
1. Проверка домашнего задания.
К доске вызываются два ученика. Проверяются ключевые
моменты в решении заданных на дом задач, обсуждаются и
исправляются ошибки в решении.
2. Решение задач.
На прошлых уроках мы познакомились с функциями
обработки символьных величин, в частности с функциями
обработки строк.
Вопрос. Какие функции относятся к этому типу? Привести
примеры.
С помощью рассмотренных функций приступим к решению
задач.
Задача1. Заданы два слова. Составить новое слово, в котором две
последние буквы из первого слова и две первые буквы из второго
слова.
Решение.
10 INPUT « Введите слова–“; A$, B$
20 N = LEN(A$)
30 M= LEN(B$)
40 Y$ = MID$(B$, 1,2) + MID$(A$, N-1, 2)
60 PRINT Y$
70 END
Задача 2. Составить программу для замены в данном тексте слова
«детектив» на слово «роман».
10 INPUT “Ввести текст –“; A$
20 N= LEN(A$)
30 IF MID$(A$, I, 8)=“детектив” THEN MID$(A$, I, 8)=“роман...“
40 NEXT I
50 PRINT A$
60 END
Задача 3. Задана текстовая строка, в которой есть точки.
Подсчитать сколько символов до первой точки.
Решение.
10 INPUT A$
20 N=LEN(A$)
30 S=0
40 FOR I =1 TO NNEXT I
50 IF MID$(A$, I, 1) <> “.” THEN S = S+1 ELSE I=N
60 NEXT
70 PRINT S
80 END
Как подсчитать сколько символов после точки
50 IF MID$(A$, I, 1) <> “.” THEN S = S+1 ELSE I=1
60 NEXT I
70 PRINT N S 1
80 END
3. Домашнее задание.
Задача 1. Прдсчитать количество слогов в слове.
10 INPUT «Введите слово –« ; A$
20 K=0
30 B$ =”аоеиуяюыэ”
40 FOR I = 1 TO LEN(A$)
50 FOR J= 1 TO 9
60 IF MID$(A$, I, 1) = MID$(B$, J,1) THEN K=K+1
70 NEXT J
80 NEXT I
90 PRINT K
100 END
Задача 2. Подсчитать сколько слов в заданной строке
оканчивается буквой «я», если известно, что после слова
обязательно стоит пробел, либо точка..
Решение.
10 INPUT A$
20 N = LEN(A$): k=0
30 FOR I =1 TO N
40 X$ =MID$(A$, I, 2)
50 IF X$ = “я “ OR X$=”я.” THEN K=K+1
60 NEXT I
60 PRINT K
70 END
Тема урока 6: «Массивы символов».
Цели урока: 1. Сформировать и закрепить навыки использования
массивов при решении задач с символьными величинами.
10. Развивать абстрактное и логическое мышление учащихся.
11. Воспитывать интерес к углубленному изучению предмета, навыки
самостоятельной работы учащихся.
Тип урока: комбинированный.
План урока.
15. Проверка домашнего задания.
16. Объяснение нового материала.
17. Решение задач.
18. Домашнее задание.
14. Проверка домашнего задания.
Вопросы:
1. Какие стандартные функции определены для символьных
переменных?
2. Как осуществляется склеивание двух символьных констант?
3. Что называется массивом? (Массив это упорядоченная
последовательность величин одного типа элементов
массива, идентифицированных одним именем и
отличающихся друг от друга номером, который указывает
положение элемента в массиве.)
4. Перечислить характеристики массива. (Имя, размерность и
размер.
5. Как задается имя массива? (Имя массива задается так же как и
имя переменной.)
6. Что такое размер и размерность массива? (Размер
количество элементов массива; размерность количество
измерений.)
7. С помощью какого оператора выполняется описание массива?
(Оператор DIM)
15. Объяснение нового материала.
Кроме символьных величин в Бейсике могут использоваться
символьные массивы, элементами которых являются группы
символов. Символьный массив отличается от числового только
значением входящих в него элементов: числовой массив в
качестве элементов имеет числовые выражения, символьный –
символьные. Признаком символьного массива служит знак $
после имени массива. Это есть четвертая характеристика массива,
определяющая его тип (числовой или символьный).
Примером одномерного массива служит список класса, где
фамилия и имя ученика элементы массива, а размер массива
число учеников в классе.
Прежде чем использовать любой массив, его нужно описать с
помощью оператора DIM, который выполняет две основные
функции: определяет число элементов и конкретизирует тип
данных элементов массива.
При выполнении оператора DIM в памяти компьютера
резервируется пространство для элементов массива и всем
элементам строкового массива присваиваются пустые строки.
Ввод и вывод элементов символьного массива осуществляется
аналогично вводу и выводу элементов числового массива.
5 DIM C$(6)
10 DATA A, B, C, D, F, E
20 FOR I = 1 TO 6
30 READ A$
40 C$(I) = A$
50 NEXT I
10 INPUT A$
20 N = LEN(A$)
30 DIM C$(N)
40 FOR I = 1 TO N
50 C$(I) = MID$(A$, I, 1)
60 NEXT I
70 FOR I = 1 TO N
80 PRINT C$(I) “;
90 NEXT I
Разберите данные примеры.
16. Решение задач.
Массивы символов при решении задач эффективно используются
тогда, когда результаты вычисления или промежуточные
переменные, содержащиеся в нескольких ячейках памяти, должны
быть сохранены и несут одинаковую «логическую функцию». Эти
ячейки могут быть сгруппированы под одним именем и образуют
массив. Каждый раз когда необходимо работать с массивом
констант, т.е. с неизменяемыми данными, целесообразно применять
оператор DATA/ READ.
Задача 1. Заполните одномерный массив только гласными буквами
из введенного текста.
Решение.
Примечание. Задача разбирается совместно у доски, далее ученики
самостоятельно набирают текст программы и осуществляют отладку
программы на компьютере.
Используемые величины:
B$ - вводимый текст;
I номер гласной буквы;
J номер вырезаемого символа;
A$ -элемент массива гласных букв;
K$ - вырезаемый символ;
S$ - текст из гласных букв
T длина текста из гласных букв;
C$ - гласная буква из массива.
Формируется массив из всех гласных букв алфавита. Вводится
и посимвольно рассматривается текст. Если вырезаемый символ
гласная буква, то он пересылается в переменную S$. Полученный
текст «разрезается» на символы, заносится в ячейки массива C$ и
выводится на экран.
10 DIM A$(9)
20 DATA А, О, Е, И, Э, Я, Ы, Ю, У
30 FOR I = 1 TO 9
40 READ A$ (I)
50 NEXT I
55 S$ = “
60 INPUT «ВВЕДИТЕ ТЕКСТ»; B$
70 FOR J = 1 TO LEN(B$)
80 K$ = MID$(B$, J, 1)
90 FOR I = 1 TO 9
100 IF K$<>A$(I) THEN 120 ELSE S$ = S$ + K$
120 NEXT I
130 NEXT J
140 T = LEN(S$)
150 DIM C$(T)
160 FOR I =1 TO T
170 C$(I) = MID$(S$, I, 1)
180 PRINT C$(I)
190 NEXT I
200 END
17. Домашнее задание.