Студопедия — Функции для работы с текстами
Студопедия Главная Случайная страница Обратная связь

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

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






 

Функция 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$ 'Вывод: Париж, Сиэтл

 







Дата добавления: 2015-09-06; просмотров: 325. Нарушение авторских прав; Мы поможем в написании вашей работы!



Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

В эволюции растений и животных. Цель: выявить ароморфозы и идиоадаптации у растений Цель: выявить ароморфозы и идиоадаптации у растений. Оборудование: гербарные растения, чучела хордовых (рыб, земноводных, птиц, пресмыкающихся, млекопитающих), коллекции насекомых, влажные препараты паразитических червей, мох, хвощ, папоротник...

Типовые примеры и методы их решения. Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно. Какова должна быть годовая номинальная процентная ставка...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

Броматометрия и бромометрия Броматометрический метод основан на окислении вос­становителей броматом калия в кислой среде...

Метод Фольгарда (роданометрия или тиоцианатометрия) Метод Фольгарда основан на применении в качестве осадителя титрованного раствора, содержащего роданид-ионы SCN...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия