1 / 13

Metoda Divide et impera Profesor coordonator: Boti Sandor

Grup Scolar Indrustrial Sarmasag Disciplina Informatica Clasa a XI-a B Grupa I :Csoka Eliza,Erdei Erzsebet,Forgacs Zsolt,Kis Lorant,Pusok Jozsef. Metoda Divide et impera Profesor coordonator: Boti Sandor. TABLA DE MATERII NOTIUNI INTRODUCTIVE APLICATII DIVIDE ET IMPERA:.

urbana
Download Presentation

Metoda Divide et impera Profesor coordonator: Boti Sandor

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Grup Scolar Indrustrial SarmasagDisciplina InformaticaClasa a XI-a BGrupa I:Csoka Eliza,Erdei Erzsebet,Forgacs Zsolt,Kis Lorant,Pusok Jozsef. Metoda Divide et impera Profesor coordonator: Boti Sandor

  2. TABLA DE MATERII NOTIUNI INTRODUCTIVE APLICATII DIVIDE ET IMPERA: • “Turnurilor din Hanoi”; •  Sortare rapida ; •  Sortare prin interclasare; •  Sortare prin insertie binara;

  3. Divide et impera: • Tehnicaasta a fostnumita “divide et impera“, sau “dezbinasistapaneste” si de aceastatehnicadepindea in mare parte linisteaimperiului roman. Orice s-arfiimpus, oricehotararearfiluatimparatul, nu era nimeni care sai se opunapentru ca grupurileeraumicisipoliticaimpusa era de asanaturaincatgrupurile nu puteaugasi un numitorcomunpentru a se adunasi a tine pieptdictaturii.

  4. Nu, nu discut despre programare sau despre algoritmi. Nu ma refer la “divide et impera” tehnica de programare ci la “divide et impera” ca politica aplicata de romani asupra provinciilor ocupate. • Pentru cei care au chiulit grosolan de la orele de istorie mentionez ca imperiul roman avea prostul obicei de a cuceri orice imperiu/regat/trib pe care i se punea pata. Pentru ca provinciile sa fie tinute sub control au venit cu o tactica draguta si anume de a le separa si izola cat mai bine, astfel oamenii nefiind capabili sa se uneasca in grupuri pentru a face fata cuceritorilor.

  5. Acum, la aproape 1500 de ani de la caderea imperiului roman ne place sa credem ca suntem mai intelepti, ca nu suntem ca prostimea fara scoala care putea fi manipulata de imparat, ca avem un cap care il folosim si ca suntem condusi asa cum vrem noi sau ca cel putin avem un cuvant de spus in ceea ce priveste conducerea tarii.

  6. PROBLEMA TURNURILOR DIN HANOI Prezentarea algoritmului rezolvarii Fie trei tije verticale notate A,B,C .Pe tija A se gasesc asezate n discuri de diametre diferite ,in ordinea crescatoare a diametrelor,privind de sus in jos . Initial ,tijele B si C sunt goale .Sa se afiseze toate mutarile prin care discurile de pe tija A se muta pe tija B , in aceeasi ordine ,folosind ca tija de manevra C si resspectand urmatoarele reguli

  7. la fiecare pas se muta un singur disc; un disc se poate aseza numai peste un disc cu diametrul mai mare . Rezolvarea acestei probleme se bazeaza pe urmatoarele considerente logice : -daca n=1 ,atunci mutarea este immediata AB(mut discul de pe A pe B); daca n=2,atunci sirul mutarilor este : AC,AB,CB; daca n>2 procedam astfel :

  8. -mut (n-1)discuri AC; • -mut un disc AB ; • -mut cele (n-1)discuri CB. • Observam ca problema initiala se descompune in trei subprobleme mai simple ,similare problemei initiale: mut (n-1)discuri AC ,mut ultimul disc pe B ,mut cele (n-1)discuri C-->B.Dimensiunile acestor subprobleme sunt : n-1,1,n-1.

  9. program turnurile _hanoi; var n:byte; procedurehanoi(n:byte;a,b,c:char); begin if n=1 thenwriteln(a,’’,b) else begin hanoi(n-1,a,c,b); 18518g624s writeln(a,’’,b); 18518g624s hanoi(n-1,c,b,a); 18518g624s end; end; begin write(‘nr discuripetija A =’);readln(n); writeln(‘mutarilesunturmatoarele :’); hanoi(n,’A’,’B’,’C’); readln;readln; end.

  10. Un Schema generală a algoritmului bazat pe metoda desparte şi stăpîneşte procedureDesparteSiStapineste(i,j : integer; var x : tip); varm : integer; x1, x2 : tip; begin ifSolutieDirecta(i, j)thenPrelucrare(i, j, x) else begin m:=(j-i)div2; DesparteSiStapineste(i, i+m, x1); DesparteSiStapineste(i+m+1, j, x2); Combina(x1, x2, x); end; end;

  11. ProceduraPrelucrare procedurePrelucrare(i, j : integer; Varx:real { returneaza elementul maximal din A[i],A[j]} begin x:=A[i]; ifA[i]<A[j] then x:=A[j]; end; { Prelucrare }

  12. FuncţiaSolutieDirecta functionSolutieDirecta(a, b, c, d : real; vari : integer) : boolean; { Returneaza true daca placa curenta nu are gauri.} { In caz contrar returneaza false si numarul uneia din gauri } label1; var j : integer; begin SolutieDirecta:=true; forj:=1tondo if (X[j]>a)and(X[j]<c)and (Y[j]>b)and(Y[j]<d)and begin SolutieDirecta:=false; i:=j; goto 1; end; 1:end; { SolutieDirecta }

More Related