Лабораторная работа 18
Обработка символов и строк
Цель работы - ознакомление с основными приемами обработки данных символьного и строкового типов в системах программирования Turbo Basic и Turbo Pascal.
Необходимые исходные сведения Система Turbo Basic. Строка - это последовательность символов произвольной длины. Количество символов в строке называется ее длиной. Строковые величины могут быть константами и переменными. Строковая константа есть неизменяемая в процессе работы программы последовательность символов, заключенная в кавычки. Объявить переменную строкового типа можно двумя способами. Первый (неявный) заключается в добавлении в конце имени переменной символа $, второй (явный) реализуется декларативным оператором DEFSTR, записанным в начале программы. Например, запись АВС$ определяет переменную строкового типа с именем ABC, а оператор defstr А указывает, что все переменные с именами, начинающимися на А, являются строковыми. Максимальная длина значения строковой переменной составляет 32767 символов.
Выражения, в которых операндами служат данные строкового типа, называются строковыми. Над строковыми данными допустимы операция конкатенации (сцепления), обозначаемая знаком +, и операции сравнения: < <=, >, >=, =, о.
Операция сцепления применяется для соединения нескольких строк в одну результирующую строку, например, сцепление "ЭВМ "+"IВМ "+"РС" дает результат "ЭВМ IBM PC".
Сравнение строк происходит посимвольно, начиная с первого символа в строке. При сравнении символов сравниваются их коды, и один символ считается больше другого, если имеет большее значение кода. Строки равны, если имеют одинаковую длину и посимвольно эквивалентны. Когда при посимвольном сравнении окажется, что один символ будет больше другого, то строка, его содержащая, тоже считается большей. Остатки строк
и их длины не играют роли. «Пустая» строка всегда меньше строки, содержащей символы.
Для работы со строками в Turbo Basic реализованы стандартные функции, наиболее часто используемые из которых приведены в табл. 2.
Ввод значений строковых переменных с клавиатуры производится с помощью операторов input и line input.
Оператор INPUT позволяет вводить значения для нескольких строковых переменных. Синтаксис:
INPUT [;] ["<подсказка>"], Vl$, V2$,
где точка с запятой подавляет вывод вопросительного знака при вводе с клавиатуры; V1$, V2$ - имена символьных переменных. Разделителем при вводе их значений является запятая, поэтому вводимые данные не могут содержать запятые.
Таблица 2
Функция |
Назначение |
LEN (X) |
Определяет количество символов в строке X |
CHRS (n) |
Возвращает символ с кодом n (от 0 до 255) |
ASC(X) |
Возвращает код первого символа строки X |
LCASES (X) |
Преобразует прописные буквы строки X в строчные |
UCASES (X) |
Преобразует строчные буквы строки X в прописные |
LEFTS (X, n) |
Выделяет подстроку из n символов слева в строке X |
RIGHTS (X, n) |
Выделяет подстроку из n символов справа в строке X |
MID$ (X, m [,n]) |
Выделяет подстроку из n символов, начиная с позиции т, в строке X. Если n не указано, выделяются все символы до конца строки X |
Оператор line input позволяет вводить значение только для одной переменной, которое может содержать любые символы, в том числе запятые.
Для ввода только одного символа без его отображения на экране предназначена функция inkey$.
