Символьные и строковые переменные, Текстовые функции преобразования в ASCII коды: ASC$ и CHR$

Страницы работы

21 страница (Word-файл)

Фрагмент текста работы

Оператор INPUT$ вводит заданное число символов без их отображения на экране. Нажимать Enter после ввода не требуется.

Формат записи:   INPUT$(число) число - это число символов для ввода

Этот оператор удобно использовать при вводе пароля. Пример:

‘Запрос пароля
password$ = INPUT$(4)
IF password$ <> “aq” + CHR$(8) + CHR$(27)  THEN STOP
‘Основная программа
   ...

Эта функция ожидает ввода N символов, которые и будут обрабатываться программой сразу после их набора на клавиатуре, не дожидаясь нажатия клавиши <ENTER>. В этом заключается принципиальное отличие функции от оператора INPUT.

CLS

N$=INTUT$(2)

IF N$=”да“ THEN PRINT N$  ELSE PRINT “нет”

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

Функция LEN выдает длину строки, т.е. количество символов в строковом выражении.

Формат записи:

LEN (строковая_переменная)

Например,

CLS

INPUT “Введите Вашу фамилию”;F$

N=LEN(F$)

?”В вашей фамилии”;N;”букв”

Представленная программа выясняет количество букв во введенной пользователем фамилии. Причем, обратите внимание, что функция LEN  учитывает не только буквы, но и символы, т.е. она распознает и пробелы, и знаки препинания, и цифры, содержащиеся во введенном тексте. Например:

CLS

INPUT”Введите Ваш адрес”;F$

N=LEN (F$)

?”В вашем адресе”;N;”символов”

4. Задачи для закрепления

Применить операцию конкатенации к переменным  A, B, C, D и E так, чтобы получилось указанное в таблице значение переменной Х. Определить в программе длину каждого слова.

Номер варианта

Значение переменных

А

B

C

D

E

X

1.   

Забыть

чисто

На

всегда

и

забыть начисто и навсегда

2.   

Висит

кар

Ти

на

стене

картина висит на стене

3.   

Паро

шел

По

в

ход

пароход пошёл в поход

4.   

Ворон

про

Ил

а

енка

ворона проворонила вороненка

5.   

на столе-

и

конь

мышь

як

на столе- мышьяк и коньяк

6.   

Черт

заказать

-моя

еж

мечта

заказать чертёж - моя мечта

7.   

Он

забыть

банк

что

рот

забыть что он банкрот

8.   

Пар

ад

надо

смотреть

по

надо посмотреть парад

9.   

Кормила

ку

КА

ш

он

кукушка кормила кукушонка

10.   

Двор

а

Е

трав

на

на дворе трава

5. Подведение итогов. Д/з: теория, закончить составление программ по вариантам.
Урок 5:«Функции для работы со строками: LEFT$, RIGHT$, MID$»

Цели урока:

  1. изучить функции копирования подстроки, научиться делать вырезки из строк по заданному условию задачи, сформировать и закрепить навыки решения и объяснения задач на символьные величины с использованием операции «вырезка»;
  2. развивать алгоритмическое и логическое мышление, внимательность, чёткое следование правилам вырезки буквосочетаний;
  3. воспитывать дисциплинированность, умение правильно излагать свои мысли, умение концентрировать своё внимание.

План урока:

  1. Организационная часть
  2. Повторение изученного материала
  3. Изучение нового материала
  4. Закрепление
  5. Подведение итогов. Д/з

Ход урока:

2.  Повторение изученного материала

&  Решить домашнюю задачу на доске

&  Каким образом задаётся строковый тип для переменных. Что означает операция конкатенация, для чего она применяется?

&  Записать форматы записи функций для ввода символов, и определения длины. Охарактеризуйте их.

3.  Изучение новогоматериала

Большую часть времени человек современного общества тратит на обработку информации. Работа с информацией – важная составная часть деятельности людей многих профессий: писателей, журналистов, юристов, инженеров, секретарей. Подготовка различных видов документов, текстов составляет значительную часть работы, выполняемых в настоящее время на компьютере.

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

Функции обработки строк LEN (X$), MID$(X$,n,m), STRING$(n,m) и INSTR(n,X$,Y$).

Функции преобразования типов данных – CHR$(n), ASC(A$), VAL(X$), STR$(x).

Операция копирования подстроки позволяет делать вырезки из строк. Вырезка представляет собой последовательность смежных символов, извлечённую из строки. Так из слова «стихотворение» можно, например, вырезать следующие слова: «стих», «тихо», «творение», «вор».

В Qbasic  для этого служат функции:

1. Функция MID$ копирует из строки N символов, начиная с позиции I.(т. е. из строки символов можно выделить любую ее часть)

Формат записи:

MID$(A$, I, N)

2. Функция LEFT$ копирует из строки N левых символов

Формат записи:

LEFT$(A$, N)

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

Формат записи:

RIGHT$(A$, N)

Пример 1: Из слова стихотворение получить слова стих, тихо, творение, вор

Решение:

CLS

DEFSTR A-E

a = "стихотворение"

b = LEFT$(a, 4)

c = MID$(a, 2, 4)

d = RIGHT$(a, 8)

e = MID$(a, 7, 3)

PRINT b, c, d, e

Анализ задачи:      

CLS

a$ = "радио"                       

b$ = "вещание"

b$ = a$ + b$                  ‘В$= «радиовещание»

a$ = MID$(b$, 3, 3) + MID$(a$, 3, 1)                       ‘a$= «дио»+ «д»

b$ = MID$(b$, 1, 1) + MID$(b$, 5, 1) + MID$(b$, 8, 2)            ‘b$= «р»+ «о»+ «ща»

PRINT a$; b$

Задача 3 уровня сложности:

Произведите количество слов в телеграмме

Решение:

cls

INPUT "Введите текст телеграммы"; w$

n = LEN(w$): k = 0

FOR i = 1 TO n

p$ = MID$(w$, i, 1)

IF p$ = " " THEN k = k + 1

NEXT i

PRINT "В вашей телеграмме - "; k + 1; "слов"

4.       Закрепление

Задание для самостоятельной работы:

Используя операции копирования и конкатенации, получить из слова-значения переменной А новые слова, совпадающие с указанными в таблице значениями переменных

Похожие материалы

Информация о работе