Está en la página 1de 19

VICERRECTORADO DOCENTE Código: GUIA-PRL-001

CONSEJO ACADEMICO Aprobación: 2016/04/06

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación

FORMATO DE GUÍA DE PRÁCTICA DE LABORATORIO / TALLERES / CENTROS DE SIMULACIÓN


PARA DOCENTES

CARRERA: COMUN ASIGNATURA: PROGRAMACIÓN


PRACTICA: 09 TÍTULO: RESOLUCION DE PROBLEMAS UTILIZANDO FUNCIONES
OBJETIVO:
 Resolver problemas computacionales utilizando funciones
PRE-REQUISITOS:
a) Computador con sistema operativo Microsoft Windows, MacOS X o GNU/Linux
b) Apuntes de clase teórica de resolución de problemas mediante funciones
c) Estudiar clase teórica
INSTRUCCIONES: 1. Lea detenidamente cada uno de los enunciados propuestos.
2. Plantee una solución a cada uno de los ejercicios, utilizando las técnicas
estudiadas para funciones
3. Desarrolle la solución planteada.
4. Elabore un informe con la solución de los ejercicios.
ACTIVIDADES A DESARROLLAR:

PROBLEMA1: CONVERSIÓN DE GRADOS CELSIUS A GRADOS FAHRENHEIT

Escribe una función que, dada una temperatura en grados Celsius, devuelva la temperatura en grados
Fahrenheit. Utilice la función indicada en un programa y pruébela con valores de grados Celsius 0, 25, 39,
45,6 y 100. La conversión de grados Celsius a grados Fahrenheit se da con la siguiente expresión:

Fahrenheit = ( Celcius∗180.0
100.0 )+32
Entrada: Un número entero o decimal
Salida: Un número entero o decimal

Ejemplo

Grados Celcius: 25
Grados Fahrenheit: 77

Grados Celcius: 45.6


Grados Fahrenheit: 114.08

ALGORITMO
1.INICIO
2.DECLARACION
Cel,faren  numéricos
3.ASIGNACION
IMPRIMIR (“INGRESE LA TEMPERATURA EN GRADOS CELCIUS”)
LEER (cel)
4.PROCESO

Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001

CONSEJO ACADEMICO Aprobación: 2016/04/06

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación

FORMATO DE GUÍA DE PRÁCTICA DE LABORATORIO / TALLERES / CENTROS DE SIMULACIÓN


PARA DOCENTES

Def grados(cel):
Faren=(cel*(180/100))+32
Return faren
Faren=grados(cel)
5.VISUALIZACION
IMPRIMIR (“TEMPERATURA EN GRADOS FARENHEIT”,faren)
6.FIN

PSEUDOCÓDIGO
1.ENTRADAS
Cel, numéricos
2.SALIDAS
faren  numéricos
3.PROCESO
IMPRIMIR (“INGRESE LA TEMPERATURA EN GRADOS CELCIUS”)
LEER (cel)
Def grados(cel):
Faren=(cel*(180/100))+32
Return faren
Faren=grados(cel)
4.RESULTADOS
IMPRIMIR (“TEMPERATURA EN GRADOS FARENHEIT”,faren)

FLUJOGRAMA

Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001

CONSEJO ACADEMICO Aprobación: 2016/04/06

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación

FORMATO DE GUÍA DE PRÁCTICA DE LABORATORIO / TALLERES / CENTROS DE SIMULACIÓN


PARA DOCENTES

PROGRAMA PYCHARM

#EJERCICIO 1

Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001

CONSEJO ACADEMICO Aprobación: 2016/04/06

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación

FORMATO DE GUÍA DE PRÁCTICA DE LABORATORIO / TALLERES / CENTROS DE SIMULACIÓN


PARA DOCENTES

def grados(cel):
faren=(cel*(180.0/100))+32
return faren
for i in range(0,5):
cel = float(input("INGRESE UNA TEMPERATURA EN GRADOS CELCIUS"))
faren = grados(cel)
print("TEMPERATURA EN GRADOS FARENHEIT", faren)

CAPTURA PROGRAMA

PROBLEMA2: INVERTIR UN NUMERO

Crear un programa con una función que reciba un número y lo retorne invertido
usando conceptos de operadores matemáticos y ciclos.

Entrada: Un número entero positivo


Salida: Un número entero positivo

Ejemplo
Ingrese un número: 1364
El número invertido es: 4631

ALGORITMO

1.INICIO
2.DECLARACION
Num,l,val,paso,otro  numericos
3.ASIGNACION
IMPRIMIR (“INTRODUCIR UN NUMERO”)
LEER (num)
4.PROCESO
DEFINIR INVERSO (num):
l = LEN (STR (num))
LIST.APPEND(STR (num))
paso = " "

Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001

CONSEJO ACADEMICO Aprobación: 2016/04/06

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación

FORMATO DE GUÍA DE PRÁCTICA DE LABORATORIO / TALLERES / CENTROS DE SIMULACIÓN


PARA DOCENTES

PARA i EN RANGO(l):
val = list [0] [-( i + 1)]
paso = paso + val
RETURN paso
otro=inverso(num)

5.VISUALIZACION
IMPRIMIR (“NUMERO INVERTIDO”, otro)
6.FIN

PSEUDOCODIGO

1.ENTRADAS
Num  numericos
2.SALIDAS
l,val,paso,otro  numericos
3.PROCESO
IMPRIMIR (“INTRODUCIR UN NUMERO”)
LEER (num)
DEFINIR INVERSO (num):
l = LEN (STR (num))
LIST.APPEND(STR (num))
paso = " "
PARA i EN RANGO(l):
val = list [0] [-( i + 1)]
paso = paso + val
RETURN paso
otro=inverso(num)
4.RESULTADOS
IMPRIMIR (“NUMERO INVERTIDO”, otro)

FLUJOGRAMA

Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001

CONSEJO ACADEMICO Aprobación: 2016/04/06

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación

FORMATO DE GUÍA DE PRÁCTICA DE LABORATORIO / TALLERES / CENTROS DE SIMULACIÓN


PARA DOCENTES

PROGRAMA PYCHARM
import numpy
num=int(input("INTRODUCIR UN NUMERO"))

Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001

CONSEJO ACADEMICO Aprobación: 2016/04/06

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación

FORMATO DE GUÍA DE PRÁCTICA DE LABORATORIO / TALLERES / CENTROS DE SIMULACIÓN


PARA DOCENTES

list=[]
def inverso(num):
l = len(str(num))
list.append(str(num))
paso = ""
for i in range(l):
val = list[0][-(i + 1)]
paso = paso + val
return paso
otro=inverso(num)
print("NUMERO INVERTIDO",otro)

CAPTURA PROGRAMA

PROBLEMA3: NUMERO MAYOR ENTRE DOS NUMEROS

Realizar un programa para determinar el número mayor entre dos números enteros.
Cree una función que calcule el número mayor

Entrada: Dos números enteros


Salida: Un número entero

Ejemplo:
primer Numero
7
Segundo Número
9
Número Mayor= 9

ALGORITMO

1.INICIO

Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001

CONSEJO ACADEMICO Aprobación: 2016/04/06

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación

FORMATO DE GUÍA DE PRÁCTICA DE LABORATORIO / TALLERES / CENTROS DE SIMULACIÓN


PARA DOCENTES

2.DECLARACION
Num1, num2, mayor, mas  NUMERICOS
3.ASIGNACION
IMPRIMIR (“PRIMER NUMERO”)
LEER (num1)
IMPRIMIR (“SEGUNDO NUMERO”)
LEER (num2)
4.PROCESO
DEF ALTO (num1, num2):
SI (num1>num2):
mayor=num1
RETURN mayor
CASO CONTRARIO:
SI (num2 > num1):
mayor = num2
RETURN mayor
Mas =alto (num1, num2)
5.VISUALIZACION
IMPRIMIR (“NUMERO MAS ALTO”, mas)
6.FIN

PSEUDOCODIGO
1.ENTRADAS
Num1, num2  NUMERICOS
2.SALIDAS
mayor, mas  NUMERICOS
3.PROCESO
IMPRIMIR (“PRIMER NUMERO”)
LEER (num1)
IMPRIMIR (“SEGUNDO NUMERO”)
LEER (num2)
DEF ALTO (num1, num2):
SI (num1>num2):
mayor=num1
RETURN mayor
CASO CONTRARIO:
SI (num2 > num1):
mayor = num2
RETURN mayor
Mas =alto (num1, num2)
4.RESULTADOS
IMPRIMIR (“NUMERO MAS ALTO”, mas)

FLUJOGRAMA

Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001

CONSEJO ACADEMICO Aprobación: 2016/04/06

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación

FORMATO DE GUÍA DE PRÁCTICA DE LABORATORIO / TALLERES / CENTROS DE SIMULACIÓN


PARA DOCENTES

PROGRAMA PYCHAM

num1=float(input("PRIMER NUMERO"))
num2=float(input("SEGUNDO NUMERO"))
def alto(num1,num2):
if (num1>num2):
mayor=num1

Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001

CONSEJO ACADEMICO Aprobación: 2016/04/06

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación

FORMATO DE GUÍA DE PRÁCTICA DE LABORATORIO / TALLERES / CENTROS DE SIMULACIÓN


PARA DOCENTES

return mayor
else:
if (num2 > num1):
mayor = num2
return mayor
mas=alto(num1,num2)
print("MAS ALTO",mas)

CAPTURA PROGRAMA

PROBLEMA4: CUADRADOS

Realizar un programa para calcular el cuadrado de un conjunto de números enteros


positivos hasta que un valor cero sea leído. Crear una función que calcule el cuadrado
de un número entero mediante la serie:
n2 = 1 + 3 + 5 + … + (2*n-1)

Entrada: Números enteros positivos, Número Cero para terminar el programa


Salida: Cuadrado de cada número entero positivo ingresado

Ejemplo
Ingrese un número entero positivo:2
2^2 = 4
Ingrese un número entero positivo:5
5 ^2 = 25
.
.
Ingrese un número entero positivo:0
Saliendo del programa ...

ALGORITMO

Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001

CONSEJO ACADEMICO Aprobación: 2016/04/06

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación

FORMATO DE GUÍA DE PRÁCTICA DE LABORATORIO / TALLERES / CENTROS DE SIMULACIÓN


PARA DOCENTES

1.INICIO
2.DECLARACION
tot,cont,n,cua  numérico

3.ASIGNACION
IMPRIMIR (“INGRESE UN NUMERO”)
LEER (n)
4.PROCESO

IMPORTAR math
DEF SERIE(n):
cont = 1
cuadrado = MATH.POW (n, 2)
MIENTRAS (cont<=cuadrado):
cont=cont+1
tot=cont-1
RETURN tot
IMPRIMIR (“INGRESE UN NUMERO”)
LEER (n)
MIENTRAS VERDAD:
SI (n==0):
IMPRIMIR ("cerrando programa")
ROMPER MIENTRAS
CASO CONTRARIO:
cua = serie(n)
IMPRIMIR (n, "^2 =", cua)
IMPRIMIR (“INGRESE UN NUMERO”)
LEER (n)

5.VISUALIZACION
IMPRIMIR (n, "^2 =", cua)
IMPRIMIR ("cerrando programa")
6.FIN

PSEUDOCODIGO
1.ENTRADAS
n  numérico
2.SALIDAS
tot,cont,cua  numérico
3.PROCESO

Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001

CONSEJO ACADEMICO Aprobación: 2016/04/06

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación

FORMATO DE GUÍA DE PRÁCTICA DE LABORATORIO / TALLERES / CENTROS DE SIMULACIÓN


PARA DOCENTES

IMPRIMIR (“INGRESE UN NUMERO”)


LEER (n)
IMPORTAR math
DEF SERIE(n):
cont = 1
cuadrado = MATH.POW (n, 2)
MIENTRAS (cont<=cuadrado):
cont=cont+1
tot=cont-1
RETURN tot
IMPRIMIR (“INGRESE UN NUMERO”)
LEER (n)
MIENTRAS VERDAD:
SI (n==0):
IMPRIMIR ("cerrando programa")
ROMPER MIENTRAS
CASO CONTRARIO:
cua = serie(n)
IMPRIMIR (n, "^2 =", cua)
IMPRIMIR (“INGRESE UN NUMERO”)
LEER (n)
4.RESULTADOS
IMPRIMIR (n, "^2 =", cua)
IMPRIMIR ("cerrando programa")

FLUJOGRAMA

Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001

CONSEJO ACADEMICO Aprobación: 2016/04/06

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación

FORMATO DE GUÍA DE PRÁCTICA DE LABORATORIO / TALLERES / CENTROS DE SIMULACIÓN


PARA DOCENTES

PROGRAMA PYCHARM
import math
def serie(n):

Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001

CONSEJO ACADEMICO Aprobación: 2016/04/06

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación

FORMATO DE GUÍA DE PRÁCTICA DE LABORATORIO / TALLERES / CENTROS DE SIMULACIÓN


PARA DOCENTES

cont = 1
cuadrado = math.pow(n, 2)
while (cont<=cuadrado):
cont=cont+1
tot=cont-1
return tot
n = int(input("ingrese un numero"))
while True:
if (n==0):
print("cerrando programa")
break
else:
cua = serie(n)
print(n, "^2 =", cua)
n = int(input("ingrese un numero"))

CAPTURA PROGRAMA

PROBLEMA5: COSENO

El programa debe calcular el coseno de un ángulo en radianes mediante la serie:


Cos(x) = 1 - x^2/2! + x^4 /4! - x^6 /6! + ......., con x = ángulo en radianes
Usar dos funciones: la primera función leerá el ángulo en grados y lo devolverá en
radianes, la segunda función calculará el coseno del ángulo en radianes.
El coseno corresponde a la suma de los elementos de la serie, éstos se suman hasta que
el valor absoluto de uno de los términos sea menor o igual que el error 0,000006

Entrada: Un valor real que representa el ángulo en grados.


Salida: Un valor real correspondiente al coseno del ángulo

Ejemplo
Angulo en grados:25
El coseno de 0.4363323129985824 radianes es

Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001

CONSEJO ACADEMICO Aprobación: 2016/04/06

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación

FORMATO DE GUÍA DE PRÁCTICA DE LABORATORIO / TALLERES / CENTROS DE SIMULACIÓN


PARA DOCENTES

0.906307754520424

ALGORITMO
1.INICIO
2.DECLARACION
Grados, radianes, coseno, cont, términos, error  numéricos
3.ASIGNACION
IMPRIMIR (“INGRESE EL ANGULO EN GRADOS”)
LEER (grados)
Pi=MATH.pi
4.PROCESO
IMPORT math
DEF radianes(grados):
pi=math.pi
radianes=(pi*grados) /180
RETURN radianes
DEF coseno (radianes):
terminos = 1
coseno=0
error = 0.000006
cont=2
numerador=1
pot_cua= MATH.POW (radianes,cont)
MIENTRAS MATH.FABS (terminos)>error:
coseno=coseno+terminos
numerador=-1*numerador*pot_cua
denominador=MATH.FACTORIAL(cont)
terminos=numerador/denominador
cont=cont+2
RETURN coseno
IMPRIMIR (“INGRESE EL ANGULO EN GRADOS”)
LEER (grados)
radianes=radianes(grados)
coseno=coseno(radianes)
5.VISUALIZACION
IMPRIMIR ("EL COSENO DE", radianes, "RADIANES ES", coseno)
6.FIN

PSEUDOCODIGO

1.ENTRADAS
Grados numéricos
2.SALIDAS
radianes, coseno, cont, términos, error  numéricos
3.PROCESO
IMPRIMIR (“INGRESE EL ANGULO EN GRADOS”)

Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001

CONSEJO ACADEMICO Aprobación: 2016/04/06

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación

FORMATO DE GUÍA DE PRÁCTICA DE LABORATORIO / TALLERES / CENTROS DE SIMULACIÓN


PARA DOCENTES

LEER (grados)
Pi=MATH.pi
IMPORT math
DEF radianes(grados):
pi=math.pi
radianes=(pi*grados) /180
RETURN radianes
DEF coseno (radianes):
terminos = 1
coseno=0
error = 0.000006
cont=2
numerador=1
pot_cua= MATH.POW (radianes,cont)
MIENTRAS MATH.FABS (terminos)>error:
coseno=coseno+terminos
numerador=-1*numerador*pot_cua
denominador=MATH.FACTORIAL(cont)
terminos=numerador/denominador
cont=cont+2
RETURN coseno
IMPRIMIR (“INGRESE EL ANGULO EN GRADOS”)
LEER (grados)
radianes=radianes(grados)
coseno=coseno(radianes)
5.RESULTADO
IMPRIMIR ("EL COSENO DE", radianes, "RADIANES ES", coseno)

FLUJOGRAMA

Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001

CONSEJO ACADEMICO Aprobación: 2016/04/06

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación

FORMATO DE GUÍA DE PRÁCTICA DE LABORATORIO / TALLERES / CENTROS DE SIMULACIÓN


PARA DOCENTES

PROGRAMA PYCHARM
import math
def radianes(grados):

Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001

CONSEJO ACADEMICO Aprobación: 2016/04/06

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación

FORMATO DE GUÍA DE PRÁCTICA DE LABORATORIO / TALLERES / CENTROS DE SIMULACIÓN


PARA DOCENTES

pi=math.pi
radianes=(pi*grados) /180
return radianes
def coseno (radianes):
terminos = 1
coseno=0
error = 0.000006
cont=2
numerador=1
pot_cua= math.pow(radianes,cont)
while math.fabs(terminos)>error:
coseno=coseno+terminos
numerador=-1*numerador*pot_cua
denominador=math.factorial(cont)
terminos=numerador/denominador
cont=cont+2
return coseno
grados=float(input("ingrese el angulo en grados"))
radianes=radianes(grados)
coseno=coseno(radianes)
#visualizacion de resultados
Print ("el coseno de", radianes, "radianes es",coseno)

CAPTURA PROGRAMA

RESULTADOS OBTENIDOS:
1. Los estudiantes adquieren destrezas para interpretar y representar algoritmos de mayor
complejidad mediante la utilización de funciones para la solución de problemas.

Resolución CS N° 076-04-2016-04-20
VICERRECTORADO DOCENTE Código: GUIA-PRL-001

CONSEJO ACADEMICO Aprobación: 2016/04/06

Formato: Guía de Práctica de Laboratorio / Talleres / Centros de Simulación

FORMATO DE GUÍA DE PRÁCTICA DE LABORATORIO / TALLERES / CENTROS DE SIMULACIÓN


PARA DOCENTES

CONCLUSIONES:
Generar al menos una conclusión de la práctica desarrollada
1. Gracias a esta práctica hemos podido observar como las funciones definidas por el programador
sirven para poder facilitar el trabajo y agilizarlo una vez esta ya esté creada, ya que solamente será
necesario definir los parámetros y llamar a la función para utilizarla.
2. En el uso de funciones definidas por el usuario podemos utilizar también funciones matemáticas
importadas de un módulo llamado math y así poder realizar varias operaciones tales como ciclos
for y while
3. Al momento de usar funciones definidas por el usuario es recomendable tener en cuenta cual
sentencia se va a usar para el ejercicio y porque se la va a usar, esto debido a que, pese a que se
trabaje de la misma forma que al usar una variable normal, se debe tener en cuenta en que orden
van a estar los parámetros de entrada de la función, esto para evitar fallos en nuestro programa
4. En esta práctica acerca de funciones se ha podido observar que muchas funciones definidas por el
usuario pueden reemplazarse por variables y operaciones dentro de sentencias, sin embargo, hay
que tener en cuenta que al momento de definir una función lo que estamos haciendo es definir un
objeto el cual se puede utilizar de manera n-ésima solamente nombrando su salida con una
variable y esto es muy importante ya que es la base del análisis de datos o el desarrollo web
REFERENCIAS:
1. Granizo Montalvo, E. (2000). Programación Estructurada en Pseudocódigos, Teoría y
Ejercicios. Editorial ESPE.
[1] A. F. J. L. H. O. P. C. Jesús Daniel Arias Hernández, DESARROLLO DE APLICACIONES
EN PYTHON PARA EL APRENDIZAJE, revista ingenieria, 2016.
[2] J. E. C. S. G. Ivan D. Buitrago, Herramienta didactica con Python para el aprendizaje de la
logica proposicional, Medellín, Colombia: INGENIERIAS USBMED, 2018.
[3] E. S. G. H. H. D. M. M. B. Alexei Alayo Rondón, Python en la enseñanza de las matemáticas
en la carrera de Ingeniería en Ciencias Informáticas, Serie Científica de la Universidad de las
Ciencias Informáticas, 2021.
[4] V. Manfredi, Funciones matemáticas, ¿para qué se utilizan?, San Miguel, Buenos Aires:
DIPREGEP, 2007-2008.

Claustro Docente de Programación - Quito:

Firma: JOSE RIVERA

Resolución CS N° 076-04-2016-04-20

También podría gustarte