Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ESTRUCTURA DE
DATOS Y
PROGRAMACIÓN
ORIENTADA A
OBJETOS
Tema Nº3:
TEMA 01
Cadenas y métodos deTeoría
lista de los
TEMA de
Indicador Nº3:
logro Nº3:
Utiliza los diferentes métodos de cuerda a través de un lenguaje de programación.
1
Guía 3 Escuela de Estructura de Datos y Programación
Tecnología Orientada a Objetos
Excepciones
Subtema 3.1:
Caracteres y cadenas.
o El primer problema a mostrar es el cifrado César.
o El segundo es la transformación inversa ahora debe ser clara.
o El tercer programa muestra un método simple que le permite ingresar una línea llena
de números y procesarlos fácilmente.
o El cuarto programa implementa (en una forma ligeramente simplificada) un algoritmo
utilizado por los bancos europeos para especificar los números de cuenta. El estándar
denominado IBAN (Número de cuenta bancaria internacional).
CIFRADO CÉSAR
Este código fue (probablemente) inventado y utilizado por Gaius Julius Caesar y sus
tropas durante las Guerras Gálicas. La idea es bastante simple: cada letra del mensaje
es reemplazada por su consecuente más cercano (A se convierte en B, B se convierte
en C, etc.). La única excepción es Z, que se convierte en A.
Este programa es una implementación muy simple (pero funcional) del algoritmo. Lo
hemos escrito usando los siguientes supuestos:
o Solo acepta letras latinas (nota: los romanos no utilizaron espacios en blanco ni
dígitos).
o Todas las letras del mensaje están en mayúsculas (nota: los romanos solo sabían
mayúsculas).
PROGRAMA:
2
Guía 3 Escuela de Estructura de Datos y Programación
Tecnología Orientada a Objetos
INTERPRETACIÓN:
o Línea 01: solicite al usuario que ingrese el mensaje de una línea abierto (sin cifrar);
o Línea 02: preparar una cadena para un mensaje cifrado (vacío por ahora);
o Línea 03: comienza la iteración a través del mensaje;
o Línea 04: si el carácter actual no es alfabético . . .
o Línea 05: . . . ignóralo;
o Línea 06: convierte la letra a mayúsculas (es preferible hacerlo a ciegas, en lugar
de verificar si es necesario o no);
o Línea 07: obtener el código de la letra e incrementarlo en uno;
o Línea 08: si el código resultante ha "dejado" el alfabeto latino (si es mayor que el
código Z). . .
o Línea 09: . . . cambiarlo al código A;
o Línea 10: añadir el carácter recibido al final del mensaje cifrado;
o Línea 11: imprimir el cifrado.
LA SALIDA SERÁ:
LA TRANSFORMACIÓN INVERSA
Usa el criptograma del programa anterior y devuelve las letras que están antes de las
ingresadas.
PROGRAMA:
LA SALIDA SERÁ:
3
Guía 3 Escuela de Estructura de Datos y Programación
Tecnología Orientada a Objetos
El tercer programa muestra un método simple que le permite ingresar una línea llena
de números y procesarlos fácilmente.
INTERPRETACIÓN:
o Línea 01: pida al usuario que ingrese una línea llena con cualquier número de
números (los números pueden ser flotantes)
o Línea 02: divide la línea que recibe una lista de subcadenas;
o Línea 03: iniciar la suma total a cero;
o Línea 04: como la conversión de cadena → flotante puede generar una excepción,
es mejor continuar con la protección del bloque try-except;
o Línea 05: iterar a través de la lista. . .
o Línea 06: . . . y tratar de convertir todos sus elementos en números flotantes; si
funciona, aumentar la suma;
o Línea 07: todo está bien hasta ahora, así que imprime la suma;
o Línea 08: el programa termina aquí en caso de error;
o Línea 09: imprima un mensaje de diagnóstico que muestre al usuario el motivo del
error.
LA SALIDA SERÁ:
4
Guía 3 Escuela de Estructura de Datos y Programación
Tecnología Orientada a Objetos
COMPROBANDO EL IBAN
LA SALIDA SERÁ:
5
Guía 3 Escuela de Estructura de Datos y Programación
Tecnología Orientada a Objetos
Actividad:
CASO PRÁCTICO 1:
SOLUCIÓN:
# Introducir un texto
Texto = input("Texto a introducir: ")
LA SALIDA ES:
CASO PRÁCTICO 2:
SOLUCIÓN:
# Introducir un texto
texto1 = input("Dame una cadena: ")
6
Guía 3 Escuela de Estructura de Datos y Programación
Tecnología Orientada a Objetos
print(texto1_al_reves)
SU SALIDA ES:
CASO PRÁCTICO 3:
Un grupo de amigos desea codificar los mensajes secretos de tal forma que no puedan
ser interpretados con una lectura directa, para lo cual se han establecido las siguientes
reglas:
o Todo mensaje debe estar sus letras en mayúsculas.
o El mensaje solamente contiene letras, números y/o espacios.
o Reemplazar cada letra por la que sigue según abecedario, excepto Z que se
deberá reemplazar con la letra A.
o Reemplazar cada dígito encontrado por el siguiente número excepto el 9 que
deberá ser reemplazado por el 0.
o Los espacios en blanco se mantienen.
o Debe mostrar el mensaje codificado
SOLUCIÓN:
7
Guía 3 Escuela de Estructura de Datos y Programación
Tecnología Orientada a Objetos
SU SALIDA ES:
Texto a codificar: t 9 ze
El texto introducido fue correcto
El código correcto es: U 0 AF