Está en la página 1de 7

MATERIAL DE REPASO Y PRÁCTICA UNIDAD 3

INTRODUCCIÓN A LA PROGRAMACIÓN GRUPO 1


DOCENTE: M.SC. ING. OSCAR CONTRERAS CARRASCO
CURSO DE VERANO 3-2022

PARTE 1: Preguntas de repaso

1. Mencione al menos tres tipos de datos primitivos y tres compuestos en referencia al


lenguaje Java.
2. ¿Qué diferencia existe entre pre y postincremento?
3. ¿Qué operadores de control de flujo se tienen en el lenguaje Java?
4. ¿Qué es el JVM?
5. ¿Qué objetivo cumplen los utilitarios java y javac?
6. ¿Qué es un arreglo?
7. ¿Qué es un String?
8. Mencione la longitud en almacenamiento de diferentes tipos de datos en Java.
9. Mencione las características del operador ternario.
10. Mencione los elementos que integran una clase

PARTE 2: Ejercicios de programación.


NOTA: Asuma que la entrada y salida de datos es estándar.

2.1. Programación básica con Java

NOTA: Varios de los siguientes ejercicios ya fueron resueltos en la Unidad 2. Lo que se busca
ahora es que implementen los algoritmos desarrollados en el lenguaje Java.

1. Sea n el día de la semana, donde 1 es domingo y 7 es sábado. Crear un programa para


mostrar el día de la semana literal. Ejemplo: Si n = 2, entonces el programa deberá mostrar
“Lunes”
2. Crear un método para calcular el factorial de un número por medio de sumas, donde el
factorial se define como la multiplicación sucesiva de los números naturales hasta el número
dado, ejemplo:
0! = 1! = 1
2! = 1 x 2 = 2
3! = 1 x 2 x 3 = 6
4! = 1 x 2 x 3 x 4 = 24
5! = 1 x 2 x 3 x 4 x 5 = 120

3. Dado un número n, crear un programa que muestre n elementos de la siguiente serie:

1 4 3 7 5 10 7 13 9 16…
4. Dados dos números enteros a y b, crear un programa para calcular su división por medio
de restas. Por ejemplo:

Sea 10 / 2

10 – 2 = 8
8–2=6
6–2=4
4–2=2
2–2=0

El cociente de la división es el número de restas realizadas hasta que la resta sea menor que b,
por lo tanto en este caso es 5, y el residuo es el resultado de la última resta, es decir, cero.

Sea 20 / 3

20 – 3 = 17
17 – 3 = 14
14 – 3 = 11
11 – 3 = 8
8–3=5
5–3=2

Entonces en este caso la división es 6 (número de restas) y el residuo es 2.

5. Dado un número n positivo menor que 10, crear un programa que muestre n filas de la
siguiente secuencia:

1 x 9 + 2 = 11
12 x 9 + 3 = 111
123 x 9 + 4 = 1111
1234 x 9 + 5 = 11111
12345 x 9 + 6 = 111111
123456 x 9 + 7 = 1111111
1234567 x 9 + 8 = 11111111
12345678 x 9 + 9 = 111111111
123456789 x 9 + 10 = 1111111111

6. Dada una secuencia de 10 valores numéricos, crear un programa que muestre en pantalla la
diferencia entre el máximo y el mínimo de dicha secuencia. Por ejemplo, si la secuencia es:

1 4 8 1 3 6 2 10 15 3 7
Se debe mostrar 14 (la diferencia entre 15 y 1)

7. Dado un número n, crear un programa para operar n paréntesis de la siguiente serie:

(1 + 2 + 3) x (4 + 5 + 6) x (7 + 8 + 9) x (10 + 11 + 12) ….

8. Dado un número n en base 10, crear un programa para realizar su conversión a binario. El
resultado debe ser almacenado en un nuevo número con dígitos 1 y 0. Por ejemplo:

Si n = 11, entonces el número resultante debe ser 1011

9. Dado un número n, y el número de rotaciones (nrot) deseadas hacia la derecha, crear un


programa que realice dicho número de rotaciones y luego muestre el resultado en pantalla,
por ejemplo, si n = 12345 y nrot = 3 entonces se deberá mostrar:

51234
45123
34512

10. Dados dos números n1 y n2 con el mismo número de dígitos, crear un programa para
generar un tercer número que tome el máximo dígito de cada número en la misma posición.
Por ejemplo:

Si n1 = 32678
n2 = 42571

Entonces, el resultado deberá ser 42678, porque el máximo entre 3 y 4 es 4, el máximo entre 2
y 2 es 2, el máximo entre 6 y 5 es 6, el máximo entre 7 y 7 es 7 y el máximo entre 8 y 1 es 8.

11. Dados dos números enteros, generar la suma dígito por dígito, tal como se efectúa en
papel. Por ejemplo, la suma de los siguientes dos números:

136798
+71002
------------
207800

Si tomamos los últimos dígitos, entonces 8 + 2 = 10 (lleva 1 y queda 0)


Luego 1 + 9 = 10 (lleva 1 y queda 0)
Luego 1 + 7 = 8 (lleva 0)
Luego 6 + 1 = 7 (lleva 0)
Luego 3 + 7 = 10 (lleva 1 y queda 0)
Luego 1 + 1 = 2

Finalmente el resultado (acomodando los dígitos en el número final) es 207800.

12. (Ejercicio desafío) Introducir dos números enteros positivos y verificar si el primer número
esta inmerso en el segundo número. (No se permiten cadenas para realizar el procedimiento)

Ejemplos:

12
23123 – Está inmerso

12
373 – No está inmerso

12
738212 – Está inmerso

2.2. Operaciones con arreglos y cadenas

13. Crear un programa que dado un arreglo de 10 elementos, obtenga el promedio del
máximo y mínimo elemento.

14. Crear un programa que dado un arreglo de n elementos positivos (n dado por entrada
estándar), obtenga la suma de los números impares.

15. Crear un programa en Java que realice la conversión de decimal a hexadecimal usando
cadenas.

16. Crear un programa que dada una fecha (día, mes y año), obtenga la fecha del día
siguiente tomando en cuenta el mes, número de días, años bisiestos, etc.

17. Crear un programa que dado un número entre 1 y 1000, muestre su equivalente en
números romanos. Ej:

540 es DXL en romanos.

18. Crear un programa que dado un número entre 1 y 999999, muestre en pantalla su literal.
Por ejemplo:

12463 es Doce mil cuatrocientos sesenta y tres.


19. Crear un programa para llenar n (donde n > 2) elementos de un arreglo con n términos de
la serie de Fibonacci:
0 1 1 2 3 5 8 13…

20. Crear un programa para verificar si un arreglo es palíndrome, es decir, si sus elementos
son los mismos si se invierte el arreglo. Por ejemplo:

1 2 3 3 2 1

Es palíndrome, pues al invertir el arreglo obtenemos los mismos elementos.

21. Crear un programa para ordenar los elementos de un arreglo de menor a mayor usando
el método de la burbuja (Bubblesort).

Por ejemplo, si el arreglo es:

4 1 8 2 7 3

El resultado final deberá ser:

1 2 3 4 7 8

22. Crear un programa para mostrar los números primos menores o iguales que n haciendo
uso de la Criba de Eratóstenes, por ejemplo. Si n = 15, entonces:

Iteración 1, p = 2, por lo tanto tachamos de a 2 en 2 sin tomar en cuenta el primero:

2 3 4 5 6 7 8 9 10 11 12 13 14 15

Iteración 2, p = 3, por lo tanto tachamos de a 3 en 3 sin tomar en cuenta el primero:

2 3 4 5 6 7 8 9 10 11 12 13 14 15

El algoritmo termina aquí, pues en la siguiente iteración p 2 = 16 que es mayor que n = 15. Se
debe mostrar en pantalla los que no están tachados, o sea 2, 3, 5, 7, 11 y 13.

23. (Ejercicio desafío) Una secuencia de caracteres es llamada una reja si consiste de
caracteres ‘|’ y ‘-‘ alternados, por ejemplo “|-|-|-|” o “-|-|” (las comillas sólo se muestran por
claridad en la presentación de cadenas). Note que “|-||-|” o “- -“ no son rejas, debido a que
contienen dos caracteres iguales adyacentes. Dada una cadena s, encuentre la subcadena
consecutiva más larga de ella, que tenga una reja y devuelva su longitud.
Ejemplos:

Si la entrada es |-|-|, entonces el programa debe imprimir 5


Si la entrada es -|-|-|-, entonces el programa debe imprimir 7
Si la entrada es |-||-|-, entonces el programa debe imprimir 4
Si la entrada es ||||||, entonces el programa debe imprimir 0
Si la entrada es -|-|-|- -||- -|-|-|-|-, entonces el programa debe imprimir 9

2.3. Matrices

24. Crear un programa que llene una matriz n x n (n dado por entrada estándar) con los
primeros elementos de la serie de Fibonacci. Por ejemplo, si n = 3, se deberá generar y
además mostrar en pantalla:

0 1 1
2 3 5
8 13 21

25. Crear un programa que realice la suma de dos matrices de las mismas dimensiones.
26. Crear un programa que obtenga la matriz transpuesta de una matriz dada. Ejemplo, si se
da:

Entonces, el programa deberá generar y además mostrar:

27. Crear un programa que realice la multiplicación de dos matrices, por ejemplo:
28. Crear un método “rotarMatriz” que realice la rotación de los elementos de una matriz 90
grados en sentido horario. Por ejemplo:

29. Genera la Matriz N x N, Únicamente para valores impares de N.

Ejemplo: N=5

Para N = 3

Y para N = 7

30. (Ejercicio desafío). Crear un programa para generar una matriz NxN espiral de las
siguientes características:

Por ejemplo, cuando N = 4


1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
Y cuando N = 5
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

También podría gustarte