Adott egy forrásfájl egy olyan egyszerű programozási nyelven, melyben csak értékadások, függvénydefiníciók és függvényhívások szerepelnek.
A függvény definíciók szintaxisa a következő alakú:
függvénynév(paraméterek) begin utasítás_1;;; utasítás_2 ;;; ... ;;; utasítás_n end;
A függvényblokk utasításait ;;; karakterek (és space-ek) választják el.
Példa forráskód:
fv (x,y,z) begin print x;;; print y ;;; return x + y + z end; x = fv(2,34,5) g (x) begin y = x + 45 ;;; return y end; z = g(23) r = 53 h (x,y,z,r) begin print x;;; print y ;;; print z;;;print r;;;return x + y + z end;
Készíts olyan programot, ami a fenti programból egy helyes szintaxisú python fájlt készít a belső függvényblokkokat 4 space-el beljebb kezdve:
def fv (x,y,z) :
print x
print y
return x + y + z
x = fv(2,34,5)
def g (x) :
y = x + 45
return y
z = g(23)
r = 53
def h (x,y,z,r) :
print x
print y
print z
print r
return x + y + z
Minta fájlok: inp.txt, out.txt.
Egészítsd ki a fenti programozási nyelvet egy egyszerű elágazás konstrukcióval:
if feltétel begin utasítás_1;;; utasítás_2 ;;; ... ;;; utasítás_n end;
Az elágazás szerepelhet függvénydefinícióban is, de az feltehető, hogy elágazáson belül már nincs újabb elágazás.
Példa forráskód:
fv (x,y,z) begin print x;;; print y;;; if x > 0 begin print "Nagyobb!" end; ;;;return x + y + z end; x = fv(2,34,5) g (x) begin y = x + 45;;; if x < 0 begin print "Kisebb!" end; ;;; if x =0 begin return 12 end; ;;; return y end; z = g(23) if x > 0 begin print "Nagyobb!" end; r = 25
Készíts olyan programot, ami a fenti programból egy helyes szintaxisú python fájlt készít a belső függvényblokkokat 4 space-el beljebb kezdve:
def fv (x,y,z) :
print x
print y
if x > 0 :
print "Nagyobb!"
return x + y + z
x = fv(2,34,5)
def g (x) :
y = x + 45
if x < 0 :
print "Kisebb!"
if x =0 :
return 12
return y
z = g(23)
if x > 0 :
print "Nagyobb!"
r = 25
Minta fájlok: inp2.txt, out2.txt.
A program neve mindkét esetben legyen "bead3.py", az inputfájl neve legyen a program parancssori paramétere, az elkészített fájl neve pedig legyen "eredmeny.txt". További követelmény, hogy a program hianyzó paraméter esetén: "Nincs argumentum!", míg rosszul megadott fájlnév paraméter esetén: "Nincs ilyen file!" hibaüzenetet adjon.