Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  

CATEGORII DOCUMENTE





AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Algoritmi de calcul

algoritmi

+ Font mai mare | - Font mai mic







DOCUMENTE SIMILARE

Trimite pe Messenger
Grafuri - Parcurgerea DF a grafurilor neorientate
ALGORITMUL HOOKE-JEEVES
Grafe de precedenta - Algoritmul ordonarii
Generarea grafica a curbei lui Koch
OPTIMIZAREA DECIZIILOR PRIN METODE MATEMATICE
Structuri de date dinamice - Liste inlantuite - tipologii
Sistem informational – Sistem informatic
Coada - Utilitatea unei cozi - Inserarea unui element in coada
Arbori de decizie - Inteligenta artificiala
Arbori - Proprietati ale arborilor

                Universitatea  Romano-Americana

                  Facultatea Informatica Manageriala



      

   Algoritmi de calcul

               

-Introducere-

Un mare om afirma: “ Semnul nu este o calitate in sine a unui obiect, ci o functie pe care acest obiect o poate dobandi.”

Functia de semn a unui obiect este capacitatea sa de a reprezenta ceva intr-un anumit context natural sau social. Semnul este perceptibil, el admite un referend si un interpretant sau sens care este imaginea mentala sau semnul echivalent pe care primul semn il creeaza  in mintea interpretului sau.

Care credeti ca este motivul pentru care dialogul om-claculator nu se desfasoara in limbaj natural ?

Nu ne indoim ca stiti raspunsul la intrebare. Dar sa vedem daca argumentarea noastra in gluma coincide cu a dumneavoastra, pornind de la un mic episod:

            Profesorul de informatica intra in clasa si constata ca tabla este plina de figuri geometrice si formule (ora anterioara fusese cea de matematica), situatie in care roaga un elev sa stearga tabla, dupa care incepe ora.  

            Dupa cateva repetari ale acestui episod, profesorul le spune elevilor:

            Daca data viitoare gasesc tabla nestearsa, atunci sa stiti ca eu o sterg.

            Care credeti ca ar putea fi efectul acestei afirmatii? Pusi in situatia de a interpreta mesajul (precum calculatorul care interpreteaza un program), elevii ar trebui sa ajunga la o concluzie unica, ceea  ce nu este sigur ca se va intampla.Unii elevi pot gandi ca:

            Profesorul va sterge tabla si va trece la desfasurarea orei,

In timp ce altii pot crede ca:

            Profesorul se va supara si va pleca de la ora (o sterge, cum se spune).

Numai din citirea mesajului nu se poate sti exact ce a vrut sa spuna profesorul. Lipseste ceva. De aceea, pentru  a ne lamuri:

            Sa il intrebam pe profesor care este sensul lui eu o sterg

            Sau trebuie sa fi fost de fata cand a lansat afirmatia, pentru ca se poate sa fi facut un gest cu mana, in sensul ca va pleca de la ora.

Pentru ca tot a venit vorba de limbajul natural si de dialogul om-calculator, precizam ca inteaga evolutie a limbajelor de programare  dovedeste ca s-a urmarit o cat mai mare apropiere de  limbajul natural, find vorba, de fapt, de restrictii ale limbajului natural, care sa se alinieze conceptual si structural  la principiile programarii structurate.

Ca sa fim in ton cu structurile selective ale programarii structurate, va rugam sa acceptati ca :

                        If va vom fi pe plac

                                    Then ne vom bucura

                                    Else ne vom intrista

                        End

sperand ca cele patru cuvinte in limba engleza nu constituie o piedica in a intelege ceea ce am vrut sa spunem.

-Sistemul informational-

Un sistem poate fi privit ca un ansamblu de elemente interconectate si interconditionate prin relatii fizice, sociale si de alta natura, intre ele si cu mediul extern sistemului, care functioneaza in vederea realizarii unui scop sau a finalizarii unui obiect.

            Activitatea desfasurata intr-un sistem organizat, in vederea realizarii unui obiectiv poate fi definita ca fiind rezultatul actiunii conjugate, a trei subsisteme ce actioneaza intr-o stransa interdependenta si care la randul lor pot fi considerate sisteme:

            -Sistemul de conducere sau decizional(S.D.)

            -Sistemul condus, de executie sau operational(S.O.)

            -Sistemul informational

            Sistemul de conducere  are rolul de a dispune, indruma si coordona activitatea in vederea realizarii obiectivelor fixate, cu eficienta maxima.

            Sistemul condus are rolul de a executa practic deciziile luate si de a furniza date privind actiunile realizate sau in curs de executie, folosind pentru aceasta resursele materiale, financiare, stiintifice si umane existente, repartizate pe obiective dinainte stabilite.

            De la sistemul de conducere spre  sistemul de condus vor circula decizii.  Acest circuit de informatii si decizii reprezinta un proces permanent care se realizeaza prin existenta sistemului informational.

            Sistemul informational este un instrument indispensabil conducerii avand ca parti componente mijloacele si procedeele ce asigura legaturile intre elementele de executie si elementele decizionale pentru conducere si organizare.

Deci sistemul informational este un ansamblu de fluxuri si circuite informationale organizate intr-o conceptie unitara. Scopul final al sistemului informational (SI) este realizarea obiectivelor proprii organismului social-economic in concordanta cu obiectivele generale ale societatii si in conditii de maxima eficienta.

Ansamblul operatiilor  la care sunt supuse intrarile pentru a furniza iesirile se constituie in proceduri.

In cazul cand metodele, procedurile si mijloacele utilizate pentru colectarea, inregistrarea, prelucrarea, stocarea si/sau transmiterea datelor si a informatiilor sunt cu preponderenta automatizate,  sistemul informational devine un sistem informatic.

 

Conceptul de Sistem informatic

         

           Sistemul informatic reprezinta un ansamblu de elemente intercorelate functional in scopul automatizarii obtinerii informatiilor necesare conducerii in procesul de elaborare a deciziilor.

            Sistemul informatic este compus din:

a)      baza tehnica sau HARDWARE

b)      sistemul de programe sau SOFTWARE

c)      baza stiintifico-metodologica

d)     baza informationala

e)      resursele umane si cadrul organizatoric

Obiectivele Sistemului informatic

 Obiectivele sistemului informatic pot fi clasificate  dupa mai multe criterii,  astfel:

a)      in functie de sfera de cuprindere pot fi:

            -principale

            -secundare

b) din punct de vedere al domeniului de activitati:

                        -obiective ce afecteaza activitatile de baza:

                                    -cresterea gradului de incarcare a capacitatilor                                                 de productie existente si reducerea duratei                                                            ciclului de fabricatie

                                    -cresterea profitului si a rentabilitatii etc.       

                        -obiectivele ce afecteaza functionarea sistemului                                              informational:

                                    -reducerea costului informatiei

                                    -rationalizarea circuitelor informationale etc.

            c) din punct de vedere al posibilitatilor de cuantificare a                        efectelor acestora:

                        -obiectivele cuantificabile:

                                    -reducerea       cheltuielilor de transport

                                    -cresterea volumului productiei etc.   

                        -obiectivele necuantificabile, care influenteaza in                                            mod direct indicatorii cuantificabili.

            Clasificarea Sistemelor informatice

         

          Sistemele informatice se clasifica dupa mai multe criterii:

a)      in functie de domeniul de utilizare:

            -sisteme informatice pentru conducerea                  activitatilor economico-sociale

            -sisteme informatice pentru conducerea                               sistemelor tehnologice

            -sisteme informatice pentru activitatea de                             cercetare stiintifica si proiectare

            -sisteme informatice speciale

b) Un alt criteriu de clasificare este nivelul ierarhic                        

     ocupat de sistemul economic in structura organizatorica    

     a societatii.

c) In functie de modul de organizare a datelor

Proiectarea la nivel micro si macroeconomic a unor sisteme informatice care sa utilizeze tehnica bazelor de date si care sa contina o serie de modele matematice, iar situatiile de informare-raportare sa aiba un caracter de semnalare  preventiva a abaterilor fata de starea normala, reprezinta o forma superioara de organizare si prelucrare a datelor. 

-Structuri de date-

            Prelucrarea automata a datelor necesita, pe langa activitatile legate de formularea problemei, de analiza acesteia in vederea gasirii algoritmului de rezolvare si o alta activitate deosebit de importanta, legata de organizarea datelor, in concordanta atat cu caracteristicile tehnice ale echipamentelor de calcul cat si cu cerintele e prelucrare.



            Organizarea datelor este un proces care cuprinde urmatoarele activitati:

            -identificarea datelor

            -clasificarea si descrierea proprietatilor, a caracteristicilor       

              datelor

            -gruparea datelor in colectii de date destinate prelucrarii                     automate

            -reprezentarea externa pe suporturi tehnice

            -identificarea, definirea si descrierea procedurilor de prelucrare          automata

          Notiunea de data

            In informatica prin data se intelege un model de reprezentare a informatiilor despre obiecte supuse prelucrarii automate, accesibil atat utilizatorului cat si componentelor calculatorului.

            In functie de obiectele pe care le reprezinta, datele se pot clasifica in:

·         datele elementare sau scalare, care se prezinta sub forma unor entitati indivizibile

·         colectii de date, care se reprezinta sub forma unor multimi de date elementare, in care se definesc si se descriu sau nu anumite relatii.

            Datele elementare pot fi tratate sub doua aspecte:

·         nivelul fizic – corespunde modului de organizare si reprezentare intern a datelor.

·         Nivelul logic – corespunde modului de organizare si prelucrare a datelor de catre utilizator

           

            Se numeste  structura de date o colectie de date pentru care s-a definit un mecanism de selectare si identificare a componentelor.

Observatie: Daca o structura se poate descompune in structuri de acelasi tip, atunci structura aceea este recursiva.

            Asemenea datelor elementare, structurile de date pot fi create pentru reprezentarea lor in memoria interna sau pentru reprezentarea pe un suport extern de date. In mod corespunzator, structurile de date vor putea fi:

·         Structuri de date interne,  cu caracter temporar, deoarece sunt realizate  in memoria interna de tip RAM

·         Structuri de date externe, care nu au un caracter relativ permanent,  deoarece sunt memorate pe suporti externi. Aceste structuri pot cuprinde:

                  -fisiere de date

                  -baze de date

                  -banci de date

             Din punct de vedere al modului de alocare a zonelor de memorie, structurile de date mai pot fi grupate astfel:

·         Structuri de date statice,  la care alocarea zonelor de memorie necesara pastrarii temporare a datelor  este facuta in momentul compilarii programului si ramane aceeasi pe toata durata de executie a programului respectiv

·         Structuri de date dinamice, la care alocarea zonelor de memorie necesare pastrarii temporare a datelor se face numai in momentul executiei programului.

            Dupa nivelul de structurare a datelor, se poate face gruparea:

·         Structura logica, cea care se refera la modul de ordonare al datelor, la operatorii de prelucrare a datelor

·         Structura fizica, reprezentand modul de implementare, de reprezentare a datelor pe suportii magnetici de date.

          Tipuri de  structuri de date

            O structura de date reprezinta practic o colectie de date intre care s-au definit o serie de relatii care duc la un  anumit  mecanism de selectie si identificare a datelor.

           

Aceste relatii pot fi:

·         De echivalenta

·         De ordine

·         De ordine totala

·         De preordine

            Se numeste tip de structura de date o multime ordonata de date, intre care s-au stabilit anumite relatii si care folosesc, pentru realizarea operatiilor, un grup de operatori de baza cu o anumita semantica.

            Principalele tipuri de structuri de date(logice) sunt:

·         Structura punctuala,  reprezentata de o entitate grup izolata

·         Structura liniara, definita atunci cand intre elementele unei colectii de date exista o relatie de ordine totala

           


                            

        a1                                   a2                                 a3                                            a4                   

                       

                                    fig. 1    structura liniara simpla

·         Structura arborescenta, sau descendenta sau ierarhica este definita atunci cand intre elementele colectiei de date exista o relatie de ordine.

Observatie: Intr-o structura arborescenta, elementele de grad 0 sunt denumite si elemente terminale ale structurii respective. Un arbore ordonat de gradul doi se numeste arbore binar. Un arbore care are ordinul mai mare decat doi se numeste arbore de multicai. Drumul de lungime maxima se numeste inaltimea arborelui.

·         Structura retea,  definita atunci cand  intre elementele colectiei de date exista o relatie de preordine.

·          Structura relationala,  este formata din mai multe tabele de date elementare, numite tablouri sau relatii, obtinute prin metoda normalizarii, pentru a asigura conditiile de integritate si unicitate a datelor si a elimina astfel anomaliile la actualizari.

             Observatie: Datele prelucrate in cadrul unui sistem informatic sunt practic liste la care, in afara relatiei de ordonare, exista si relatia intre elementele lor.

           

          Fisierul se defineste ca o multime de date omogene din punct de vedere al semnificatiei lor si a cerintelor de prelucrare.

            Baza de date se defineste ca o colectie de date aflate in interdependenta, memorata pe suport  impreuna cu descrierea datelor si a relatiilor dintre ele.

            Banca de date reprezinta un sistem de organizare si prelucrare, respectiv teleprelucrare a datelor.

                                                                -Grafuri-

            Se numeste graf neorientat o pereche ordonata G=(X,U), unde X este o multime finita si nevida de elemente numite noduri (varfuri), iar U este o multime de perechi (neordonate) de elemente distincte ale lu X, numite muchii.

            Un  subgraf al lui G este un graf H=(Y,V) unde Y X, iar V este format din toate muchiile lui U care unesc varfuri din Y.

            Un  graf partial al lui G este un graf (X,V)  cu VU.

             Se  numeste lant intr-un graf G=(X,U)  o succesiune de muchii de forma [i1,i2], [i2,i3],…,[in-1,in] notata prescurtat prin [i1,i2,…,in].

            Un lant [i1,i2,…,in] unde  i1,i2,…,in  sunt distincte se numeste lant elementar.

            Se numeste ciclu elementar  un lant  [i1,i2,…,in,i1] cu  [i1,i2,…,in] lant elemetar si n≥3.

            Un lant in care muchiile sunt diferite doua cate doua se numeste ciclu.

            Un varf care este extremitatea unei singure muchii se numeste varf terminal.

            Doua varfuri unite printr-o muchie se numesc varfuri adiacente.




            Un graf neorientat se numeste conex daca oricare doua varfuri diferite ale sale sunt unite prin cel putin un lant.

            Un graf orientat este o pereche orientata G=(X,U), deosebirea fata de graful neorientat canstand in faptul ca elementele lui U sunt perechi ordonate de varfuri numite arce.  In cazul grafurilor orientate, notiunile de lant si ciclu isi au corespondent in notiunile de drum si circuit.

           

            Arbori

            Se numeste arbore  un graf conex si fara cicluri.

            Intr-un arbore cu n≥2 varfuri, exista cel putin doua varfuri terminale.

            Un arbore cu proprietatea ca fiecare nod, cu exceptia frunzelor, are cel mult doi succesori se numeste arbore binar.

             Un arbore cu proprietatea ca fiecare nod, cu exceptia frunzelor, are exact doi succesori se numeste arbore binar complet.

            Prin parcurgerea unui arbore binar, se intelege vizitarea tuturor nodurilor, pe rand, intr-o anumita ordine.

            Exista trei tipuri de parcurgere a uni arbore binar:

1.       In preordine, se viziteaza mai intai radacina, apoi subarborele stang al radacinii, si in final subarborele drept al radacinii.

2.       In inordine, se viziteaza mai intai subarborele stang al radacinii, apoi radacina, si in final subarborele drept al radacinii.

3.       In postordine, se viziteaza mai intai  subarborele stang al radacinii, apoi subarborele drept, si in final radacina.

-Algoritmi. Definire si descriere-

            Prin algoritm se intelege o metoda de rezolvare a unei categorii de probleme,  care consta intr-o multime finita si bine ordonata de operatii, caracterizata prin faptul ca este generala, finita si realizabila.

            Etapele rezolvarii unei probleme:

·         Formularea problemei

·         Elaborarea, identificarea si descrierea algoritmului de rezolvare

·         Scrierea programului

·         Testarea programului

·         Realizarea, completarea si definitivarea documentatiei programului

Exploatarea curenta, utilizarea si intretinerea programului

Proprietatile algoritmilor

  • Generalitatea
  • Finitudinea
  • Determinismul
  • Unicitatea
  • Claritatea, precizia

Observatie: Un procedeu de calcul care are toate caracteristicile algoritmilor, dar nu se termina intr-un numar finit de pasi se numeste metoda de calcul.

Structura unui algoritm

           

            Din punct de vedere structural un algoritm cuprinde urmatoarele etape:

·         Initializarea algoritmului

·         Prelucrarea algoritului

·         Prezentarea solutiei finale

                                -Scheme logice-

Schema logica este o forma de prezentare a algoritmului si a modului de lucru al acestuia  sub forma grafica, folosind diferite simboluri grafice:

Blocul de inceput                               Blocul de sfarsit

                                                           

                                                                                                                                   

Blocul de intrare (citire)                                Blocul de iesire(scriere)

Blocul de prelucrare(de calcul sau atribuire)

Blocul de decizie, de ramificatie sau de selectie

            Observatie: Pentru a da o reprezentare intuitiva algoritmului si pentru a indica precis ordinea de executare a operatiilor de prelucrare, blocurile sunt unite prin sageti. Atunci cand sensul de parcurgere este evident, sagetile pot fi inlocuite prin linii simple.

            De aceea, s-a adoptat prin conventie, ca blocurile sa fie scrise pe verticala, unele sub altele, sensul de parcurgere normal fiind de sus in jos, in ordinea in care sunt scrise.

            Intr-o schema logica liniile de legatura nu trebuie sa fie lungi            sau sa se intersecteze.

Bloc de conexiune pe aceeasi pagina(conector)

Conector de pagina sau bloc de conexiune pe o alta pagina

                       

            Observatie: Pentru descrierea algoritmilor  se pot utiliza si alte simboluri, cu conditia ca ele sa fie explicate, sa fie clar sensul si intelesul lor.

            Observatie: In schema logica ordinea blocurilor nu este indiferenta, ci este determinata de algoritmul de rezolvare al problemei formulate. De aceea dupa cum algoritmul este descris mai detaliat sau mai putin detaliat, tot astfel, schema logica va fi mai rafinata sau mai putin detaliata.  

                    -Limbaje de programare-

            Limbajul de programare  este un ansamblu de simboluri, cuvinte, instructiuni si semnificatii atribuite acestora, utilizat pentru descrierea algoritmilor.

            Un program reprezinta o alta modalitate de descriere a unui algoritm de rezolvare a unei probleme date.

            Dintre limbajele de programare utilizate mentionam:

-          Basic

-          Algol

-          Fortran

-          Cobol

-          Pascal

-          C

-          Pl/1, etc

          Cuvinte cheie si rezervate

         

Cuvintele cheie sunt toate cuvintele care fac parte din sintaxa limbajului pascal, precum si numele tuturor functiilor recunoscute de compilatorul pascal.

            Cuvintele rezervate sunt cele care fac parte strict din sintaxa limbajului.

            Observatie:  Este interzis sa dam nume diverselor obiecte care sa coincida cu cuvintele rezervate.



            In partea declarativa, orice declaratie careia nu i se asociaza obiecte legate de programul in cauza se poate omite.

            Observatie:  Atat functiile cat si procedurile au o structura asemanatoare cu cea a programului, in sensul ca in interiorul oricarei functii sau proceduri se pot face declaratii si au si parte executabila.

            O instructiune compusa este o secventa de instructiuni (simple structurate sau compuse) delimitate de cuvintele rezervate begin  si end.

            O instructiune compusa e tratata de compilatorul pascal  ca o instructiune simpla, efectul executiei ei fiind insa rezultatul inlantuirii executiei instructiunilor componente.

            In pascal este interzis ca un identificator aflat in declaratia unui tip enumerat sa se intalneasca si in declaratia altui tip enumerat.

            Daca o variabila se declara ca apartinand unui anumit tip, in cursul executiei programului, la orice incercare de modificare a valorii ei, compilatorul verifica apartenenta noii valori atribuite la tipul variabilei.

O conditie este o expresie cu valoare logica:

                        IF conditie THEN

                                    Instructiune 1

                        ELSE

                                    Instructiune 2;

Instructiunea poate fi orice intructiune pascal, simpla sau compusa.            Observatie: Inainte de ELSE nu se pune „ ; ”. Daca dorim sa efectuam mai multe operatii pe fiecare ramura a  instructiunii IF,  vom folosi  in locul „ instructiune 1” sau „ instructiune 2” instructiuni compuse.

Instructiunea WHILE  se mai numeste instructiune cu test initial. Instructiunea componenta a blocului WHILE  poate fi executata de un numar  oarecare de ori sau niciodata. In mod normal, instructiunea componenta a blocului WHILE  trebuie sa fie in masura sa modifice valoarea conditiei pentru a evita  ciclarea, adica repetarea la infinit a unei secvente de comenzi.

            Instructiunea REPEAT  se numeste instructiune cu test final.

Conditia pentru acest tip de instructiune se pune la final. Ca si la ELSE, inainte de UNTIL nu se pune „ ; ”.

                        Un ciclu  FOR  executa instructiunea pe care o inglobeaza o data, de mai multe ori sau niciodata. O tehnica obligatorie in utilizarea instructiunii FOR  se refera la interdictia formala de a modifica prin instructiunea care intra in corpul instructiunii FOR  valoarea contorului.

            Observatie:  Compilatorul genereaza o eroare in timpul executiei daca la citirea unui numar intreg, real intalneste un alt caracter decat,e, E, semn, cifra. EOLN este asociat, in cazul citirii de la tastatura, apasarii tastei < ENTER> sau < CR >.

            In turbopascal exista un modul de programare CRT care permit lucrul cu ecranul in mod caracter. Exista subrutina GO TO (x,y) care permite pozitionarea in orice punct al ecranului (dar nu cu WRITE).

            In turbopascal exista si instructiunea de selectie multipla cu alternativa. Sintaxa acesteia este:  

CASE  expresie OF

             

                Lista – etichete – CASE: instructiune

ELSE

                Instructiune

END;

EFECTUL:

            Este identic cu cel al instructiunii CASE fara alternativa, in cazul in care valoarea expresiei e regasita printre selectori (etichetele) specificate. Deosebirea consta in faptul ca daca valoarea expresiei nu e descoperita printre selectorii specificati, se executa instructiunea care urmeaza dupa clauza ELSE.

            Observatie:

            In Pascal nu exista, cain alte limbaje specializate (Fortran),  proceduri speciale de citire/scriere de matrici. Aceste operatii trebuie facute prin instructiuni program.

            Observatie:

            Basic nu face diferenta intre literele mari si mici folosite in cuvintele cheie sau in formarea identificatorilor.

            Observatie:

            Facem urmatoarele conventii privind formatul comenzilor (instructiunilor) Basic:

-                      Cuvintele scrise ingrosat (Bold) sunt cuvinte cheie, care trebuie folosite ca atare, iar cele scrise cu caractere normale reprezinta cerinte, deci elemente care se vor inlocui cu ceea ce se cere efectiv prin ele.

-                      Cuvintele scrise intre paranteze drepte [ ] semnifica ceva optional, care poate fi scris sau poate lipsi.

-                      Caracterul / intre doua cuvinte semnifica faptul ca se poate folosi oricare dintre acele cuvinte in sintaxa comenzii.

Observatie:

            Daca se specifica direct valoarea constantei, atunci trebuie sa retinem urmatoarele:

-                      o constanta de tip numeric sau logic se precizeaza prin valoarea ei scrisa ca atare;

-                      o constanta de tip sir de caractere trebuie scrisa intre delimitatori „ „ (ghilimele);

-                      o constanta de tip data calendaristica se precizeaza intre delimitatori # #.

Observatie:

                        Operatiile ce se efectueaza in cadrul expresiilor trebuie sa aiba sens din punct de vedere matematic. Exemplu, la impartirea numitorului sa nu fie 0 (zero).

           

-ALGORITMI SPECIALI-

            Sortarea prin interschimbare

            Se compara doua cate doua elemente consecutive ale vectorului, interschimbandu-le in cazul neindeplinirii criteriului de ordonare.

            Dupa o parcurgere integrala a vectorului, procesul se reia, incepand cu primul element astfel, elementele cu valoare mica sunt „impinse” catre inceputul vectorului.

            Procesul se opreste cand, la o parcurgere a vectorului, nu s-a produs nici o schimbare,situatie indicata de valoarea de adevar a unei variabile-semafor, controlata de programator.

            Sortarea prin selectie

            Metoda presupune determinarea elementului minim din vector si aducerea lui pe prima pozitie, dupa care se determina minimul din vectorul ramas si aducerea lui pe a doua pozitie.

            Minimul se poate determina comparand un element al vectorului cu toate care il succed, interschimbandu-le in cazul neindeplinirii criteriului de ordonare.

            Sortarea prin insertie

            Pornind de la ipoteza ca la pasul i elementele predecesoare lui x(i) sunt ordonate, se determina pozitia (POZ.) in care valoarea lui x(i) se incadreaza conform criteriului de ordonare.

            Elementul x(i) va fi inserat in acea pozitie, dupa ce toate elementele vectorului, incepand cu POZ si pana la sfarsit, gliseaza cu o pozitie la dreapta. Se reduce astfel numarul de interschimbari, deoarece, in cazul in care un element x(i) este mai mare decat precedentul, acesta se considera ordonat.

            Interclasarea a doi vectori de dimensiuni variabile

            Prin interclasare se intelege procesul de obtinere din doua sau mai multe multimi ordonate, o noua multime, ordonata dupa acelasi criteriu.

-TEHNICI DE PROGRAMARE-

          Programarea modulara

            Programarea modulara are ca obiectiv reducerea empirismului artizanal folosit in elaborarea programelor si instaurarea principiilor ingineriei programarii, vizand obtinerea unor programe corecte si fiabile, reducerea costului elaborarii, documentarii, testarii, intretinerii si dezvoltarii produselor software.

           

            Modularizarea programelor

           

            Algoritmii de rezolvare a problemelor complexe se intocmesc si/sau pot fi descompusi in maniera sistemica, dupa criteriul functional, in mod ierarhic, pana la nivelul de subalgoritm/functie elementara, ca element terminal in structura unitatii functionale.

            Un modul functional se caracterizeaza prin:

-          Nume extern si/sau intern;

-          Functie logica perfect definita;

-          Punct de intrare si punct de iesire unice;

-          Relatia cu modulele din aval si amonte – interfata;

-          Posibilitarea elaborarii si testarii independente.

Daca programarea modulara stabileste o ierarhie de module din ce in ce mai detaliate, imbricate (incluse succesiv unele in altele), ultimul nivel apartinand modulelor functionale, programarea structurata este mai mult o strategie de scriere a programelor, care detaliaza analiza si procedeul descompunerii succesive pana la nivel de blocuri si instructiuni elementare. Programarea structurata este astfel un ansamblu coerent, complet si unitar de construire, documentare si intretinere a programelor-pas important pe linia formalizarii programarii.








Politica de confidentialitate

DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1491
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2019 . All rights reserved

Distribuie URL

Adauga cod HTML in site