En aquesta primera unitat aprendrem a dissenyar i implementar algoritmes.
Per dissenyar usam el pseudocodi gràfic i el pseudocodi escrit.
Per implementar els algoritmes usam el llenguatge javascript sobre la pàgina codepen.io
1.
Introducció.
Segons Turing “si vols que un computador faci A basta que li diguis que faci A” i l’objectiu que sigui senzill, clar, finit i ben definit.
Crear un algoritme és un procediment d’abstracció, que a partir d’unes premises es volen treure uns resultats.
Es necessari saber dibuixar i descriure el recorregut de un algoritme que implementa un requeriments previs. Un algoritme es descriu usant estructures de dades i sentències seqüencials, iteratives i condicionals.
2.
Què és un algoritme?
- Un algoritme és una seqüència d’intruccions, variables i condicionals lògics que resolen un problema.
- A programació s’anomena funció, i té un nom, pot tenir valors d’entrada que s’anomenen paràmetres i retorna un valor de sortida.
- Una funció s’ha d’invocar o cridar desde un punt del “programa”.
- Una funció o algoritme pot cridar altres funcions. També es pot cridar a ella mateixa, és el que s’anomena funció recursiva.
- La implementació de un algoritme és pasar la idea del disseny a un llenguatge de programació.
Exemples d’algoritmes:
- Cerca el nombre més alt de dos donats.
Per resoldre aquest algoritme tendrem una funció que li passam dos paràmetres i retorna el nombre major.
funció retornaMesAlt(x,y) —> x ó y
L’algorisme es pot escriure com:
funció retornaMesAlt(x,y){si (x>y) {return x;} else {return y;}}
Si ens fixam la funció té un condicional (x>y) que separa el recorregut de la funció, si es compleix el condicional ens retorna x (que serà més gran que y) sino, ens retorna y.
See the Pen mesAlt by PereAntoni (@pereantoni) on CodePen.
2. Crea un algorisme que ordeni una paraula per ordre alfabètic i que posi totes les a en majúscula.
En aquest cas ens trobam que no sabem quines eines disposam peró sí que podem esbosar el camí que resol el problema, més endavant el podrem implementar.
La solució a molts d’algoritmes és dividir-los en problemes més petits que siguin més fàcils d’encarar.
Els algoritmes més petits poden ser reutilitzables,
funcio ordenaA(paraula){paraula = ordena(paraula); //tenim la paraula ordenada mitjançant un algoritme que ens ordena la paraula.paraula = posaMajuscula(paraula,"a");//crearem un algoritme que ens posi les lletres donades a majúscula.}
Com podeu observar queda a l’aire la resolució, peró sí que ens queda clar el camí a seguir.
Hem subdividit el problema en petits problemes més fàcils de resoldre i els algoritmes creats ens podran servir més endavant.