miércoles, 21 de octubre de 2009

Ejercicios de Repaso - Cadenas

Aquí van otra tanda de trabajo práctico, para acabar de dominar y dar por cerrado el capítulo de cadenas.

Ejercicio 1

Hacer un ejercicio que pida una fecha en formato dd/mm/yy. La salida del programa debe mostrar la fecha en formato dd de mes de aaaa, es decir:
  • Fecha Introducida: 21/10/09
  • Resultado: 21 de Octubre de 2009
 Suponemos que el año introducido es del siglo actual.

 

Ejercicio 2

Crear un proyecto nuevo con una variable String que contenga el valor: "Mañana es sabado sabadete y voy a irme a tomarme unas copillas por los barrios bajos de Logroño". Debéis mostrar por consola el número de veces que aparece la letra a. Pista: Utilizar el while () {}.

 
Ejercicio 3

Calcular la letra del NIF. Se pide el número de DNI por teclado y el programa devuelve el DNI terminado con la letra del NIF. Para calcular la letra, hay que hacer la siguiente operación:

 
Dividir el número del DNI entre 23. El resto dará un valor entre 0 y 22 que se corresponderá con esta tabla:

0:T
1:R
2:W
3:A
4:G
5:M
6:Y
7:F
8:P
9:D
10:X
11:B
12:N
13:J
14:Z
15:S
16:Q
17:V
18:H
19:L
20:C
21:K
22:E


 
Ejercicio 4

Validar que un número de tarjeta de crédito es correcta. El programa pedirá un número de tarjeta de crédito de la forma: A A A A B B B B C C C C D D D D. El cálculo se hace de la siguiente manera:

 
  1. Cada cifra de una posición impar la multiplicamos por 2.
  2. Si el resultado de la multiplicación es menor que 9, guardamos ese resultado.
  3. Si es mayor que 9, le restamos 9 al resultado de la multiplicación.
  4. Sumamos todos los digitos, sustituyendo las posiciones impares por el resultado del paso 2 o 3.
  5. Si la suma total es divisible por 10 y menor o igual que 150 nuestro número es correcto.

 
Ejemplo: 5411 0688 4519 9818

Nos fijamos en sus cifras impares: 5, 1, 0, 8, 4, 1, 9 y 1

Las multiplicamos por dos:

  • 5 * 2 = 10 (¿mayor que 9? -> Si. Resto 9 -> 10 - 9 = 1)
  • 1 * 2 = 2 (¿mayor que 9? -> No. Lo dejo tal cual)
  • 0 * 2 = 0
  • 8 * 2 = 16 (16>9 , así que 16 - 9 = 7)
  • 4 * 2 = 8
  • 1 * 2 = 2
  • 9 * 2 = 18 (18>9 , así que 18 - 9 = 9)
  • 1 * 2 = 2 
Sumamos los valores

1+4+2+1+0+6+7+8+8+5+2+9+9+8+2+8=80

 
Como es divisible por 10 y menor que 150, el resultado es: CORRECTO.

No hay comentarios: