to aaa ;UCBLogo ;Zadatak s gradskog natjecanja u primorsko-goranskoj zupaniji 1999. ; ;TEXT ZADATKA (skracen): ;Napisati proceduru recenica koja trazi upis recenice ;u kojoj prebrojava samoglasnike i ispisuje njihov broj. ;Ako nema nekog ne ispisuje nista (nema informacije), a ;ako ih uopce nema ispisuje poruku o tomeu. ; ;Pozvati sa: ;----------- ;recenica ;----------- ; ;Moj komentar: ;Ovo se rjesenje razlikuje od rjesenja danog od sluzbenog sastavljaca ;jer ne koristimo niti globalne varijable niti mjenjanje vrijednosti ;varijable tipa: ; make "ime :ime+1 ; end
to broji :a :e :i :o :u :rij if emptyp :rij [op (list :a :e :i :o :u)] op broji (sum :a first vidi first :rij) ~ (sum :e first bf vidi first :rij) ~ (sum :i first bf bf vidi first :rij) ~ (sum :o last bl vidi first :rij) ~ (sum :u last vidi first :rij) ~ bf :rij end
to ispis :pod pr [broj samoglasnika:] if not ((first :pod)=0) [(pr [Slovo A =] first :pod)] if not ((first bf :pod)=0) [(pr [Slovo E =] first bf :pod)] if not ((first bf bf :pod)=0) [(pr [Slovo I =] first bf bf :pod)] if not ((last bl :pod)=0) [(pr [Slovo O =] last bl :pod)] if not ((last :pod)=0) [(pr [Slovo U =] last :pod)] if (sum first :pod first bf :pod first bf bf :pod last bl :pod last :pod)=0 ~ [pr [Nema samoglasnika!]] end
to recenica pr [Unesite recenicu!] ispis broji 0 0 0 0 0 spoji rl " end
to spoji :rec :rij if emptyp :rec [op :rij] op spoji bf :rec word :rij first :rec end
to vidi :slovo if :slovo="a [op [1 0 0 0 0]] if :slovo="e [op [0 1 0 0 0]] if :slovo="i [op [0 0 1 0 0]] if :slovo="o [op [0 0 0 1 0]] if :slovo="u [op [0 0 0 0 1]] op [0 0 0 0 0] end