M3 - Programació estructurada / Exercicis UF1: For
1. Imprimir els números del 1 al 100.
package ex_for;
/**
* Imprimir els números del 1 al 100
*/
public class Ex1 {
public static void main(String[] args) {
for (int i = 1; i <=100; i++) {
System.out.println(i);
}
}
}
2. Imprimir els números parells del 0 al 98.
package ex_for;
/**
* Imprimir els números parells del 0 al 98
*/
public class Ex2 {
public static void main(String[] args) {
for (int i = 0; i <100; i=i+2) {
System.out.println(i);
}
}
}
3. Imprimir els números del 100 al 1.
package ex_for;
/**
* Imprimir els números del 100 al 1
*/
public class Ex3 {
public static void main(String[] args) {
for (int i = 100; i > 0; i--) {
System.out.println(i);
}
}
}
4. Demanar cinc números i mostrar la suma.
package ex_for;
import java.util.Scanner;
/**
* Ex4: Demanar cinc números i mostrar la suma
*/
public class Ex4 {
public static void main(String[] args) {
Scanner teclat = new Scanner(System.in);
int valor, suma, i;
suma = 0;
for (i = 0; i < 5; i++) {
System.out.print("Introdueix un valor: ");
valor = teclat.nextInt();
suma = suma + valor;
}
System.out.println("La suma és: " + suma);
}
}
5. Igual que l'anterior però només sumant els valors més grans de 10.
package ex_for;
import java.util.Scanner;
/**
* Demanar cinc números i sumar els valors que siguin més grans de 10
*/
public class Ex5 {
public static void main(String[] args) {
Scanner teclat = new Scanner(System.in);
int valor, suma, i;
suma = 0;
for (i = 0; i < 5; i++) {
System.out.print("Introdueix un valor: ");
valor = teclat.nextInt();
if (valor > 10) {
suma = suma + valor;
}
}
System.out.println("La suma és: " + suma);
}
}
6. Calcular el producte dels números del 1 al 10.
package ex_for;
/**
* Calcular el producte dels números del 1 al 10
*/
public class Ex6 {
public static void main(String[] args) {
int mult=1;
for (int i = 1; i <=10 ; i++) {
mult=mult*i;
}
System.out.println("EL resultat és: "+mult);
}
}
7. Demanar cinc números i mostrar el valor més gran.
Inicialitzeu max = Integer.MIN_VALUE; i aneu actualitzant max a cada iteració.
package ex_for;
import java.util.Scanner;
/**
* Demanar cinc números i mostrar el valor més gran
*/
public class Ex7 {
public static void main(String[] args) {
int valor, max = Integer.MIN_VALUE;
System.out.println(max);
Scanner teclat = new Scanner(System.in);
for (int i = 0; i < 5; i++) {
System.out.print("Introdueix un valor: ");
valor = teclat.nextInt();
if (valor > max) {
max = valor;
}
}
System.out.println("El màxim és: " + max);
}
}
8. Imprimir 20 asteriscos a la mateixa línia.
package ex_for;
/**
* Imprimir 20 asteriscos a la mateixa línia.
*/
public class Ex8 {
public static void main(String[] args) {
for (int i = 0; i < 20; i++) {
System.out.print("* ");
}
System.out.println("\n\n");
}
}
9. Fem el mateix però el número d’asteriscos el decideix l’usuari.
package ex_for;
import java.util.Scanner;
/**
* Imprimir n asteriscos a la mateixa línia.
*/
public class Ex9 {
public static void main(String[] args) {
int aster;
Scanner teclat = new Scanner(System.in);
System.out.println("Quants asteriscos vols?: ");
aster = teclat.nextInt();
for (int i = 0; i < aster; i++) {
System.out.print("* ");
}
System.out.println("\n\n");
}
}
10. Com l'anterior però fent un quadrat d'asteriscos. Per exemple si l'usuari introdueix el valor 5, imprimirà:
* * * * * * * * * * * * * * * * * * * * * * * * *
package ex_for_imbricats;
/**
* Quadrat n x n d'asteriscos
*/
import java.util.Scanner;
public class Ex10 {
public static void main(String[] args) {
int aster;
Scanner teclat = new Scanner(System.in);
System.out.println("Quants asteriscos vols?: ");
aster = teclat.nextInt();
//Cada línia
for (int linia = 1; linia <= aster; linia++) {
//Asteriscos dins la línia
for (int columna=1;columna <= aster;columna++){
System.out.print("* ");
}
System.out.println("");
}
}
}
11. Com l'anterior però fent un quadrat buit. Per exemple si l'usuari introdueix el valor 5, imprimirà:
* * * * * * * * * * * * * * * *
package ex_for_imbricats;
import java.util.Scanner;
/**
* Quadrat n x n d'asteriscos buit
*/
public class Ex11 {
public static void main(String[] args) {
int aster;
Scanner teclat = new Scanner(System.in);
System.out.println("Quants asteriscos vols?: ");
aster = teclat.nextInt();
//Cada línia
for (int linia = 1; linia <= aster; linia++) {
//Asteriscos dins la línia
for (int columna = 1; columna <= aster; columna++) {
if (linia == 1 || linia ==aster || columna == 1 || columna == aster){
System.out.print("* ");
}
else{
System.out.print(" ");
}
}
System.out.println("");
}
}
}
12. Escriu un programa que llegeixi un número N i mostri per pantalla el següent:
1 1 2 1 2 3 ... 1 2 3 ... N
package ex_for_imbricats;
import java.util.Scanner;
public class Ex12 {
public static void main(String[] args) {
Scanner teclat = new Scanner(System.in);
System.out.print("Introdueix el número de línies: ");
int lin = teclat.nextInt();
//Cada línia
for (int fila =1; fila<=lin;fila++){
//Valors per línia
for(int columna=1;columna<=fila;columna++){
System.out.print(columna+" ");
}
System.out.println("");
}
}
}
13. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
* * * * * * * * * * * * * * *
package ex_for_imbricats;
import java.util.Scanner;
public class Ex13 {
public static void main(String[] args) {
Scanner teclat = new Scanner(System.in);
System.out.print("Introdueix el número de línies: ");
int lin = teclat.nextInt();
for (int fila = 1; fila <=lin; fila++) {
for (int columna = 1; columna <=fila; columna++) {
System.out.print("* ");
}
System.out.println("");
}
}
}
14. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
* * * * * * * * * * * * * * *
package ex_for_imbricats;
import java.util.Scanner;
public class Ex14 {
public static void main(String[] args) {
Scanner teclat = new Scanner(System.in);
System.out.print("Introdueix el número de línies: ");
int lin = teclat.nextInt();
//Cada línia
for (int fila =1; fila<=lin;fila++){
//Asteriscos per línia
for (int columnes=fila;columnes<=lin;columnes++){
System.out.print("* ");
}
System.out.println("");
}
}
}
15. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
* * * * * * * * * * * * * * *
package ex_for_imbricats;
import java.util.Scanner;
public class Ex15 {
public static void main(String[] args) {
Scanner teclat = new Scanner(System.in);
System.out.print("Introdueix el número de línies: ");
int lin = teclat.nextInt();
//Cada línia
for (int fila = 1; fila <= lin; fila++) {
//Nombre d'espais
for (int espais=fila;espais<lin;espais++) {
System.out.print(" ");
}
//Nombre d'asteriscos
for (int asteriscos=1;asteriscos<=fila;asteriscos++) {
System.out.print("* ");
}
System.out.println("");
}
}
}
16. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
* * * * * * * * * * * * * * *
package ex_for_imbricats;
import java.util.Scanner;
/**
*
* @author acanela
*/
public class Ex16 {
public static void main(String[] args) {
Scanner teclat = new Scanner(System.in);
System.out.print("Introdueix el número de línies: ");
int lin = teclat.nextInt();
for (int fila = 1; fila <= lin; fila++) {
for (int espais = 1; espais < fila; espais++) {
System.out.print(" ");
}
for (int asteriscos = fila; asteriscos <= lin; asteriscos++) {
System.out.print(" *");
}
System.out.println("");
}
}
}
Algun exercici més:
17. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)
* * * * * * * * * * * * *
18. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari.
exemple 5 exemple 6 * * * * * * * * * * * * * * * * * * * * *
19. Mostra per pantalla aquesta "representació" a partir de la introducció de dos números imparells i es segon més gran que el primer (en el exemple 7 i 9).
* # * # o # * # * # * # * o * # * # * # * # o # * # * o o o o o o o o o * # * # o # * # * # * # * o * # * # * # * # o # * # *
Pas previ:
* # * # * # * # * # * # * # * # * # * # * # * # * # * # * # * # * # * # * # * # * # * # * # * # * # * # * # * # * # * # * # *
20. Mostra per pantalla aquesta "representació" a partir de la introducció d'un número (en el exemple 5).
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
21. Mostra per pantalla aquesta "representació" a partir de la introducció d'un número (en el exemple 5).
* * * * * * * * * * * * * * * *
22. Mostra per pantalla aquesta "representació" a partir de la introducció d'un número imparell més gran de 3.
exemple 5 exemple 7 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
23. Dibuixa un rectangle amb '*' demanant l'alçada (mínim 2) i l'amplada (mínim 2). En el exemple
exemple alçada 7 i amplada 5 ***** * * * * * * * * * * *****
24. Mostra per pantalla aquesta "representació" a partir de la introducció d'un número imparell més gran de 3 (en el exemple 5).
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 1 2 3 3 3 3 3 2 1 1 2 3 4 4 4 3 2 1 1 2 3 4 5 4 3 2 1 1 2 3 4 4 4 3 2 1 1 2 3 3 3 3 3 2 1 1 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1