martes, 30 de abril de 2019

Ejercicios para practicar la salida de datos por pantalla: System.out.print y System.out.println

Relación Nº 1: Ejercicios 1 y 2

Empezamos con una serie de ejercicios para aquellos que están comenzando desde cero con el lenguaje Java y tampoco tienen experiencia con ningún otro lenguaje de programación. 
En estos ejercicios básicos inicales se realizan las siguientes instrucciones: declarar variables, asignarles un valor, operar con ellas y mostrar resultados por pantalla.
Estos ejercicios son todos de estructura secuencial, es decir, no hay condiciones ni bucles. Tampoco se lee nada por teclado. El objetivo es familiarizarse con la declaración de variables y practicar la salida por consola utilizando los métodos print y println.

Ejercicio básico inicial 1:

Escribe un programa Java que realice lo siguiente: declarar una variable N de tipo int, una variable A de tipo double y una variable C de tipo char y asigna a cada una un valor. A continuación muestra por pantalla:
El valor de cada variable.
La suma de N + A
La diferencia de A - N
El valor numérico correspondiente al carácter que contiene la variable C.
Si por ejemplo le hemos dado a N el valor 5, a A el valor 4.56 y a C el valor ‘a’, se debe mostrar por pantalla:

Variable N = 5
Variable A = 4.56
Variable C = a
5 + 4.56 = 9.559999999999999
4.56 - 5 = -0.4400000000000004
Valor numérico del carácter a = 97

/*
 * Solución Ejercicio Básico Inicial 1
 */

package bi1;

public class Main {

    public static void main(String[] args) {
        int N = 5;
        double A = 4.56;
        char C = 'a';
        System.out.println("Variable N = " + N);
        System.out.println("Variable A = " + A);
        System.out.println("Variable C = " + C);
        System.out.println(N + " + " + A + " = " + (N+A));
        System.out.println(A + " - " + N + " = " + (A-N));
        System.out.println("Valor numérico del carácter " + C + " = " + (int)C);
    }
}


Ejercicio básico inicial 2:

Escribe un programa Java que realice lo siguiente: declarar dos variables X e Y de tipo int, dos variables N y M de tipo double y asigna a cada una un valor. A continuación muestra por pantalla:
El valor de cada variable.
La suma  X + Y
La diferencia  X – Y
El producto  X * Y
El cociente  X / Y
El resto  X % Y
La suma  N + M
La diferencia  N – M
El producto  N * M
El cociente  N / M
El resto  N % M
La suma X + N
El cociente Y / M
El resto Y % M
El doble de cada variable
La suma de todas las variables
El producto de todas las variables
Si por ejemplo le hemos dado a X el valor 1, a Y el valor 2, a M el valor 3.2 y a N el valor 4.7 se debe mostrar por pantalla:
Variable X = 1
Variable Y = 2
Variable M = 3.2
Variable N = 4.7
1 + 2 = 3
1 - 2 = -1
1 * 2 = 2
1 / 2 = 0
1 % 2 = 1
4.7 + 3.2 = 7.9
4.7 - 3.2 = 1.5
4.7 * 3.2 = 15.040000000000001
4.7 / 3.2 = 1.46875
4.7 % 3.2 = 1.5
1 + 4.7 = 5.7
2 / 3.2 = 0.625
2 % 3.2 = 2.0
Variable X = 1 el doble es 2
Variable Y = 2 el doble es 4
Variable M = 3.2 el doble es 6.4
Variable N = 4.7 el doble es 9.4
1 + 2 + 4.7 + 3.2 = 10.9
1 * 2 * 4.7 * 3.2 = 30.080000000000002

/*
 * Solución Ejercicio Básico Inicial 2
 */


package bi2;

public class Main {

    public static void main(String[] args) {
        int X = 1, Y = 2;
        double M = 3.2, N = 4.7;
        System.out.println("Variable X = " + X);
        System.out.println("Variable Y = " + Y);
        System.out.println("Variable M = " + M);
        System.out.println("Variable N = " + N);
        System.out.println(X + " + " + Y + " = " + (X+Y));
        System.out.println(X + " - " + Y + " = " + (X-Y));
        System.out.println(X + " * " + Y + " = " + X*Y);
        System.out.println(X + " / " + Y + " = " + X/Y);
        System.out.println(X + " % " + Y + " = " + X%Y);
        System.out.println(N + " + " + M + " = " + (N+M));
        System.out.println(N + " - " + M + " = " + (N-M));
        System.out.println(N + " * " + M + " = " + N*M);
        System.out.println(N + " / " + M + " = " + N/M);
        System.out.println(N + " % " + M + " = " + N%M);
        System.out.println(X + " + " + N + " = " + (X+N));
        System.out.println(Y + " / " + M + " = " + Y/M);
        System.out.println(Y + " % " + M + " = " + Y%M);
        System.out.println("Variable X = " + X + " el doble es " + 2*X);
        System.out.println("Variable Y = " + Y + " el doble es " + 2*Y);
        System.out.println("Variable M = " + M + " el doble es " + 2*M);
        System.out.println("Variable N = " + N + " el doble es " + 2*N);
        System.out.println(X + " + " + Y + " + " + N + " + " + M + " = " + (X+Y+M+N));
        System.out.println(X + " * " + Y + " * " + N + " * " + M + " = " + (X*Y*M*N));
    }
}

Ejercicio básico inicial 3
Escribe un programa Java que declare una variable entera N y asígnale un valor. A continuación escribe las instrucciones que realicen los siguientes:
Incrementar N en 77.
Decrementarla en 3.
Duplicar su valor.
Si por ejemplo N = 1 la salida del programa será:
Valor inicial de N = 1
N + 77 = 78
N - 3 = 75
N * 2 = 150

/*
 * Solución Ejercicio Básico Inicial 3
 */
package bi3;
public class Main {
    public static void main(String[] args) {
        int N = 1;
        System.out.println("Valor inicial de N = " + N);
        N+=77;
        System.out.println("N + 77 = " + N);
        N-=3;
        System.out.println("N - 3 = " + N);
        N*=2;
        System.out.println("N * 2 = " + N);
    }
}

Ejercicio básico inicial 4
Programa java que declare cuatro variables enteras A, B, C y D y asígnale un valor a cada una. A continuación realiza las instrucciones necesarias para que:
B tome el valor de C
C tome el valor de A
A tome el valor de D
D tome el valor de B
Si por ejemplo A = 1, B = 2, C = 3 y D = 4 el programa debe mostrar:
Valores iniciales
A = 1
B = 2
C = 3
D = 4
Valores finales
B toma el valor de C -> B = 3
C toma el valor de A -> C = 1
A toma el valor de D -> A = 4
D toma el valor de B -> D = 2

/*
 * Solución Ejercicio Básico Inicial 4
 */
package bi6;
public class Main {
    public static void main(String[] args) {
        int A = 1, B = 2, C = 3, D = 4, AUX;
        System.out.println("Valores iniciales");
        System.out.println("A = " + A);
        System.out.println("B = " + B);
        System.out.println("C = " + C);
        System.out.println("D = " + D);
        AUX = B;
        B = C;
        C = A;
        A = D;
        D = AUX;
        System.out.println("Valores finales");
        System.out.println("B toma el valor de C -> B = " + B);
        System.out.println("C toma el valor de A -> C = " + C);
        System.out.println("A toma el valor de D -> A = " + A);
        System.out.println("D toma el valor de B -> D = " + D);
    }
}

Ejercicios con los operadores incremento y decremento: ++ y --

Ejercicio 1: Si x es una variable de tipo int con valor 10, determina qué se muestra por pantalla cuando se ejecutan las siguientes instrucciones:
int x = 10;
System.out.println(x);
x++;
System.out.println(x);
System.out.println(++x);
System.out.println(x++);
System.out.println(x);
System.out.println(x++);
System.out.println(++x);
System.out.println(++x);
++x;
x++;
System.out.println(++x);
System.out.println(x++);
System.out.println(++x);

Ejercicio 2: Dadas las variables A y B de tipo char, calcula qué se muestra por pantalla cuando se ejecutan las siguientes instrucciones:
char A = 'c';
char B;
System.out.println(A++);
System.out.println(A++);
System.out.println(++A);
B = --A;
System.out.println(++A);
A++;
--B;
System.out.println(B++);
System.out.println(++B);
System.out.println(++A);
System.out.println(B--);
System.out.println(A);
System.out.println(B);

Ejercicio 3: Un programa Java contiene las siguientes declaraciones y asignaciones iniciales:
int i = 1, j = 1, k = 1;
Determina el valor final de las tres variables en cada una de las siguientes instrucciones. Las instrucciones son independientes unas de otras, es decir, el valor inicial de las variables en cada instrucción es i = 1, j = 1, k = 1.

int i = 1, j = 1, k = 1;
a) i = ++j;
b) i = k++;
c) i = k + ++j;
d) i = i + j++;
e) i = j + ++k;
f) i = ++j + k++;
g) j = k-- + --i;
h) i = k + 1 + ++j;
i) i = ++i + --j + k--;
j) k = j-- + ++k;


Soluciones
Solución ejercicio 1:



Valor de X
Salida por pantalla

int x = 10;
10


System.out.println(x);

10

x++;
11


System.out.println(x);

11

System.out.println(++x);
12
12
Primero se incrementa el valor de x y después se muestra
System.out.println(x++);
13
12
Primero muestra el valor de x y después se realiza el incremento
System.out.println(x);

13

System.out.println(x++);
14
13
Primero muestra el valor de x y después se realiza el incremento
System.out.println(++x);
15
15
Primero se incrementa el valor de x y después se muestra
System.out.println(++x);
16
16
Primero se incrementa el valor de x y después se muestra
++x;
17


x++;
18


System.out.println(++x);
19
19
Primero se incrementa el valor de x y después se muestra
System.out.println(x++);
20
19
Primero muestra el valor de x y después se realiza el incremento
System.out.println(++x);
21
21
Primero se incrementa el valor de x y después se muestra


Solución ejercicio 2:


A
B
Salida por pantalla

char A = 'c';
'c'



char B;




System.out.println(A++);
'd'

c
Primero muestra el valor de A y después se realiza el incremento
System.out.println(A++);
'e'

d
Primero muestra el valor de A y después se realiza el incremento
System.out.println(++A);
'f'

f
Primero se incrementa el valor de A y después se muestra
B = --A;
'e'
'e'

Primero se decrementa el valor de A y después se asigna a B
System.out.println(++A);
'f'

f
Primero se incrementa el valor de A y después se muestra
A++;
'g'



--B;

'd'


System.out.println(B++);

'e'
d
Primero muestra el valor de B y después se realiza el incremento
System.out.println(++B);

'f'
f
Primero se incrementa el valor de B y después se muestra
System.out.println(++A);
'h'

h
Primero se incrementa el valor de A y después se muestra
System.out.println(B--);

'e'
f
Primero muestra el valor de B y después se realiza el decremento
System.out.println(A);


h

System.out.println(B);


e



Solución ejercicio 3:

i=1
j=1
k=1
a) i = ++j;
2
2
1
b) i = k++;
1
1
2
c) i = k + ++j;
3
2
1
d) i = i + j++;
2
2
1
e) i = j + ++k;
3
1
2
f) i = ++j + k++;
3
2
2
g) j = k-- + --i;
0
1
0
h) i = k + 1 + ++j;
4
2
1
i) i = ++i + --j + k--;
3
0
0
j) k = j-- + ++k;
1
0
3