Cuprins
- 1.Sarcina lucrării 3
- 2.Analiza problemei 3
- 2.1 Abordarea şi descrierea obiectivelor 3
- 2.2 Introducere în limbajul C 4
- 2.3 Descrierea metodelor, tehnicilor şi principiilor utilizate 5
- 2.3.1 Lucrul cu fişiere 5
- 2.3.2 Liste 12
- 2.3.3 Tehnici de sortare 15
- 3. Schemele bloc a principalelor funcţii 16
- 4. Listingul programului 19
- 5. Rezultatele programului 25
- 6. Concluzie 27
- 7. Bibliografie 27
Extras din proiect
1.Sarcina lucrării
APLICAŢIA PRELUCRĂRII ARANJĂRII A N CUBURI
Scrieţi un program pentru aranjarea a n cuburi etichetate de la 1 la n, de laturi Li şi culori Ci, i=1 n în turnuri de k cuburi astfel ca să nu să se aşeze un cub mare peste unul mai mic şi culorile alaturate să fie diferite.
Fişierul de intrare: DATE.TXT
- pe prima linie numerele naturale n şi k;
- pe linia a doua – valorile Li separate prin spaţiu;
- pe linia a treia – valorile Ci separate prin spaţiu.
Fişierul cu rezultate: TURNURI.TXT
Cite o soluţie pe fiecare rînd a fişierului.
Rezultatele să se reprezinte atît in mod textual cît şi grafic.
2.Analiza problemei
Problema propusă spre rezolvare am cuvenit de a fi rezolvată prin intermediul algoritmului de sortare prin inserţie a listei, tehnicilor cunoscute de citire din fişiere si introducere in lista, introducerea datelor în fişiere, alocarea memoriei pentru datele programului. În continuare vom explica detailiat principiile şi tehnicile utilizate.
2.1 Abordarea şi descrierea obiectivelor
Să admitem că dispunem de 6 cuburi etichetate şi avem ca scop să le aranjăm în turnuri a cîte 2 cuburi respectînd cerinţele propuse mai sus ca in fig.1.
Fig.1 Cuburile etichetate
Pentru a obţine un rezultat mai rapid şi mai sigur ordonăm cuburile crescător ca in fig.2.
Fig.2 Ordonarea cuburilor
Împărţim şirul ordonat de cuburi în subşiruri a cîte 2 cuburi ca în fig.3.
Fig.3 Partajarea şirului în subşîruri.
Alcătuim turnurile de cuburi luînd în consideraţie faptul că nu se va admite un cub mai mare deasupra unui cub mai mic iar culorile cuburilor alăturate nu vor fi aceleaşi.
Fig.4 Rezultate
Rezultatele vor fi: Turnul 1: 4 1
Turnul 2: 3 6
2.2 Introducere în limbajul C
Limbajul C a fost creat la începutul anilor '70 de către Brian W Kernigham şi Dennis M Ritchie de la Bell Laboratories New Jersey, fiind iniţial destinat scrierii unei părţi din sistemul de operare Unix. Lucrarea „The C Programming Language” a celor doi autori, apărută în mai multe versiuni, a rămas cartea de referinţă în domeniu, impunînd un standard minimal pentru orice implementare.
Caracteristicile distinctive ale limbajului au fost clar definite de la început, ele păstrîndu-se în toate dezvoltările ulterioare:
– portabilitate maximă;
– structurare;
– posibilitatea efectuării operaţiilor la nivelul maşinii cu păstrarea caracteristicilor unui limbaj evoluat.
Acest manual este structurat pe 12 capitole astfel încît elementele limbajului C să fie prezentate într-o manieră unitară. Primul capitol face o scurtă introducere şi prezintă patru programe C. Următoarele nouă capitole descriu elementele limbajului C. Capitolele unsprezece şi doisprezece trec în revistă funcţiile cele mai des utilizate definite în biblioteca standard, împreună cu cîteva programe demonstrative. Au fost selectate doar funcţiile definite de mai multe standarde (în primul rînd ANSI C), pentru a garanta o portabilitate cît mai mare.
Acest manual a fost conceput pentru a servi ca document care să poată fi consultat de programatori în elaborarea proiectelor, şi nu pentru a fi memorat. Manualul nu este o introducere în limbajul C; se presupune că cititorul este familiarizat cu:
– concepte de bază referitoare la programare: variabile, instrucţiuni de atribuire, de control al execuţiei, apeluri de funcţii;
– reprezentarea informaţiei în calculator a valorilor întregi, în virgulă mobilă, a codurilor ASCII;
– operaţii de intrare / ieşire.
Deoarece avem convingerea că cea mai bună explicaţie este un program funcţional, majoritatea exemplelor din acest manual se regăsesc în fişiere sursă C care pot fi rulate pe orice mediu de programare C şi sub orice sistem de operare.
Ca o ultimă observaţie amintim recomandarea făcută de înşişi creatorii limbajului: cea mai bună metodă de învăţare este practica.
2.3 Descrierea metodelor, tehnicilor şi principiilor utilizate
2.3.1 Lucrul cu fişiere
Deschiderea fişierelor.
Deschiderea unui fişier se realizează cu ajutorul funcţiei fopen() care are
următoarea sintaxă:
pointer=fopen(“nume_f”, ”mod”);
unde pointer este numele indicatorului la fişier, nume_f este numele fişierului real de pe discul rigid, mod este modul de acces la fişier.
Preview document
Conținut arhivă zip
- Aplicatia Prelucrarii Aranjarii a N Cuburi
- date.txt
- LSA.C
- LSA.EXE
- Teza.doc
- TURNURI.TXT