Обучающая программа перевода математического выражения из инфиксной в постфиксную польскую форму

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 02.04.2011
Размер файла 19,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru

МИНОБРНАУКИ РОССИИ

Государственное образовательное учреждение

Высшего профессионального образования

ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Аэрокосмический институт

Кафедра систем автоматизации производства

КУРСОВАЯ РАБОТА

по дисциплине "ЛПО САПР"

Обучающая программа перевода математического выражения из инфиксной в постфиксную польскую форму

Оренбург

2010

Аннотация

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

Содержание

Введение

1. Техническое задание

1.1 Основания для разработки

1.2 Назначение программы

1.3 Требования к программе

1.4 Стадии и этапы разработки

2. Описание программы

2.1 Общие сведения

2.2 Функциональное назначение

2.3 Описание логической структуры программы

2.4 Используемые технические средства

2.5 Вызов и загрузка

3. Руководство программиста

3.1 Назначение и условия применения программы

3.2 Характеристика программы

3.3 Запуск программы

4. Руководство пользователя

4.1 Назначение программы

4.2 Условия выполнения программы

4.3 Демонстрация работы

Заключение

Список использованных источников

Приложение А

Введение

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

Обратная польская нотация была разработана австралийским философом и специалистом в области теории вычислительных машин Чарльзом Хэмблином в середине 1950-х на основе польской нотации, которая была предложена в 1920 году польским математиком Яном Лукасевичем. Работа Хэмблина была представлена на конференции в июне 1957, и издана в 1957 и 1962.

Первыми компьютерами, поддерживающими обратную польскую нотацию были KDF9 от English Electric Company, который был анонсирован в 1960 и выпущен (появился в продаже) в 1963, и американский Burroughs B5000, анонсирован в 1961, выпущен в том же 1963. Один из проектировщиков B5000, Р. С. Бартон, позже написал, что разработал обратную польскую запись независимо от Хэмблина, примерно в 1958, в процессе чтения книги по символьной логике, и до того как познакомился с работой Хэмблина.

Компания Friden перенесла ОПН в настольные калькуляторы, выпустив в июне 1964 модель EC-130. А в 1968 инженеры Hewlett-Packard разработали настольный калькулятор 9100A с поддержкой ОПН. Этот калькулятор сделал обратную польскую нотацию популярной среди учёных и инженеров, даже несмотря на то, что в ранней рекламе 9100A ОПН не упоминалась. В 1972 калькулятор HP-35 с поддержкой ОПН стал первым научным карманным калькулятором.

В 1971 году появился оригинальный язык программирования Forth, языковая машина которого имеет двухстековую структуру и где все вычисления проводятся на стеке. В этом языке ОПН является естественным способом записи любых операций с данными, хотя возможна, при желании, реализация и обычной (инфиксной) записи арифметических операций.

ОПН применялась в советском инженерном калькуляторе Б3-19М (совместная разработка с ГДР), выпущенном в 1976 году. Все выпускаемые в СССР вплоть до конца 1980-х годов программируемые микрокалькуляторы, за исключением "Электроника МК-85", использовали ОПН -- она проще реализовывалась и позволяла обойтись в программировании вычислений меньшим числом команд, по сравнению с обычной алгебраической нотацией, а количество программной памяти в этих моделях всегда было критическим ресурсом (не более 105 ячеек, при том, что команда занимала 1-2 ячейки). ОПН используется в современных российских программируемых калькуляторах "Электроника МК-152" и "ЭЛЕКТРОНИКА МК-161", что обеспечивает их совместимость с программами, написанными для советских калькуляторов.

Описание.

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

* Запись набора операций состоит из последовательности операндов и знаков операций. Операнды в выражении при письменной записи разделяются пробелами.

* Выражение читается слева направо. Когда в выражении встречается знак операции, выполняется соответствующая операция над двумя последними встретившимися перед ним операндами в порядке их записи. Результат операции заменяет в выражении последовательность её операндов и её знак, после чего выражение вычисляется дальше по тому же правилу.

* Результатом вычисления выражения становится результат последней вычисленной операции.

Например, рассмотрим вычисление выражения 7 2 3 * - (эквивалентное выражение в инфиксной нотации: 7-2*3).

1. Первый по порядку знак операции -- "*", поэтому первой выполняется операция умножения над операндами 2 и 3 (они стоят последними перед знаком). Выражение при этом преобразуется к виду 7 6 - (результат умножения -- 6, -- заменяет тройку "2 3 *").

2. Второй знак операции -- "-". Выполняется операция вычитания над операндами 7 и 6.

3. Вычисление закончено. Результат последней операции равен 1, это и есть результат вычисления выражения.

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

Особенности обратной польской записи следующие:

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

* В отличие от инфиксной записи, невозможно использовать одни и те же знаки для записи унарных и бинарных операций. Так, в инфиксной записи выражение 5 * (-3 + 8) использует знак "минус" как символ унарной операции (изменение знака числа), а выражение (10 - 15) * 3 применяет этот же знак для обозначения бинарной операции (вычитание). Конкретная операция определяется тем, в какой позиции находится знак. Обратная польская запись не позволяет этого: запись 5 3 - 8 + * (условный аналог первого выражения) будет интерпретирована как ошибочная, поскольку невозможно определить, что "минус" после 5 и 3 обозначает не вычитание; в результате будет сделана попытка вычислить сначала 5 - 3, затем 2 + 8, после чего выяснится, что для операции умножения не хватает операндов. Чтобы всё же записать это выражение, придётся либо переформулировать его, либо ввести для операции изменения знака отдельное обозначение, например, "±": 5 3 ± 8 + *.

* Так же, как и в инфиксной нотации, в ОПН одно и то же вычисление может быть записано в нескольких разных вариантах. Например, выражение (10 - 15) * 3 в ОПН можно записать как 10 15 - 3 *, а можно -- как 3 10 15 - *

* Из-за отсутствия скобок обратная польская запись короче инфиксной. За этот счёт при вычислениях на калькуляторах повышается скорость работы оператора (уменьшается количество нажимаемых клавиш), а в программируемых устройствах сокращается объём тех частей программы, которые описывают вычисления. Последнее может быть немаловажно для портативных и встроенных вычислительных устройств, имеющих жёсткие ограничения на объём памяти.

1. Техническое задание

1.1 Основания для разработки

Выполнение курсовой работы по курсу "ЛПО САПР".

1.2 Назначение программы

Обучающая программа перевода математического выражения из инфиксной в постфиксную польскую форму предназначена для рассматривания примеров перевода математического выражения из инфиксной в постфиксную польскую форму.

1.3 Требования к программе

математический выражение постфиксный инфиксный

1.1.1 Программа должна иметь функцию переводящую математическое выражение из инфиксной в постфиксную польскую форму;

1.1.2 Программа должна работать стабильно, без сбоев, не содержать критических ошибок;

1.1.3 Для функционирования программы требуется ЭВМ с процессором не ниже Intel Pentium 3, около 256 Мбайт оперативной памяти, наличие 466 Кбайт свободного места на диске;

1.1.4 Для функционирования программы требуется операционная система (ОС) Windows XP или выше.

1.4 Стадии и этапы разработки

1.1.5 Разработка технического задания;

1.1.6 Создание программного модуля;

1.1.7 Стадия отладки, поиска и исправления ошибок;

1.1.8 Разработка программной документации;

1.1.9 Источники разработки: учебные пособия по программированию.

ГОСТ19.201-78 Техническое задание;

ГОСТ19.401-78 Текст программы;

ГОСТ19.402-78 Описание программы;

ГОСТ19.504-79 Руководство программиста;

ГОСТ19.505-79 Руководство оператора.

2. Описание программы

2.1 Общие сведения

"Обучающая программа перевода математического выражения из инфиксной в постфиксную польскую форму" написана на языке программирования Delphi 7. Данная программа работает в операционной системе (ОС) Windows XP или выше. Программа имеет удобный пользовательский интерфейс.

2.2 Функциональное назначение

Обучающая программа перевода математического выражения из инфиксной в постфиксную польскую форму предназначена для рассматривания примеров перевода математического выражения из инфиксной в постфиксную польскую форму.

2.3 Описание логической структуры программы

Програмный код разделён на процедуры и функции в соответствии со стандартами структурного программирования и данного языка.

2.4 Используемые технические средства

Для нормального функционирования программы требуется: ОС Windows XP или выше. Минимальные аппаратные требования: ЭВМ с процессором Intel Pentium 3 или выше, от 256 Мбайт оперативной памяти, 466 Кбайт свободного дискового пространства, видеоадаптер VGA/SVGA, монитор, клавиатура и мышь.

2.5 Вызов и загрузка

Вызов программы осуществляется следующим образом. Необходимо стандартными командами запуска приложений запустить файл "Start.exe."

3. Руководство программиста

3.1 Назначение и условия применения программы

Обучающая программа перевода математического выражения из инфиксной в постфиксную польскую форму предназначена для рассматривания примеров перевода математического выражения из инфиксной в постфиксную польскую форму. Программа работает в ОС Windows XP или выше. Минимальные аппаратные требования: ЭВМ с процессором Intel Pentium 3 или выше, от 256Мбайт оперативной памяти, 466 Кбайт свободного дискового пространства, видеоадаптер VGA/SVGA, монитор, клавиатура и мышь.

3.2 Характеристика программы

Данное приложение было составлено в программной среде Delphi 7. Вот некоторые функции, которые она может, выполнять:

- функция запуска обучения;

При составлении данного приложения, использовались следующие стандартные компоненты Delphi:

Main Menu;

Memo;

Label;

XPManifest и т.д.

Стандартный компонент "Main Menu" - позволяет конструировать и создавать полосу главного меню формы и выпадающие меню. На рисунке 1 изображено основное диалоговое окно, для создания главного меню (свойство items).

Стандартный компонент "XPManifest" - предназначен в данной программе для применения стандартного стиля WindowsXP. Данный компонент можно найти на вкладке "Win 32".

Стандартный компонент "Memo" - используется для ввода и отображения многострочных текстов. Данный компонент можно найти на вкладке "Standart".

3.3 Запуск программы

Вызов программы из ОС Windows осуществляется стандартными командами запуска приложений. При зависании программы необходимо перезагрузить компьютер.

4. Руководство пользователя

4.1 Назначение программы

Обучающая программа перевода математического выражения из инфиксной в постфиксную польскую форму предназначена для рассматривания примеров перевода математического выражения из инфиксной в постфиксную польскую форму.

4.2 Условия выполнения программы

Программа работает в ОС Windows XP или выше. Минимальные аппаратные требования: ЭВМ с процессором Intel Pentium 3 или выше, от 256Мб оперативной памяти, 466 Кб свободного дискового пространства, видеоадаптер VGA/SVGA, монитор, клавиатура и мышь.

4.3 Демонстрация работы

Данное приложение было разработано в программной среде Delphi 7 и может выполнять следующие функции:

запускать окно, на котором возможно ввести интересующий пример;

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

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

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

Для того чтобы выйти из данной программы обучения английскому языку нужно сделать следующие действия: "Файл" - "Выход". Также выход из приложения осуществляется нажатием на крестик.

Заключение

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

В данной курсовой работе были рассмотрены такие фундаментальные понятия как программа, программирование. Было разработано программное средство, позволяющее переводить математические выражения из инфиксной в постфиксную польскую форму. Программа имеет удобный графический интерфейс. Главным недостатком программы является то, что программа не распознает ошибки при введении некорректных выражений. В следующей версии приложения этот недостаток будет исправлен. Программа предназначена для демонстрации знаний и умений, полученных в процессе изучения курса ЛПО САПР. К отчету прилагается диск CD с выполненной программой, программным кодом и отчетом в электронном виде. Теперь я понимаю, что без каких-либо навыков и тяготения к программированию создание программ не получится, и понял как это все-таки сложно составлять программы.

Список использованных источников

Нейджел, Кристиан, Ивьен, Билл, Глинн, Джей, Морган, Уотсон, Карли. С# 2005 и платформа .NET 3.0 для профессионалов.: Пер. с англ. - М. : ООО "И.Д. Вильямс", 2008. - 1376+416(CD) c.: ил. - Парал. тит. англ

Зелковиц М., Шоу А., Гэннон Дж. Принципы разработки программного обеспечения / Пер. с англ. -- М.: Мир, 1982. -- 386 с., ил

Практическое руководство по программированию / Пер. с англ. Б. Мик, П. Хит, Н. Рашби и др.; под ред. Б. Мика, П. Хит, Н. Рашби. - М.: Радио и связь, 1986. -- 168 с., ил

Лекции по программированию

ГОСТ19.201-78. Техническое задание

ГОСТ19.401-78. Текст программы

ГОСТ19.402-78. Описание программы

ГОСТ19.504-79. Руководство программиста

ГОСТ19.505-79. Руководство оператора

Приложение А

Листинг программы "Перевода математического выражения из инфиксной в постфиксную польскую форму"

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, StdCtrls, ComCtrls, Menus, XPMan;

type

TForm1 = class(TForm)

Button1: TButton;

Edit1: TEdit;

Label1: TLabel;

Memo1: TMemo;

XPManifest1: TXPManifest;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Next1();

procedure N5Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

f1,f2:integer;

d:string;

q:array[1..100,1..2] of char;

implementation

uses Unit2, Unit3;

{$R *.dfm}

procedure Next2;

label g2;

var

a,i,j,b,f,t,l,r,h:integer;

s,z,z1,stek,str:string;

m:array[1..100]of string;

schet:array[1..100]of integer;

begin

f:=0;

s:=form1.Edit1.Text;

b:=length(s)+1;

l:=1;

r:=0;

form1.Memo1.Lines.Add('');

form1.Memo1.Lines.Strings[0]:='1)';

g2:

r:=r+1;

f:=f+1;

a:=0;

t:=b-1;

form1.Memo1.Lines.Add('');

for i:=l to t do

form1.Memo1.Lines.Strings[f]:=form1.Memo1.Lines.Strings[f]+s[i];

for i:=l to t do

begin

z:=q[i,2];

if strtoint(z)>a then

begin

b:=i;

a:=strtoint(z);

end;

end;

form1.Memo1.Lines.Add('');

form1.Memo1.Lines.Add('');

f:=f+1;

for i:=l to b-1 do

m[f]:=m[f]+s[i];

form1.Memo1.Lines.Strings[f]:=m[f]+'=E1';

form1.Memo1.Lines.Add('');

f:=f+1;

for i:=b+1 to t do

m[f]:=m[f]+s[i];

form1.Memo1.Lines.Strings[f]:=m[f]+'=E2';

f:=f+1;

form1.Memo1.Lines.Strings[f]:='ПоПЗ(E1'+s[b]+'E2)=E1E2'+s[b];

f:=f+1;

form1.Memo1.Lines.Add('');

form1.Memo1.Lines.Strings[f]:='ПоПЗ(('+m[f-3]+')'+s[b]+'('+m[f-2]+'))=('+m[f-3]+')('+m[f-2]+')'+s[b];

if length(m[f-3])>2 then

goto g2

else

if length(m[f-2])>2 then

begin

l:=b+1;

b:=length(m[f-2])+l;

goto g2;

end

else

if length(s)-l>length(m[f-3])+length(m[f-2])+r then

begin

l:=length(m[f-3])+length(m[f-2])+r+2;

b:=length(s)+1;

goto g2;

end;

s:=form1.Edit1.Text;

stek:='';

str:='';

for i:=1 to 100 do

schet[i]:=0;

for i:=1 to length(s) do

begin

if (s[i]='*') or (s[i]='/') then

schet[i]:=3;

if (s[i]='+') or (s[i]='-') then

schet[i]:=2;

if s[i]=')' then

schet[i]:=1;

if s[i]='(' then

schet[i]:=-1;

if schet[i]=0 then

str:=str+s[i];

if schet[i]=2 then

if (schet[i-2]=2) or (schet[i-2]=3) then

begin

l:=length(stek);

str:=str+stek[l];

delete(stek,l,1);

stek:=stek+s[i];

end

else

stek:=stek+s[i];

if schet[i]=3 then

if schet[i-2]=3 then

begin

l:=length(stek);

str:=str+stek[l];

delete(stek,l,1);

stek:=stek+s[i];

end

else

stek:=stek+s[i];

if schet[i]=5 then

begin

h:=1;

j:=i;

b:=i;

while schet[j]<>-1 do

begin

while schet[b]<>-1 do

if (schet[b]=2) or (schet[b]=3) then

begin

h:=h+1;

b:=b-1;

end;

if stek[j]='(' then

delete(stek,j,1)

else

begin

if schet[j]=2 then

if (schet[j-1]>=2) or (h<2) then

begin

str:=str+stek[j-1];

delete(stek,j-1,1);

h:=h-1;

end;

if schet[j]=3 then

if (schet[j-1]=3) or (h<2) then

begin

h:=h-1;

str:=str+stek[i-1];

delete(stek,i-1,1);

end;

end;

j:=j-1;

end;

end;

if i=length(s) then

for j:=length(stek) downto 1 do

str:=str+stek[j];

end;

form1.Memo1.Lines.Add('');

form1.Memo1.Lines.Strings[f+1]:=str;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

form1.Memo1.Lines.Delete(0);

Form1.Label1.Caption:='Введите пример, состовляющий проблему при преобразовании и нажмите продолжить';

Form1.Edit1.Text:='';

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

form1.Memo1.Text:='';

if length(form1.Edit1.Text)>1 then

Next1;

end;

procedure TForm1.Next1;

var

a,b,i,j,x,w:integer;

s,m,x1,x2:string;

label g,g1;

begin

x:=0;

for i:=1 to 2 do

for j:=1 to 100 do

q[j,i]:='0';

w:=0;

s:=form1.Edit1.Text;

a:=length(s);

for j:=1 to a do

q[j,1]:=s[j];

for j:=1 to a do

begin

if s[j]=')' then

for i:=j downto 1 do

if s[i]='(' then

begin

g:

for x:=i to j do

if (s[x]='*') or (s[x]='/') then

begin

w:=w+1;

m:=inttostr(w);

q[x,2]:=m[1];

q[x,1]:=s[x];

s[x]:='=';

goto g;

end;

for x:=i to j do

if (s[x]='+') or (s[x]='-') then

begin

w:=w+1;

m:=inttostr(w);

q[x,2]:=m[1];

q[x,1]:=s[x];

s[x]:='=';

goto g;

end;

s[j]:='%';

s[i]:='%';

end;

end;

for i:=1 to a do

begin

g1:

for x:=1 to a do

if (s[x]='*') or (s[x]='/') then

begin

w:=w+1;

m:=inttostr(w);

q[x,2]:=m[1];

q[x,1]:=s[x];

s[x]:='=';

goto g1;

end;

for x:=1 to a do

if (s[x]='+') or (s[x]='-') then

begin

w:=w+1;

m:=inttostr(w);

q[x,2]:=m[1];

q[x,1]:=s[x];

s[x]:='=';

goto g1;

end;

end;

for i:=1 to 2 do

for j:=1 to 100 do

form1.StringGrid1.Cells[i-1,j-1]:=q[j,i];

Next2;

end;

procedure TForm1.N5Click(Sender: TObject);

begin

Form2.show;

end;

procedure TForm1.N4Click(Sender: TObject);

begin

form3.show;

end;

procedure TForm1.N2Click(Sender: TObject);

begin

Close;

end;

end.

Размещено на Allbest.ru


Подобные документы

  • Лингвистическое обеспечение автоматизированной системы. Алгоритмы сортировки методом прохождения бинарного дерева. Перевод входной строки в инфиксной форме в постфиксную. Конструирование программы-переводчика с английского на русский язык в Delphi.

    курсовая работа [1,2 M], добавлен 18.08.2009

  • Описание логической структуры программы "perevod" для перевода числа из одной системы счисления в другую. Блок-схема алгоритма обработчика события Button1Click. Разработка и испытание приложений. Назначение и условия применения программы, листинг.

    курсовая работа [945,5 K], добавлен 03.01.2011

  • Система программирования Delphi, ее характеристика. Основные требования к обучающей программе. Составление блок-схемы алгоритма программы "Математика. 1 класс". Виды задач для решения в обучающей программе. Описание работы системы, инструкция к ней.

    курсовая работа [2,0 M], добавлен 17.06.2015

  • Понятие и цель применения текстовых данных. Принцип кодирования азбуки Морзе. Основные методы языка высокого уровня C#. Алгоритм работы, листинг, тестирование программы для перевода текста в последовательность кодов азбуки Морзе. Руководство пользователя.

    курсовая работа [1,4 M], добавлен 15.01.2013

  • Механические системы и анимационное моделирование. Некоторые задачи моделирования механических систем (на примере движение тела с переменной массой). Создание анимационно-обучающей программы механической системы, текст программы и описание ее установки.

    дипломная работа [522,2 K], добавлен 30.08.2010

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

    дипломная работа [807,0 K], добавлен 24.11.2010

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

    курсовая работа [462,8 K], добавлен 05.04.2014

  • Составление программы-переводчика текста. Обеспечение пословного перевода. Сценарий работы проекта. Главное окно переводчика. Направление перевода. Изменение состояния панелей инструментов с помощью контекстного меню. Окно Tutor. Документация проекта.

    курсовая работа [725,6 K], добавлен 11.10.2008

  • Абстрактный анализ и синтез модели предметной области. Разработка структуры, внешних и внутренних спецификаций программы. Описание программы Kurs и подпрограммы Openf, особенности и результаты их тестирования. Руководство программиста и пользователя.

    курсовая работа [503,2 K], добавлен 14.07.2012

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

    контрольная работа [372,3 K], добавлен 24.01.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.