Sunteți pe pagina 1din 102
rela a Nofiunea de algoritm este des utilizati in informatica (mai ales in programare). In continuare, vom da cdteva exemple prin - care sé scoatem in eviden{a proprictitile, structura si datele cu care lucreazi un algorifm. Problema “Salut!” Fiecare persoani reactioneazi diferit cand rispunde la: iclefon. Astfel, Alexandru, elev in clasa a V-a, are in minte trei moduri de salut: “Bund ziual”, “Novoc!”, “Salut!”, in fanctie de persoana cu care se intélneste, , " Imaginafi un plan care sd ia in calcul situatiile in care Alexandru vorbeste la telefon cu: mama, tata, Ioana (verisoara), Roberta (colega de banc&), Florin (verigor) si Mircea (coleg de clas’), La p&rinti raspunde cu “Bund ziua!”, la verigori cu“Noroc!”, iar la colegi cu “Salud!”. Solutie Vom realiza un plan de rezolvare imp4rfit in mai multe etapé, notéind cu x numele persoanei care da telefon lui-Alexandru: Etapa 0. incepe rezolvarea. Etapa 1. Suna telefonul gi se prezint persoana cu numele x. . Etapa 2. Dacii x este mama sau x este tata, atunci Alexandru réspunde la telefon cu ..Bund ziua!”. Etapa 3, Daca x este Ioana sau x este Florin, atunci Alexandru raspunde Ia telefon cu’,,Noroc!”, « Etapa 4. Daci x este Roberta sau x este Mircea, atunci Alexandru raspunde fa telefon cu ,,Salut?”. Etapa 5, Sfarsit rezolvare. Problema “Numere consecutive” Se dau doui numere naturale. Se cere sé se verifice daci numerele date sunt consecutive. fn caz afirmativ si se precizeze care . este ordinea lor. Solutie La fel ca in problema anterioar’, vom elabora un plan de rezolvare, notand cua si b cele doud numere. Etapa 0. fncepe rezolvarea. Etapa 1. Asociem lui a o valoare concretd (un numiar natural). Etapa 2. Asociem lui b o valoare concreta (un numér natural), Etapa 3. Dacii b este egal cu a+1, atunci precizim faptul ci numerele sunt consecutive in ordinea a, b, apoi trecem direct la Etapa 6, Etapa 4. Daci a este egal cu.b+1, atunei precizim faptul ci numerele sunt consecutive in ordinea b, a, apoi trecem direct la Etapa 6. Etapa 5, Precizam faptul ci a si b nu sunt mumere consecutive. Etapa 6, Sfarsit rezolvare. Problema “C€rti de joc” lonut este un mare iubitor al c&rtilor de joc. fn vitrina lui plind de jucarii se giisesc multe tipuri de pachete de cirfi de Ne joc, Intr-o seara vine in vizitt verisoara lui Ioana gi se hotirasc sa‘. inventeze un nou joc de c&rti, folosind un pachet obignuit, carfi numerotate cu 1 (as-ul), 2, ..., 14 (popa). Pentru fiecare numir exist’ cate patru carfi care se disting prin desenul de pe ele: romb, inim’ rosie, inima neagra si trefl4. Jocul inventat de cei doi verisori are urmitoarele reguli: R1: La fiecare etapa, din pachetul de c&rti Ionut si Ioana iau cate o carte si le adaugé la cele luate anterior, R2: Jocul este cAstigat de cel care are in m4n& o carte cu numarul 1 sau-10 de culoare rosie (romb sau inimi rosie). R3: Jocul se incheie remiza, dac& in aceeasi etap’ Lonuf si Ioana ridicd o carte cu numérul | sau 10 de culoare rosie (romb sau inima rosie). Se cere sd se precizeze o modalitate de simulare a jocului (precizfnd toate situatiile ce pot interveni). Se stie ci la inceputul jocului c&rtile sunt amestecate de tat&l lui Ionut, nelipsind nicio carte din pachet, Solutie Vom nota cu nrl, ent numarul, respectiv culoarea c&rfii alese de Jontit la ‘un moment dat, iar cu mr2, cu2 numarul, respectiy culoarea c&rfii alese de Ioana. Etapa 0, fncepe rezolvarea, Etapa 1, lonut ia o carte, in felul acesta nrl si cul au asociate un numir gi respectiv una dintre variantele romb, inima rosie, inima neagra gi trefia, pentru culoare. Etapa 2. Ioana ia o carte, in felul acesta ur2 si cu2 av asociate un numiar gi respectiv una dintre variantele romb, inima rosie, inima neagri gi treflé, pentru culoare. Etapa 3. Dac& (mrt este egal cu 1 sau arl este egal cu 10) si (cul este romb sau cul este inima rogie)) si ((nr2 este egal cu 1 sau nr2 este egal ci 10) si (cu2 este romb sau cn2 este iInima rogie)), atunci jocul se termina remizi gi se trece direct la Etapa 7. Etapa 4, Daca ((nrl este egal cu'l sau nrl este egal cu 10) si (cul este romb sau cul este inimii rogie)), atunci jocul este cAstigat de Ionut si se trece direct la Etapa 7. . Etapa 5. Daca ((nr2 este egal cu | sau nr2 este egal cu 10) si (eu2 este romb sau cu2 este inimd rosie)) atunci jocul este cAstigat de Ioana gi se trece direct la Etapa 7. Etapa 6. Se trece alegerea altor carti de caitre Ionut si Ioana, adicd se repetit Etapa 1. Etapa 7. Sfargit rezolvare, © Planurile de rezolvare prezentate la cele trei probleme le vom numi algoritmi. © Fiecare dintre cei trei algoritmi rezolva problemele in cazul general, Prima problema pentru un nume notat cu x, a doua pentru doud numere notate cu a, b, respectiv a treia pentru numerele si culorile carfilor alese la un moment dat de citre Ionut si Ioana, nr1, nr2, cul, cu2. De aici desprindem ideea ca algoritmii folosesc date (care pot fi constante sau variabile). Datele constante riman cu aceeasi valoare de la inceputul algoritmului si pand la sfarsitul lui, pe cand cele variabile se pot modifica. Constantele i variabile pot lua valori dintr-o multime bine definita, De exempiu, in cazul primelor dou’ probleme x, a, b pot lua ca valori doar numere naturale (evident mai mici decat o valoare maxima pe care o impune cel care rezolva problema, de exemplu 32000). Acestea nu pot lua ca valori, de-exemplu, litere sau numere cu parte fractionara. Pentru a treia problema, variabilele cul, cu2 pot fi utilizate numai cu valorile romb, inima rosie, inimé neagra gi trefla,