Студопедія
рос | укр

Головна сторінка Випадкова сторінка


КАТЕГОРІЇ:

АвтомобіліБіологіяБудівництвоВідпочинок і туризмГеографіяДім і садЕкологіяЕкономікаЕлектронікаІноземні мовиІнформатикаІншеІсторіяКультураЛітератураМатематикаМедицинаМеталлургіяМеханікаОсвітаОхорона праціПедагогікаПолітикаПравоПсихологіяРелігіяСоціологіяСпортФізикаФілософіяФінансиХімія






Варіант 1


Дата добавления: 2015-10-18; просмотров: 418



 

По дисциплине: СИСТЕМЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА

Тема занятия:ОБРАБОТКА СТРОК

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

Количество часов: 4

Содержание работы: Разработать программу реализующую различные способы представления символов и строк, а также выполнения операций над строками.

 

Методические указания по выполнению:

 

СТРОКА (string) - это один из типов данных, с которыми работает Prolog. Это набор символов английского или русского алфавита, цифры, специальные символы %, $, @ и многие другие, а также управляющие символы. Строка является самым распространенным объектом в программировании. Это последовательность символов, набираемых на клавиатуре, команды управления программами и обрабатываемые данные.

 

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

 

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

Система числовых кодов, используемая при программировании, имеет единый стандарт и называется Американским стандартным кодом для обмена информацией (American Standard Coding for Information interchange (ASCII)). Обычно таблица кодов ASCII подразделяется на две части, две половины. Первая из них содержит коды от 0 до 127 и, как правило, не изменяется. Во второй, с кодами от 128 до 255, помещены буквы национальных алфавитов и специальные символы.

 

Первые 32 кода (от 0 до 31) являются управляющими и служат,

как правило, для передачи команд управления, например:

код 3 - прерывание выполнения программы (Ctrl-C) ,

код 10 - конец строки (Ctrl-J),

код 13 - возврат каретки (Ctrl-M),

код 20 - включение и выключение трассировки (Ctrl-T),

код 27 - Esc и т.д.

С 32-го кода кодируются служебные символы (пробел -32,

запятая - 44 и т.д.), затем цифры от 0 до 9 с кодами от 48 до 57.

С 65 по 90 кодируются прописные буквы латинского алфавита от

A до Z. С 97 по 122 - строчные буквы от a до z.

Русские строчные буквы - А, Б, В, ..., Я - коды 128, 129, 130, ...,

159, прописные русские буквы а, б, в, ..., м, н, о, п - 160-175, р, с, т,

..., я - 224 - 239, е - 240.

 

Для представления с помощью кодов ASCII одиночного символа используется его код (N), перед которым ставится обратный слэш (\), и все заключается в одиночные кавычки: ‘\N’ . А для представления строки символов коды каждого символа записываются один за другим и вся последовательность заключается в двойные кавычки:

«\N\N\N\N» .

 

Например, десятичный код символа Я есть 159, поэтому этот единичный символ представляется так: ‘\159’ , строка РОССИЯ - «\144\142\145\145\136\159» , PDC Prolog - «\80\68\67\32\80\114\111\108\111\103» . Десятичное число 1937.48 - «\49\57\51\55\46\52\56» .

 

Все эти записи символов и строк с помощью кодов ASCII могут широко использоваться в различных задачах.

 

 

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

Все многообразие операций над строками можно условно разделить на две группы: операции над структурой самих строк (определение длины строки, конкатенация, создание подстрок, преобразование строк в списки) и операции преобразования типов.

 

Для реализации первой группы операций используется несколько встроенных предикатов.

 

Большинство стандартных предикатов могут использоваться для выполнения нескольких функций в зависимости от того, как эти предикаты вызываются. В зависимости от ситуации определенный параметр может иметь известное значение. В другой ситуации некоторые параметры могут быть неизвестны. А для определенных целей некоторые параметры должны иметь значение в момент вызова предиката. Известные параметры называют входными (in), а неизвестные – выходными (out). Сочетание входных и выходных параметров в момент вызова предиката определяет характер его выполнения. Это сочетание параметров называют текущим состоянием параметров (flow pattern). Если предикат имеет два параметра, то возможны четыре текущих состояния: (i,i), (i,o), (o,i), (o,o). Где “i” означает входной параметр, а “o” – выходной. Не имеет смысла использовать каждый предикат для всех возможных состояний входных параметров. Например, не следует вызывать предикат readchar(X) c переменной Х, имеющей значение, т.е. со входным (i) параметром.

 

В этой работе описание стандартных предикатов будет сопровождаться указанием возможных текущих состояний.

 

ОПРЕДЕЛЕНИЕ ДЛИНЫ СТРОКИ

 

Длина строки - это количество символов в строке. Для этого используется встроенный предикат

str_len (String_value, String_length), (i,i),(i,o),(o,i)

где String_value - переменная со строковым значением, а String_length - длина этой строки.

 

Например, при обработке предиката str_len(«Россия»,Z) переменная Z означивается значением длины строки «Россия» (Z=6). Результат обработки предиката str_len(S,L) успешен, если S=ABC, а L=3 и неуспешен, например, если S=1999, а L=2.

 

Пример 5.1 демонстрирует использование этого предиката.

 

/*Пример 5.1.*/


<== предыдущая лекция | следующая лекция ==>
Частина ІІІ | Варіант 2
<== 1 ==> | 2 |
Studopedia.info - Студопедия - 2014-2024 год . (0.192 сек.) російська версія | українська версія

Генерация страницы за: 0.192 сек.
Поможем в написании
> Курсовые, контрольные, дипломные и другие работы со скидкой до 25%
3 569 лучших специалисов, готовы оказать помощь 24/7