Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






 

Функция LEN предназначена для определения длины символьного выражения

Формат:

LEN (текст)

Функция определяет длину значения строкового выражения.

Например:

T$=”Москва”

K=LEN(T$)

PRINT “длина текста = “; K

< На экране появится: длина текста = 6>

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

Функция LEFT$ возвращает строку символов из n левых символов

Формат:

LEFT$ (текст, n)

Например:

T$=”контрабас”

A$=LEFT$(T$, 6)

? A$

< На экране появится: контра>

Функция RIGHT$ возвращает строку символов из n правых символов

Формат:

RIGHT$ (текст, n)

Например:

T$=”контрабас”

A$=RIGHT$(T$, 3)

? A$

< На экране появится: бас>

Если число n больше длины текста, то обе функции возвращают весь исходный текст.

Функция MID$ (возвращает фрагмент из текста: n символов, начиная с k-го символа.

Формат:

MID$ (текст, k, [n])

К – порядковый номер символа.

N – количество символов, подлежащих обработке.

Например:

T$=”информатика”

A$=MID(T$, 3, 5)

? A$

< На экране появится: форма>

Если n не указано, то функция возвращает символы начиная с к-го и до конца текста.

Например:

T$=”Москва, Париж и Лондон”

A$=MID(T$, 9)

? A$

< На экране появится: Париж и Лондон>

Пример 1. Задан текст. Подсчитать каких букв в тексте больше “а” или “о” и на сколько.

LINE INPUT “введите текст”; T$

L=LEN(T$)

KA=0: KO=0

FOR I=1 TO L

IF MID$(T$, I, 1)=”A” OR MID$(T$, I, 1)=”a” THEN KA=KA+1

IF MID$(T$, I, 1)=”O” OR MID$(T$, I, 1)=”o” THEN KO=KO+1

NEXT I

IF KA> KO THEN PRINT “Букв а больше, чем о на “; KA-KO

IF KO> KA THEN PRINT “Букв o больше, чем a на “; KO-KA

IF KA=KO THEN PRINT “Букв а и о равное количество “

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

LINE INPUT “введите текст”; T$

L=LEN(T$)

К=0

FOR I=1 TO L

IF MID$(T$, I, 1)=”.” OR MID$(T$, I, 1)=”! ” OR MID$(T$, I, 1)=”? ” THEN K=K+1

NEXT I

PRINT “В тексте “; K; ” предложений”

Пример 3. Дано слово “информатика”. Составить из букв этого слова 3 новых слова.

T$=”информатика”

T1$=MID$(T$, 3, 3)+MID$(T$, 7, 1)

T2$=MID$(T$, 5, 1)+LEFT$(T$, 1)+MID$(T$, 3, 1)+MID$(T$, 6, 2)

T3$=MID$(T$, 2, 1)+MID$(T$, 4, 2)+RIGHT$(T$, 2)

PRINT T1$; ”, “; T2$; ”, “; T3$

< на экране появится: фора, рифма, норка>

Пример 4. Дано слово. Выяснить является ли это слово перевертышем, то есть читается слева направо и наоборот одинаково. Например “казак”.

LINE INPUT “Введите слово”; T$

M$=””

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

M$=M$+MID$(T$, I, 1)

NEXT I

IF T$=M$ THEN PRINT “Да является” ELSE PRINT “Нет не является”

 

Для самостоятельного решения:

Задание1:

Задано слово “энциклопедия”. Кто составит больше слов из букв этого слова и кто составит самое длинное слово

Задание 2:

Задано слово. Напечатать это слово в обратном порядке.

Задание 3:

Задан текст. Напечатать каждое предложение этого текста с новой строки.

 

Функция INSTR ищет подстроку в строке начиная с позиции n. Если n не задано, то поиск осуществляется с первой позиции. Функция INSRT дает номер позиции, начиная с которой заданная подстрока появляется в исходной строке. Функция возвращает 0, если подстрока не найдена в строке.

Формат:

INSTR ([n], текст, подстрока)

Например:

T$=”информатика”

A$=”форма”

N=INSTR(1, T$, A$)

? N

< На экране появится: 3>

 

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

1 способ:

LINE INPUT “Введите текст”; T$

L=LEN(T$)

FOR I=1 TO L

IF MID(T$, I, 3)=”кот” THEN K=K+1

NEXT I

? “Количество словосочетаний кот = ”; K

2 способ:

LINE INPUT “Введите текст”; T$

T=INSTR(1, T$, ”кот”)

WHILE T< > 0

K=K+1

T=INSTR(T+1, T$, ”кот”)

WEND

? “Количество словосочетаний кот = ”; K

 

Пример 2. Задан текст, в котором есть несколько двоеточий. Напечатать текст между первыми двумя двоеточиями.

LINE INPUT “Введите текст”; T$

T1=INSTR(1, T$, ”: ”)

T2=INSTR(T1+1, T$, ”: ”)

PRINT MID$(T$, T1+1, T2-T1-1)

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

1 способ

LINE INPUT “Введите текст”; T$

K=1

PT=INSTR(T$, ”.”)

FOR I=1 TO PT

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

NEXT I

PRINT”Количество слов в первом предложении=”; K

2 способ

LINE INPUT “Введите текст”; T$

K=1

I=1

WHILE MID$(T$, I, 1)< > ”.”

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

I=I+1

WEND

PRINT”Количество слов в первом предложении = ”; K

Пример 4. Задан текст. Подсчитать количество слов «ученик» в последнем предложении.

LINE INPUT “Введите текст”; T$

K=0

I= Len(T$)-1

WHILE MID$(T$, I, 1)< > ”.”

B$= MID$(T$, I, 8)

IF B$=” ученик “ OR B$=” Ученик “ THEN K=K+1

I=I-1

WEND

PRINT”Количество слов ученик в последнем предложении = ”; K

 

Оператор MID$ замещает часть строковой переменной другой строкой.

MID$(строк_переменная$, k[, n])=строк_выражение$

строк_выражение$ - строка, из которой функция MID$ возвращает подстроку, или строка замещения, используемая в операторе MID$. Может быть любым строковым выражением.

K - позиция первого возвращаемого или замещаемого символа в строке.

N - число символов в подстроке. Если длина опущена, MID$ возвращает или замещает все символы справа от начальной позиции.

строк_переменная$ - строковая переменная, изменяемая оператором MID$.

 

Пример:

Text$ = " Париж, Франция"

PRINT Text$ 'Вывод: Париж, Франция

MID$(Text$, 8) = " Сиэтл "

PRINT Text$ 'Вывод: Париж, Сиэтл

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.