Documente Academic
Documente Profesional
Documente Cultură
TIINIFICE
COLEGIUL NAIONAL ALEXANDRU IOAN CUZA GALAI
AN COLAR
2015-2016
ALGORITMI ELEMENTARI
Cuprins
JUSTIFICAREA TEMEI ALESE......................................................................................................................4
ALGORITMI ELEMENTARI..............................................................................................................................6
CARACTERISTICILE ALGORITMILOR............................................................................................6
PROBLEME............................................................................................................................................................8
DEMOSTRAII VIDEO......................................................................................................................................19
COD........................................................................................................................................................................20
BIBLIOGRAFIE SI WEBOGRAFIE.................................................................................................................23
Introducere in C#
Algoritmi elementari
Apariia primelor calculatoare electronice a constituit un salt uria n
direcia automatizrii activitii umane. Nu exist astzi domeniu de activitate n care
calculatorul s nu i arate utilitatea.Calculatoarele pot fi folosite pentru a rezolva probleme,
numai dac pentru rezolvarea acestora se concep programe corespunztoare de rezolvare.
Termenul de program , programare a suferit schimbri n scurt istorie a informaticii. Prin
anii `60 problemele rezolvate cu ajutorul calculatorului erau simple i se gseau algoritmi nu
prea complicai pentru rezolvarea lor. Prin program se nelegea rezultatul scrierii unui
algoritmintr un limbaj de programare. Din cauza creterii complexitii problemelor, astzi
pentru rezolvarea unei probleme adesea vom concepe un sistem de mai multe programe.
Dar ce este un algoritm? O definiie matematic, riguroas, este greu de dat, chiar
imposibil fr a introducei alte noiuni. Vom ncerca n continuare o descriere a ceea ce
se nelege prin algoritm. Ne vom familiariza cu aceast noiune prezentnd mai multe
exemple de algoritmi i observnd ce au ei n comun. Cel mai vechi exemplu este algoritmul
lui Euclid, algoritm care determin cel mai mare divizorcomun a dou numere naturale.
Oprindu-ne la semnificaia algoritmului, la efectul execuiei lui, vom observa c
fiecare algoritm definete o funcie matematic. De asemenea, un algoritm este scris pentru
rezolvarea unei probleme.
Prin algoritm nelegem o succesiune finit de operaii cunoscute care se executaa ntro succesiune logic bine stabilit astfel nct plecnd de la un set de date de intrare, s
obinem ntr-un interval de timp finit un set de date de ieire.
Caracteristicile algoritmilor
Finitudine proprietatea algoritmilor de a furniza datele de ieire ntr-un timp finit (adica
dupa un numr finit de pai).
Claritatea - algoritmul trebuie s descrie operaiile clar i fr ambiguii.
Generalitatea proprietatea algoritmilor de a rezolva o intreag clas de probleme de acelai
fel.
Exemplu: Adunarea 2+8 este o problem care adun numai aceste dou numere, ns dac
elaboram o metod de rezolvare care va aduna a+b, unde a i b pot avea orice valori ntregi,
spunem ca am realizat un algoritm general.
Corectitudinea spunem c un algoritm este corect dac el furnizeaz n mod corect datele
de ieire pentru toate situaiile regsite n datele de intrare.
Numim deci eficien - capacitatea algoritmului de a da o soluie la o problema ntr-un timp
de executie ct mai scurt, folosind ct mai puin memorie.
ELABORAREA
ALGORITMULUI
IMPLEMENTAR
E IN LIMBAJ
DE
PROGRAMARE
VERIFICARE
CORECTITUDIN
E
ANALIZA
COMPLEXITATII
PROBLEME
1. Descompunerea unui numar in divizori primi
7
Enunt: Se citesc dou numere ntregi a i b. S se realizeze un algoritm care s afieze cmmdc
a (a,b).
Exemplu: Pentru a=12 si b=24 se va afisa CMMDC este egal cu 12;
Enunt: Se citesc dou numere ntregi a i b. S se realizeze un algoritm care s verifice dac
cele dou numere sunt divizibile (a divizibil cu b sau b divizibil cu a).
Exemplu: Pentru a = 25 i b = 5 atunci algoritmul va afia DA, iar n cazul n care se citesc
a = 25 i b = 10 se va afia NU.
Explicarea algoritmului: Se folosete o structur alternativ, n care se verific a este
divizibil cu b (dac restul mparirii lui a la b = 0) sau invers.
4. Bubble sort
Enunt: Se citete un vector A cu n elemente
numere ntregi. S se ordoneze cresctor
elementele vectorului folosind metoda bulelor.
Exemplu: Petru n=5 si vectorul A (24 589 14
67 32) algoritmul va afisa 14 24 32 67 589;
Explicarea algortmului: : Algoritmul const
n parcurgerea tabloului A de mai multe ori,
pn cnd devine ordonat. La fiecare pas
se compar dou
elemente alturate.
Dac ai > ai + 1, (i =
1, 2, ..., n 1), atunci
cele dou valori se
interschimb ntre ele.
Controlul aciunii
repetitive este dat de
variabila boolean ok,
care la fiecare reluare
a algoritmului
primete valoarea iniial adevrat, care se
schimb n fals dac s10
14
8.Backtracking-permutari
Enunt: Se citete un numr natural n. S se genereze permutrile mulimi {1, 2, , n}
Exemplu:Pentru n=3 se va afisa 123,132,213,231,312,321;
15
9.
de
unei cifre x intr-un numar dat
Numarul
aparitii a
Enunt: Scriei un program care afieaz numrul de apariii a unei cifre x ntr-un numr n.
Exemplu: Pentru n=2232 si x=2 se afiseaza numarul 3.
16
17
Demostraii video
18
19
Secventa de cod incarca filmul din folderul cu resurse in media playerul integrat in program.
Cod
Form 7
20
Ruleaz
21
Selecteaz
22
Bibliografie si webografie
Manual de informatica intensiv , clasa a IX-a, profil real, editura Didactica si
Pedagogica, R.A. 2005;
Breviar teoretic, informatica, editura Niculescu;
Violeta Neagu 1024 Probleme de informatica;
www.info.mcip.ro, Algoritmi elementari;
www.mchelariu.wordpress.com ;
www.ro.wikipedia.org/wiki/Algoritm ;
23