Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Инфоурок / Информатика / Конспекты / Изучаем язык BASIC. Занятие 23. Символьные переменные. Обработка текстовой информации.

Изучаем язык BASIC. Занятие 23. Символьные переменные. Обработка текстовой информации.

  • Информатика

Поделитесь материалом с коллегами:

Занятие 23

СИМВОЛЬНЫЕ ПЕРЕМЕННЫЕ

Обработка текстовой информации

 Очень часто в программах требуется использовать символьные или строчные переменные. Что же это такое? Это переменные, значениями которых являются либо алфавитно-цифровые символы, либо несколько таких символов.

Строки - последовательность алфавитно-цифровых символов.

 Для того, чтобы использовать такие переменные в программе необходимо добавлять справа от переменной символ $.

s$="Тоже строка 987"

Перед запуском программы всем символьным переменным присваивать значение пусто “”. Для ввода в программу заранее известных значений символьных переменных используются такие же приемы и операторы, как для числовых данных.

Операции с текстовыми переменными.

1. Сцепление.

Строчные переменные можно склеивать. Для склеивания строк (конкатенации) используют знак плюс (+).

s1$="Привет! "
s2$="Меня зовут Саша."
s$=s1$+s2$
PRINT s$
На экране появится надпись: Привет! Меня зовут Саша.

2. Сравнение.

Строчные переменные можно сравнивать друг с другом. Для сравнения срок используют операции: >, <, =, >=, <=, <>. Эти операции позволяют сравнивать литеры в ASCII –кодах.

Коды ASCII для символов:

Для цифр от 0 до 9 48 – 57

A, B, C….Z 65 – 90

Пробел 32

a, b, cz 97 – 122

Русские заглавные 128 – 156

Русские прописные а – п 160 – 175

от ря 224 – 239

Пример:REM Сравнение строк
s1$="abc"
s2$="abc"
s3$="klmn"
IF s1$=s2$ THEN PRINT "
Строки равны"
IF s1$=s3$ THEN PRINT "
Строки равны"
END

Программа выведет "Строки равны” только один раз.

Функции для работы со строками:

LEN(s$)

Вычисляет длину строки (количество символов).

LEFT$(s$,n)

Извлекает n левых символов из s$, цепочка s$ остается неизменной. Функция позволяет уничтожить одну или несколько литер, расположенных справа в заданной цепочке литер s$.

RIGHT$(s$,n)

Извлекает n правых символов из s$, цепочка s$ остается неизменной. Функция позволяет уничтожить одну или несколько литер, расположенных слева в заданной цепочке литер s$.

MID$(s$,n,k)

Выделяет из строки s$ k символов начиная с n-го символа.

INSTR(n,s$,a$)

Выдает номер позиции в цепочке символов s$, где начинается совпадение символов a$, начиная с позиции n. Если совпадения нет выдается 0.

VAL(s$)

Преобразует числовую часть начала строки в число.

STR$(x)

Преобразует число в символьную форму.

ASC(s$)

Вычисляет десятичный код символа.

CHR$(x)

Преобразует код в символ.

INKEY$

Функция опроса клавиш, нажатых на клавиатуре.




Функция LEN(s$) количество символов в строке.

CLS

INPUT A$

K=LEN(A$)

PRINT K


Функция LEFT$(s$,n) Извлекает n левых символов из s$, цепочка s$ остается неизменной. Функция позволяет уничтожить одну или несколько литер, расположенных справа в заданной цепочке литер s$.

CLS

INPUT A$

C$=LEFT$(A$,2)

PRINT C$


Если не знаем сколько символов в строке, а надо отбросить две последних.

CLS

INPUT A$

C$=LEFT$(A$,LEN(A$)-2)

PRINT C$


Функция RIGHT$(s$,n) Извлекает n правых символов из s$, цепочка s$ остается неизменной. Функция позволяет уничтожить одну или несколько литер, расположенных слева в заданной цепочке литер s$.

CLS

INPUT A$

C$=RIGHT$(A$,2)

PRINT C$


Если не знаем сколько символов в строке, а надо отбросить две первые.

CLS

INPUT A$

C$=RIGHT$(A$,LEN(A$)-3)

PRINT C$


Функция MID$(s$, k, n) извлекает n последовательных символов из цепочки s$, начиная с, если аргумент n не задан, то выделяются все символы до конца, начиная с k.

CLS

INPUT A$

C$=MID$(A$,2,4)

PRINT C$


Функция INSTR(n, s$, a$) анализирует текстовую информацию, обеспечивает поиск значения a$ в значении s$, поиск начинается либо с 1, либо с n позиции значения если процедура поиска завершена успешно и в тексте s$ найден a$, то функция возвращает значение позиции, начиная с которой обнаружено первое совпадение. Для поиска следующего совпадения нужно передвинуть указатель поиска n за обнаруженную позицию и повторить вызов функции. Если искомый элемент отсутствует, то значение функции становится равным нулю.

CLS

INPUT A$

K = INSTR(1, “abcd”, “abc”)

PRINT K


Задача 1. Подсчитать количество слов в предложении.

CLS

INPUT A$

A$=A$ + “

K = 0

FOR I = 1 TO LEN(A$)

IF MID$(A$, I, 1) = ““ THEN K = K + 1

NEXT I

PRINT “Количество слов”; K


Задача 2. Сколько раз встречается буква К в предложении.

CLS

INPUT A$

K = 0

FOR I = 1 TO LEN(A$)

IF MID$(A$, I, 1) = “К“ THEN K = K + 1

NEXT I

PRINT “Количество букв”; K


Задача 3. Сколько раз встречается сдвоенные буквы нн в предложении.

CLS

INPUT A$

K = 0

FOR I = 1 TO LEN(A$)

IF MID$(A$, I, 1) = “нн“ THEN K = K + 1

NEXT I

PRINT “Количество нн =”; K


Задача 4. Сколько слов в предложении начинается с буквы А.

CLS

INPUT A$

A$=““ + A$

K = 0

FOR I = 1 TO LEN(A$)

IF MID$(A$, I, 2) = “а“ THEN K = K + 1

NEXT I

PRINT “Количество слов =”; K


Задача 5. Сколько слов в предложении заканчиваются на букву А.

CLS

INPUT A$

A$=A$ + “

K = 0

FOR I = 1 TO LEN(A$)

IF MID$(A$, I, 2) = “а “ THEN K = K + 1

NEXT I

PRINT “Количество слов =”; K


Задача 6. Заменить в предложении все буквы А на буквы О.

CLS

INPUT A$

K = 0

FOR I = 1 TO LEN(A$)

IF MID$(A$, I, 1) = “а “ THEN MID$(A$, I, 1) = “о

NEXT I

PRINT A$


Задача 7. Напечатать часть текста заключенного между двух :.

CLS

INPUT A$

K = INSTR(1, A$, “:”)

K1 = INSTR(K + 1, A$, “:”)

C$ = MID$(A$, K + 1, K1 – K - 1)

PRINT C$


Домашнее задание.

Напечатать часть текста начиная со второго : до конца

CLS

INPUT A$

K = INSTR(1, A$, “:”)

K1 = INSTR(K + 1, A$, “:”)

C$ = MID$(A$, K1 + 1)

PRINT C$


Напечатать заданное слово зеркально наоборот.

CLS

INPUT A$

B$ =

FOR I = LEN(A$) TO 1 STEP -1

C$ = MID$(A$, I, 1)

B$ = B$ + C$

NEXT I

PRINT B$

Выяснить какое слово встречается раньше на букву А или на букву М.

CLS

INPUT A$

A$=““ + A$

K = INSTR(1, A$, “а”)

K1 = INSTR(1, A$, “м”)

IF K < K1 THEN PRINT “а раньше” ELSE PRINT “м раньше


Выберите курс повышения квалификации со скидкой 50%:

Автор
Дата добавления 23.09.2015
Раздел Информатика
Подраздел Конспекты
Просмотров153
Номер материала ДВ-004675
Получить свидетельство о публикации
Похожие материалы

Включите уведомления прямо сейчас и мы сразу сообщим Вам о важных новостях. Не волнуйтесь, мы будем отправлять только самое главное.
Специальное предложение
Вверх