1. Laboratorinio darbo L2 ataskaita.
C++ programavimo aplinka.
Pristatymo data: 1999.03.24
1.1 Užduotis (L2-5).
Knygoje naudojami techniniai terminai: terminas (žodis), psl., kuriame panaudotas pirmą kartą, psl., kuriame panaudotas paskutinį kartą. Terminų naudojimo intensyvumas: terminas, pasikartojimų skaičius. Sudaryti sąrašą terminų, kurie panaudojami vidutiniškai bent vieną kartą puslapyje. Sàraše:žodis, pasikartojimø skaičius. Kuris terminas panaudotas daugiausia kartų? Tvarkymo raktai:pasikartoijimų skaičius, žodis.
1.2 Užduoties analizė.
Analizuojant šią užduotį tikslinga pastebėti, kad informacija įvedama iš dviejų failų. Todėl iš vieno įvedus pradinius duomenis reikia suderinti juos su kitame faile esančia informacija. Be to, duomenų masyvo pirmas elementas turi būti sukurtas prieš jį paduodant į funkciją. Nors informacija nuskaitoma iš dviejų failų rezultatai formuojami viename. Rūšiavimas vyksat pagal du dalykus taigi sudaoma funkcja Raktas, kuri tikrina lyginimo sąlygą. Norint ką nors pakeisti rūšiuojant duomenis pakanka pakeisti funkciją Raktas. Programoje naudojamas meniu išnaudoja egavga.bgi grafikos privalumus. Formuojamas dinaminis duomenų sąrašas. Pabaigoje atmintis išlaisvinama.
1.3 Pradinių duomenų pavyzdys.
Failas “pirmas.dat” :
internetas 1 100
scriptas 68 1340
multimedija 70 85
linuxas 30 200
Failas “antras.dat” :
internetas 20
multimedija 100
klaustrofobija 200
kinas 13
scriptas 120
linuxas 300
1.4 Testinis rezultatų pavyzdys.
Laboratorinis darbas Nr.1
*********************************************************
Uzduotis L1-51 Programa sudare Nerijus Skruodys, grupe IF 8/4.
destytojas doc. V.Jusas.
Data : 1999.03.24
*********************************************************
Duomenys
*****************************************************************
* terminas * prad. * pab. * pasikartoja * vidurkis *
*****************************************************************
* internetas * 1 * 100 * 20 * 0.00 *
* scriptas * 68 * 1340 * 120 * 0.00 *
* multimedija * 70 * 85 * 100 * 6.00 *
* linuxas * 30 * 200 * 300 * 1.00 *
*****************************************************************
daugiausiai pasikartoja :
linuxas – – – 300
*****************************************************************
Rezultatai
*****************************************************************
* terminas * prad. * pab. * pasikartoja * vidurkis *
*****************************************************************
* multimedija * 70 * 85 * 100 * 6.00 *
* linuxas * 30 * 200 * 300 * 1.00 *
*****************************************************************
daugiausiai pasikartoja :
linuxas – – – 300
*****************************************************************
Šie rezultatai pateikiami tekstiniame faile “rezultatat.rez”.
1.5 Duomenų tipai ir kintamieji.
const max=5, //maksimalus meniu daliu skaicius
xp=0, //pradine lango x koordinate
xg=150, //galine lango x koordinate
h=20, //lango atstumas nuo ekrano virsaus
pl=25, //lango plotis
tarp=5; //tarpai tarp langu
typedef char *eil; //eilute
typedef eil mas[max]; //eiluciu masyvas
typedef struct rod {
char pav[20]; //termino pavadinimas
int prad,pab; //pradinis ir galinis puslapiai
int kartai; //bendras pasikartojimu skaicius
float vid; //pasikartojimu skaicius puslapyje
rod *next; //kitas saraso elementas
} duom;
const mas menu={„apie programa“,“formuoti duomenis“,“tvarkyti duomenis“,
„isvesti lenteles“,“pabaiga“ }; //meniu daliu
Pagrindinės programos kintamieji
int GD=9,GM=2,errorcode, //grafiniam rezimui ijungti vatojami kintamieji
kas=1, d=0; //pasirinkta meniu dalis ir padeties vektorius
char sb; //is klaviaturos skaitomas simbolis
duom *term; //terminu dinaminis masyvas
FILE *F; //rezultatu failas
1.6 Programos aprašymas.
Programa skirta atlikti veiksmams su duomenų masyvu. Ji naudoja aštuonias paprogrames: pradzia, pasirinkti, pranesimas, formduom, tvarkyti, rezpr, spausdinti, isvalyti.
Programos modulinė schema :
Paprogramių aprašai :
• void pradzia (void);
funkcija piešia pradinį meniu.
• int pasirinkti(int);
funkcija organizuoja meniu dalies pasirinkimą. Funkcija gražina pasirinktos menu dalies numerį ir į ją paduodame menu dalies ant kurios stovi žymeklis numerį.
• void pranesimas (int);