Програмски преводиоци 1/К1 2022 — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
(Postavka roka od danas jer je još uvek nisu objavili na stranici predmeta)
 
м (<fali slika>)
Ред 82: Ред 82:
== 3. zadatak ==
== 3. zadatak ==
=== Postavka ===
=== Postavka ===
Napisati fragment programskog koda koji implementira konačni automat:
Napisati fragment programskog koda koji implementira konačni automat sa slike:
<div class="abc-list">
<div class="abc-list">
# eksplicitnom predstavom funkcije stanja
# eksplicitnom predstavom funkcije stanja

Верзија на датум 1. новембар 2022. у 01:14

Овај рок није решен. Помозите SI Wiki тако што ћете га решити.

Prvi kolokvijum 2022. godine održan je 31. oktobra i trajao je 90 minuta. Postavka roka još uvek nije zvanično dostupna sa stranice predmeta.

1. zadatak

Postavka

Data su tri deterministička automata, M, N i P.

  1. Napraviti deterministički konačni automat K koji prihvata sekvence tipa , gde su sve sekvence koje automat M odbija, a i sekvence koje automati N i P prihvataju, respektivno.
  2. Od automata iz tačke pod a napraviti desno-linearnu gramatiku, a zatim iz nje izbaciti sve nedostižne ili mrtve neterminale.
Automat M
0 1 Prihvata
A A B 0
B B C 1
C A C 1
Automat N
1 2 Prihvata
D E 1
E D E 0
F F E 1
Automat P
0 a Prihvata
1 1 2 1
2 1 0

Rešenje

2. zadatak

Postavka

Aritmetički izraz se sastoji iz nula ili više brojeva, gde je broj niz cifara, sa aritmetičkim operacijama sabiranja ili oduzimanja između njih. Ukoliko su terminali u datoj azbuci jedna cifra ("CIFRA"), znak za sabiranje ("+") i znak za oduzimanje ("-") napisati regularni izraz koji opisuje date aritmetičke izraze, a zatim ga pretvoriti u deterministički konačni automat korišćenjem metoda pozicija.

Rešenje

3. zadatak

Postavka

Napisati fragment programskog koda koji implementira konačni automat sa slike:

  1. eksplicitnom predstavom funkcije stanja
  2. implicitnom predstavom funkcija stanja

Rešenje