Algoritmes d'anar per casa

Introducció

Què aprendrem?

Aprendrem què és un algoritme i per a què serveix; en veurem diferents exemples i maneres de representar-los; i resoldrem reptes algorítmics.

Què necessitarem?

Paper, llapis i goma. És millor fer servir llapis i goma que bolígraf, així, en cas d'equivocar-nos, podem esborrar i tornar pintar aprofitant el mateix full.

Breu història dels números

Els humans som tant diversos que, segons la cultura, comptem d'una manera o altra. Els romans, per exemple, comptaven amb palets: I, II, III, IV, V... Però, al no tenir el número zero, aquest sistema no resultava molt pràctic.

Els sistemes més funcionals, com l'indoàrab que permet comptar tots els números del món amb 10 números (de 0 a 9), són els que es van adaptant i s'acaben imposant sobre altres, com el romà.

Humor-Cartuns-Nani-Blog-do-Mesquita-01PL

«Tinc el seu número antic: XI-IX.IX,VII.LII.XXVII»
Font: http://mesquita.blog.br/tecnologia-pro-dia-nascer-melhor-28022013

Tot i que es diu indoàrab, aràbic o de base 10, aquest sistema va aparèixer a l'Índia cap al segle V dne (després de la nostra era). Van ser els matemàtics àrabs i perses els que van traduir els textos i van adoptar el sistema, portant-lo per allà on anaven passant. A Europa no va ser fins al segle XIII que es comença a popularitzar el sistema indoaràbic.

Els historiadors, però, apunten que el sistema posicional ja era usat pels babilonis (avui, iraquís del II mil·leni ane) i que el zero ja era conegut per les cultures mesoamericanes.

Humor-Cartuns-Nani-Blog-do-Mesquita-01PL

Números en babiloni i maia on s'usa el zero
Font: https://me-damitr.blogspot.com.es/2008/04/zero.html

I gràcies a que tenim zero existeix el sistema binari, que també és un sistema numèric, el que usen les nostres màquines o ordinadors per interpretar i representar la informació, només amb dos dígits, 0 i 1.

Què és un algoritme?

Un conjunt d'instruccions ordenades i finites que resolen una tasca. Es diu «algoritme» o «algorisme» en homenatge a l'astrònom i matemàtic Abu Abdullah Muhammad bin Musa al-Khwarizmi, que al segle IX introduí el sistema numèric que avui es coneix com indoàrab.

Fórmules matemàtiques, manuals d'instruccions, trucs de màgia, receptes de cuina o cançons són tasques finites que es porten a terme seguint passos en un ordre determinat.

algoritmes-acudit

Com podem representar un algoritme?

Hi ha diverses maneres de representar algoritmes, com pseudocodi, diagrames de flux o llenguatges computacionals. Aquí l'algoritme de sumar dos números:

En pseudocodi:

     1) Inici  
     2) A, B, suma  
     3) Suma = A + B  
     4) Suma  
     5) Fi

En un diagrama de flux:

sumar-01-diagrama

En programació visual (Snap!):

sumar-02-snap

Per establir aquest algoritme fem ús de tres variables: A, B i suma. En funció de quin número és A i quin és B, es determina un resultat o un altre.

A l'exemple del llenguatge de programació, hem assignat a A el valor de 3, a B el valor de 2, i a suma, el valor de la suma d'A i B. El valor de la suma era 3+2= 5.

Mini-repte

Si ara A és igual a 4 i B és igual a 3, quin valor serà el de la suma?

Algoritmes casolans

A més de conceptes matemàtics, podem representar algoritmes casolans, és a dir, tasques quotidianes que es resolen seguint un pas rere l'altre: com rentar-se les dents.

Veurem que és necessari fer ús de variables, com a l'exemple anterior, i a més, farem servir condicions: si tenim tot el que ens cal per rentar-nos les dents, podem seguir els passos que porten a rentar-nos-les; i si no, hem d'aconseguir el que ens calgui per poder començar.

Tot seguit, l'algoritme de rentar-se les dents en diagrama i llenguatge de programació visual (Snap!):

En diagrama

algoritmes-01-rentar-dents

Programat amb Snap!

algoritme-dents-1

algoritme-dents-2

Segueix als reptes dels algoritmes casolans
Vés a la descripció de l'activitat