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

De wikiserver
Dreceres ràpides: navegació, cerca
(Prova 2)
(Prova 2)
Línia 67: Línia 67:
 
   1 2 3 4 5 6                                   
 
   1 2 3 4 5 6                                   
 
</pre>
 
</pre>
<!--
+
<!-- -->
 
package proves;
 
package proves;
  
Línia 118: Línia 118:
 
}
 
}
  
-->
+
 
  
 
2. Escriu un programa que mostri tots el números de 3 xifres que compleixen que cada dígit és divisible per l’anterior.   
 
2. Escriu un programa que mostri tots el números de 3 xifres que compleixen que cada dígit és divisible per l’anterior.   
Línia 126: Línia 126:
 
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>
 
</pre>
<!--
+
<!-- -->
  
 
package proves;
 
package proves;
Línia 150: Línia 150:
  
  
-->
+
 
  
  
Línia 163: Línia 163:
 
     # # # # # # #
 
     # # # # # # #
 
</pre>
 
</pre>
<!--
+
<!-- -->
 
package proves;
 
package proves;
  
Línia 198: Línia 198:
 
          
 
          
 
}
 
}
-->
+
 
  
 
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.
 
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.
Línia 210: Línia 210:
 
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>
<!--
+
<!-- -->
 
package proves;
 
package proves;
  
Línia 255: Línia 255:
 
}
 
}
 
}
 
}
-->
+
 
  
 
5. Mostra per pantalla aquesta "representació" a partir d’un número introduït (en el exemple 5).                                                                                                               
 
5. Mostra per pantalla aquesta "representació" a partir d’un número introduït (en el exemple 5).                                                                                                               
Línia 265: Línia 265:
 
   5  4  3  2  1  2  3  4  5
 
   5  4  3  2  1  2  3  4  5
 
</pre>
 
</pre>
<!--
+
<!-- -->
 
package proves;
 
package proves;
  
Línia 293: Línia 293:
 
     }   
 
     }   
 
}
 
}
-->
+
 
  
 
6. Mostra per pantalla aquesta "representació" a partir d’un número impar introduït per teclat (en el exemple 5).                                                                                                   
 
6. Mostra per pantalla aquesta "representació" a partir d’un número impar introduït per teclat (en el exemple 5).                                                                                                   
Línia 303: Línia 303:
 
     *              *
 
     *              *
 
</pre>
 
</pre>
<!--
+
<!-- -->
 
package proves;
 
package proves;
  
Línia 350: Línia 350:
 
     }
 
     }
 
}
 
}
 
-->
 

Revisió del 21:04, 31 gen 2019

2018-19

Prova 2

1. Fes un programa que demani dos números senars més grans que 2 i mostri el següent:

                                                                                                      
     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    
   1 2 3 4 5 6                                      1 2   4 5 6   
     6   4 3 2 1                                     
   1 2 3 4 5 6                                   

package proves;

import java.util.Scanner;


public class Proves {

   public static void main(String[] args) {
       
       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("");
           }
       }

}


2. Escriu un programa que mostri tots el números de 3 xifres que compleixen que cada dígit és divisible per l’anterior.

                                                                             
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), ...

package proves;

public class ex2 {

   public static void main(String[] args) {
       int d1, d2, d3;
       for (int n=100; n<1000; n++){
           d1 = n%10;
           d2 = n/10%10;
           d3 = n/100;
           
           if (d2!=0 && d1!=0){
               if (d3%d2==0 && d2%d1==0){
                   System.out.println(n);
               }
           }
           
       }
   }

}



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)

    # # # # # # #                     
    # 
    #      
    # # # # # # #                                              
                #       
                #       
    # # # # # # #

package proves;

import java.util.Scanner;

public class ex3 {

   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:

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  88  99   → SÍ

3  7  22  3  4  67 12  87  76  111  124  88  45  36  17  11 → SÍ

package proves;

import java.util.Scanner;

public class ex4 {

     public static void main(String[] args) {
         
     int contMajors=0, contMenors=0;
     Scanner teclat = new Scanner(System.in);
     System.out.println("Introdueix un número: ");
     int num = teclat.nextInt();
     if (num != -1) {
        int numant=num;
        System.out.println("Introdueix un número: ");
        num = teclat.nextInt();
     
        while (num!=-1 && contMajors < 5 && contMenors<5){
            if (num > numant){
                contMajors++;
                contMenors=0;
            } else if (num < numant){
                contMenors--;
                contMajors=0;
            }else{
                contMajors=0;
                contMenors=0;
            }
            if (contMajors < 5 && contMenors<5){
               numant=num;
               System.out.println("Introdueix un número: ");
               num = teclat.nextInt();
            }
           
        }  
        
     } 
     if (num!= -1){
         System.out.println("Sí");
     }
     else{
         System.out.println("No");
     }    

} }


5. Mostra per pantalla aquesta "representació" a partir d’un número introduït (en el exemple 5).

               1
            2  1  2
         3  2  1  2  3
      4  3  2  1  2  3  4
   5  4  3  2  1  2  3  4  5

package proves;

import java.util.Scanner;

public class ex5 {

   public static void main(String[] args) {
       
     Scanner teclat = new Scanner(System.in);
     System.out.println("Introdueix un número: ");
     int num = teclat.nextInt();
     
       for (int i = 1; i <=num; i++) {
           
           for (int j = 1; j < 2*(num-i+1); j++) {
               System.out.print(" ");
           }
           for (int j = 1; j <= i; j++) {
               System.out.print((i-j+1)+" ");
           }
           for (int j = 2; j <= i; j++) {
               System.out.print(j+" ");
           }
           System.out.println("");
       }
     
   }  

}


6. Mostra per pantalla aquesta "representació" a partir d’un número impar introduït per teclat (en el exemple 5).

     *              *
     *  *        *  *
     *  *  *  *  *  *    
     *  *        *  *        
     *              *

package proves;

import java.util.Scanner;


public class ex6 {

   public static void main(String[] args) {
       Scanner teclat = new Scanner(System.in);
       System.out.println("Introdueix un número: ");
       int num = teclat.nextInt();
       for (int i = 1; i <= num / 2 + 1; i++) {
           for (int j = 1; j <= i; j++) {
               System.out.print("* ");
           }
           for (int j = 1; j < num - (2 * (i - 1)); j++) {
               System.out.print("  ");
           }
           for (int j = 1; j <= i; j++) {
               System.out.print("* ");
           }
           System.out.println("");
       }
       for (int i = 1; i <= num - (num / 2 + 1); i++) {
           for (int j = i; j <= num - (num / 2 + 1); j++) {
               System.out.print("* ");
           }
           for (int j = 1; j <= 2 + (2 * (i - 1)); j++) {
               System.out.print("  ");
           }
           for (int j = i; j <= num - (num / 2 + 1); j++) {
               System.out.print("* ");
           }
           System.out.println("");
       }
   }

}