Zadaci iz Programiranja 1 - Školska 2006/07


Kristina Novaković - broj indeksa 06/079


Polazni tekstovi:

  1. 90poli-060202-04.txt
  2. an-andric.txt
  3. pav106-pandurovic02.txt

Rezultujući tekstovi:

  1. 90poli-060202-04.def
  2. an-andric.def
  3. pav105-pandurovic02.def

Zadaci uz seminarski

Zadatak broj 1.1:

Sastaviti funkciju karakter koja vraća vrednost 0 ako tekst seminarskog sadrži samo dozvoljene ASCII- karaktere (LF, CR i grafičke karaktere od 32-127 koji se koriste u AURORA-kodu), a inace 1. Sastaviti main-funkciju koja testira funkciju karakter.

Rešenje zadatka 1.1



Rezultat

Zadatak broj 1.2:

Sastaviti funkciju slovo koja vraca 0 ako se u tekstu seminarskog nalaze samo dozvoljeni (prema Uputstvu) alfabetski grafički karakteri izvan srednjih zagrada [ i ], a inace vraca 1. (Na primer, karakteri q i w nisu dozvoljeni). Sastaviti main-funkciju koja testira funkciju slovo.


Rešenje zadatka 1.2



Rezultat

Zadatak broj 1.3:

Sastaviti funkciju zagrada koja vraca 0 ako je broj otvorenih srednjih zagrada [ jednak broju zatvorenih srednjih zagrada ], a inače vraća 1. Sastaviti main-funkciju koja testira funkciju zagrada.

Rešenje zadatka 1.3:
na strani kolege Miličevića


Rezultat

Zadatak broj 1.4:

Sastaviti funkciju jednako koja ispituje da li je otvorena srednja zagrada [ zatvorena zagradom ]. Ako je ispunjen ovaj uslov, funkcija vraca 0, a inače vraća 1. Sastaviti main funkciju koja testira funkciju jednako. Voditi računa da zagrade mogu biti umetnute kao, npr, u primeru 10. iz Uputstva.

Rešenje zadatka 1.4:
na strani kolege Miličevića


Rezultat

Zadatak broj 1.5:

Sastaviti funkciju etiketa koja vraća broj unetih etiketa u tekst seminarskog rada. Sastaviti main-funkciju koja testira funkciju etiketa.

Rešenje zadatka 1.5:
na strani kolege Miličevića


Rezultat

Zadatak broj 2.1:

Sastaviti funkciju prebroj koja izračunava koliko je puta koji karakter upotrebljen u tekstu. Sastaviti main-funkciju koja testira funkciju prebroj tako što ispisuje spisak karaktera koji su upotrebljeni bar jednom u tekstu i frekvenciju njihovog pojavljivanja.

Rešenje zadatka 2.1:
na strani kolege Miličevića


Rezultat

Zadatak broj 2.2:

Isto kao 2.1, samo što se ne pravi razlika između velikih i malih slova engleske abecede. (funkcija prebroji).

Rešenje zadatka 2.2:
na strani kolege Miličevića


Rezultat

Zadatak broj 2.3:

Sastaviti funkciju slova koja prebrojava alfabetske karaktere koji nisu ograđeni srednjim zagradama. Sastaviti main-funkciju koja ispisuje rezultat rada ove funkcije.

Rešenje zadatka 2.3:
na strani kolege Miličevića


Rezultat

Zadatak broj 2.4:

Sastaviti funkciju interpunkt koja prebrojava interpunkcijske karaktere koji su se pojavili u tekstu izvan etiketa. Srednje zagrade se ne računaju osim u slučaju da čine deo teksta. (Videti primer 10. u Uputstvu).

Rešenje zadatka 2.4:
na strani kolege Miličevića


Rezultat

Zadatak broj 2.5:

Sastaviti funkciju reci koja izračunava raspodelu po dužini reči u tekstu seminarskog. Kao reči se uzimaju nizovi alfabetskih karaktera koji se ne nalaze unutar etiketa. Npr. u tekstu Od toga [dig 17] sedamnaest [] vrsta pripada papratima ([fl_la Pteridophyta] Pterodofita []) ima sedam reči. Dužina reči Od je 2, dužina toga je 4, dužina reči sedamnaest je 10, itd.

Rešenje zadatka 2.5:
na strani kolege Miličevića


Rezultat

Zadatak broj 3.1:

Sastaviti funkciju etik koja kao argument dobija etiketu iza otvorene srednje zagrade i vraća 0 ako je etiketa korektna, inace 1. Sastaviti funkciju koja testira funkciju etik. Npr. za etiketu [dig 17], funkcija dobija kao argument nisku dig i vraca 0, dok za etiketu [dim 17] vraca 1.

Rešenje zadatka 3.1:
na strani kolege Miličevića


Program nema rezultat jer mu ulaz nisu datoteke 1-3.

Zadatak broj 3.2:

Sastaviti funkciju provera koja proverava da li je svaki obeleženi deo teksta etiketiran nekom od etiketa iz grupa A, B i C koristeći funkciju etik iz zadatka 3.1. U slučaju da jeste, funkcija vraća 0, a u suprotnom broj nepravilnih etiketa. Funkcija treba da ispiše svaku nepravilnu etiketu kada na nju naiđe. Sastaviti funkciju za testiranje.

Rešenje zadatka 3.2:
na strani kolege Miličevića


Rezultat

Zadatak broj 3.3:

Sastaviti funkciju jednako koja kao argument uzima etiketirani tekst i ispisuje originalni tekst i tekst zamene kao u sledećem primeru: Ulazni tekst je \[ Sxtampa [abk br.] broj [] [dig 12.] dvanaest [] od ove godine], a funkcija uzima etiketu po etiketu i ispisuje abk br. = broj dig 12 = dvanaest

Rešenje zadatka 3.3:
na strani kolege Miličevića


Rezultat

Zadatak broj 3.4:

Sastaviti funkciju ispis koja kao argument uzima neku od etiketa (dig, abk, itd.) i vraća 0 ako se ta etiketa ne pojavljuje u tekstu seminarskog, a inače vraća broj pojavljivanja upotrebljene etikete. Funkcija ispisuje sva pojavljivanja zadate etikete. Sastaviti funkciju za testiranje funkcije ispis.

Rešenje zadatka 3.4:
na strani kolege Miličevića


Rezultat

Zadatak broj 3.5:

Sastaviti funkciju rekonstrukt koja iz teksta seminarskog briše sve zamenjene delove i uspostavlja početni tekst. Sastaviti funkciju za testiranje ove funkcije. Npr. za tekst Od toga [dig 17] sedamnaest [] vrsta pripada papratima ([fl_la Pteridophyta] Pterodofita []), funkcija ispisuje Od toga 17 vrsta pripada papratima (Pteridophyta).

Rešenje zadatka 3.5:
na strani kolege Miličevića


Rezultati nisu javno dobro.

Zadatak broj 3.6:

Sastaviti funkciju ispit koja formira niz upotrebljenih etiketa u tekstu seminarskog (broj etiketa <= 15). Sastaviti funkciju sort koja sortira niz formiran u funkciji ispit. Sastaviti main-funkciju koja testira funkcije ispit i sort i ispisuje sortirani niz pronadenih etiketa.

Rešenje zadatka 3.6:
na strani kolege Miličevića


Rezultat

Zadatak broj 3.7:

Sastaviti funkciju koja za zadatu etiketu (npr. dig) formira niz niski koje se nalaze unutar te etikete. Npr. ako se u tekstu nalazilo [dig 17] sedamnaest [] i [dig 7] sedam [], niz treba da sadrži niske 17 i 7 (sortirane prema ASCII-kolacionoj sekvenciji.

Rešenje zadatka 3.7:
na strani kolege Miličevića


Rezultat

Zadatak broj 4.1:

Sastaviti funkciju kopiraj1 koja kopira tekst seminarskog zadatka u drugu datoteku bez teksta etiketa. Npr. tekst Od toga [dig 17] sedamnaest [] vrsta pripada papratima ([fl_la Pteridophyta] Pterodofita []) se kopira u Od toga sedamnaest vrsta pripada papratima (Pterodofita]).

Rešenje zadatka 4.1:



Rezultati nisu javno dobro.

Zadatak broj 4.2:

Sastaviti funkciju kopiraj2 koja kopira obeleženi tekst seminarskog u drugu datoteku koristeći funkciju rekonstrukt i koja restaurira polazni tekst.

Rešenje zadatka 4.2:



Rezultati nisu javno dobro.

Zadatak broj 4.3:

Sastaviti funkciju kopiraj3 koja kopira tekst obeleženog seminarskog u izlaznu datoteku tako da prepisuje samo etiketirane delove i to svaki etiketirani deo u novi red. Npr. tekst za tekst Od toga [dig 17] sedamnaest [] vrsta pripada papratima ([fl_la Pteridophyta] Pterodofita []), se kopira u tekst [dig 17] sedamnaest [] [fl_la Pteridophyta] Pterodofita []

Rešenje zadatka 4.3:
na strani kolege Krstića


Rezultat

Zadatak broj 4.4:

Sastaviti funkciju kopiraj4 koja kopira tekst obeleženog seminarskog u drugu datoteku zamenjujući etiketu koja se prenosi kao argument html-etiketom po izboru. Npr. tekst obeležen kao dig u crveno obojeni tekst ili skraćenice u plavo obojeni tekst.

Rešenje zadatka 4.4:



Rezultati nisu javno dobro.

Zadatak broj 4.5:

Sastaviti funkciju kopiraj5 koja u izlaznu datoteku prepisuje samo reči koje su palindromi. Ispitivanje palindroma izdvojiti u zasebnu funkciju palindrom.

Rešenje zadatka 4.5:
na strani kolege Đenića


Rezultat


Nazad na glavnu stranu