0% encontró este documento útil (0 votos)
34 vistas11 páginas

FP Omar

El trabajo presenta la solución de problemas de programación en Python mediante estructuras repetitivas y matrices, desarrollando un programa para la serie de Fibonacci y otro para gestionar los tiempos de seis corredores. Se enfatiza la importancia de la captura y validación de datos, así como el uso de algoritmos para seleccionar a los mejores competidores. Estas actividades refuerzan habilidades en programación y análisis de datos, esenciales en ingeniería electrónica.

Cargado por

Angelica Ascanio
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
34 vistas11 páginas

FP Omar

El trabajo presenta la solución de problemas de programación en Python mediante estructuras repetitivas y matrices, desarrollando un programa para la serie de Fibonacci y otro para gestionar los tiempos de seis corredores. Se enfatiza la importancia de la captura y validación de datos, así como el uso de algoritmos para seleccionar a los mejores competidores. Estas actividades refuerzan habilidades en programación y análisis de datos, esenciales en ingeniería electrónica.

Cargado por

Angelica Ascanio
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

1Título del trabajo

Nombre Completo del Estudiante


Mes Año.

Universidad Nacional abierta y a distancia-UNAD


Escuela a la que pertenece
Nombre de la asignatura
Introducción

El presente trabajo aborda la solución de problemas de programación

utilizando estructuras repetitivas y matrices en Python. Se

desarrollaron dos programas: el primero genera la serie de Fibonacci

hasta un número determinado de términos, y el segundo gestiona los

tiempos de competencia de seis corredores para seleccionar a los dos

mejores en función de su rendimiento. Estas actividades permiten

aplicar conocimientos clave en estructuras de control y

almacenamiento de datos en listas y matrices, esenciales en la

programación y análisis de datos.

A través de este ejercicio, se fortalecen habilidades en la captura,

validación y procesamiento de información utilizando estructuras

eficientes, lo cual es fundamental en el desarrollo de aplicaciones en

ingeniería electrónica y otras disciplinas afines.


Objetivos

 Implementar estructuras repetitivas en Python para la

generación de secuencias matemáticas, como la serie de

Fibonacci.

 Desarrollar un programa basado en matrices para almacenar,

validar y analizar datos de rendimiento deportivo.

 Aplicar validaciones y controles de errores para garantizar la

correcta captura y procesamiento de la información.

 Seleccionar información relevante a partir de datos

almacenados en listas y matrices para la toma de decisiones.

 Reforzar habilidades en el uso de Python como herramienta

para la resolución de problemas computacionales.


Información Situación Problemas a Resolver

Estudiante: Problema Asignado (Indique el numeral de


los problemas escogido) Identificación
1065986163 Problema estructura repetitiva:
Omar Amaris
Ascanio Problema 1
Problema de matrices:

Problema 1

Tabla de requerimientos Estructura Repetitivas

IdentificaCion Descripción Entradas Resultados o


del salidas
requerimient
o
R1 Solicitar un Número Validación de
número entero la entrada
entero mayor ingresado por (debe ser
que 1. el usuario. mayor que 1).
R2 Inicializar los No aplica Valores
primeros dos (valores iniciales: 0, 1.
términos de predefinidos:
la serie de 0 y 1).
Fibonacci.
R3 Generar los Número Serie de
siguientes ingresado por Fibonacci
términos de el usuario calculada.
Fibonacci (cantidad de
usando un términos a
bucle. generar).
R4 Mostrar la Serie Salida
serie de generada en impresa con
Fibonacci en el proceso los términos
pantalla. anterior. de la serie.

Tabla de requerimientos Matrices


Identificación Descripción Entradas Resultados o
del salidas
requerimient
o
R1 Capturar los Nombres de Matriz con
tiempos de los 6 los tiempos
los corredores corredores y registrados.
en una matriz. sus 6
tiempos en
segundos.
R2 Verificar que Tiempos Mensaje de
los tiempos ingresados error si un
estén en el (deben estar tiempo es
rango entre 10.1 y inválido y
permitido. 10.5 s). solicitud de
reingreso.
R3 Determinar el Matriz de Nombre del
corredor con tiempos. corredor con
el mejor el menor
tiempo tiempo
individual. registrado.
R4 Determinar el Matriz de Nombre del
corredor con tiempos. corredor con
el mejor el mejor
promedio. promedio de
tiempos (sin
superar 10.4
s en ninguna
carrera).
R5 Asegurar que Mejor tiempo Si son
los dos y mejor iguales,
corredores promedio seleccionar el
seleccionados calculados. segundo
sean mejor
diferentes. promedio.
R6 Mostrar la Matriz de Impresión en
información tiempos y pantalla de la
de los resultados de matriz y los
corredores y selección. dos
los corredores
seleccionados finalistas.
.
Código Estructura repetitiva.

# Programa para mostrar la serie de Fibonacci

# Pedir al usuario un número entero mayor que 1

n = int(input("Ingrese la cantidad de términos de la serie de Fibonacci


(mayor que 1): "))

# Verificar que el número ingresado sea válido

while n <= 1:

print("Error: el número debe ser mayor que 1.")

n = int(input("Ingrese un número válido: "))

# Inicializar los primeros dos valores de Fibonacci

a, b = 0, 1

fibonacci_series = [a, b] # Lista para almacenar la serie

# Generar los siguientes términos usando un bucle

for _ in range(n - 2):

siguiente = a + b # Sumar los dos anteriores

fibonacci_series.append(siguiente)

# Agregar el número a la lista

a, b = b, siguiente # Actualizar los valores


# Imprimir la serie en formato de lista
print("Serie de Fibonacci:", fibonacci_series)

Código Matrices
# Programa para seleccionar dos corredores para la final de
atletismo

# Nombres de los corredores


corredores = ["Juan", "Carlos", "Pedro", "Roberto", "Raúl", "David"]

# Matriz para almacenar los tiempos (6 corredores x 6 tiempos)


tiempos = []

# Límite de tiempo permitido


LIMITE_TIEMPO = 10.4

# Captura de datos
print("Ingrese los tiempos de los 6 corredores (máximo permitido: 10.4
segundos)")
for i in range(6):
tiempos_corredor = []
print(f"\nCorredor {corredores[i]}:")
for j in range(6):
while True:
try:
tiempo = float(input(f"Ingrese el tiempo {j+1}: "))
if tiempo > LIMITE_TIEMPO:
print("Error: El tiempo no puede exceder los 10.4 segundos.
Intente de nuevo.")
else:
tiempos_corredor.append(tiempo)
break
except ValueError:
print("Error: Ingrese un número válido.")
[Link](tiempos_corredor)
# Función para verificar si un corredor cumple con la regla de
tiempo
def cumple_regla_tiempos(lista_tiempos):
return all(tiempo <= LIMITE_TIEMPO for tiempo in lista_tiempos)

# 1️Encontrar el corredor con el mejor tiempo absoluto


mejor_tiempo = float('inf')
mejor_corredor = None

for i in range(6):
if cumple_regla_tiempos(tiempos[i]):
tiempo_min = min(tiempos[i])
if tiempo_min < mejor_tiempo:
mejor_tiempo = tiempo_min
mejor_corredor = corredores[i]

# 2️Encontrar el corredor con el mejor promedio


mejor_promedio = float('inf')
mejor_promedio_corredor = None

for i in range(6):
if cumple_regla_tiempos(tiempos[i]):
promedio = sum(tiempos[i]) / len(tiempos[i])
if promedio < mejor_promedio:
mejor_promedio = promedio
mejor_promedio_corredor = corredores[i]

# Mostrar resultados
print("\n🏆 Los dos corredores seleccionados para la final son:")
if mejor_corredor:
print(f"- {mejor_corredor} (Mejor tiempo individual: {mejor_tiempo:.2f}
s)")
else:
print("- No hay corredor con tiempos dentro del límite.")

if mejor_promedio_corredor:
print(f"- {mejor_promedio_corredor} (Mejor promedio de tiempos:
{mejor_promedio:.2f} s)")
else:
print("- No hay corredor con un promedio válido dentro del límite.")

Conclusiones
Aprender a desarrollar los programas me permitió afianzar mis
conocimientos en el manejo de estructuras repetitivas y matrices,
demostrando su utilidad en la resolución de problemas
computacionales. En el primer caso, como se puede observar, se
logró implementar de manera eficiente la generación de la serie de
Fibonacci con validaciones para asegurar una entrada de datos
correcta. En el segundo caso, la gestión de tiempos de los corredores
permitió aplicar matrices para almacenar información y algoritmos de
selección para determinar a los mejores competidores.
Estos ejercicios fortalecieron la capacidad de análisis y la
implementación de soluciones algorítmicas en Python, aspectos
esenciales para cualquier profesional en ingeniería electrónica que
desee aplicar la programación en la automatización y procesamiento
de datos.
Bibliografía

Ejemplo:

Normas APA actualizadas 7ª edición (2020). Portada. [Link]

[Link]/estructura/portada/

Instructivo para la usabilidad de Normas internacionales de citación

APA 7° Edición. [Link]. (2020).

[Link]

PA_7_Edici%C3%[Link]

También podría gustarte