1.2. Emplea el lenguaje de programación Python para el manejo, análisis y despliegue de datos, incorporando estructuras de control.
2.1. Crea un servicio web en Python basado en los protocolos de comunicación que le permita un intercambio de transacciones entre sistemas..
2.2. Configura un servicio web en Python que incluye esquemas de seguridad para las transacciones.
Rubrica 2.2.1 Realizar una investigación de los siguientes puntos en la libreta .
"no definiciones " una investigación bien desarrollada y amplia
A. Lenguaje estándar de descripción de servicios
WSDL.
• Estructura.
• Definición de espacios usados en la descripción
del servicio.
• Descripción de la interfaz del servicio WEB
mediante el conjunto de operaciones que definen
el servicio y tipos usados.
• Enlace lógico con la implementación concreta de
las operaciones de la interfaz.
B. Búsqueda y descubrimiento de servicios WEB.
• Funciones.
• Tipos de estructuras de datos de registro UDDI.
• Información empresarial.
• Información del servicio.
• Información de enlace.
• Información que describe las especificaciones
para servicios.
C. Categorías de librerías.
• Librerías para visualización.
• Librerías para procesamiento de lenguaje natural.
• Librerías para inteligencia artificial.
Rubrica 2.1.1
Contesta las siguientes preguntas en la libreta
¿Qué es XML?
¿Por qué es importante el XML?
¿Cuáles son los beneficios de usar XML?
¿Cuáles son las aplicaciones de XML?
¿Cuáles son los componentes de un archivo XML?
¿Qué es un esquema XML?
¿Qué es un analizador XML?
¿En qué se diferencia XML de HTML?
¿Cómo los servicios de AWS admiten XML?
¿Cómo se define la estructura de un documento XML y qué importancia tiene en la interoperabilidad de sistemas?
¿Cuáles son las ventajas y desventajas de utilizar XML como formato de intercambio de datos en aplicaciones web?
¿Cómo se pueden validar documentos XML y qué herramientas son más efectivas para ello?
¿Qué rol juega XML en la representación de datos en servicios web y cómo se compara con otros formatos como JSON?
¿Qué características hacen de SOAP un protocolo adecuado para la comunicación entre servicios web?
¿Cómo maneja SOAP la seguridad y qué estándares se utilizan comúnmente para asegurar las comunicaciones?
¿Cuáles son las principales diferencias entre SOAP y REST en el contexto de los servicios web?
¿Cómo se estructuran las solicitudes y respuestas en SOAP y qué impacto tiene esto en el diseño de servicios?
¿Qué es UDDI y cuál es su papel en el descubrimiento de servicios web?
¿Cómo se pueden utilizar los registros UDDI para mejorar la eficiencia en la integración de sistemas?
¿Cuáles son los desafíos y limitaciones asociados con el uso de UDDI en entornos empresariales?
¿Cómo ha evolucionado UDDI desde su introducción y qué alternativas existen actualmente?
¿Qué es WSDL y cómo se utiliza para describir servicios web en un formato estandarizado?
¿Cómo se relaciona WSDL con SOAP y qué función cumple en el proceso de invocación de servicios?
¿Cuáles son los elementos clave que deben incluirse en un archivo WSDL y por qué son importantes?
¿Cómo puede WSDL facilitar la generación automática de código en lenguajes de programación?
¿Cómo interactúan XML, SOAP, UDDI y WSDL en el contexto de una arquitectura de servicios web?
¿Qué consideraciones de diseño se deben tener en cuenta al implementar una arquitectura basada en estos estándares?
¿Qué prácticas recomendadas existen para la gestión de versiones de servicios definidos a través de WSDL?
¿Cómo puede la adopción de estos estándares influir en la escalabilidad y mantenibilidad de una solución de servicios web?
Hacer una investigación detallada de cada punto en la libreta
Arquitectura orientada a servicios.
• Ventajas.
• Desventajas
Lenguaje XML.
• Características.
• Aplicaciones.
• Estructura
Servicios web.
• Arquitectura de los servicios WEB.
• Tecnologías básicas para los servicios WEB
Estándares de arquitectura para registro de servicios.
• XML.
• SOAP.
• UDDI.
• WSDL.
Protocolos de comunicación.
• SOAP.
• REST
realiza el algoritmo y diagrama de los siguientes 10 problemas usando FOR
1. Suma de Números Impares y pares:
2. Promedio de una Lista:
3. Listar Números del 1 al 100:
4. Contar Múltiplos de 3:
5. encuentra el promedio de un grupo de N alumnos:
6. Encontrar el Mínimo en una Lista:
7. Contar Números Positivos en una Lista:
8. Imprimir Tablas de Multiplicar (1 a 5):
9. Calcular la Suma de los Números que sean pares de una lista y la suma de los impares
10. Contar Números Pares en una Lista:
Aquí tienes 20 ejercicios que te ayudarán a aprender Python y a fortalecer tus habilidades en el lenguaje:
Rubrica 1.2.1
1. Algoritmo para convertir horas a minutos:
o Iniciar.
o Leer el número de horas.
o Multiplicar el número de horas por 60.
o Mostrar el resultado en minutos.
o Finalizar.
2. Algoritmo para convertir días a horas:
3. Algoritmo para convertir semanas a días:
4. Algoritmo para convertir metros a centímetros:
o Iniciar.
o Leer la cantidad de metros.
o Multiplicar la cantidad de metros por 100.
o Mostrar el resultado en centímetros.
o Finalizar.
5. Algoritmo para convertir kilómetros a metros:
6. Algoritmo para convertir litros a mililitros:
7. Algoritmo para convertir gramos a kilogramos:
8. Algoritmo para convertir pies a pulgadas:
Iniciar.
o Leer la cantidad de pies.
o Multiplicar la cantidad de pies por 12.
o Mostrar el resultado en pulgadas.
o Finalizar.
9. Algoritmo para convertir pulgadas a centímetros:
10. Algoritmo para convertir horas a segundos:
Ejercicio 2
EJERCICIOS DE ALGORITMOS
1. Verificación de número mayor que 10
Problema: Determinar si un número es mayor que 10.
2. Verificación de número negativo
Problema: Determinar si un número es negativo.
3. Comparación de altura mínima
Problema: Verificar si una persona cumple con la altura mínima para subirse a una atracción.
4. Verificación de cadena vacía
Problema: Determinar si una cadena de texto está vacía.
5. Comparación de velocidad máxima
Problema: Verificar si un vehículo supera el límite de velocidad.
6. Determinación de número impar
Problema: Verificar si un número es impar.
7. Comparación de calificación sobresaliente
Problema: Determinar si una calificación es mayor o igual a 90.
8. Verificación de número múltiplo de 3
Problema: Determinar si un número es múltiplo de 3.
9. Determinación de un día de fin de semana
Problema: Verificar si un día es sábado o domingo.
10. Verificación de igualdad de longitud de cadenas
Problema: Determinar si dos cadenas de texto tienen la misma longitud.
Escribe un programa en Python que imprima "Hola Mundo" en la consola.
python
Copiar código
print("Hola Mundo")
Escribe un programa que pida al usuario dos números y luego imprima su suma.
num1 = float(input("Introduce el primer número: "))
num2 = float(input("Introduce el segundo número: "))
suma = num1 + num2
print("La suma es:", suma)
Crea un programa que pida un número al usuario y determine si es par o impar.
num = int(input("Introduce un número: "))
if num % 2 == 0:
print(f"{num} es par")
else:
print(f"{num} es impar")
Escribe un programa que muestre la tabla de multiplicar de un número ingresado por el usuario.
num = int(input("Introduce un número para mostrar su tabla de multiplicar: "))
for i in range(1, 11):
print(f"{num} x {i} = {num * i}")
Escribe un programa que calcule el factorial de un número dado por el usuario.
import math
num = int(input("Introduce un número para calcular su factorial: "))
factorial = math.factorial(num)
print(f"El factorial de {num} es {factorial}")
Crea un programa que verifique si una palabra ingresada por el usuario es un palíndromo (se lee igual de izquierda a derecha y de derecha a izquierda).
palabra = input("Introduce una palabra: ").replace(" ", "").lower()
if palabra == palabra[::-1]:
print(f"{palabra} es un palíndromo")
else:
print(f"{palabra} no es un palíndromo")
Escribe un programa que determine si un número ingresado por el usuario es primo.
num = int(input("Introduce un número: "))
if num > 1:
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
print(f"{num} no es primo")
break
else:
print(f"{num} es primo")
else:
print(f"{num} no es primo")
Crea un programa que cuente el número de vocales en una frase ingresada por el usuario.
frase = input("Introduce una frase: ").lower()
vocales = "aeiou"
contador = sum(1 for char in frase if char in vocales)
print(f"El número de vocales en la frase es: {contador}")
Escribe un programa que ordene una lista de números en orden ascendente.
numeros = [int(x) for x in input("Introduce números separados por espacios: ").split()]
numeros.sort()
print("Lista ordenada:", numeros)
Crea una calculadora básica que permita al usuario realizar operaciones de suma, resta, multiplicación y división.
def calculadora():
print("Operaciones disponibles: suma, resta, multiplicación, división")
operacion = input("Introduce la operación deseada: ").lower()
num1 = float(input("Introduce el primer número: "))
num2 = float(input("Introduce el segundo número: "))
if operacion == "suma":
resultado = num1 + num2
elif operacion == "resta":
resultado = num1 - num2
elif operacion == "multiplicación":
resultado = num1 * num2
elif operacion == "división":
if num2 == 0:
print("Error: División por cero")
return
resultado = num1 / num2
else:
print("Operación no válida")
return
print(f"El resultado de la {operacion} es: {resultado}")
calculadora()
11. Calculadora de IMC (Índice de Masa Corporal)
Este programa permite calcular el IMC de una persona y clasificarlo en diferentes categorías (bajo peso, peso normal, sobrepeso, obesidad).
def calcular_imc(peso, altura):
imc = peso / (altura ** 2)
return imc
def clasificar_imc(imc):
if imc < 18.5:
return "Bajo peso"
elif 18.5 <= imc < 24.9:
return "Peso normal"
elif 25 <= imc < 29.9:
return "Sobrepeso"
else:
return "Obesidad"
peso = float(input("Introduce tu peso en kg: "))
altura = float(input("Introduce tu altura en metros: "))
imc = calcular_imc(peso, altura)
clasificacion = clasificar_imc(imc)
print(f"Tu IMC es {imc:.2f} y estás en la categoría: {clasificacion}")
12. Gestor de Tareas con Interfaz de Línea de Comandos
Este programa permite agregar, listar y eliminar tareas en una lista simple utilizando un archivo para persistir los datos.
import os
def cargar_tareas():
if os.path.exists("tareas.txt"):
with open("tareas.txt", "r") as file:
return [line.strip() for line in file.readlines()]
return []
def guardar_tareas(tareas):
with open("tareas.txt", "w") as file:
file.write("\n".join(tareas))
def agregar_tarea(tarea):
tareas = cargar_tareas()
tareas.append(tarea)
guardar_tareas(tareas)
def listar_tareas():
tareas = cargar_tareas()
if not tareas:
print("No hay tareas.")
for idx, tarea in enumerate(tareas, start=1):
print(f"{idx}. {tarea}")
def eliminar_tarea(numero):
tareas = cargar_tareas()
if 1 <= numero <= len(tareas):
tareas.pop(numero - 1)
guardar_tareas(tareas)
else:
print("Número de tarea inválido.")
print("1. Agregar tarea")
print("2. Listar tareas")
print("3. Eliminar tarea")
opcion = int(input("Selecciona una opción: "))
if opcion == 1:
tarea = input("Introduce la tarea: ")
agregar_tarea(tarea)
elif opcion == 2:
listar_tareas()
elif opcion == 3:
listar_tareas()
num = int(input("Número de la tarea a eliminar: "))
eliminar_tarea(num)
else:
print("Opción no válida")
13. Juego de Adivina el Número
Un simple juego donde el usuario tiene que adivinar un número generado aleatoriamente por el programa.
import random
def jugar():
numero = random.randint(1, 100)
intentos = 0
adivinado = False
print("Estoy pensando en un número entre 1 y 100.")
while not adivinado:
try:
adivinanza = int(input("Introduce tu adivinanza: "))
intentos += 1
if adivinanza < numero:
print("Demasiado bajo!")
elif adivinanza > numero:
print("Demasiado alto!")
else:
adivinado = True
print(f"¡Correcto! El número era {numero}. Lo adivinaste en {intentos} intentos.")
except ValueError:
print("Por favor, introduce un número válido.")
jugar()
Un programa para convertir entre diferentes monedas utilizando tasas de cambio fijas.
def convertir_moneda(monto, tasa):
return monto * tasa
def main():
tasas = {
"USD_EUR": 0.85,
"EUR_USD": 1.18,
"USD_GBP": 0.75,
"GBP_USD": 1.33
}
print("1. USD a EUR")
print("2. EUR a USD")
print("3. USD a GBP")
print("4. GBP a USD")
opcion = int(input("Selecciona una opción: "))
monto = float(input("Introduce el monto a convertir: "))
if opcion == 1:
tasa = tasas["USD_EUR"]
print(f"{monto} USD = {convertir_moneda(monto, tasa):.2f} EUR")
elif opcion == 2:
tasa = tasas["EUR_USD"]
print(f"{monto} EUR = {convertir_moneda(monto, tasa):.2f} USD")
elif opcion == 3:
tasa = tasas["USD_GBP"]
print(f"{monto} USD = {convertir_moneda(monto, tasa):.2f} GBP")
elif opcion == 4:
tasa = tasas["GBP_USD"]
print(f"{monto} GBP = {convertir_moneda(monto, tasa):.2f} USD")
else:
print("Opción no válida")
main()
Un programa que permite registrar y autenticar usuarios con contraseñas en un archivo.
import hashlib
def hash_password(password):
return hashlib.sha256(password.encode()).hexdigest()
def registrar_usuario(username, password):
with open("usuarios.txt", "a") as file:
file.write(f"{username}:{hash_password(password)}\n")
def autenticar_usuario(username, password):
hashed_password = hash_password(password)
with open("usuarios.txt", "r") as file:
for line in file:
stored_user, stored_password = line.strip().split(":")
if stored_user == username and stored_password == hashed_password:
return True
return False
def main():
print("1. Registrarse")
print("2. Iniciar sesión")
opcion = int(input("Selecciona una opción: "))
username = input("Introduce tu nombre de usuario: ")
password = input("Introduce tu contraseña: ")
if opcion == 1:
registrar_usuario(username, password)
print("Usuario registrado exitosamente.")
elif opcion == 2:
if autenticar_usuario(username, password):
print("Inicio de sesión exitoso.")
else:
print("Nombre de usuario o contraseña incorrectos.")
else:
print("Opción no válida")
main()
16. Imprimir los números del 1 al 5:
for i in range(1, 6):
print(i)
Aquí range(1, 6) genera una secuencia de números del 1 al 5, y el bucle for itera sobre cada número, imprimiéndolo.
17. Imprimir los elementos de una lista:
frutas = ['manzana', 'banana', 'cereza']
for fruta in frutas:
print(fruta)
Este código recorre la lista frutas e imprime cada elemento.
18. Calcular la suma de los números del 1 al 4:
suma = 0
for i in range(1, 5):
suma += i
print(suma)
Aquí, range(1, 5) genera los números del 1 al 4, y cada uno se suma a la variable suma.
19. Crear una lista de cuadrados de números del 1 al 3:
cuadrados = []
for i in range(1, 4):
cuadrados.append(i**2)
print(cuadrados)
Este código calcula el cuadrado de cada número en el rango del 1 al 3 y los añade a la lista cuadrados.
20. Iterar sobre una cadena y contar las vocales:
cadena = "hola mundo"
conteo_vocales = 0
for letra in cadena:
if letra in 'aeiou':
conteo_vocales += 1
print(conteo_vocales)
Este código recorre cada carácter en la cadena cadena y cuenta cuántas vocales hay.