Главная > Энциклопедия кибернетики. Т.2
НАПИШУ ВСЁ ЧТО ЗАДАЛИ
СЕКРЕТНЫЙ БОТ В ТЕЛЕГЕ
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO

ОПЕРАЦИИ НАД СИМВОЛАМИ И СТРОКАМИ

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

планирования и др., оперируют как с числовой, так и с произвольной буквенноцифровой информацией, при обработке которой и осуществляют О. н. с. и с. Реализация алгоритмов выполнения этих операций обычно осуществляется на разных уровнях. На 1-м - микропрограммном уровне осуществляется обработка символов и строк, не превышающих длины машинного слова. Операции на этом уровне производятся с помощью элементарных однотактных действий (микроопераций), таких, как сдвиг, передача и др., и для повышения эффективности выполняются с максимальным использованием операционного устройства и его запоминающих регистров без обращения к ОЗУ машины. К операциям 1-го уровня относятся обращение к полю строки, посимвольная обработка строк и операции отношения для строк.

Обращение к нолю строки. Поле строки (часть строки, представляющая собой последовательность символов, занимающих смежные позиции) задается номером 1-ой позиции (символа) поля (отсчет символов ведется слева направо) и длиной поля — числом содержащихся на поле позиций. Обращение к полю строки выполняется для считывания символов с поля и для записи на поле новых символов. Операции обращения к полю строки могут выполняться с помощью посимвольных сдвигов и пересылок, наложений масок (соответствующих наборов из последовательностей единиц и нулей) на обрабатываемую строку и др. Напр., для выделения символов поля с использованием посимвольных сдвигов достаточно «стереть» символы, следующие за полем, с помощью линейных сдвигов вправо, сдвинуть поле влево и дописать до конца слова символы «пусто».

При выполнении записи символов на поле строки с использованием масок производится «стирание» поля наложением на обрабатываемую строку маски из последовательностей нулей в месте расположения поля с последующей записью новых символов наложением их на очищенное поле. При «стирании поля» выполняется операция конъюнкции кодов маски и обрабатываемой строки, при записи новых символов — операция дизъюнкции кода строки с очищенным полем и записываемых символов.

Посимвольная обработка строк. Эта операция позволяет осуществлять перемещение и замену символов в пределах строки. К операциям этого класса относятся: безусловная и условная замена символов строки, сравнение символов, объединение и разбивка строки по маске, линейные и циклические посимвольные сдвиги. В процессе выполнения операций замены символов каждый символ строки сравнивается с заданным символом; в зависимости от результата сравнения выполняется замена соответствующего символа или разрешается сравнение следующего символа строки. При условной замене просмотр и замена символов производится не до конца строки, а до обнаружения некоторого заданного символа.

Т. о., в случае условной замены каждый символ строки сравнивается не с одним, а с двумя заданными символами.

Операции упаковки и распаковки строки по маске предусматривают выделение отмеченных маской символов строки. При операции упаковки отмеченные символы располагаются в смежных позициях, сдвигаются влево и дополняются до конца слова символами «пусто». При операции распаковки отмеченные символы занимают в слове результата заданные слоговые позиции, а в остальные позиции строки записываются символы «пусто».

Операции линейных и циклических посимвольных сдвигов разрешают смещение влево или вправо всех символов строки на заданное произвольное (в пределах строки) число позиций с потерей или с запоминанием выдвигаемых символов.

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

К операциям 2-го уровня относятся действия над строками произвольной длины — их посимвольная обработка, операции отношения и обращение к полям. Эти операции строятся в основном из базисных операций 1-го уровня и их микропрограммы фиксируются обычно в запоминающем устройстве. Существенным отличием операций 2-го уровня является обращение в процессе их выполнения к оперативной памяти для извлечения очередных последовательностей символов и для запоминания промежуточных результатов. Приведенные операции позволяют осуществлять эффективную обработку массивов строк — упорядочение, редактирование И др. И. П. Окулова.

1
Оглавление
email@scask.ru