Искусственный интеллект. Строки, контекст и волны на Паскале. Сергей Соболенко
Читать онлайн книгу.%SystemRoot%system32dosx
lh %SystemRoot%system32kb16.com ru
set clipper=F80»
В файле Windows/sistem32/config. nt вписать:
«files=80; buffers=99».
В командной строке в меню «Пуск» через команду «rehgedit» редактируем реестр:
HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> Control -> Keyboard Layout
DosKeybCodes изменить значение параметра 0000409 на ru
Раскладка будет переключаться сочетаниями клавиш:
русский – правые Shift+Alt; английский – левые Shift+Alt.
В Windows 10:
Не требует изменений в реестре. В файле Windows/sistem32/autoexec. nt добавляем строчку – "%SystemRoot%/system32/kb16 ru».
В случае если используется 64-разрядный Windows, требуется использование приложения-эмулятора для DOS-программ «DOS-box».
Строковые данные
Работе со строковыми данными всегда уделяют слишком мало внимания. Считается, что это нечто, само-собой разумеющееся и слишком понятное, чтобы делать на них акцент. В учебниках, самоучителях любой толщины и направленности нам сильно повезет, если им уделяется хотя бы 2 страницы.
Попробуем же восполнить известные пробелы, для чего начнем с самых азов работы со строками на Паскале.
Итак, строчные переменные и константы в Паскале описываются так же, как и любые другие, например строка S: String означает что переменная S будет хранить некий набор символов, строку (в количестве от 1 до 255).23
Соответственно, декларация S: String [100] в блоке переменных обозначает, что переменная может хранить в себе последовательность элементов до 100 символов включительно. Декларировать количество символов может быть удобно, когда мы работаем с формализованными данными, например, с серией и номером документа с определенным числом символов. Но при этом следует учесть следующее: при попытке присвоения такой переменной более длинного ряда символов, не вошедшие символы будут «обрублены».
Например, описав переменную: S: String [8] следующая операция
даст в результате S=«Мама мыл» и соответственно, потерю оставшихся символов.
Также, если в одной процедуре входные или выходные переменные отличались по своему числу символов от переменных в другой процедуре или функции, компилятор вернет ошибку и укажет на разность типов переменных. В таком случае нам потребуется, чтобы число декларированных в переменных символов совпадало и не превышало 255. Если последнее условие представляет затруднения, но представляет крайнюю необходимость, помогут методы обработки длинных строк.
Длинные строки
В Паскале возможна работа с длинными строками,24 длина которых определяется не числовым значением первого байта строки, а замыкающим символом «#0». Ограничение в них определяется лишь объемом оперативной памяти или ее схемой адресации. Максимально возможная строка в таком случае ограничена числом в 65 535 символов; еще такие строки называют ASCIIZ-строками.
Для создания длинных строк, перед описанием программы следует включить директиву расширенных значений компилятора {X+}; так же следует включить и модуль Strings.
Сама строка описывается типом Pchar, который является символьным указателем и отвечает за хранение массива символов Char.
На следующем
23
По существу, строка является массивом символьных переменных типа Char, описываемого по умолчанию как содержимое [1..255], вызов к индексу которого аналогичен операции с традиционным массивом (array). При этом, нулевой индекс [0] содержит информацию о текущей длине массива символов.
24