Diferència entre revisions de la pàgina «M3 - Programació estructurada / Exercicis UF1: Proves»
(→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(""); }
}
}