WhatsApp
Saltar al contingut
Eurekademy

Què és un algoritme explicat fàcil (amb exemples)

La paraula "algoritme" sona a cosa reservada per a enginyers, però la fas servir cada dia sense adonar-te'n: quan segueixes una recepta, quan calcules el canvi a una botiga o quan decideixes quina ruta agafar per arribar abans. Si aquest curs comences Programació o Tecnologia, entendre bé què és un algoritme t'estalviarà molts mals de cap. Aquí t'ho expliquem des de zero, amb un exemple resolt pas a pas i els errors que més cometen els qui comencen.

Què és un algoritme, sense tecnicismes

Un algoritme és una seqüència finita de passos ordenats que resol un problema o completa una tasca. Res més. No té per què tenir a veure amb ordinadors: una recepta de cuina és un algoritme, i les instruccions per muntar un moble també.

La clau són tres qualitats. Els passos han de ser precisos (no ambigus), finits (han d'acabar) i ordenats (importa quin va abans). "Bat dos ous i després afegeix la farina" no és el mateix que fer-ho a l'inrevés.

La paraula ve d'Al-Khwarizmi, un matemàtic persa del segle IX el nom llatinitzat del qual va donar "algoritme"; de la seva obra va sortir també el terme "àlgebra". Mil anys després, el concepte és el mateix: descriure com resoldre alguna cosa, pas a pas, de manera que qualsevol (o qualsevol màquina) el pugui seguir.

Les tres peces de tot algoritme

Per complex que sembli un programa, tots els algoritmes es construeixen combinant només tres tipus d'instruccions. Si entens aquestes tres, entens el 90% de la lògica de programació:

  • Seqüència: fer una cosa darrere de l'altra, en ordre. Primer això, després allò. És la base.
  • Decisió (condicional): triar un camí o un altre segons una condició. "Si plou, agafa paraigua; si no, no l'agafis". En codi: si… llavors… si no…
  • Repetició (bucle): repetir un bloc de passos diverses vegades sense escriure'l mil cops. "Per cada alumne de la llista, suma la seva nota".

Un error típic de qui comença és pensar que necessita ordres estranyes. No: la majoria de problemes es resolen encadenant seqüències, decisions i bucles. La dificultat no és el vocabulari, sinó ordenar bé la lògica.

Un algoritme pas a pas: trobar el número més gran

Vegem-ho amb un problema concret. Volem el número més gran d'aquesta llista: 4, 9, 1, 7, 12, 6. El teu cervell ho fa d'un cop d'ull, però un ordinador necessita instruccions exactes. L'algoritme seria:

  1. Desa el primer número de la llista com "el més gran fins ara".
  2. Recorre la resta de números, un a un.
  3. Si el número actual és més gran que el desat, substitueix-lo.
  4. Quan no quedin números, el desat és el resultat.

Si "executes" aquest algoritme a mà vas veient com canvia el valor desat a cada pas. Això s'anomena fer una traça, i és la millor manera de comprovar que la teva lògica funciona abans de programar-la:

Número que miremMés gran que el desat?Més gran desat
4 (inicial)—4
9Sí (9 > 4)9
1No9
7No9
12Sí (12 > 9)12
6No12

Resultat: 12. Fixa't que allà dins hi ha les tres peces: una seqüència (mirar els números en ordre), una repetició (recórrer la llista) i una decisió (comparar cada número). Aquest mateix esquelet serveix per a llistes de sis números o de sis milions.

Algoritme, pseudocodi i programa no són el mateix

Aquí s'embolica molta gent. L'algoritme és la idea; el programa és aquesta idea traduïda a un llenguatge concret que la màquina executa. Enmig sol haver-hi pseudocodi i diagrames de flux, que són maneres d'anotar l'algoritme abans d'escriure codi real:

ConcepteQuè ésExemple
AlgoritmeLa lògica, independent del llenguatge"Busca el més gran de la llista"
PseudocodiL'algoritme escrit de manera semiestructurada i llegibleEls 4 passos de dalt
Diagrama de fluxL'algoritme dibuixat amb caixes i fletxesRombes per a les decisions
ProgramaL'algoritme traduït a un llenguatge executableCodi en Python, C o Java

Per això un bon algoritme funciona en qualsevol llenguatge: si la lògica està bé, traduir-la a Python o a Java és gairebé mecànic. El difícil —i el que de veritat s'avalua a classe— és dissenyar la lògica, no memoritzar la sintaxi.

Errors comuns en pensar en algoritmes

Com a professors que corregim exercicis de programació, aquests són els errors que més es repeteixen i més nota treuen:

  • Oblidar els casos límit: què passa si la llista és buida? I si tots els números són iguals? Un algoritme que només funciona amb l'exemple "bonic" és incomplet.
  • Bucles que no acaben: si el bucle no té una condició clara d'aturada, es queda donant voltes per sempre. Tot algoritme ha de ser finit.
  • Confondre l'ordre: posar la comprovació després d'usar la dada, o actualitzar una variable massa aviat. L'ordre dels passos no és un detall, és l'algoritme.
  • Saltar directe al codi: escriure en Python sense haver pensat la lògica abans. Si no saps explicar l'algoritme amb paraules, tampoc el sabràs programar.

El truc de qui ho fa bé és sempre el mateix: primer la lògica en paper, després el teclat. Traçar l'algoritme a mà amb un exemple petit, com hem fet a dalt, detecta la majoria d'errors abans d'escriure una sola línia.

Quan val la pena una ajuda extra amb la programació

Entendre la teoria és fàcil; el salt costa quan has de dissenyar els teus propis algoritmes i no saps per on començar davant d'un exercici nou. Aquí és on un professor particular marca la diferència: no et dona la solució, t'ensenya a descompondre el problema fins que veus els passos tu mateix.

Té sentit buscar suport si portes diverses setmanes encallat amb la lògica, si el ritme de classe va més ràpid del que consolides, o si t'acostes a un examen de Tecnologia o Programació amb la sensació que "entens quan t'ho expliquen, però no ho saps fer sol". A Eurekademy pots començar amb una primera classe amb 50% de descompte i veure si t'encaixa, sense compromís. Si vols, fes un cop d'ull a les nostres classes de programació per veure com treballem la part lògica des de zero.

Preguntes freqüents

Necessito saber moltes matemàtiques per entendre els algoritmes?

No per començar. Els algoritmes bàsics fan servir lògica i operacions senzilles (comparar, sumar, comptar), no càlcul avançat. Les matemàtiques ajuden quan vols analitzar com d'eficient és un algoritme, però per dissenyar la lògica de la majoria d'exercicis de classe n'hi ha prou amb raonar ordenadament i saber operar.

Un algoritme i un programa són el mateix?

No. L'algoritme és la idea o el conjunt de passos per resoldre un problema, i és independent del llenguatge. El programa és aquest algoritme ja escrit en un llenguatge concret, com Python o Java, que l'ordinador pot executar. Un mateix algoritme es pot convertir en molts programes diferents.

Per on començo a practicar algoritmes?

Agafa problemes petits del dia a dia (ordenar una llista, calcular una mitjana, buscar una dada) i escriu els passos en llenguatge normal abans de tocar l'ordinador. Quan tinguis la lògica clara, tradueix-la a pseudocodi i després a codi. Practicar la traça a mà és el millor entrenament per pensar com un programador.

Necessites ajuda amb aquesta assignatura?

Un professor expert pot resoldre els teus dubtes en una sola classe. La primera té un 50% de descompte i sense compromís.

Practica amb simulacres PAUPrepara Programació amb un professor → 1a al 50%Demanar classes de ProgramacióGuia completa de Batxillerat