Diferència entre revisions de la pàgina «M3 - Programació estructurada / Exercicis UF1: Taules»

De wikiserver
Dreceres ràpides: navegació, cerca
Línia 67: Línia 67:
  
 
17. Fes un programa que donada una matriu d'enters de 5 files i 5 columnes (amb els valors entre 0 i 9 introduïts per codi), ens indiqui quants valors hi ha de cada número.
 
17. Fes un programa que donada una matriu d'enters de 5 files i 5 columnes (amb els valors entre 0 i 9 introduïts per codi), ens indiqui quants valors hi ha de cada número.
 
  
 
18. Fes un programa que calculi el producte de dos matrius de 3 files i 3 columnes (amb els valors entre 0 i 9 introduïts per codi).
 
18. Fes un programa que calculi el producte de dos matrius de 3 files i 3 columnes (amb els valors entre 0 i 9 introduïts per codi).
Línia 73: Línia 72:
 
19. Fes un programa que calculi el producte de dos matrius: la primera de 2 files i 3 columnes i la segona de 3 files i 2 columnes (amb els valors entre 0 i 9 introduïts per codi).
 
19. Fes un programa que calculi el producte de dos matrius: la primera de 2 files i 3 columnes i la segona de 3 files i 2 columnes (amb els valors entre 0 i 9 introduïts per codi).
  
20- Fes un programa que intercanvii els mínims de la primera amb els màxims de la segona.
+
20. Fes un programa que intercanvii els mínims d'un matriu amb els màxims d'una altra matriu.
  
 
<!--
 
<!--
Línia 194: Línia 193:
 
System.out.println ();
 
System.out.println ();
 
h.mostrar (B, fb, cb);
 
h.mostrar (B, fb, cb);
 +
    }
 +
}
 +
</source>
 +
-->
 +
21. Invertiu la diagonal d'una matriu quadrada.
 +
<!--
 +
<source lang="java">
 +
class JavaMatrices2
 +
{
 +
    void llenar (int M [] [], int d)
 +
    {
 +
for (int i = 1 ; i <= d ; i++)
 +
{
 +
    for (int j = 1 ; j <= d ; j++)
 +
    {
 +
System.out.print ("Inserte pos[" + i + "][" + j + "]: ");
 +
M [i] [j] = Leer.datoInt ();
 +
    }
 +
}
 +
    }
 +
 +
 +
    void mostrar (int M [] [], int d)
 +
    {
 +
for (int i = 1 ; i <= d ; i++)
 +
{
 +
    System.out.println ();
 +
    for (int j = 1 ; j <= d ; j++)
 +
    {
 +
System.out.print ("[" + M [i] [j] + "]");
 +
    }
 +
}
 +
    }
 +
 +
 +
    void invierte (int M [] [], int d)
 +
    {
 +
int fin = d;
 +
for (int i = 1 ; i <= d / 2 ; i++)
 +
{
 +
    int aux = M [i] [i];
 +
    M [i] [i] = M [d] [d];
 +
    M [d] [d] = aux;
 +
    fin--;
 +
}
 +
    }
 +
 +
 +
 +
    public static void main (String args [])
 +
    {
 +
JavaMatrices2 h = new JavaMatrices2 ();
 +
int M [] [] = new int [20] [20];
 +
System.out.print ("Inserte dimen. de la matris cuadrada: ");
 +
int d = Leer.datoInt ();
 +
h.llenar (M, d);
 +
System.out.print ("\nMATRIS ORIGINAL: ");
 +
h.mostrar (M, d);
 +
System.out.print ("\n\nMATRIS CON LA DIAGONAL PRINCIPAL INVERTIDA: ");
 +
h.invierte (M, d);
 +
h.mostrar (M, d);
 +
    }
 +
}
 +
</source>
 +
-->
 +
22. Invertiu la diagonal secundaria d'una matriu quadrada.
 +
<!--
 +
<source lang="java">
 +
class JavaMatrices3
 +
{
 +
    void llenar (int M [] [], int d)
 +
    {
 +
for (int i = 1 ; i <= d ; i++)
 +
{
 +
    for (int j = 1 ; j <= d ; j++)
 +
    {
 +
System.out.print ("Inserte pos[" + i + "][" + j + "]: ");
 +
M [i] [j] = Leer.datoInt ();
 +
    }
 +
}
 +
    }
 +
 +
 +
    void mostrar (int M [] [], int d)
 +
    {
 +
for (int i = 1 ; i <= d ; i++)
 +
{
 +
    System.out.println ();
 +
    for (int j = 1 ; j <= d ; j++)
 +
    {
 +
System.out.print ("[" + M [i] [j] + "]");
 +
    }
 +
}
 +
    }
 +
 +
 +
    void invierte (int M [] [], int d)
 +
    {
 +
int fin = d;
 +
for (int i = 1 ; i <= d / 2 ; i++)
 +
{
 +
    int aux = M [i] [d];
 +
    M [i] [d] = M [d] [i];
 +
    M [d] [i] = aux;
 +
    fin--;
 +
}
 +
    }
 +
 +
 +
 +
    public static void main (String args [])
 +
    {
 +
JavaMatrices3 h = new JavaMatrices3 ();
 +
int M [] [] = new int [20] [20];
 +
System.out.print ("Inserte dimen. de la matris cuadrada: ");
 +
int d = Leer.datoInt ();
 +
h.llenar (M, d);
 +
System.out.print ("\nMATRIS ORIGINAL: ");
 +
h.mostrar (M, d);
 +
System.out.print ("\n\nMATRIS CON LA DIAGONAL SECUNDARIA INVERTIDA: ");
 +
h.invierte (M, d);
 +
h.mostrar (M, d);
 
     }
 
     }
 
}
 
}
 
</source>
 
</source>
 
-->
 
-->

Revisió del 17:08, 13 abr 2018

1. Fes un programa que donades dues taules inicialitzades amb els valors {-3, 5, 1, -4, 8, 20, -9, 2, 11, -1}, posi a una tercera taula, per a cada posició, la suma dels elements de les altres taules.


2. Fes un programa que donada una taula de números ja inicialitzada, la llegeixi amb un for i quan surti del for imprimeixi el valor més petit de la taula.


3. Fes un programa que donada una taula de números ja inicialitzada, imprimeixi per pantalla els valors en ordre invers.


4. Fes un programa que faci una rotació cap a l’esquerra o cap a la dreta (segons ens indiqui l’usuari) de tots els elements del vector (en rotació esquerra l’element que està a la primera posició passarà a l’ultima i en rotació dreta l’element que està l’últim passarà a la primera posició).


5. Escriure un programa que, donat una taula de 10 enters (introduïts per codi), li doni la volta. Per exemple, si el vector original és: 0-1-2-3-4-5-6-7-8-9 acabi sent : 9-8-7-6-5-4-3-2-1-0. No s'ha de fer servir cap taula auxiliar.


6. Fes un programa que, donat una taula de 10 enters ( introduïts per codi), generi un diagrama de barres que representi el seus valors. Les barres aniran d’esquerra a dreta i estaran formades per asteriscos. Per exemple, si els tres primers elements de la taula són 2-3-4, la part corresponent del diagrama de barres serà:

       **
       ***
       ****


7. Fes un programa que llegeixi les temperatures mitjanes dels dotze mesos de l’any, les vagi guardant en una taula i al final calculi la temperatura mitjana de l’any.


8. Modifica l’exercici anterior de forma que el programa tregui per pantalla al final, els mesos amb temperatura inferior a la mitjana anual.


9. Modifica l’exercici anterior de forma que el programa indiqui el mes amb la temperatura mínima i el mes amb la temperatura màxima.


10. Fes un programa que llegeixi les notes obtingudes pels alumnes d’una assignatura. La introducció de dades finalitzarà amb la introducció de -1. El programa a continuació ha de treure per pantalla la nota mitjana del grup.

Considereu, utilitzant una constant, que el nombre màxim d’alumnes és 100.


11. Fes un programa que llegint un número per teclat ens indiqui si aquest element està o no a la taula.


12. Fes un programa que vagi llegint una seqüència de números naturals (entre 0 i 9) finalitzada amb el valor -1. El programa ha de dir quantes vegades apareix cada valor. Lògicament s’ha de fer servir una taula i no 10 variables comptador!!!!!!


13. Fes una taula que emmagatzemi els 100 números primers més petits. Per a fer-ho la tàctica és que un nombre serà primer sinó es divisible per cap número primer més petit. Cal posar per codi, a la primera posició de la taula el valor 2. Imprimeix els valors.

Matrius

14. Fes un programa que sumi dos matrius quadrades (mateix nombre de files que de columnes) de mida de les mateixes mides. El resultat es guardarà en una altra matriu. Cal recordar que la suma de les matrius funciona de la següent forma : a la posició [x][y] de la matriu resultat se li assigna la suma de les posicions [x][y] de les dues matrius originals. És per això que la matriu resultat haurà de ser de les mateixes dimensions que les altres.


15. Fes un programa que ens digui si dos matrius són exactament iguals, o sigui que per tot i,j, matriu1[i][j] = matriu2[i][j]


16. Fes un programa que donada una matriu d’enters de 2 files i 3 columnes (amb els valors introduïts per codi), escrigui el valor màxim de cada una de les files.


17. Fes un programa que donada una matriu d'enters de 5 files i 5 columnes (amb els valors entre 0 i 9 introduïts per codi), ens indiqui quants valors hi ha de cada número.

18. Fes un programa que calculi el producte de dos matrius de 3 files i 3 columnes (amb els valors entre 0 i 9 introduïts per codi).

19. Fes un programa que calculi el producte de dos matrius: la primera de 2 files i 3 columnes i la segona de 3 files i 2 columnes (amb els valors entre 0 i 9 introduïts per codi).

20. Fes un programa que intercanvii els mínims d'un matriu amb els màxims d'una altra matriu.

21. Invertiu la diagonal d'una matriu quadrada. 22. Invertiu la diagonal secundaria d'una matriu quadrada.