Table of Contents

Cvičení 10, Fronta, Stavový automat

náplň cvičení

Quick test 1

Zadání Quick-testu , nahrávání v BRUTE je zapnuto do 5.1.

Úloha 1 Fronta

Úloha 2 Komentáře - rozšíření

a='b \' c#d' #e
i="j \" k'l#m" #n

def preskoc_komentare(line):
  # vytiskne obsah souboru 'f' s vynechanymi komentari
  stav=0          # počáteční stav automatu
  for c in line:  # přečti jeden znak
    if stav==0:   # počáteční stav
      if c=="#":  # začátek komentáře
        stav=1
        continue        
      elif c=='\"':
        stav=2    # začátek řetězce
    elif stav==1: # 1="komentar"
      continue
    elif stav==2:
      if c=='\"':
        stav=0
    print(c,end="") # vytiskni znak
 
i=input()
preskoc_komentare(i)  # nacti radku a preskakuj

Úloha 3 Kontrola reálného čísla

floatnumber   ::=  pointfloat | exponentfloat
pointfloat    ::=  [intpart] fraction | intpart "."
exponentfloat ::=  (intpart | pointfloat) exponent
intpart       ::=  digit+
fraction      ::=  "." digit+
exponent      ::=  ("e" | "E") ["+" | "-"] digit+
digit         ::=  "0"..."9"

Úloha 4 Obsahy závorek

aa[bb(cc)dd(ee)fff[gggg]]hhh

()cc
()ee
[]gggg
[]bbddfff

Domácí práce

Tentokráte bez domácího cvičení, poslední domácí cvičení bude zadané příští týden.