Tehnici de Programare

Proiect
7/10 (1 vot)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 10 în total
Cuvinte : 1340
Mărime: 416.93KB (arhivat)
Puncte necesare: 6
Profesor îndrumător / Prezentat Profesorului: Cornelia NOVAC
UNIVERSITATEA DUN~REA DE JOS  GALA|I TEMa PROIECT Problema descompunerii unui numar natural ca sum` de termeni de numere naturale Orice numar natural se poate scrie ca sum` de termeni de numare naturale nenule. Exemplu: 4 = 3 + 1 2 + 2 2 + 1 + 1 1 + 1 + 1 + 1 Dac` not`m cu n num`rul pe care dorim s`-l scriem ca sum` de termeni de numere naturale nenule ]i cu Tn num`rul de modalit`i [n care se poate scrie n, atunci pentru n = 4 , Tn = 4 . Realizai un program care s` calculeze ]i s` afi]eje pentru un num`r n dat, valoarea lui Tn . Intervalul de variaie a num`rului natural este (2,50).

Extras din proiect

LIMBAJUL DE PROGRAMARE JAVA

Java este un limbaj de programare de nivel înalt, dezvoltat de JavaSoft, companie în cadrul firmei Sun Microsystems.

Dintre caracteristicile principale ale limbajului amintim:

- simplitate, elimina supraîncarcarea operatorilor, mostenirea multipla si toate "facilitatile" ce pot provoca scrierea unui cod confuz.

- robustete, elimina sursele frecvente de erori ce apar în programare prin eliminarea pointerilor, administrarea automata a memoriei si eliminarea fisurilor de memorie printr-o procedura de colectare a 'gunoiului' care ruleaza în fundal. Un program Java care a trecut de compilare are proprietatea ca la executia sa nu "crapa sistemul".

- complet orientat pe obiecte - elimina complet stilul de programare procedural .

- usurinta în ceea ce priveste programarea în retea

- securitate, este cel mai sigur limbaj de programare disponibil în acest moment, asigurând mecanisme stricte de securitate a programelor concretizate prin: verificarea dinamica a codului pentru detectarea secventelor periculoase, impunerea unor reguli stricte pentru rularea programelor lansate pe calculatoare aflate la distanta, etc

- este neutru din punct de vedere arhitectural

- portabilitate, cu alte cuvinte Java este un limbaj independent de platforma de lucru, aceeasi aplicatie rulând, fara nici o modificare, pe sisteme diferite cum ar fi Windows, UNIX sau Macintosh, lucru care aduce economii substantiale firmelor care dezvolta aplicatii pentru Internet.

- compilat si interpretat

- asigura o performanta ridicata a codului de octeti

- permite programarea cu fire de executie (multitheaded)

- dinamicitate

- este modelat dupa C si C++, trecerea de la C, C++ la Java facându-se foarte usor.

- permite creearea unor documente Web îmbunatatite cu animatie si multimedia.

METODA APLICATA

Prezentarea algoritmului backtracking recursiv

Metoda backtracking se poate aplica unui mare numãr de probleme enumerative sau de optimizare cu solutie vectorialã pentru cã asigurã obtinerea tuturor solutiilor posibile pentru problema datã.

Totusi, ea se recomandã numai problemelor pentru care nu se cunoaste un

algoritm mai eficient (polinomial) sau problemelor de dimensiuni mici, la care timpul de rezolvare este încã acceptabil.

Un algoritm backtracking este un algoritm de cãutare sistematicã si exhaustivã a tuturor solutiilor, dintre care se pot alege apoi solutiile acceptate.

Cãutarea exhaustivã în arborele de solutii este un proces de încercare si revenire (de cãutare cu revenire).

Metoda de cãutare cu revenire construieste progresiv un vector solutie, începând cu valori[0] si continuând cu valori[1], valori[2],... pânã la valori[n-1], astfel încât componentele valori[i] sunt numere naturale dintr-o multime finitã valori[i]={1,2,...,n-1} si suma componentelor vectorului solutie este egala cu n ,cu conditia de unicitate impusa (valori[i] >= valori[i-1]).

Pentru fiecare componentã a vectorului solutie se încearcã toate valorile posibile valori[i]={1,2...n-1} Functia 'bkt' se apeleazã în programul principal cu parametrul k=0, ceea ce corespunde faptului cã procesul de aflare a unei solutii începe cu cãutarea unei solutii pentru componenta valori[0].

Procedura recursivã este scrisã astfel încât sã înceapã prin a verifica dacã s-a obtinut o solutie completã. In acest caz functia bkt este apelatã si pentru valori ale lui k = n-1, dar se iese imediat dupã prima instructiune if.

Functia, bkt, poate fi exprimatã recursiv (mai compact), astfel :

private void bkt (int k) {

if (k = = n - 1 && sumaCurenta = = n)

afisareSolutie(k);

for (int alfa = n; alfa >= 0; alfa--)

if (posibil(alfa, k)) {

solutieB[k] = alfa;

sumaCurenta += alfa*valori[k]; //instructiunea include

bkt (k+1);

sumaCurenta -= alfa*valori[k]; // instructiunea exclude

}

}

Preview document

Tehnici de Programare - Pagina 1
Tehnici de Programare - Pagina 2
Tehnici de Programare - Pagina 3
Tehnici de Programare - Pagina 4
Tehnici de Programare - Pagina 5
Tehnici de Programare - Pagina 6
Tehnici de Programare - Pagina 7
Tehnici de Programare - Pagina 8
Tehnici de Programare - Pagina 9
Tehnici de Programare - Pagina 10

Conținut arhivă zip

  • Tehnici de Programare.doc

Alții au mai descărcat și

Arhitectura calculatoarelor - Intel vs AMD

Rezultatele din testul 3DS Max 7 SPECapc Test Testul alaturat consta in crearea modelelor 3D, modificarea si randarea scripturilor. Conform...

Autentificarea prin semnătură digitală

Introducere O semnatura digitala reprezinta o informatie care il identifica pe expeditorul unui document. Semnatura digitala este creata prin...

Placa de Bază

Caracteristici generale ale placii de baza Placa de baza este un dizpozitiv ‘de baza’ un ‘pamânt’ pe care ‘se planteaza’ celelalte componente ....

Sistem de Prognosticare a Unei Avarii

Acest sistem calculeaza gradul de avariere a unei cladiri în cazul unui cutremur, precum si posibila necesitate a reconstructiei cladirii (partiala...

Te-ar putea interesa și

Modelarea aplicațiilor financiar contabile

SISTEME INFORMAŢIONALE FINANCIAR-CONTABILE Modelarea aplicaţiilor financiar-contabile utilizând tehnici moderne de programare 1.1. Structura...

Metode de Programare cu Matrice Rare

Introducere Lucrarea cuprinde metode tradiţionale de calcul matriceal care sunt utilizate frecvent în practică, metode reanalizate şi revăzute...

Strategii de Negociere pentru Soluționarea Conflictelor în Organizația Militară

Introducere Evoluţiile actuale ale organizării organizaţiilor în conexiune cu problematica funcţionalităţii lor au scos în evidenţă necesitatea...

Tehnici de Programare

PREZENTARE GENERALE In proiectul urmator am creat o baza de date cu referire la un hotel (ANGELA). Baza de date este impartita in doua fisiere:...

Algoritmi de Calcul

Capitolul I Sistem Informaţional – Sistem Informatic I.1. Sistemul Informaţional. Un sistem poate fi privit ca un ansamblu de elemente...

Algoritmi și Structuri de Date

Introducere: Semiotica se ocupã cu studiul semnelor în natura si în societate. Semnul nu este o calitate în sine a unui obiect, ci o functie pe...

Pachete Software SAS-IML

CAPITOLUL I: INTRODUCERE ÎN LIMBAJUL SAS/IML 1.1Scurtă descriere a limbajului SAS/IML Acronimul IML este abrevierea expresiei “limbajul...

Resursele Tehnice și Programate al unui Calculator

Figura 1.0 Conform schemei funcţionale a calculatorului prezentate în figura 1.0 se observă că un calculator conţine următoarele unităţi...

Ai nevoie de altceva?