0% encontró este documento útil (0 votos)
6 vistas8 páginas

Laboratorio de Estructuras y Funciones

El documento presenta un laboratorio de programación en el que se abordan tres problemas: cálculo del Índice de Masa Corporal (IMC), cálculo de prima salarial y generación de una factura de compra. Cada problema incluye un análisis de variables, pseudocódigo, pruebas de escritorio y código en Python. Los ejemplos ilustran la implementación de funciones para realizar cálculos específicos y mostrar resultados para diferentes casos.

Cargado por

amgm2014.com
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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
6 vistas8 páginas

Laboratorio de Estructuras y Funciones

El documento presenta un laboratorio de programación en el que se abordan tres problemas: cálculo del Índice de Masa Corporal (IMC), cálculo de prima salarial y generación de una factura de compra. Cada problema incluye un análisis de variables, pseudocódigo, pruebas de escritorio y código en Python. Los ejemplos ilustran la implementación de funciones para realizar cálculos específicos y mostrar resultados para diferentes casos.

Cargado por

amgm2014.com
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 PDF, TXT o lee en línea desde Scribd

Facultad de Ingeniería

Escuela de Ingeniería de Sistemas y Computación Informática I

Laboratorio No. 2 Estructuras Decisión y Funciones

Integrantes del grupo de trabajo

Alberto Moisés González Machado 2436084-3749


Angie Estefania Bolaños Morán 2439561-3749
Mauricio Chasqui Muchicon 2436801-3749

Profesor(a)

Nubia Ruth Angulo Arizala

Universidad del Valle


Facultad de Ingeniería
Santiago de Cali

2025
Facultad de Ingeniería
Escuela de Ingeniería de Sistemas y Computación Informática I

Problema 1

1- ANÁLISIS
Variables de entrada:

Nombre → texto [parámetro de la función Calcular_IMC]


Peso, Altura → real [parámetro de la función Calcular_IMC]

Variables de salida:

Nombre, Categoria → texto


Imc → real

Variables auxiliares:

imc → real [variable local de la función Calcular_IMC]

2- PSEUDOCÓDIGO

Inicio
nombre → texto
peso, altura → real
resultadoIMC → real
categoria → texto
imc → real

Definir Calcular_IMC(nombre, peso, altura)


imc = peso / (altura * altura)
Si imc < 18.5 → categoria = "Bajo peso"
Si no, si imc < 25 → categoria = "Normal o saludable"
Si no, si imc < 30 → categoria = "Sobrepeso"
Si no → categoria = "Obesidad"
retornar imc, categoria

resultadoIMC, categoria = Calcular_IMC("Alex Valencia", 68.3, 1.72)


mostrar("Paciente:", "Alex Valencia", "IMC:", resultadoIMC, "Categoría:", categoria)

resultadoIMC, categoria = Calcular_IMC("María Caicedo", 55.1, 1.75)


mostrar("Paciente:", "María Caicedo", "IMC:", resultadoIMC, "Categoría:", categoria)

resultadoIMC, categoria = Calcular_IMC("Juan Morales", 130.1, 1.71)


mostrar("Paciente:", "Juan Morales", "IMC:", resultadoIMC, "Categoría:", categoria)
Fin
2
Facultad de Ingeniería
Escuela de Ingeniería de Sistemas y Computación Informática I

3- PRUEBA DE ESCRITORIO (Cantidad de columnas o campos de acuerdo a las variables del


análisis )

Nombre Peso Altura Imc Mensaje

Alex Valencia 68.3 1.72 23.08 Normal o saludable

María Caicedo 55.1 1.75 18.00 Bajo peso

Juan Morales 130.1 1.71 44.50 Obesidad

4- CÓDIGO .PY ------- (Imagen del código es opcional)

def Calcular_IMC(nombre, peso, altura):


imc = peso / (altura ** 2)
if imc < 18.5:
categoria = "Bajo peso"
elif imc < 25:
categoria = "Normal o saludable"
elif imc < 30:
categoria = "Sobrepeso"
else:
categoria = "Obesidad"
return round(imc, 2), categoria

resultadoIMC, categoria = Calcular_IMC("Alex Valencia", 68.3, 1.72)


print("Paciente: Alex Valencia | IMC:", resultadoIMC, "| Categoría:", categoria)

resultadoIMC, categoria = Calcular_IMC("María Caicedo", 55.1, 1.75)


print("Paciente: María Caicedo | IMC:", resultadoIMC, "| Categoría:", categoria)

resultadoIMC, categoria = Calcular_IMC("Juan Morales", 130.1, 1.71)


print("Paciente: Juan Morales | IMC:", resultadoIMC, "| Categoría:", categoria)

5- EVIDENCIA DE LA EJECUCIÓN ------- (Imagen de la ejecución con los valores utilizados en


la prueba de escritorio)

3
Facultad de Ingeniería
Escuela de Ingeniería de Sistemas y Computación Informática I

Problema 2

1- ANÁLISIS
Variables de entrada:

nombre → texto [parámetro de la función PrimaSalarial]


salario base → real [parámetro de la función PrimaSalarial]
antigüedad → entero [parámetro de la función PrimaSalarial]

Variables de salida:

prima → real

Variables auxiliares:

2- PSEUDOCÓDIGO

Inicio

nombre → texto
salario → real
antiguedad → entero
prima → real

Definir PrimaSalarial(nombre, salario, antiguedad)


Si antiguedad < 5 → prima = salario * 0.5
Si no, si antiguedad < 10 → prima = salario * 0.75
Si no → prima = salario
retornar prima

prima = PrimaSalarial("Pablo Rodríguez", 820000, 3)


mostrar("Empleado:", "Pablo Rodríguez", "Prima salarial:", prima)

prima = PrimaSalarial("Luisa Escobar", 2000000, 6)


mostrar("Empleado:", "Luisa Escobar", "Prima salarial:", prima)

prima = PrimaSalarial("Miguel Sandoval", 1300000, 4)


mostrar("Empleado:", "Miguel Sandoval", "Prima salarial:", prima)

Fin

4
Facultad de Ingeniería
Escuela de Ingeniería de Sistemas y Computación Informática I

3- PRUEBA DE ESCRITORIO (Cantidad de columnas o campos de acuerdo a las variables del


análisis )

Nombre Salario Antigüedad Prima


Pablo Rodríguez 820000 3 410000

Luisa Escobar 2000000 6 1500000

Miguel Sandoval 1300000 4 650000

4- CÓDIGO .PY ------- (Imagen del código es opcional)

def PrimaSalarial(nombre, salario, antiguedad):


if antiguedad < 5:
prima = salario * 0.5
elif antiguedad < 10:
prima = salario * 0.75
else:
prima = salario
return int(prima)

prima = PrimaSalarial("Pablo Rodríguez", 820000, 3)


print("Empleado: Pablo Rodríguez | Prima salarial:", prima)

prima = PrimaSalarial("Luisa Escobar", 2000000, 6)


print("Empleado: Luisa Escobar | Prima salarial:", prima)

prima = PrimaSalarial("Miguel Sandoval", 1300000, 4)


print("Empleado: Miguel Sandoval | Prima salarial:", prima)

5- EVIDENCIA DE LA EJECUCIÓN ------- (Imagen de la ejecución con los valores utilizados en


la prueba de escritorio)

5
Facultad de Ingeniería
Escuela de Ingeniería de Sistemas y Computación Informática I

Problema 3

1- ANÁLISIS
Variables de entrada:

jeans → entero [parámetro de la función FacturaCompra]


vestidos → entero [parámetro de la función FacturaCompra]
numero → entero [parámetro de la función FacturaCompra]

Variables de salida:

total → real
descuento → real (si aplica)
total final → real

Variables auxiliares:

2- PSEUDOCÓDIGO

Inicio
jeans, vestidos → entero
numero → entero
total, descuento, total_final → real

Definir FacturaCompra(numero, jeans, vestidos)


total = jeans*80000 + vestidos*90000
mostrar("--------------------------------------------------")
mostrar(" Factura de Compra ", numero)
mostrar("--------------------------------------------------")
Si total > 400000
descuento = total * 0.25
total_final = total - descuento
mostrar("El valor a pagar sin descuento es: $", total)
mostrar("El valor del descuento es: $", descuento)
mostrar("El valor total a pagar es: $", total_final)
Si no
mostrar("El valor total a pagar es: $", total)
mostrar("--------------------------------------------------")

mostrar FacturaCompra(1, 6, 3)
mostrar FacturaCompra(2, 5, 5)
mostrar FacturaCompra(3, 2, 0)
Fin
6
Facultad de Ingeniería
Escuela de Ingeniería de Sistemas y Computación Informática I

3- PRUEBA DE ESCRITORIO (Cantidad de columnas o campos de acuerdo a las variables del


análisis )

Jeans Vestidos Total sin desc. Descuento Total final

6 3 750000 187500 562500

5 5 850000 212500 637500

2 0 160000 0 160000

4- CÓDIGO .PY ------- (Imagen del código es opcional)


def FacturaCompra(numero, jeans, vestidos):
total = jeans * 80000 + vestidos * 90000
print("--------------------------------------------------")
print(" Factura de Compra", numero)
print("--------------------------------------------------")
if total > 400000:
descuento = total * 0.25
total_final = total - descuento
print("El valor a pagar sin descuento es: $", total)
print("El valor del descuento es: $", descuento)
print("El valor total a pagar es: $", total_final)
else:
print("El valor total a pagar es: $", total)
print("--------------------------------------------------\n")

FacturaCompra(1, 6, 3)
FacturaCompra(2, 5, 5)
FacturaCompra(3, 2, 0)

5- EVIDENCIA DE LA EJECUCIÓN ------- (Imagen de la ejecución con los valores utilizados en


la prueba de escritorio)

7
Facultad de Ingeniería
Escuela de Ingeniería de Sistemas y Computación Informática I

También podría gustarte