INFO2214 3-as praktinis darbas

Kursas "Informatika" 2008/09 m.m. pavasario (2) sem.

Variantas: 327
Atliko: Laurynas Stašys
Pradėtas: 2009.05.03
Baigtas: 2009.05.027

Uždavinio formulavimas

MED sintaksės apibrėžimo failo įvedimas. Funkcijų rinkinio perrašymas objektiškai

Uždavinio atlikimas

Užduotis buvo perrašyti antrąją programą objektiškai, ka aš ir padariau.Kadangi reikėjo pačiam sugalvoti funkcijų rinkinį, tai aš sumaniau, jog gana įdomu turėtų būti padirbėti su raktiniais žodžiais, taigi aš parašiau funkijų rinkinį, skirtą darbui su jais. Be to truputi pakoregavau pirmąją procedūrą, kuri dabar nuskaito iš sintaksės failo visus raktinius žodžius. Uždavinio atlikimui naudojau paprastą masyvą, kadangi, pasak pratybų dėstytojo, raktinių žodžių neturėtų būti labai daug, tai rašydamas programą padariau prielaidą, kad raktinių žodžių grupių bus ne daugiau kaip 10, o jose žodžių bus ne daugiau kaip po 1000. Kadangi tik pirmai procedūrai, mano nuomone, reikalingas išsamesnis paaiškinimas, tai tik joje rašiau komentarus, kadangi kitos funkcijos ir procedūros yra lengvai suprantamos.

Atlikto darbo palyginimas su ankstesniu šio darbo atlikimu

Kadangi praeitame darbe buvo naudojamos visiškai kitoks funkcijų rinkinys ir visiškai kitokios duomenų struktūros, tai šį darbą yra gan sunku palyginti su ankstesniuoju. Mano manymu, šis funkcijų rinkinys yra paprastesnis už ankstesnį.

Funkcijos

openfile(var j:integer;name:string);
Procedūra iš sintaksės failo nuskaito sintaksės failą ir iš jame suranda visus raktinius žodžius bei juos patalpina į dvimatį masyvą. Be to, proedūra naudoja kintamąjį name:String, kuris yra MED apibrėžimo failo pavadinimas, ir kintamąjį j:integer, kuris naudojamas kitose procedūrose ir funkcijose.
word_group;
Funkcija apskaičiuoja, kiek yra raktinių žodžių grupių
keyword;
Procedūra išveda pasirinktos grupės pasirinktą elementą
count(j:integer);
Procedūra į ekraną išveda, kiek kiekvienoje grupėje yra elementų. Procedūra naudoja kintamąjį j:integer, kuris nusako, kiek yra raktinių žodžių grupių

Darbo rezultatai

prodcedureset.pas
Free Pascal'io Unit'as, atitinkantis uždavinio sąlygą.
test.pas
Testinė programa, kuri skirta parodyti, jog funkcijos ir procedūros veikia.
Step1.mak
Make failas, programos paruošimui.
Step1.bat
Komandinis failas, programos vykdymui MS-DOS aplinkoje.
Step1.sh
Komandinis failas, programos vykdymui UNIX aplinkoje.