11.10.2006

Символьные переменные.

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

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

Урок 1 (лекция)

Ход урока:

Объяснение нового материала:

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

Символьная константа-строка символов, заключенная в кавычки. Значением константы является последовательность, состоящая из символов, не считая кавычек. Внутри кавычек допускаются любые символы, не считая кавычек. Внутри кавычек допускаются любые символы, не считая кавычек. Два идущих подряд знака кавычек задают пустую символьную строку.

У символьной переменной есть имя, которое оканчивается знаком $. И значение в виде строки символов, которое может изменяться по ходу выполнения программы. Фактически имя символьной переменной в каждый момент времени указывает на некоторую область памяти, в которой находятся коды символов, составляющих текущее значение переменной.

Длина символьной переменной или константы 255 знаков (зависит от версии Бейсика)

Символьный массив- массив, элементами которого являются символьные строки.

Массив можно рассматривать как символьную переменную, снабженную одним или 2 индексами.

Символьная функция- функция, значениями которой являются строки символов или имя символьной функции оканч знаком $.

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

Операции сравнения

Строки считаются равными, если их длины равны и коды всех символов попарно совпадают. Если одна из строк совпадает с началом другой, но короче, решает код первого несовпадающего символа- меньше та строка, у которой он меньше.

II. значения символьной переменной могут задаваться при помощи:

  1. Операции присваивания;
  2. INPUT
  3. DATA – READ

A$=”УРОК”
READ B$
DATA “ИНФОРМАТИКА”
C$=A$+LEFT$(B$,10)+”И”
PRINT C$

Каков будет ответ, посмотреть на компьютере.

Основные стандартные функции

Строка- произвольное символьное выражение
Число- числовое
ASC(строка)- выдает код первого символа строки

PRINT”КОД БУКВЫ F=”;ASC(“F”)
CHR$(ЧИСЛО)- обратная функции ASC
?”БУКВА С КОДОМ 70-ЭТО”:CHR$(70)

STR$(число)- преобразует число в символьную строку, которая представляет собой запись числа в виде последовательности десятичных цифр (возможно со знаком и точкой)

S$=”7*8=”+STR$(7*8)
LEN(строка)- выдает длину значения символьного выражения
S$=”7*8=”+STR$(7*8)
?LEN(S$)

Учитываются все пробелы

LEFT$(строка, число) выдает в качестве своего значения начальный отрезок заданной строки, те заданный вторым аргументом функции количество символов слева. Вырезка слева.

RIGHT$(строка, число) выдает в качестве своего значения конечный отрезок заданной строки, те заданный вторым аргументом функции количество символов справа. Вырезка справа.

? LEFT$(“ИНФОРМАЦИЯ”,7)+ RIGHT$(“МАТЕМАТИКА”,4)
MID$( строка, число1, число2)- функция

Обобщает 2 предыдущие и позволяет получить любую подстроку заданной строки.

Число1 задает начальную позицию подстроки в заданной строке, число2- длину подстроки. Если заданная позиция находится за пределами строки или заданная длина неположительна, выдается пустая строка.

Если третий аргумент третий аргумент опущен или его значение превосходит количество символов от заданной позиции до конца строки, то выдает все эти символы.

X$=”ПОБЕДА”
FOR I=2 TO 5
?MID$(X$,I,4)
NEXT I

Двойник (оператор)

MID$( переменная$, число1, число2)=строка, где переменная обозначает произвольную символьную переменную.

Оператор присваивает указанной в нем строковой переменной значение = значению новой функции, здесь не указанной.

F$=”4+??=29”
MID$(F$,3,2)=”25”
?F$

Закрепление:

Задача:подсчитать сколько раз среди символов заданной строки встречается буква, заданная с клавиатуры.

INPUT”ВВЕДИТЕ СТРОКУ”;S$
INPUT”ВВЕДИТЕ ИСКОМУЮ БУКВУ”;С$
K=0
FOR I=1 TO LEN(S$)
IF MID$(S$,I,1)=C$ THEN K=K+1
NEXT I
PRINT “БУКВА”;С$;”ВСТРЕТИЛАСЬ”;К;”РАЗ”

Задача: составить программу, которая печатает заданное слово задом наперед

INPUT”ВВЕДИТЕ СЛОВО”; S$
FOR I=LEN(S$) TO 1 STEP -1
? MID$(S$,I,1)
NEXT I

д/з конспекты, подготовка к информатическому диктанту по теме.