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

De wikiserver
Dreceres ràpides: navegació, cerca
(Es crea la pàgina amb «==2018-19== ===Prova 1=== Recorda: Scanner teclat = new Scanner(System.in); 1. Fes un programa que demani dos números senars més grans que 4 i mostri el següent...».)
 
(Prova 1)
Línia 17: Línia 17:
 
                                                         1  3  5
 
                                                         1  3  5
 
</pre>
 
</pre>
<!--
+
 
 
<source lang="java">
 
<source lang="java">
 
package provessrc;
 
package provessrc;
Línia 60: Línia 60:
 
}
 
}
 
</source>
 
</source>
-->
+
<!---->
  
 
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.  
 
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.  
Línia 69: Línia 69:
 
</pre>
 
</pre>
  
<!--
+
 
 
<source lang="java">
 
<source lang="java">
 
package provessrc;
 
package provessrc;
Línia 88: Línia 88:
 
}
 
}
 
</source>
 
</source>
-->
+
<!---->
  
 
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)  
 
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)  
Línia 98: Línia 98:
 
   #      #                                     
 
   #      #                                     
 
</pre>
 
</pre>
<!--
+
 
 
<source lang="java">
 
<source lang="java">
 
package provessrc;
 
package provessrc;
Línia 123: Línia 123:
 
}
 
}
 
</source>
 
</source>
-->
+
<!---->
  
  
 
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.  
 
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.  
  
<!--
+
 
 
<source lang="java">
 
<source lang="java">
 
package provessrc;
 
package provessrc;
Línia 167: Línia 167:
 
}
 
}
 
</source>
 
</source>
-->
+
<!---->
  
  
Línia 179: Línia 179:
 
</pre>
 
</pre>
  
<!--
+
 
 
<source lang="java">
 
<source lang="java">
 
package provessrc;
 
package provessrc;
Línia 205: Línia 205:
 
}
 
}
 
</soruce>
 
</soruce>
-->
+
<!---->
 
6. Mostra per pantalla aquesta "representació" a partir d’un número introduït (en el exemple 5).  2 punts
 
6. Mostra per pantalla aquesta "representació" a partir d’un número introduït (en el exemple 5).  2 punts
 
<pre>
 
<pre>
Línia 214: Línia 214:
 
     * * * * * * * * * *
 
     * * * * * * * * * *
 
  </pre>
 
  </pre>
<!--
+
 
 
<source lang="java">
 
<source lang="java">
 
package provessrc;
 
package provessrc;
Línia 257: Línia 257:
 
   1 2 3 4  6                                   
 
   1 2 3 4  6                                   
 
</pre>
 
</pre>
-->
+
<!---->
<!--
+
 
 
<source lang="java">
 
<source lang="java">
 
package proves;
 
package proves;
Línia 310: Línia 310:
 
}
 
}
 
</source>
 
</source>
-->
+
<!-- -->
 
<!--  
 
<!--  
 
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.   

Revisió del 16:18, 26 feb 2020

2018-19

Prova 1

Recorda: Scanner teclat = new Scanner(System.in);

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

   Ex. 5 i 7                                             Ex. 7 i  5

   1   3   5   7                                         1   3   5    
     6   4   2                                             4   2
   1   3   5   7                                         1   3   5
     6   4   2                                             4   2              
   1   3   5   7                                         1   3   5
                                                           4   2 
                                                         1   3   5
package provessrc;

import java.util.Scanner;

public class Ex1 {

    public static void main(String[] args) {
        Scanner teclat = new Scanner(System.in);
        System.out.println("Introdueix un número:");
        int num1 = teclat.nextInt();

        System.out.println("Introdueix un segon número:");
        int num2 = teclat.nextInt();

        for (int i = 1; i <= num1; i++) {

            if (i % 2 == 1) {
                for (int j = 1; j <= num2; j++) {
                    if (j % 2 == 1) {
                        System.out.print(j + " ");
                    } else {
                        System.out.print("  ");
                    }
                }

            } else {
                for (int j = num2; j >= 1; j--) {
                    if (j % 2 == 1) {
                        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 la suma dels dígits de més pes és igual al 3r dígit.

Ex

123 (1+2=3), 134 (1+3=4), 145 (1+4=5)


package provessrc;

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

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)

   #       #          
   # #     #             
   #   #   #             
   #     # #    
   #       #                                    
package provessrc;

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 num = teclat.nextInt();
        
         for (int i = 1; i <= num; i++) {
             for (int j = 1; j <= num; j++) {
                 if (j==1 || j==num || i==j){
                     System.out.print("# ");
                 }else{
                     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 3 números parells o imparells seguits.


package provessrc;

import java.util.Scanner;

public class Ex4 {
     public static void main(String[] args) {
        Scanner teclat = new Scanner(System.in);
        int contParells=0, contImparells=0;
        System.out.println("Introdueix un número:");
        int num=teclat.nextInt();
        while (num!=-1 && contParells<3 && contImparells<3){
            if (num%2==0){
                contParells++;
                contImparells=0;
            }else{
                contImparells++;
                contParells=0;
            }
            if (contParells<3 && contImparells<3){
                 System.out.println("Introdueix un número:");
                 num=teclat.nextInt();
            }
        }
        if (contParells==3){
            System.out.println("Tres parells seguits..,");
        }
            else if (contImparells==3){
                    
                    System.out.println("Tres imparells seguits...");                 
         
        }
            else{
                System.out.println("No s'ha produït cap seqüència de tres números parells o imparells seguits.");
            }
     }
}


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

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


package provessrc;

import java.util.Scanner;


public class Ex5 {
     public static void main(String[] args) {
        Scanner teclat = new Scanner(System.in);
        int contParells=0, contImparells=0;
        System.out.println("Introdueix un número:");
        int num=teclat.nextInt();
        
         for (int i = 1; i <= num; i++) {
             for (int j = 1; j < num-i+1; j++) {
                 System.out.print(" ");
             }
             for (int j = 1; j <=i; j++) {
                 System.out.print(num-i+1+" ");
             }
             System.out.println("");
         }
     }
}
</soruce>
<!---->
6. Mostra per pantalla aquesta "representació" a partir d’un número introduït (en el exemple 5).  2 punts
<pre>
    *                 *
    * *             * *       
    * * *         * * *
    * * * *     * * * *              
    * * * * * * * * * *
 </pre>

<source lang="java">
package provessrc;

import java.util.Scanner;

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

-->

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("");
            }
        }
}