- •Курсова робота
- •Розрахунок та оптимізація мереж. Синтез автоматів
- •Завдання (Варіант №4).
- •Завдання 1.
- •Розрахунок найкоротшого шляху графу (за алгоритмом Дейкстри).
- •Р озрахунок максимального потоку в мережі (за алгоритмом Форда-Фалкерсона).
- •Розрахунок часових параметрів та визначення критичного шляху мережевого графіка.
- •Завдання 2.
- •Мінімізація логічної функції аналітичним методом та з допомогою карт Карно.
- •Завдання 3.
- •Синтез кінцевого автомата.
- •Завдання 4.
- •Запис оператора Паскаля у нормальній формі Бекуса (на вибір).
- •Запис оператора Паскаля у формі кс-граматики (на вибір).
- •Завдання 5.
- •7 .1.Програма для перетворення матриці суміжності в матрицю інцидентності (Лістинг 1., Лістинг 2.):
- •Висновок.
- •Список використаної літератури.
Завдання 4.
Запис оператора Паскаля у нормальній формі Бекуса (на вибір).
Розглянемо, як приклад для нормальної форми Бекуса оператор Паскаля «WHILE»:
У – умова
ЗМ – змінна
Д - дія
СС – службовий знак
Б – буква
Ц – цифра
БЦ – БЦ - ланцюг
Ч – число
ОП – оператор
КС – ключове слово
<КС1><УМ><КС2><Д>
<КС1>::=While
< КС2>::=Do
<У>::= |<ЗМ> <СС> <ЗМ>|<ЗМ> <СС> <Ч>
<ЗМ>::= <Б> | <Б><БЦ>
<Б>::=A|a|B|b..Z|z
<БЦ>::=<Б><БЦ>| <Ц><БЦ>
<Ц>::=1|2|3|4|5|6|7|8|9|0
<ЗМ>::=<|>|=|>=|<=
<Ч>::=<Ц>|<Ц><Ч>
<Д>::=begin<ОП>end
<ОП>::=<ЗМ><ЗМ>|<ЗМ><Ч>
Запис оператора Паскаля у формі кс-граматики (на вибір).
У – умова
ЗМ – змінна
Д - дія
СС – службовий знак
Б – буква
Ц – цифра
БЦ – БЦ - ланцюг
Ч – число
ОП – оператор
КС – ключове слово
<КС1><УМ><КС2><Д>
<КС1> While
< КС2> Do
<У> <ЗМ> <СС> <ЗМ>
<У> <_ЗМ> <СС> <Ч>
<ЗМ> <Б>
<ЗМ> <Б> <БЦ>
<Б> <А>
<Б> <а>
<Б> <B>
…
<Б> <Z>
<Б> <z>
<БЦ> <Б> <БЦ>
<БЦ> <Ц> <БЦ>
<Ц> <1>
<Ц> <2>
<Ц> <3>
<Ц> <4>
<Ц> <5>
<Ц> <6>
<Ц> <7>
<Ц> <8>
<Ц> <9>
<Ц> <0>
<СС> << >
<СС> < >>
<СС> < = >
<СС> <<= >
<СС> <>= >
<Ч> <Ц>
<Ч> <Ц> <Ч>
<Д> <begin> <ОП> <end>
<ОП> <ЗМ><ЗМ>
<ОП> <ЗМ><Ч>
Завдання 5.
7 .1.Програма для перетворення матриці суміжності в матрицю інцидентності (Лістинг 1., Лістинг 2.):
program MatrixConverter;
uses CRT;
var
contiguity: array [1..4] of array [1..4] of byte;
incidence: array [1..4] of array [1..12] of byte;
lines: integer;
i, j, k: integer;
inputIsCorrect: boolean;
begin
clrscr;
writeln('This pogram converts contiguity matrix to incidence matrix.');
lines:=0;
writeln('Enter 4x4 contiguity matrix (1: vertex are connected, 0: otherwise):');
for i:=1 to 4 do
for j:=1 to 4 do
read(contiguity[i,j]);
inputIsCorrect:=true;
for i:=1 to 4 do
for j:=1 to 4 do
begin
if (contiguity[i,j]<>1) and (contiguity[i,j]<>0) then
inputIsCorrect:=false;
if contiguity[i,j]<>contiguity[j,i] then
inputIsCorrect:=false;
if contiguity[i,j]=1 then
lines:=lines+1;
end;
if inputIsCorrect=true then
begin
for i:=1 to 4 do
for k:=1 to 12 do
incidence[i,k]:=0;
k:=0;
for i:=1 to 4 do
for j:=1 to 4 do
if (contiguity[i,j]=1) and (i<>j) then
begin
k:=k+1;
incidence[i,k]:=1;
incidence[j,k]:=2;
end;
writeln('Incidence matrix (0:none, 1: out, 2:in):');
for i:=1 to 4 do
begin
for j:=1 to k do
write(incidence[i,j],' ');
writeln;
end;
end
else
writeln('It is not an contiguity matrix.');
write('Thanks for using. Press any key to exit');
repeat until
keypressed;
end.
Лістинг 1.
Р езультат програми:
Лістинг 2.