Диплом, курсовая, контрольная работа
Помощь в написании студенческих работ

Заключение. 
Преобразование формы записи выражения

РефератПомощь в написанииУзнать стоимостьмоей работы

Lvalue (string, string, string, integer). Write («Primer vchodnich dannich:»),. Write («Podderjivaemie operacii: «),. Make_exp ('&', E1, E2, aand (E1,E2)):-!. Frontchar (S, C, Q), errors1(Q, N, C1). Make_exp ('|', E1, E2, oor (E1,E2)):-!. Wr_exp (oor (E1,E2)):-write («|»),. C=')', N1=N-1,errors1(Q, N1, C1),!. C='(', N1=N+1,errors1(Q, N1, C1),!. Errors1(string, integer, integer). Make_exp (FS… Читать ещё >

Заключение. Преобразование формы записи выражения (реферат, курсовая, диплом, контрольная)

В данной работе было рассмотрено использование естественного языка в интеллектуальных системах. Помимо этого, была спроектирована и реализована программа на языке Turbo Prolog 2.0 осуществляющая преобразования постфиксной записи выражения в префиксную.

В ходе выполнения данной работы были получены навыки программирования на языке Turbo Prolog 2.0 и знания в области искусственного интеллекта.

Список используемых источников

и литературы

  • 1. Попов Э. В. «Общение с ЭВМ на естественном языке» 1982 г.
  • 2. Лорьер Ж. Л. «Системы искусственного интеллекта» 1991 г.
  • 3. Гаврилов А. В. «Гибридные интеллектуальные системы» 2002 г.
  • 4. Инфиксные, префиксные и постфиксные выражения http://aliev.me/runestone/BasicDS/InfixPrefixandPostfixExpressions.html (дата обращения 15.05.2016).

А. Листинг программы

domains.

exp=aand (exp, exp);

oor (exp, exp);

nnot (exp);

str (string).

predicates.

expres (string, string, exp). % Для анализа 3х типов выражения.

term (string, string, exp). %терм представляющий либо имя, либо.

%выражение.

sign (string, char, string). % Определяет знак операции.

make_exp (char, exp, exp, exp). % Формирует бинарное дерево.

single (char). % Допустимые знаки операций.

var (string, string, string). % Проверка принадлежности операнда.

% символам латинского алфавита.

lvalue (string, string, string, integer).

wr_exp (exp). % Вывод выражения.

w_e (exp).

errors (string, integer, integer). %проверка на ошибки.

errors1(string, integer, integer).

if_else (integer, string).

if_else1(integer, string).

Clauses.

errors (««, 0, F1):-F1=1.

errors (««,_,_).

errors (S, F, F1):;

frontchar (S, C, Q),.

C='(', F1=0,errors (Q, F, F1),!.

errors (S, F, F1):;

frontchar (S, C, Q),.

C=')', F1=0,errors (Q, F, F1),!.

errors (S, F, F1):;

frontchar (S, C, Q),.

C='!', F1=0,errors (Q, F, F1),!.

errors (S, F, F1):;

frontchar (S, C, Q),.

C='&', F1=0,errors (Q, F, F1),!.

errors (S, F, F1):;

frontchar (S, C, Q),.

C='|', F1=0,errors (Q, F, F1),!.

errors (S, F, F1):;

frontchar (S, C, Q),.

char_int (C, I),.

I>=97,.

I<=122,F1=0,errors (Q, F, F1),!.

errors (_, F, F1):-F1=F+1.

errors1(««, 0, C1):-C1=0.

errors1(S, N, C1):;

frontchar (S, C, Q),.

C='(', N1=N+1,errors1(Q, N1, C1),!.

errors1(S, N, C1):;

frontchar (S, C, Q),.

C=')', N1=N-1,errors1(Q, N1, C1),!.

errors1(S, N, C1):;

frontchar (S, C, Q), errors1(Q, N, C1).

errors1(_, C, C1):-C1=C+10.

if_else (F,_):;

F0,write («ERRORS!!!»),!.

if_else (_, Z):;

C=0,.

R=Z,.

errors1(Z, C, C1),.

if_else1(C1,R).

if_else1(C,_):;

C0,write («NO SKOBKI!!!»),!.

if_else1(_, Y):;

expres (Y, A, B),.

write («Virajenie v prefiksnoi forme»),.

cursor (14,12),.

wr_exp (B).

expres (Str, Rest, nnot (Expr)):;

term (Str, Rest1, Expr),.

frontchar (Rest1,'!', Rest).

expres (Str, Rest, Expr):;

term (Str, Rest1, Expr1),.

expres (Rest1,Rest2,Expr2),.

sign (Rest2,FS, Rest),.

make_exp (FS, Expr1, Expr2,Expr).

expres (Str, Rest, Expr):;

term (Str, Rest, Expr).

sign (Str, FS, Rest):;

frontchar (Str, FS, Rest),.

single (FS).

Single ('&').

Single ('|').

make_exp ('&', E1, E2,aand (E1,E2)):-!.

make_exp ('|', E1, E2,oor (E1,E2)):-!.

term (Str, Rest, str (S)):;

var (Str, Rest, S),!.

term (Str, Rest, Expr):;

frontchar (Str,'(', Rest1),.

expres (Rest1,Rest2,Expr),.

frontchar (Rest2,')', Rest).

var (Str, Rest, Val):;

lvalue (Str, Rest, Val, 0),.

Val" «.

lvalue (Str, Rest, Val, N):;

frontchar (Str, FC, Rest1),.

char_int (FC, FI),.

FI>=97,.

FI<=122,N<1,!,.

N1=N+1,.

lvalue (Rest1,Rest, Val1, N1),.

Str_char (FS, FC),.

concat (FS, Val1, Val).

lvalue (Str, Str," «, 1).

wr_exp (aand (E1,E2)): — write («&»),.

w_e (E1),.

w_e (E2).

wr_exp (oor (E1,E2)):-write («|»),.

w_e (E1),.

w_e (E2).

wr_exp (nnot (E)):;

write («!»),.

w_e (E).

wr_exp (str (S)):;

w_e (str (S)).

w_e (str (S)):;

write (S).

w_e (E):;

%write («(»),.

wr_exp (E).

%write («)»).

goal.

makewindow (1,7,7," Preobrazovanie formi zapisi virajeniya", 0,0,25,80),.

cursor (1,4),.

nl,.

write («Podderjivaemie operacii: «),.

nl,.

write («koniunkzia '&'»),.

nl,.

write («dizunkzia '|'»),.

nl,.

write («otrizanie '!'»),.

nl,.

nl,.

write («Primer vchodnich dannich:»),.

nl,.

write («((fb&)a|)!»),.

nl,.

cursor (10,4),.

write («Vvedite virajenie v postfiksnoi forme»),.

cursor (11,12),.

readln (Y),.

R=Y,.

Z=Y,.

nl,.

F=0,.

errors (R, F, F1),.

if_else (F1,Z),.

nl.

Показать весь текст
Заполнить форму текущей работой