Laboratoriniai darbai

Duomenų struktūros ir algoritmai - programos aprašymas ir išvados

9.8   (2 atsiliepimai)
Duomenų struktūros ir algoritmai - programos aprašymas ir išvados 1 puslapis
Duomenų struktūros ir algoritmai - programos aprašymas ir išvados 2 puslapis
Duomenų struktūros ir algoritmai - programos aprašymas ir išvados 3 puslapis
Duomenų struktūros ir algoritmai - programos aprašymas ir išvados 4 puslapis
Duomenų struktūros ir algoritmai - programos aprašymas ir išvados 5 puslapis
Duomenų struktūros ir algoritmai - programos aprašymas ir išvados 6 puslapis
Duomenų struktūros ir algoritmai - programos aprašymas ir išvados 7 puslapis
Duomenų struktūros ir algoritmai - programos aprašymas ir išvados 8 puslapis
Duomenų struktūros ir algoritmai - programos aprašymas ir išvados 9 puslapis
Duomenų struktūros ir algoritmai - programos aprašymas ir išvados 10 puslapis
Duomenų struktūros ir algoritmai - programos aprašymas ir išvados 11 puslapis
Duomenų struktūros ir algoritmai - programos aprašymas ir išvados 12 puslapis
Duomenų struktūros ir algoritmai - programos aprašymas ir išvados 13 puslapis
Duomenų struktūros ir algoritmai - programos aprašymas ir išvados 14 puslapis
Duomenų struktūros ir algoritmai - programos aprašymas ir išvados 15 puslapis
Duomenų struktūros ir algoritmai - programos aprašymas ir išvados 16 puslapis
Duomenų struktūros ir algoritmai - programos aprašymas ir išvados 17 puslapis
Duomenų struktūros ir algoritmai - programos aprašymas ir išvados 18 puslapis
Duomenų struktūros ir algoritmai - programos aprašymas ir išvados 19 puslapis
www.nemoku.lt
www.nemoku.lt
Aukščiau pateiktos peržiūros nuotraukos yra sumažintos kokybės. Norėdami matyti visą darbą, spustelkite peržiūrėti darbą.
Ištrauka

Užduotis : Nr. 31 Į vienos juostos 12 vietų aikštelę automobiliai gali įvažiuoti ir išvažiuoti per rytų ir vakarų pusės duris. Įvažiuojant nurodomas automobilio Nr. ir pusė, iš kurios įvažiuojama. Jeigu iš įvažiavimo pusės vietų nėra, tai bandoma įvažiuoti (automatiškai) iš kitos pusės. Įvažiuojant pasirenkama ta pusė, kurioje mažiau automobilių užstoja įvažiavimą. Praleidę išvažiuojantįjį automobiliai grįžta atgal ta pačia tvarka. Turi būti galimybės • įvažiuoti į aikštelę; • išvažiuoti iš aikštelės nurodant automobilio Nr.; • atlaisvinti aikštelę; • išvesti automobilių skaičių aikštelėje ir tuščių vietų skaičių iš vienos ir kitos pusių. Programos aprašymas: Duomenų struktūrų, konstantų, sukurtų klasių ir kintamųjų aprašymas: Struktūros aprašymas C kalba: Struktūros grafinė iliustracija: typedef struct mas{ char *nr[7], *puse[10]; struct mas *kitas; } MAS; Konstantų ir sukurtųjų kintamųjų aprašymas: Pavadinimas Paskirtis Duomenų tipas MAS Duomenų struktūros mas duomenų tipo aprašymas Duomenų struktūra Programoje naudojamų kintamųjų aprašymas: Kintamojo pavadinimas Kintamojo paskirtis Duomenų tipas Priklausomybė R, V Pradinės ir pagrindinės rodyklės į sąrašą MAS Pagrindinė programa (main()); R1, V1, PAG Pagalbinė rodyklė į sąrašą MAS Pagrindinė programa (main()); ryta, vakar Įsiminti puse pro kurią įvažiuoja mašina Int (sveikojo tipo kintamieji) Pagrindinė programa (main()); viso Įvažiuojančių mašinų suma Int (sveikojo tipo kintamasis) Pagrindinė programa (main()); lvisov, lvisor Skaičiuoja laisvų vietų sk. Int (sveikojo tipo kintamasis) Pagrindinė programa (main()); taip1, taip2 Skaičiuoja ieškomų mašinų sk. Int (sveikojo tipo kintamasis) Pagrindinė programa (main()); nr[7],puse[10] Kintamieji į kuriuos įrašomi mašinos duomenys. Char tipo kintamieji Pagrindinė programa (main()); n Fiksuoja paspausto mygtuko reikšmę. Char tipo kintamieji Pagrindinė programa (main()); *ryt="rytu" Kintamasis su nurodyta reikšme skirtas tam, kad vėliau palygintume reikiamus duomenis Char tipo kintamieji Pagrindinė programa (main()); ies[7] Įvedama reikšmė pagal kurią vykdoma paieška Char tipo kintamieji Pagrindinė programa (main()); Meniu struktūros aprašymas: Programoje naudojamo meniu fragmentas ir trumpi komentarai kam kiekvienas meniu punktas reikalingas: clrscr(); printf("\n\n 1. Atvaziavo masina i garaza, iveskite jos duomenis"); // spaudžiamas vienetas kad įvestume duomenis. printf("\n\n 2. Vietos garaze:"); // dvejetas jei norime sužinoti apie aikštelėje esamas tuščias ir užimtas vietas. printf("\n\n 3. Parodyti kokios masinos yra garaze:"); // surandama mašina pagal numerį, kuri išvažiuoja ir ji „išimama" iš garažo. printf("\n\n 4. Atlaisvinti garaza"); // atlaisvinamas visas garažas, tarkim darbo pabaigoje. printf("\n\n 5. Surasti masina pagal numeri ir ja pasalinti"); // salinama surasta masina. printf("\n\n Paspauskite meniu skaiciu, o noredami baigti spauskite esc:"); // isėjimas iš meniu paspaudus mygtuką ‘esc‘. Pagrindinių duomenų struktūros apdorojimo algoritmų aprašymas: Case ‘1’ esantį algoritmą skiriame į duomenų įvedimą(A) (1 pav.) ir tų duomenų struktūros apdorojimą(B) (2 pav. ir 3 pav.): A) Clrscr(); printf("\n Nurodykite ivaziavusios masinos nr: "); scanf("%s",&nr); printf("\n Nurodykite masinos ivaziavimo puse r/v): "); scanf("%s",&puse); getch(); printf("\n\n %s, %s",nr,puse); // patikrinama palyg=strcmp(ryt,puse); if(palyg==0){ ryta++; }else{ vakar++; } viso=ryta+vakar; lvisor=6-ryta; lvisov=6-vakar; B) if (viso>12){ // duomenu struktūros apdorojimas clrscr(); printf("Grarazas jau pilnas"); getch(); }else{ if (ryta>=vakar){ if (R==NULL){ R=malloc (sizeof (MAS)); R->kitas=NULL; strcpy(R->nr,nr); strcpy(R->puse,puse); }else{ R1=R; //pagalbiniam R1 priskiriamas R while (R1->kitas!=NULL) R1=R1->kitas; R1->kitas=malloc(sizeof(MAS)); R1=R1->kitas; R1->kitas=NULL; strcpy(R1->nr,nr); strcpy(R1->puse,puse); } }else{ if (V==NULL){ V=malloc (sizeof (MAS)); V->kitas=NULL; strcpy(V->nr,nr); strcpy(V->puse,puse); }else{ V1=V; //pagalbiniam R1 priskiriamas R while (V1->kitas!=NULL) V1=V1->kitas; V1->kitas=malloc(sizeof(MAS)); V1=V1->kitas; V1->kitas=NULL; strcpy(V1->nr,nr); strcpy(V1->puse,puse); } } } B dalies blokinė schema (2 pav.): B dalies algoritmo (duomenų struktūros apdorojimo) grafinė iliustracija (pagrindinė schema) (3 pav.) : Case‘3‘ esančio algoritmo veikimo principą atvaizduojanti schema bei pats algoritmas (atvaizduotas po blokine schema 4 pav.): 4 pav. atvaizduojantis algoritmas: if (R == NULL && V==NULL){ clrscr(); printf ("\n Garazas tuscias. \n"); getch(); }else { R1=R; while (R1 != NULL){ printf ("\n \n %s masina ivaziavo is %s puses \t", &R1 -> nr, &R1->puse); getch(); R1 = R1 -> kitas; } V1=V; while (V1 != NULL) { printf ("\n %s masina ivaziavo is %s puses \t", &V1 -> nr, &V1->puse); getch(); V1 = V1 -> kitas; } } Case‘4‘ esančio algoritmo veikimo principą atvaizduojanti schema bei pats algoritmas (atvaizduotas po blokine schema 5 pav.): 5 pav. atvaizduojantis algoritmas: if (R==NULL && V==NULL) { clrscr(); printf("Garazas tuscias nera ka laisvinti"); getch(); }else { while(R!= NULL){ R1=R; R = R->kitas; free (R1); } while(V!=NULL) { V1=V; V = V->kitas; free (V1); } } ryta=0; vakar=0; clrscr(); printf("Garazas tuscias"); getch(); Case‘5‘ esančio algoritmo veikimo principą atvaizduojanti schema bei pats algoritmas (atvaizduotas po blokine schema 6 pav.): 6 pav. atvaizduojantis algoritmas: taip1=0; taip2=0; clrscr(); printf("\n Iveskite masina kurios ieskote: "); getch(); scanf("%s",&ies); if (R == NULL && V==NULL){ clrscr(); printf ("\n Garaze visai nera jokiu masinu. \n"); getch(); }else { R1=R; PAG = NULL; while (R1 != NULL){ if (strcmp(ies,R1->nr)==0) { taip1++; if (PAG==NULL) { PAG = R1; R1 = R1->kitas; R = R1; free(PAG); PAG = NULL; }else{ PAG->kitas = R1->kitas; free(R1); R1 = PAG->kitas; } }else{ PAG = R1; R1 = R1 -> kitas; } } V1=V; PAG = NULL; while (V1 != NULL){ if (strcmp(ies,V1->nr)==0) { taip2++; if (PAG==NULL) { PAG = V1; V1 = V1->kitas; V = V1; free(PAG); PAG = NULL; }else{ PAG->kitas = V1->kitas; free(V1); V1 = PAG->kitas; } }else{ PAG = V1; V1 = V1 -> kitas; } } if (taip1>0 ||taip2>0){ printf("Tokia masina yra"); getch(); }else{ printf("Tokios masinos garaze nera"); getch(); } } Išvados Atliktame darbe, darbo struktūros suformavimas yra pagrįstas dviejų eilių sukūrimu. Programoje nėra naudojamos funkcijos ar procedūros. Norint gražiai suformuoti struktūrą ir, kad sukurta programa sklandžiai atliktų savo darbą, buvo vykdoma viskas paeiliui. Programa geba atlikti reikiamus uždavinius, kurių reikalauja užduotis. Literatūra 1.  Blonskis J. ir kt Programavimas C ++. Technologija, 2005. 2. Juozapavičius A. Duomenų struktūros ir algoritmai. – Vilnius: Vilniaus universiteto leidykla, 1997. 3. Programavimas. – Kaunas: Technologijos, 1999. Priedai: Čia pateikiamas programos pilnas algoritmas: #include

Daugiau informacijos...

Šį darbą sudaro 1437 žodžiai, tikrai rasi tai, ko ieškai!

Turinys
  • Užduotis 3
  • Programos aprašymas 3
  • Išvados 15
  • Literatūra 15
  • Priedai 16

★ Klientai rekomenduoja


Šį rašto darbą rekomenduoja mūsų klientai. Ką tai reiškia?

Mūsų svetainėje pateikiama dešimtys tūkstančių skirtingų rašto darbų, kuriuos įkėlė daugybė moksleivių ir studentų su skirtingais gabumais. Būtent šis rašto darbas yra patikrintas specialistų ir rekomenduojamas kitų klientų, kurie po atsisiuntimo įvertino šį mokslo darbą teigiamai. Todėl galite būti tikri, kad šis pasirinkimas geriausias!

Detali informacija
Darbo tipas
Lygis
Universitetinis
Failo tipas
Word failas (.doc)
Apimtis
20 psl., (1437 ž.)
Darbo duomenys
  • Programavimo laboratorinis darbas
  • 20 psl., (1437 ž.)
  • Word failas 2 MB
  • Lygis: Universitetinis
www.nemoku.lt Atsisiųsti šį laboratorinį darbą
Privalumai
Pakeitimo garantija Darbo pakeitimo garantija

Atsisiuntei rašto darbą ir neradai jame reikalingos informacijos? Pakeisime jį kitu nemokamai.

Sutaupyk 25% pirkdamas daugiau Gauk 25% nuolaidą

Pirkdamas daugiau nei vieną darbą, nuo sekančių darbų gausi 25% nuolaidą.

Greitas aptarnavimas Greitas aptarnavimas

Išsirink norimus rašto darbus ir gauk juos akimirksniu po sėkmingo apmokėjimo!

Atsiliepimai
www.nemoku.lt
Dainius Studentas
Naudojuosi nuo pirmo kurso ir visad randu tai, ko reikia. O ypač smagu, kad įdėjęs darbą gaunu bet kurį nemokamai. Geras puslapis.
www.nemoku.lt
Aurimas Studentas
Puiki svetainė, refleksija pilnai pateisino visus lūkesčius.
www.nemoku.lt
Greta Moksleivė
Pirkau rašto darbą, viskas gerai.
www.nemoku.lt
Skaistė Studentė
Užmačiau šią svetainę kursiokės kompiuteryje. :D Ką galiu pasakyti, iš kitur ir nebesisiunčiu, kai čia yra viskas ko reikia.
Palaukite! Šį darbą galite atsisiųsti visiškai NEMOKAMAI! Įkelkite bet kokį savo turimą mokslo darbą ir už kiekvieną įkeltą darbą būsite apdovanoti - gausite dovanų kodus, skirtus nemokamai parsisiųsti jums reikalingus rašto darbus.
Vilkti dokumentus čia:

.doc, .docx, .pdf, .ppt, .pptx, .odt