Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Расчетно-графическая работа.doc
Скачиваний:
12
Добавлен:
02.05.2014
Размер:
1.65 Mб
Скачать
          1. ПрФ: Префиксная форма

ГИ: Горизонтальное исполнение

АлгПТ: Алгол-подобный текст / ПасПТ: Паскаль-подобный текст

ШТА: Шаблон текста алгоритма

// Исходная ИнФ: Инфиксная форма

A910 = (((Z1 Z2  (Z6 V (Z1  Z8))) & (Z3  Z4))  Z1) =

// Явное введение знака неявной операции вилки

= (((Z1Z2(Z6#V(Z1Z8)))#& (Z3Z4))Z1) =

= (((Z1Z2(Z6 #V(Z1Z8))) #& (Z3Z4))Z1) =

// ПрФ: Префиксная форма

// все операции (поэтапно) выносятся в префикс

= (((Z1Z2(Z6 #V(Z1Z8)))#&(Z3Z4))Z1)

= (((Z1Z2(Z6 #V(Z1,Z8)))#&(Z3Z4))Z1)

= (((Z1Z2(Z6 #V(Z1,Z8)))#&(Z3,Z4))Z1)

= (((Z1,Z2,(Z6 #V(Z1,Z8)))#&(Z3,Z4))Z1)

= (((Z1,Z2, #V(Z6,(Z1,Z8)))#&(Z3,Z4))Z1)

= (#&((Z1,Z2, #V(Z6,(Z1,Z8))),(Z3,Z4))Z1)

= (#&((Z1,Z2, #V(Z6,(Z1,Z8))),(Z3,Z4)),Z1)

A910 = (#&((Z1, Z2, #V(Z6, (Z1, Z8))),(Z3, Z4)),Z1)

A910 = (#&((Z1, Z2, #V(Z6, (Z1, Z8))),(Z3, Z4)),Z1)

ТЗО: Таблица замены обозначений

Общие замены обозначений

Компоненты ШТА

Ai

Zi

=

(

)

#

&

V

Компоненты РТА:

alg Ai

Zi

:

begin

(

end

)

seq

par

and

or

Специальные замены обозначений (для специальных пар знаков)

Компоненты ШТА

#&

#V

Компоненты РТА

par_and

par_or

РТА: Рабочий текст алгоритма

вариант 1

A910: seq (par_and (seq (Z1, Z2, par_or (Z6, seq (Z1, Z8))), seq (Z3, Z4)), Z1)

вариант 2

A910: seq begin par_and begin seq begin Z1, Z2, par_or begin Z6, seq begin Z1, Z8 end end end, seq begin Z3, Z4 end end, Z1end

Допустимые сокращения:par-and=par

A910: seq begin par begin seq begin Z1, Z2, par_or begin Z6, seq begin Z1, Z8 end end end, seq begin Z3, Z4 end end, Z1end

ВИ: Вертикальное исполнение

ОкПТ: Оккам-подобный текст

// A910 = (#&((Z1, Z2, #V(Z6, (Z1, Z8))),(Z3, Z4)), Z1)

ШТА: Шаблон текста алгоритма

РТА: Рабочий текст

A910

= 

(

#

&

(

(

Z1

,

Z2

,

#

V

(

Z6

,

(

Z1

,

Z8

)

)

)

,

(

Z3

,

Z4

)

)

,

Z1

)

A910=

(

#&

(

(

Z1,

Z2,

#V

(

Z6,

(

Z1,

Z8

)

)

),

(

Z3,

Z4

)

),

Z1

)

A910=

(

| #&

| (

| | 

| | (

| | | Z1,

| | | Z2,

| | | #V

| | | (

| | | | Z6,

| | | | 

| | | | (

| | | | | Z1,

| | | | | Z8

| | | | )

| | | )

| | ),

| | 

| | (

| | | Z3,

| | | Z4

| | )

| ),

| Z1

)

A910=

| #&

| | 

| | | Z1

| | | Z2

| | | #V

| | | | Z6

| | | | 

| | | | | Z1

| | | | | Z8

| | 

| | | Z3

| | | Z4

| Z1

// Удаление

// всех

// запятых и

// зачеркнутых

// строк

A910=

seq

par–and

seq

Z1

Z2

par–or

Z6

seq

Z1

Z8

seq

Z3

Z4

Z1

Подстановка функций команд (операторы присваивания)

РТА: Рабочий текст алгоритма

alg A910: ya910 = Fa910(xa910):

seq

par–and

seq

Z1: yz1 := Fz1(xz1)

Z2: yz2 := Fz2(xz2)

par–or

Z6: yz6 := Fz6(xz6)

seq

Z1: yz1 := Fz1(xz1)

Z8: yz8 := Fz8(xz8)

seq

Z3: yz3 := Fz3(xz3)

Z4: yz4 := Fz4(xz4)

Z1: yz1 := Fz1(xz1)

alg A910: ya910 = Fa910(xa910)

seq

par–and

seq

yz1 := Fz1(xz1)

yz2 := Fz2(xz2)

par–or

yz6 := Fz6(xz6)

seq

yz1 := Fz1(xz1)

yz8 := Fz8(xz8)

seq

yz3 := Fz3(xz3)

yz4 := Fz4(xz4)

yz1 := Fz1(xz1)

Примечание. В синтаксис

Анализ:

синтаксис

семантика

прагматика – субъекты (автомат, персонал), присубъекты

Выводы