Искусственный интеллект. Строки, контекст и волны на Паскале

Сергей Соболенко

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

Оглавление

* * *

Приведённый ознакомительный фрагмент книги Искусственный интеллект. Строки, контекст и волны на Паскале предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Глава 1. Строковые процедуры и функции на практике

Подготовка к работе в TMT-Pascal

Все, что нам первоначально потребуется для работы — скачать и установить программу компилятора TMT-Pascal.

Это можно сделать бесплатно, например, отсюда: http://pascal.sources.ru/tmt/download.htm.

Здесь можно выбрать, например, версию TMT Pascal Lite v.3.90, которая подходит для реализации наших задач.

Далее, для работы с русским языком в DOS-приложениях, нам понадобится произвести некоторые предварительные настройки. На 32-битной Windows:

В Windows XP:

В командной строке меню «Пуск» набираем команду «Regedit». Далее, вносим изменения: HKEY_LOCAL_MACHINE — > SYSTEM — > CurrentControlSet — > Control — > KeyboardLayout

Здесь нужно изменить значение ключа 00000409 в папке DosKeybCodes на «ru».

Также, в файле autoexec. nt, расположенном в Windows\system32, надо добавить строку «lh %SystemRoot%\system32\kb16.com ru». После перезагрузки переключение раскладки клавиатуры в DOS-приложениях будет производиться комбинациями Ctrl+Left Shift (английская) и Ctrl+Right Shift (русская). Упомянутый метод нормально работает в том случае, если Language settings for the system в качестве Default стоит Cyrilic.

В Windows 7:

В файле Windows/sistem32/autoexec. nt вписать строки:

«lh %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-строками.

Конец ознакомительного фрагмента.

Оглавление

* * *

Приведённый ознакомительный фрагмент книги Искусственный интеллект. Строки, контекст и волны на Паскале предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Примечания

23

По существу, строка является массивом символьных переменных типа Char, описываемого по умолчанию как содержимое [1..255], вызов к индексу которого аналогичен операции с традиционным массивом (array). При этом, нулевой индекс [0] содержит информацию о текущей длине массива символов.

24

Методы, процедуры и функции обработки длинных строк и обычных в TMT Pascal и в других языках программирования существенно отличаются, — с длинными строками объективно работать сложнее и они имеют ряд критических недостатков. В дальнейшем повествовании они не будут использоваться. Поэтому вы можете достаточно безболезненно пропустить этот раздел, или только бегло с ним ознакомиться.

Смотрите также

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я