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

De wikiserver
Dreceres ràpides: navegació, cerca
 
(Hi ha 69 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
1. Fes un programa que demani dos números senars més grans que 2 i mostri el següent:       
+
==2020-21==
<pre>                                                                                                     
 
    Ex. 5 i 7                                      Ex. 7 i 3 
 
  
1 2 3 4 5 6                                      1 2   4 5 6   
+
<!--
   6  4 3 2  1                                     6 5 4   2 1  
+
===Prova 1===
1 2 3 4 5 6                                      1 2  4 5
+
 
   6   4 3 2 1                                    
+
Recorda:  Scanner teclat = new Scanner(System.in);
1 2 3 4 5 6                                 
+
 
 +
1. Fes un programa que demani dos números senars més grans que 4 i mostri el següent (en l'exemple els números són 5 -files- i 7 -columnes-) '''1,5 punts'''
 +
<pre>
 +
  Ex. 5 i 7                                              Ex. 3 i 9                                   
 +
 
 +
  1  3   5   7                                          5   7  9
 +
    4  2                                              8   6  4   2   
 +
  1   3  5  7                                          1  3  5  7  9
 +
    6   4  2                                                   
 +
  1  3  7                                     
 +
                                                     
 +
                                                     
 +
</pre>
 +
 
 +
2. Escriu un programa que mostri tots el números de 3 xifres que compleixen que la suma dels dígits de més pes és igual al 3r dígit. '''1,5 punts'''
 +
<pre>
 +
Ex
 +
 
 +
101 (1+0=1), 112 (1+1=2), 123 (1+2=3), 134 (1+3=4), 145 (1+4=5) ...
 +
</pre>
 +
 
 +
3. Fes un programa que demani un número de línies (més gran que 4 i imparell) i "dibuixi" la lletra 'N' (en l'exemple el número és 5) '''1,5 punts'''
 +
<pre>
 +
  #      #         
 +
  # #    #           
 +
  #   #   #           
 +
  #    # #   
 +
  #      #                                   
 +
</pre>
 +
 
 +
4. En una seqüencia de números enters positius acabada en -1, determinar si s’ha produït una seqüencia de 3 números parells o imparells seguits. '''1,5 punts'''
 +
<pre>
 +
Exemple 1
 +
 
 +
22 44 77 5 21 62 11 331 44 6 7 82 -1
 +
No!
 +
 
 +
Exemple 2
 +
 
 +
234 45 56 45 37 18 24 66
 +
Sí!
 +
 
 +
Exemple 3
 +
 
 +
44 589 24 126 37 39 28 12 91 121 327
 +
Sí!
 +
</pre>
 +
 
 +
5. Mostra per pantalla aquesta "representació" a partir d’un número introduït (en el exemple 5). '''2 punts'''
 +
<pre>
 +
            5
 +
          4 4
 +
          3 3 3
 +
        2 2 2 2
 +
        1 1 1 1 1
 
</pre>
 
</pre>
<!--
 
package proves;
 
  
import java.util.Scanner;
+
6. Mostra per pantalla aquesta "representació" a partir d’un número introduït (en el exemple 5). '''2 punts'''
 +
<pre>
 +
    *                *
 +
    * *            * *     
 +
    * * *        * * *
 +
    * * * *    * * * *             
 +
    * * * * * * * * * *
 +
</pre>
  
  
public class Proves {
+
===Prova 2===
  
    public static void main(String[] args) {
+
Recorda:  Scanner teclat = new Scanner(System.in);
       
 
        Scanner teclat = new Scanner(System.in);
 
       
 
        System.out.println("Introdueix un número: ");
 
        int n1 = teclat.nextInt();
 
        System.out.println("Introdueix un altre número: ");
 
        int n2 = teclat.nextInt();
 
        int files, columnes;
 
        if (n1 > n2) {
 
            files = n2;
 
            columnes = n1;
 
        } else {
 
            files = n1;
 
            columnes = n2;
 
        }
 
             
 
        for (int i=1; i<=files; i++){
 
                     
 
                if (i%2==1){
 
                    for (int j= 1; j <=columnes; j++) {
 
                        if (j==files || j== columnes){
 
                            System.out.print(" ");
 
                        }
 
                        else{
 
                        System.out.print(j +" "); 
 
                        }
 
                    }
 
                } else {
 
                    for (int j = columnes; j >=1; j--) {
 
                      if (j==files || j== columnes){
 
                            System.out.print(" ");
 
                        }
 
                        else{
 
                        System.out.print(j +" "); 
 
                        }
 
                    }
 
                }
 
                System.out.println("");
 
            }
 
        }
 
}
 
  
-->
+
1. Fes un programa que demani dos números senars més grans que 2 i mostri el següent (en l'exemple els números són 5 -files- i 7 -columnes-) '''1,5 punts'''
 +
<pre>
 +
  Ex. 5 i 7                        Ex. 3 i 9 
  
2. Escriu un programa que mostri tots el números de 3 xifres que compleixen que cada dígit és divisible per l’anterior.    
+
  1 2 3 4   6                      1 2  4 5 6 7 8       
 +
    6  4 3 2 1                      8 7 6 5 4  2 1
 +
  1 2 3 4  6                      1 2  4 5 6 7 8 
 +
    6  4 3 2 1                       
 +
  1 2 3 4  6                         
 +
</pre>
  
<pre>                                                                            
+
2. Escriu un programa que mostri tots el números de 3 xifres que compleixen que cada dígit és divisible per l'anterior. '''1 punt'''
 +
<pre>
 
Ex
 
Ex
111 (1%1=0 i 1%1=0) , 211 (2%1=0 i 1%1=0) , 221 (2%2=0 i 2%1=0), ...
+
 
 +
111 (1%1=0 i 1%1=0), 211 (2%1=0 i 1%1=0), 221 (2%2=0 i 2%1=0) ...
 +
</pre>
 +
 
 +
3. Fes un programa que demani un número de línies (més gran que 4 i imparell) i "dibuixi" la lletra 'S' (en l'exemple el número és 7) '''1,5 punts'''
 +
<pre>
 +
  # # # # # # #                   
 +
  #
 +
  #     
 +
  # # # # # # #                                             
 +
              #     
 +
              #     
 +
  # # # # # # #
 
</pre>
 
</pre>
<!--
 
  
package proves;
+
4. En una seqüencia de números enters positius acabada en -1, determinar si s’ha produït una seqüencia de 5 números en la que cada número és més gran que l'anterior o una seqüencia de 5 números en la que cada número és menor que l'anterior. '''2 punts'''
 +
<pre>
 +
Exemple 1
 +
 
 +
3 7 22 3 4 67 12 12 87 76 111 124 33 45 56 77 -1 → NO
 +
 
 +
Exemple 2
 +
 
 +
3 7 22 3 4 67 12 12 87 76 111 124 33 45 56 77 88 99  → SÍ
 +
 
 +
Exemple 3
 +
 
 +
3 7 22 3 4 67 12 12 87 76 111 124 88 45 36 17 11 → SÍ
 +
</pre>
  
public class ex2 {
+
5. Mostra per pantalla aquesta "representació" a partir d’un número introduït (en el exemple 5). '''2 punts'''
   
+
<pre>
    public static void main(String[] args) {
+
         1
        int d1, d2, d3;
+
      2 1 2
         for (int n=100; n<1000; n++){
+
    3 2 1 2 3
            d1 = n%10;
+
  4 3 2 1 2 3 4
            d2 = n/10%10;
+
5 4 3 2 1 2 3 4 5
            d3 = n/100;
+
</pre>
           
 
            if (d2!=0 && d1!=0){
 
                if (d3%d2==0 && d2%d1==0){
 
                    System.out.println(n);
 
                }
 
            }
 
           
 
        }
 
    }
 
}
 
  
 +
6. Mostra per pantalla aquesta "representació" a partir d’un número introduït (en el exemple 5). '''2 punts'''
 +
<pre>
 +
*      *
 +
* *  * *
 +
* * * * *   
 +
* *  * *       
 +
*      *
 +
</pre>
  
 
-->
 
-->
 +
<!--
 +
===Prova 3===
  
 +
1. Escriu un programa que imprimeixi el següent “triangle” de números tenint com a entrada el número de files. Per exemple si l’entrada fos 5 la sortida seria:  '''2 punts'''
 +
<pre>
 +
1
 +
1 2 1
 +
1 2 3 2 1
 +
1 2 3 4 3 2 1
 +
1 2 3 4 5 4 3 2 1
 +
</pre>
 +
 +
2. Volem construir una seqüència de números caracteritzada per:
 +
:* El primer element anomenat llavor pot ser qualsevol número positiu
 +
:* El segon element és igual a la llavor més 1
 +
:* Els altres elements són el producte de tots els anteriors més 1
 +
:* Per exemple si la llavor és 2, els primers elements són : 2, 3, 7, 43, 1807, 3263443, ... 
 +
 +
Escriu un programa que '''donada una llavor introduïda per teclat i un número màxim''' també introduït per teclat, ens mostri tota la seqüència d’elements de la seqüència inferiors al màxim, i finalment ens digui quants elements hi ha.  '''1,5 punts'''
 +
 +
Per exemple:
 +
<pre>
 +
Si llavor=2 i màxim=1000, escriurà : 2 3 7 43 i escriurà que la seqüència té 4 elements
 +
Si llavor =3 i màxim =25000, escriurà : 3 4 13 157 24493 i escriurà que la seqüència té 5 elements
 +
</pre>
  
3. Fes un programa que demani un número de línies (més gran que 4 i imparell) i "dibuixi" la lletra 'S' (en l'exemple el número és 7)                                            
+
3. Escriu un programa que demani un número senar com a entrada. Donarà com a sortida una lletra ' T ' majúscula escrita amb lletres ' t ' minúscules com les de la figura. La longitud de la barra superior i l'alçada de la T són les mateixes i iguals al número
 +
entrat per teclat ( a l'exemple 7). '''1,5 punts'''
 
<pre>
 
<pre>
    # # # # # # #                   
+
  t t t t t t t
    #
+
        t
    #     
+
        t
    # # # # # # #                                             
+
        t
                #     
+
        t
                #     
+
        t
    # # # # # # #
+
        t
 
</pre>
 
</pre>
<!--
 
package proves;
 
  
import java.util.Scanner;
+
4. En una seqüència de números enters positius acabada en -1, indicar quants números són iguals a la suma de tots els números que el precedeixen: '''1,5 punts'''
 +
Exemple:
 +
<pre>
 +
3  7  10  3  23  9  55  110  2  11  12  245  33  45  56  77 -1
 +
 
 +
Hi ha 5 números iguals a la suma dels que el precedeixen
 +
(10  23  55 110  245)
 +
</pre>
  
public class ex3 {
+
5. En una seqüencia de números enters positius acabada en -1, determinar si s’ha produït una seqüencia de 5 números en els que cada número és major que l’anterior o una seqüencia de 5 números en els que cada número és menor que l’anterior. '''1,5 punts'''                                                                                                                           
    public static void main(String[] args) {
 
      Scanner teclat = new Scanner(System.in);
 
       
 
        System.out.println("Introdueix un número: ");
 
        int n = teclat.nextInt();
 
           
 
        for (int i=1; i<=n; i++){
 
           
 
            if (i==1 || i==n || i==n/2+1){
 
                for (int j = 1; j <= n; j++) {
 
                    System.out.print("# ");                 
 
                }
 
            }
 
            else if (i<n/2+1){
 
                        System.out.print("# ");
 
                        }
 
            else{
 
                for (int j = 1; j < n; j++) {
 
                    System.out.print("  ");                 
 
                }
 
                System.out.print("# ");
 
               
 
            }
 
            System.out.println("");
 
        }
 
           
 
  }               
 
       
 
}
 
-->
 
  
4. En una seqüencia de números enters positius acabada en -1, determinar si s’ha produït una seqüencia de 5 números en els que cada número és major que l’anterior o una seqüencia de 5 números en els que cada número és menor que l’anterior.
+
Exemples.
                                                                                                                             
 
Exemples:
 
 
<pre>
 
<pre>
 
3  7  22  3  4  67 12  87  76  111  124  33  45  56  77 -1 → NO
 
3  7  22  3  4  67 12  87  76  111  124  33  45  56  77 -1 → NO
Línia 152: Línia 196:
 
3  7  22  3  4  67 12  87  76  111  124  88  45  36  17  11 → SÍ
 
3  7  22  3  4  67 12  87  76  111  124  88  45  36  17  11 → SÍ
 
</pre>
 
</pre>
 +
 +
6. Mostra per pantalla aquesta "representació" a partir d’un número introduït per teclat (en el exemple 5).                                                                                                  '''2 punts'''
 +
<pre>
 +
  # # # # # # #
 +
  #    *    #         
 +
  #    *    #
 +
  # * * * * * #
 +
  #    *    #   
 +
  #    *    #   
 +
  # # # # # # #
 +
</pre>
 +
-->

Revisió de 12:52, 6 maig 2021

2020-21