Zadaci iz Programiranja 1 - školska 2006/07



DRAGOLJEVIĆ JASMINA


80/06



       Polazni tekstovi:

  1. 63poli-051222-02.txt
  2. crnjanski-dnevnik10.txt
  3. fa2-pavic02.txt
  4. pav126-rebac02.txt

    Rezultujući tekstovi:

    1. 63poli-051222-02.def
    2. crnjanski-dnevnik10.def
    3. fa2-pavic02.def
    4. pav126-rebac02.def
    Zadatak 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 inače 1. Sastaviti main-funkciju koja testira funkciju karakter.


    Rešenje zadatka 1


    Rezultat testiranja programa:

    Zadatak 2: Sastaviti funkciju slovo koja vraća 0 ako se u tekstu seminarskog nalaze samo alfabetski grafički karakteri izvan srednjih zagrada [ i ], a inače vraća 1. (Na primer, karakteri q i w nisu dozvoljeni). Sastaviti main-funkciju koja testira funkciju slovo.

    Rešenje zadatka 2:

    Rezultat testiranja programa::

    Zadatak 3:Sastaviti funkciju zagrada koja vraća 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 3::

    Rezultat testiranja programa::

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

    Rešenje zadatka 4-Preuzeto od kolege Svetislava Milicevica :

    Rezultat testiranja programa:

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

    Rešenje zadatka 5::

    Rezultat testiranja programa::

    Zadatak 6: 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 zadatka6-Preuzeto od kolege Svetislava Milicevica:

    Rezultat testiranja programa:

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

    Rešenje zadatka7-Preuzeto od kolege Svetislava Milicevica :

    Rezultat testiranja programa::

    Zadatak 8: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 8::

    Rezultat testiranja programa::

    Zadatak 9: 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 9::

    Rezultat testiranja programa::

    Zadatak 10: 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 zadatka10-Preuzeto od kolege Svetislava Milicevica :

    Rezultat testiranja programa:

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

    Rešenje zadatka 11 -Preuzeto od kolege Svetislava Milicevica :

    Rezultat testiranja programa:

    Zadatak 12: 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 12 -Preuzeto od kolege Svetislava Milicevica:

    Rezultat testiranja programa:

    Zadatak 13: 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 13 -Preuzeto od kolege Svetislava Milicevica:

    Rezultat testiranja programa:

    Zadatak 14: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 14 -Preuzeto od kolege Svetislava Milicevica:

    Rezultat testiranja programa:

    Zadatak 15: 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 15:

    Rezultat testiranja programa:Nije postavljeno zbog autorskih prava.

    Zadatak 16: 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 pronađenih etiketa.

    Rešenje zadatka 16 -Preuzeto od kolege Svetislava Milicevica:

    Rezultat testiranja programa:

    Zadatak 17: 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 17 -Preuzeto od kolege Svetislava Milicevica:

    Rezultat testiranja programa:

    Zadatak 18: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 18:

    Rezultat testiranja programa:Nije postavljeno zbog autorskih prava.

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

    Rešenje zadatka 19 -Preuzeto od kolege Ivana Bajalovica :

    Rezultat testiranja programa:

    Zadatak 20: 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 20 -Preuzeto od kolege Ivana Bajalovica :

    Rezultat testiranja programa:

    Zadatak 21: 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 21 -Preuzeto od kolege Ivana Bajalovica :

    Rezultat testiranja programa:

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

    Rešenje zadatka 22 preuzeto od kologe Djenic Aleksandra :

    Rezultat testiranja programa: