MOPT - Lògica i programacio / Pseudocodi: Exercicis Pseudocodi

De wikiserver
La revisió el 16:52, 8 set 2025 per Rsort (Discussió | contribucions) (Exercicis estructura repetitiva)
Dreceres ràpides: navegació, cerca

Exercicis Seqüencials

1. Escriu un algorisme amb pseudocodi que demani al usuari el seu nom, i a continuació escrigui una salutació.

2. Calcular el perímetre i l'àrea d'un rectangle atesa la base i l'alçada.

3. Calcular la hipotenusa d'un triangle rectangle a partir dels seus catets.

4. Escriu un algorisme amb pseudocodi que demani dos valors numèrics i mostri la seva suma, resta, divisió i multiplicació.

5. Escriu un algorisme amb pseudocodi que demani dos valors numèrics, intercanviï els valors de les variables, i mostri les variables amb els valors intercanviats.

Exercicis estructura alternativa

Exercicis estructura repetitiva

Exercicis Arrays

1. Realitzar un programa que defineixi un vector anomenat "vector_numeros" de 10 enters, a continuació ho inicialitzi amb valors aleatoris (de l'1 al 10) i posteriorment mostri en pantalla cada element del vector juntament amb el seu quadrat i el seu cub.

2. Crear un vector de 5 elements de cadenes de caràcters, inicialitza el vector amb dades llegides pel teclat. Copia els elements del vector en un altre vector però en ordre invers, i mostra-ho per la pantalla.

Anàlisi

Recorro el vector1 i llegeixo els seus elements per teclat. recorro de forma inversa el vector1 i vaig guardant els elements al vector2 (s'inverteixen).
Recorro el vector2 per mostrar els elements.
Dades d'entrada: 5 cadenes de caràcters
Informació de sortida: Les cinc cadena però mostrar donin ordre invers.
Variables:
vector1,vector2 (vector de 5 cadenes)
tam_vector1,tam_vector2(enter)
indicador1, indicador2 (enter)

3. Es vol realitzar un programa que llegeixi per teclat les 5 notes obtingudes per un alumne (compreses entre 0 i 10). A continuació indiqui la nota mitjana, la nota més alta que ha tret i la menor.

Anàlisi

Llegeixo 5 notes (valido que siguin >=0 i <=10). guardant-les en un vector.
Recorro de nou el vector per acumular les notes, calcular la nota màxima i la nota mínima.
Finalment calculo la mitjana i mostro els valors.
Dades d'entrada: 5 notes
Informació de sortida: Les notes, la nota mitjana, nota màxima i nota mínima.
Variables:
notes (vector de 10 enters)
tam_notes,index(enter)
nota_mitjana (real), suma, nota_max, nota_min (enter)

4. Programa que declari un vector de deu elements enters i demani números per omplir-lo fins que s'ompli el vector o s'introdueixi un número negatiu. Llavors cal imprimir el vector (només els elements introduïts).

Anàlisi

Recorro el vector i vaig inicialitzant els seus elements. Si introdueixo un número negatiu sortim del bucle. També acabo el bucle si introdueixo tots els elements de vector. El número negatiu em serveix d'indicador de fins a quina posició el vector té elements.
Recorro fins a la mida del vector o trobi un número negatiu per mostrar els elements del vector.
Dades d'entrada: Llegeixo nombre positius i els guardo al vector, fins que llegiu un nombre negatiu o llegiu tots els elements del vector.
Informació de sortida: Els elements (números positius) guardats al vector.
Variables:
vector (vector de 10 enters)
tam_vector,indice,num enter)

5.Fer un programa que inicialitzi un vector de números amb valors aleatoris, i posterior ordeneu els elements de menor a major.

Anàlisi

Inicialitzo el vector amb valors aleatoris. Vaig recorrent el vector e intercanvio els valors de dos elements consecutius si no estan ordenats.
Cada vegada que faig un intercanvi ho compatibilitzo, aquest procés ho repeteixo fins que no hagi fet cap canvi, el vector està ordenat.
Dades d'entrada: Res
Informació de sortida: Números del vector ordenat.
Variables:
vector (vector de 10 enters)
tam_vector,index,aux,canvis (enter)

6. Crea un programa que demani un número de mes a l'usuari (per exemple, el 4) i indiqui quants dies té (per exemple, 30) i el nom del mes.

Has de fer servir un vector. Per simplificar-ho suposarem que el febrer té 28 dies.

Anàlisi

Guardo en un vector de 12 posicions els dies corresponents a cada mes.
De la mateixa manera guardo en un altre vector els noms dels mesos
Llegeixo el número d'un mes (Comprovo que sigui entre 1 a 12) i faig coincidir el número del mes amb l'índex dels vectors.
Dades d'entrada: Número del mes
Informació de sortida: Dies i nom del mes.
Variables:
dies (vector de 12 enters)
nom_mes (vector de 12 cadenes),
mes (enter)

7. Programa que declari tres vectors 'vector1', 'vector2' i 'vector3' de cinc enters cadascun, demaneu valors per a 'vector1' i 'vector2' i calculeu vector3=vector1+vector2.

Anàlisi

Omple els elements de dos vectors. Posteriorment els recorro per sumar els valors i desar-lo en un tercer vector.
Dades d'entrada: Números per al primer vector, números per al segon vector
Informació de sortida: Els números del tercer vector, que és la suma dels anteriors
Variables:
vector1,vector2,vector3 (vectors de 5 enters),
índex, tam_vector (enter)

8. Volem desar els noms i les edats dels alumnes de curs.

Feu un programa que introdueixi el nom i l'edat de cada alumne.
El procés de lectura de dades acabarà quan s'introdueixi com a nom un asterisc (*)
En finalitzar es mostrarà les dades següents:
  • Tots els alumnes majors d'edat.
  • Els alumnes més grans (els que tenen més edat)

Anàlisi

Inicialitzo els vectors fins que introduïu un "*" o arribi a final del vector.
El * em serveix per indicar el final del vector.
Faig un recorregut per mostrar els alumnes majors d'edat.
Faig un recorregut (fins a trobar un * o arriba al final) per calcular l'edat màxima. A continuació recorro els arrays, i mostro el nom dels alumnes amb més edat.
Dades d'entrada: Nom i edat dels alumnes fins a ficar *.
Informació de sortida: Els alumnes majors d'edat, i els alumnes més grans
Variables:
edat (vector de 30 enters), nom (vector de 30 cadenes)
index, tam_vector, edat_max (enter)

9. Volem guardar la temperatura mínima i màxima de 5 dies.

Realitza un programa que proporcioni la següent informació:
  • La temperatura mitjana de cada dia
  • Els dies amb menys temperatura
  • Es llegeix una temperatura per teclat i es mostren els dies la temperatura dels quals màxima coincideix amb ella.Si no hi ha cap dia es mostra un missatge informatiu.

Anàlisi

Recorro la taula llegint per a cada dia la temperatura màxima i mínima.
Recorro la taula per mostrar la temperatura mitjana de cada dia.
Recorro la taula, per calcular la temperatura mínima, i torno a recórrer per mostrar els dies amb aquesta temperatura.
Per últim demano una temperatura i recorro la taula per mostrar el dia del qual temperatura màxima és igual a la temperatura indicada, o un missatge dient que no hi ha dia amb aquesta temperatura.
Dades d'entrada: Al cap de cinc dies introduïm temperatura màxima i mínima. I al final introduïm una temperatura per cercar els dies amb temperatura màxima.
Informació de sortida: La temperatura mitjana de cada dia, els dies amb temperatura mínima, els dies amb temperatures màxima la indicada per teclat o un missatge informant que no hi ha dies amb aquesta temperatura màxima.
Variables:
temperatura (taula de 5 x 2 enters)
existeix_temperatura (logico)
índex, cant_dies (enter)
temp_max, temp_min (enter)

10. Dissenyar l'algorisme corresponent a un programa, que:

  • Crea una taula bidimensional de longitud 5x5 i nom 'matriu'.
  • Carrega la taula amb valors numèrics enters.
  • Suma tots els elements de cada fila i tots els elements de cada columna visualitzant els resultats en pantalla.

Anàlisi

Recorro la taula (amb dues per) i vaig llegint els elements de cada fila i columna.
Recorro la taula per files i columnes i vaig acumulant el valor dels elements de cada columna.
Recorro la taula per columnes i files i vaig acumulant el valor dels elements de cada fila.
Dades dentrada: Els elements de la taula.
Informació de sortida: La suma per cada columna, i la suma per cada fila
Variables:
matriu (taula de 5 x 5 enter)
fila, col, num_files, num_cols, suma (enter)

11. Dissenyar l'algorisme corresponent a un programa, que:

  • Crea una taula bidimensional de longitud 5x5 i nom 'diagonal'.
  • Carrega la taula de manera que els components pertanyents a les diagonals de la matriu prenen el valor 1 i la resta el valor 0.
  • Mostra el contingut de la taula en pantalla.

Anàlisi

Recorro la taula: si l'índex de fila = índex de columna (diagonal principal) o índex de fila = nombre de files - 1 - índex de columnes (l'altra diagonal) guardo un 1 sinó guardo un 0.
Recorro la taula per mostrar-la.
Dades d'entrada: Res
Informació de sortida: Els valors de la taula
Variables:
matriu (taula de 5 x 5 enter)
fila, col, num_files, num_cols (enter)

12. Dissenyar l'algorisme corresponent a un programa, que:

  • Crea una taula bidimensional de longitud 5x15 i nom 'marc'.
  • Carrega la taula amb dos únics valors 0 i 1, on el valor un ocuparà les posicions o elements que delimiten la taula, és a dir, les més externes, mentre que la resta dels elements contindran el valor 0.
  • Visualitza el contingut de la matriu a la pantalla.

Anàlisi

Recorro la taula: si l'índex de fila = 0 (extrem esquerre)
o índex de fila = nombre de files -1 (extrem dret)
o índex de columnes = 0 (extrem superior)
o índex de columnes = de columnes columnes -1 (extrem inferior)
inicialitzo a 1, sinó inicialitzo a 0.
Recorro la taula per files i columnes per mostrar els valors.
Dades d'entrada: Res
Informació de sortida: Els valors de la taula
Variables:
matriu (taula de 5 x 5 enter)
fila, col, num_files, num_cols (enter)

13. D'una empresa de transport es vol guardar el nom dels conductors que té, i els quilòmetres que condueixen cada dia de la setmana.

Per desar aquesta informació s'utilitzaran dos array:
  • Nom: Vector per guardar els noms dels conductors.
  • kms: Taula per guardar els quilòmetres que fan cada dia de la setmana.
Es vol generar un nou vector ("total_kms") amb els quilòmetres totals que realitza cada conductor.
En finalitzar es mostra la llista amb els noms de conductors i els quilòmetres ha realitzat.

Anàlisi

Llegeixo el nombre de conductors. Nombre de dades que guardaré als arrays
El nombre indicat ha de ser menor que la màxima mida dels arrays
Recorro els vectors fins al nombre de conductors indicats (ho guardo en un vector), llegint el nom i els kms per dies (ho guardo en una taula).
Recorro la taula acumulant els quilòmetres realitzats a la darrera columna de la taula.
Finalment torno a recórrer per mostrar els noms i els km acumulats.
Dades d'entrada: El nombre de conductors, els noms i els kms realitzats per dia
Informació de sortida: Els noms dels conductors i el total de kms realitzats
Variables:
kms (taula de 10 x 8 enters), nom (vector de 10 cadenes)
index_cond, index_dias, num_conductors, tam_conductors_max (enter)

14. Crear un programa que llegeixi els preus de 5 articles i les quantitats venudes per una empresa a les seves 4 sucursals. Informar:

  • Les quantitats totals de cada article.
  • La quantitat d'articles a la sucursal 2.
  • La quantitat de l'article 3 a la sucursal 1.
  • La recaptació total de cada sucursal.
  • La recaptació total de l'empresa.
  • La sucursal de més recaptació.

Anàlisi

Llegeixo els preus dels articles (ho guardo al vector Preu)
Llegeixo les quantitats venudes dels 5 articles a les 4 sucursals (ho guardo a la taula Quantitat)
Recorro la taula per articles, i mostro el que s'ha venut en total (per article)
Recorro la taula per articles i mostro el que s'ha venut a la sucursal 2.
Mostro el que s'ha venut de l'article 3 a la sucursal 1
Recorro la taula acumulant tot el que s'ha venut i el total per sucursal. A més a més en aquest recorregut calculo la sucursal que ha venut més.
Dades d'entrada: Preu de 5 articles i la quantitat venuda de cada article a 4 sucursals
Informació de sortida: Les que indica l'enunciat
Variables:
Preu (taula de 5 reals), Quantitat (taula de 4 x 3 reals)
Suma, NumMajor, Aricles_Sucursal2, MajorRec, TotalSucursal, TotalEmpresa (real)

15. Crear un programa d'ordinador per gestionar els resultats de la travessa de futbol. Per això utilitzarem dues taules:

  • Equips: Que és una taula de cadenes on guardem a cada columna el nom dels equips de cada partit. A la travessa s'indiquen 15 partits.
  • Resultats: És una taula de nombres enters on s'indica el resultat. També té dues columnes, a la primera es guarda el nombre de gols de l'equip que està guardat a la primera columna de la taula anterior, i a la segona els gols de l'altre equip.
El programa anirà demanant els noms dels equips de cada partit i el resultat del partit, a continuació s'imprimirà la travessa d'aquesta jornada.

Anàlisi

Recorro les taules per inicialitzar el nom dels dos equips i el resultat del partit (gols)
Recorro les taules, mostro el nom dels equips i el resultat de la travessa:
  • Un 1 si el que juga a casa ha guanyat (primer equip guanya)
  • Un 2 si el que juga de visitant ha guanyat (segon equip guanya)
  • Una X si hi ha empat
Dades d'entrada: Nom dels dos equips i el resultat del partit (per a cada partit)
Informació de sortida: Els noms dels equips i el resultat de la travessa
Variables:
equips (taula de 15 x 2 cadenes), resultats (taula de 15 x 2 enters)
index, num_equips (enter)

Exercicis programació estructurada

1. Fes un programa de conversió entre el sistema decimal i el sistema binari. En concret el programa presentarà un menú i utilitzarà dues funcions: una que ens permeti convertir un nombre sencer a binari, i una altra que ens permeti convertir un nombre binari a decimal.

  • ConvertirABinari: Funció que rep un nombre enter i torna una cadena amb la representació del número en binari.
  • ConvertirADecimal: Funció que rep una cadena amb la representació binària dun nombre i torna el nombre en decimal. Aquesta funció utilitzarà una altra, EsBinari, que rep un nombre enter i torna cert si un nombre binari i fals en cas contrari.

Funcions cadena, emprades en aquest exercici:

  • longitud(cadena): Retorna la quantitat de caràcters de la cadena.
  • subcadena(cadena,pos_ini,pos_fin): Retorna una nova cadena que consisteix a la part de la cadena que va des de la posició pos_ini fins a la posició pos_fin.
  • convertirANumero(cadena): Rep una cadena de caràcters que conté un nombre (caràcters numèrics) i retorna una variable numèrica amb el mateix.
  • convertirATexto(numero): Rep un numero i retorna una variable cadena de caràcters de aquest numero.

2.- El DNI (Document Nacional d'Identitat) a Espanya està format per 8 números i una lletra. La lletra ens serveix per verificar que el número és correcte, per tant la lletra es calcula a partir del número.

Per obtenir la lletra, cal dividir el número per 23 i quedar-te amb la resta. La lletra que correspon segons la resta és:

    0 - T    1 - R    2 - W    3 - A    4 - G    5 - M    6 - Y    7 - F    8 - P    9 - D   10 - X   11 - B
   12 - N   13 - J   14 - Z   15 - S   16 - Q   17 - V   18 - H   19 - L   20 - C   21 - K   22 – E

Fes un programa amb les següents opcions: obtenir lletra DNI, validar DNI i Sortir.

Implementa 4 funcions, amb el següent propòsit:

1. validi a partir de un número de DNI, passat com a cadena, té 9 caràcters numèrics.
2. validi que un DNI, passat com a cadena, té 9 caràcters numèrics i una lletra.
3. a partir de un número de DNI passat com a cadena, ens retorni la lletra que li correspon.
4. a partir de un DNI passat com a cadena, ens indiqui si aquest es correcte.
Les funcions 3 i 4 utilitzaran les funcions 1 i 2, per comprovar que les dades introduïdes són correctes.

Funcions cadena, emprades en aquest exercici:

  • longitud(cadena): Retorna la quantitat de caràcters de la cadena.
  • mayusculas(cadena): Retorna una còpia de la cadena amb tots els seus caràcters en majúscules.
  • subcadena(cadena,pos_ini,pos_fin): Retorna una nova cadena que consisteix a la part de la cadena que va des de la posició pos_ini fins a la posició pos_fin.
  • convertirANumero(cadena): Rep una cadena de caràcters que conté un nombre (caràcters numèrics) i retorna una variable numèrica amb el mateix.


3.- Dissenyar un programa que permeti endevinar a l'ordinador un determinat nombre enter i positiu, utilitzant cerca binaria, per a això s'han de llegir els límits en què està comprès aquest número. El programa haurà d'anar mostrant números que rebran les respostes següents:

‘S’, si és correcte. ‘A’, si és més alt que el número a endevinar. ‘B’, si és més baix.

En finalitzar el programa, cal escriure el nombre d'intents realitzats per encertar el número.

Consideracions:

Cal comprovar que els límits introduïts són positius i que el límit inferior és menor que el límit superior.
La cerca binaria, consisteix en generar a cada iteració, el valor mig dels límits.

Funcions cadena, emprades en aquest exercici:

  • mayusculas(cadena): Retorna una còpia de la cadena amb tots els seus caràcters en majúscules.
  • trunc(real): Retorna un número enter, eliminat la part decimal.

4.- Implementa un programa en pseudocodi que gestioni l'inici de sessió d'un usuari.

Consideracions:

L'usuari és user1 i la contrasenya és 1@-27
Només es permeten 3 intents.

Implementeu:

  • Funció Login, rep el nom d'usuari introduït per l'usuari, i la contrasenya introduïda per l'usuari i per referència el nombre d'intents. Retorna cert si es corresponen amb l'usuari i contrasenya, i fals en cas contrari. Actualitza el nombre d'intents.
  • Procediment Credencials, té com a paràmetres el nom de l'usuari i la contrasenya (ambdós passats per referència). Demana les dades de l'usuari i actualitza els paràmetres.
  • Procediment MostrarMissatgeFinal, rep com a paràmetre un booleà indicant si s'ha accedit (usuari i contrasenya correctes) o no s'ha pogut accedir (error en usuari i/o contrasenya) i mostra un missatge indicant si s'ha aconseguit l'accés o si s'han superat els intents.


5.- Fes un programa que pseudocodi que permeti calcular:

  • La quantitat de segons en un temps donat en hores, minuts i segons.
  • La quantitat de hores, minuts i segons d'un temps donat en segons.

El programa utilitzarà tres funcions una per presentar un menú en tres opcions (primera: convertir a segons, segona: convertir a hores, minuts i segons i tercera: sortir) i dues funcions una per a cada una dels càlculs a fer.


6.- Crearem un programa per treballar amb una pila. Una pila és una estructura de dades que ens permet desar un conjunt de variables. La característica fonamental és que el darrer element que s'afegeix al conjunt és el primer que se'n pot treure.

Per representar una pila utilitzarem un vector de cadena de caràcters amb mida 10, per tant la pila no podrà tenir més de 10 elements.

Crearem diverses funcions per treballar amb la pila:

  • IncialitzarPila: Com que tenim un vectpr de 10 elements de cadenes hem d'inicialitzar-lo i introduir un caràcter (per exemple un * que indiqui que aquest element de l'arranjament no correspon amb una dada de la pila. Aquesta funció inicialitza el vector amb aquest caràcter.
  • LongitudPila: Funció que rep una pila i torna el nombre d'elements que té.
  • EstaBuidaPila: Funció que rep una pila i que torna si la pila és buida, no té elements.
  • EstaPlenaPila: Funció que rep una pila i que torna si la pila és plena.
  • AfegirPila: funció que rep una cadena de caràcters i una pila, i afegeix la cadena a la pila, si no és plena. si aquesta plena mostra un missatge derror.
  • TreureDeLaPila: Funció que rep una pila i torna l'últim element afegit i l'esborra de la pila. Si la pila és buida mostra un missatge derror.
  • EscriurePila: Funció que rep una pila i mostra a la pantalla els elements de la pila.

Realitza un programa principal que ens permeti fer servir les funcions anterior, que ens mostri un menú, amb les opcions següents:

  • Afegir element a la pila
  • Treure element de la pila
  • Longitud de la pila
  • Mostra pila
  • Sortir

7.- Escriviu un programa que jugui al joc del mastermind. El programa genera quatre dígits aleatoris entre 0 i 9. L’objectiu del joc és encertar els quatre dígits així com les seves posicions en el mínim nombre de jugades possibles. Cada vegada el jugador introdueix quatre dígits i el programa respon amb una pista, dient el nombre d’encerts i d’aproximacions. Un dígit es considera encertat quan existeix en aquella posició, mentre que una aproximació representa un dígit que existeix però no està ben col·locat. Per no complicar el joc, cal controlar que els quatre dígits que es generen siguin tots diferents.

  • Variables que necessitarem com a mínim:
-Dues taules de quatre números per guardar la jugada de la màquina i del jugador
-Dues variables que ens guardin el número d’encerts i d’aproximacions.
-Seria convenient una variable que ens compti el número de jugades que ha fet el jugador, de forma que si és un inútil i no encerta mai, el programa acabi després d’un cert nombre d’intents.
  • Funcions que necessitem:
- generar_jugada_maquina (maquina)
Ens crea la jugada de la màquina amb nombres aleatoris entre 0 i 9. Cal controlar que no hi hagin números repetits.
- llegir_jugada_jugador (jugador)
Simplement s’ha de llegir de teclat els quatre valors i posar-los a la taula
- final (encerts)
En principi aquesta funció només seria certa quan el nombre d’encerts fos igual a 4 però com he dit abans seria interessant acabar en un nombre de jugades determinat. Si ho féu així, s’ha de passar com a paràmetre el nombre de jugades actual.
- trobar_numero_encerts (maquina, jugador)
Calcula i retorna el nombre d’encerts de la jugada actual
- trobar_numero_aproximacions (maquina, jugador)
Calcula i retorna el nombre d’aproximacions de la jugada actual

8. Un laboratori d’investigació cultiva una colònia de bacteris dins d’una àrea que es pot considerar com una superfície quadriculada de dimensió 30 x 30. Cada casella pot ser buida o contenir un bacteri. A partir de la seva configuració inicial, la colònia evoluciona generació rere generació segons unes lleis genètiques que tot seguit es descriuen i que depenen del nombre de veïns que té cada casella:

  • Naixement: tota casella buida amb exactament tres veïns tindrà un naixement la propera generació.
  • Mort per solitud: tot bacteri que ocupa una casella amb 0 o 1 veïns morirà per solitud la propera generació.
  • Supervivència: tot bacteri que ocupa una casella amb 2 o 3 veïns sobreviurà la propera generació.
  • Mort per asfixia: tot bacteri que ocupa una casella amb més de 3 veïns morirà per asfixia la següent generació.

Noteu que cada bacteri té com a molt 8 veïns i que en el cas dels bacteris residents a les vores de la quadrícula el nombre de veïns és menor.

Es considera que la transició entre generacions és simultània en totes les caselles de la colònia.

Es demana dissenyar un programa que simuli l’evolució de la colònia de bacteris i determini, a partir d’una situació inicial aleatòria, quantes iteracions es necessiten per tal que la colònia arribi a una situació estable. Aclariments sobre algunes funcions:

  • El procediment Generar generació inicial ha de crear una colònia de forma aleatòria. La forma més senzilla en és omplir la matriu amb valors aleatoris. Random r =new Random(); r.nextInt(2) i us retornarà valors que seran o bé 0 o bé 1 (podeu considerar per exemple que 1 representa que hi ha un bacteri i 0 que no).
  • El procediment Mostrar generació inicial simplement traurà per pantalla l’estat actual. No cal fer virgueries en la presentació, simplement que s’entengui el que hi ha. El procediment Mostrar generació final és exactament el mateix, simplement canviarà el paràmetre que li passem.
  • El procediment Generar següent generació ens crea la nova generació seguint les regles explicades abans. Òbviament per poder-ho fer haurà de cridar a una funció veïns que ens indiqui per a cada posició de la matriu, quants veïns n’hi ha.
  • Considerem que la situació és estable quan després de crear una nova generació ja no hi ha canvis a la colònia.
  • Aquest sistema genètic funciona, però per possibles errors de programació podria ser que entrés en un bucle infinit, per això fins que no esteu segurs que el programa funciona i acaba bé podeu posar també com a condició del bucle que no doni més de 500 voltes. També és cert que en algun cas pot entrar en un cicle de dues voltes i per tant serà millor que poseu sempre aquesta condició.
  • Si no teniu clar on falla el programa, es pot dintre del bucle visualitzar cada vegada el tauler, però això ralentitzarà molt l’execució. Si ho voleu provar d’aquesta manera, feu-lo amb matrius petites (6 x 6 o així). Quant tingueu clar que funciona, torneu a donar la mida inicial.

NOTES: El programa ha d’estar perfectament estructurat i la filosofia és l’explicada abans. No cal que sigui exactament així però penso que no pot canviar molt l’estructura.

Tot ha de fer-se mitjançant funcions (potser Inicialitzar variables no cal) i heu de pensar que el programa principal no quedarà gaire més llarg que el programa de la pàgina anterior. Cal comentar el codi.