Usuario:Rodrigo:ALGORITMICA
EN ESTA PAGINA ENCONTRAN ALGO RELACIONADO CON EL TEMA DE "PROGRAMACION" EN DRPYTHON Y DRSCHEME. EN ESTA PAGINA ENCONTRARAN ALGO RELACIONADO CON LA PROGRAMACION EN DRPYTHON Y DRSCHEME.
RECETA DE DISEÑO
editarA) CONTRATO: NOMBRE DE LA FUNCION Y TIPOS DE VARIABLE.
B) PROPOSITO: QUÉ HACE LA FUNCION.
C) DEFINICION: CODIGO DE LA FUNCION.
D) PRUEBA: SE INVOCA LA FUNCION Y SE INDICA CUAL ES EL RESULTADO EMPLEADO. ÉSTE DEBE SER EQUIVALENTE AL RESULTADO DADO EN OTRO MEDIO.
EJEMPLO EN PYTHON:
RECETA DE DISEÑO: ÁREA LATERAL DE UN CILINDRO:
#CONTRATO: ÁREA_LATERAL. VARIABLES: RADIO R, ALTURA H. #PROPÓSITO: HALLAR EL ÁREA LATERAL DE UN CILINDRO RECTO DE RADIO R Y ALTURA H. #Definición: import math def area_lateral(r , h): return(2 * math.pi * r * h) #EJEMPLO: AREA_LATERAL(3 , 2) PRINT AREA_CIRCULAR #PRUEBA: EL RESULTADO DEBE SER 37.699 PROBADO EN CALCULADORA.
EJERCICIOS DE LA LECTURA: HOW TO DESIGN PROGRAMS
editarEN DR SCHEME
editarEJERCICIO 2.1.
editar;DESCUBRA SI DR SCHEME TIENE OPERACIONES PARA SACAR RAIZ DE UN NUMERO; PARA COMPUTAR EL SENO DE UN ANGULO Y PARA DETERMINAR EL MAXIMO DE DOS NUEMEROS.
; Raíz de un número (sqrt Número). Ejemplo:
(sqrt 25)
; Seno de un ángulo (ángulo en radianes). Ejemplo:
(sin (/ pi 2))
; Determinar el máximo de dos números (max num1 num2). Ejemplo:
(max 1 6)
EJERCICIO 2.2
editar;Evaluar las raíces de 4, 2, -1:
(sqrt 4)
(sqrt 2)
(sqrt -1)
;Tangente de un ángulo (tan ángulo en radianes). Ejemplo:
(tan pi)
EJERCICIO 2.3
editar;DEFINA EL PROGRAMA FAHRENHEIT->CELSIUS QUE CONSUME UNA TEMPERATURA MEDIDA EN FAHRENHEIT Y
PRODUCE EL EQUIVALENTE CELSIUS:
(define (Fahrenheit->Celsius F)
(* (/ 5 9) (- F 32)))
;Ejemplo:
(Fahrenheit->Celsius 41)
EJERCICIO 2.4
editar;Defina el programa dolar->euro que consume un número de dólares y produce un equivalente
en euros.
(define (dolar->euro dolar)
(/ (* dolar 3313.42) 2682.34))
;Ejemplo:
(dolar->euro 6)
EJERCICIO 2.5
editar;Defina el programa triángulo que consume la longitud del lado del triángulo y su altura y produce el área del triángulo.
(define (area-triangulo lado altura)
(/ (* lado altura) 2))
;Ejemplo:
(area-triangulo 5 6)
EJERCICIO 2.6
editar;Programa convert3, consume 3 dígitos, empezando con el dígito menos significativo, seguido por el
siguiente más significativo y así sucesivamente. El programa produce el número correspondiente.
(define (convert3 num1 num2 num3)
(+ (* num3 100) (* num2 10) num1))
;Ejemplo:
(convert3 1 2 3)
EJERCICIO 2.7
editar;Evalúe las siguientes expresiones , , , para n=2, n=5 y n=9
(define (f n)
(+ (/ n 3) 2))
;Ejemplo:
(f 2)
(f 5)
(f 9)
(define (g n)
(+ (* n n) 10))
;Ejemplo:
(g 2)
(g 5)
(g 9)
(define (h n)
(+ (* (/ 1 2) (* n n)) 20))
;Ejemplo:
(h 2)
(h 5)
(h 9)
(define (b n)
(- 2 (/ 1 n)))
;Ejemplo:
(b 2)
(b 5)
(b 9)
EJERCICIO 2.8
editar; Definir el programa impuesto que determina el impuesto sobre el pago bruto. (Taza de impuestos 15%). Definir pago-neto, que determina el pago de un empleado del número de horas trabajadas. (Taza horaria de US$12)
(define (impuesto pago)
(/ (* 15 pago) 100))
(define (pago-neto horas)
(* horas 12))
;Ejemplo:
(impuesto 9)
(pago-neto 15)
EJERCICIO 2.9
editar; Definir el programa suma-monedas, que onsume cuatro números: el número de monedas de $50, $100, $500 y $1000 en una bolsa; produce la cantidad de dinero en la bolsa.
(define (suma-monedas m1 m2 m3 m4)
(+ (* m1 50)(* m2 100)(* m3 500)(* m4 1000)))
;Ejemplo:
(suma-monedas 1 2 3 4)
EJERCICIO 2.10
editar; Un teatro tiene una sencilla función. Cada cliente paga US$5 por tiquete. Cada realización cuesta al teatro US$20, más US$8.50 por asistente. Desarrollar la función ganancia-total. Consume el número de asistentes y produce cuántos ingresos producen los asistentes.
(define (ganancia-total asistentes)
(- (* 5 asistentes) (+ 20 (* 8.50 asistentes))))
;Ejemplo:
(ganancia-total 9)
EJERCICIO 2.11
editar;Evaluar las siguientes expresiones, leer y comprender los mensajes de error:
;(+ (10) 20)
;(10 + 20)
; En las expresiones anteriores se esperaba un nombre u operación definida después del paréntesis, pero se encontró un número
;(+ +)
; El operador "+" debe estar aplicado a argumentos
EJERCICIO 2.12
editar; Leer los mensajes de error al ejecutar las siguientes expresiones y fijar la definición apropiada.
;(define (f 1)(+ x 10)) ; La definición de la función debe estar entre paréntesis; se requiere el nombre del primer argumento de la función (x), pero en su lugar hay un número (1).
;(define (g x) + x 10) ; Falta un paréntesis antes del operador "+" y otro para cerrar la definición de la función
;(define h(x)(+ x 10)) ; x no está definido, no es un argumento
; La definición correcta sería:
(define (i x)
(+ x 10))
EJERCICIO 2.13
editar; Evaluar las siguientes expresiones gramaticalmente legales:
;(+ 5 (/ 1 0)): Division por cero
;(sin 10 20): El seno solo espera un argumento y recibe 2 (10 20)
;(somef 10): Hace referencia a una "función" indefinida
EJERCICIO 2.14
editar; Ejecutar el siguiente programa y evaluar (somef 10 20) y (somef 10) en la ventana de Interacciones:
(define (somef x)
(sin x x))
; En la definición de la función somef recibe un solo parámetro y en la expresión (somef 10 20) la función recibe 2 argumentos
; En la función, el seno recibe 2 argumentos y según su definición solo recibe un argumento (en radianes)
EN PYTHON
editarEJERCICIO 2.1
editar#Descubra si DrPython tiene operaciones para sacar raiz de un numero y para computar el seno de un angulo. #Raíz de un número (math.sqrt(número)). Ejemplo: import math math.sqrt(25) #Seno de un ángulo (ángulo en radianes). Ejemplo: import math math.sin(math.pi / 2)
EJERCICIO 2.2
editar#Evaluar las raíces de 4, 2 y -1. Calcular la tangente de un ángulo. # Raíces: import math math.sqrt(4) math.sqrt(2) math.sqrt(-1) #Tangente de un ángulo: import math math.tan(ángulo en radianes) import math math.tan(math.pi)
EJERCICIO 2.3
editar#Programa Fahrenheit->Celsius que consume una temperatura medida en Fahrenheit y produce el equivalente Celsius: def Fahrenheit_A_Celsius (F): return((F-32)*(5.0/9.0)) #Ejemplo: Fahrenheit_A_Celsius(41)
EJERCICIO 2.4
editar#Programa dolar->euro que recibe una cantidad en dólares y retorna el equivalente en euros def Dolar_A_Euro(dolar): return(dolar*(3313.42/2682.34)) #Ejemplo: Dolar_A_Euro (50)
EJERCICIO 2.5
editar#Programa triángulo que consume la longitud del lado del triángulo y su altura, retorna el área del triángulo: def triangulo(base , altura): return((base*altura)/2) #Ejemplo: triangulo (5 , 6)
EJERCICIO 2.6
editar#Programa convert3 que recibe 3 dígitos, empezando con el dígito menos significativo, seguido por el siguiente más significativo y asísucesivamente. El programa produce el número correspondiente. def convert3 (num1,num2,num3): return ((num3*100)+(num2*10)+(num1)) #Ejemplo: convert3(1,2,3)
EJERCICIO 2.7
editar#Evaluar n/3 + 2, n^2 + 10, (1/2)n^2 + 20 y 2 - 1/n; para los valores de n=2, n=5, n=9. def f(n): return ((n/3)+2) f(2) f(5) f(9) def f(n): return ((n*n)+10) f(2) f(5) f(9) def f(n): return (((1/2)*n*n)+20) f(2) f(5) f(9) def f(n): return (2-(1/n)) f(2) f(5) f(9)
EJERCICIO 2.8
editar#Programa impuesto que determina el impuesto por el pago bruto. La tasa de impuesto es del 15%. También definir pago-neto, programa que determina el pago que un trabajador recibe por un número de horas trabajadas. Asumiendo una tasa horaria de $12. def impuesto (pago): return (pago*(15/100)) def pago (horas): return (12*horas) #Ejemplos: impuesto (2000) pago (48)
EJERCICIO 2.9
editar#Programa suma-monedas, que recibe cuatro números: el número de monedas de $50, $100, $500 y $1000; retorna la cantidad de dinero total. def suma_monedas (m1,m2,m3,m4): return ((m1*50)+(m2*100)+(m3*500)+(m4*1000)) # m1 = número de monedas de $50 # m2 = número de monedas de $100 # m3 = número de monedas de $500 # m4 = número de monedas de $1000 # Ejemplo: suma_monedas(1,2,3,4)
EJERCICIO 2.10
editar#En un teatro cada asistente paga $5 por tiquete. Cada función cuesta al teatro $20, más $0.5 por asistente. Desarrolla la función total-ganancia, que recibe el número de asistentes y retorna cuántos ingresos se producen. def ganancia_total (asistentes): return ((5*asistentes)-(20+(0.5*asistentes))) #Ejemplo: ganancia_total (120)
==EJERCICIOS CORREGIDOS==
editarEjercicio 2.6
editar;Programa convert3, consume 3 dígitos, empezando con el dígito menos significativo, seguido por el siguiente más significativo y así sucesivamente. El programa produce el número correspondiente.
(define (convert3 num1 num2 num3)
(+ (* num3 100) (* num2 10) num1))
(convert3 1 2 3)
Ejercicio 2.7
editar;Evalue las siguientes expresiones , , , para n=2, n-5 y n=9
(define (f n)
(+ (/ n 3) 2))
(f 2)
(f 5)
(f 9)
(define (g n)
(+ (* n n) 10))
(g 2)
(g 5)
(g 9)
(define (h n)
(+ (* (/ 1 2) (* n n)) 20))
(h 2)
(h 5)
(h 9)
(define (b n)
(- 2 (/ 1 n)))
(b 2)
(b 5)
(b 9)
Ejercicio 2.8.
editar;Definir el programa impuesto que determina el impuesto sobre el pago bruto. (Taza de impuestos 15%). Definir pago-neto, que determina el pago de un empleado del número de horas trabajadas. (Taza horaria de US$12)
(define (impuesto pago)
(/ (* 15 pago) 100))
(impuesto 2000)
(define (pago-neto horas)
(* horas 12))
(pago-neto 48)
Ejercicio 2.9.
editar;Definir el programa suma-monedas, que onsume cuatro números: el número de monedas de $50, $100, $500 y $1000 en una bolsa; produce la cantidad de dinero en la bolsa.
(define (suma-monedas m1 m2 m3 m4)
(+ (* m1 50)(* m2 100)(* m3 500)(* m4 1000)))
(suma-monedas 1 2 3 4)
Ejercicio 2.10.
editar;Un teatro tiene una sencilla función. Cada cliente paga US$5 por tiquete. Cada realización cuesta al teatro US$20, más US$8.50 por asistente. Desarrollar la función ganancia-total. Consume el número de asistentes y produce cuántos ingresos producen los asistentes.
(define (ganancia-total asistentes)
(- (* 5 asistentes) (+ 20 (* 8.50 asistentes))))
(ganancia-total 120)
Ejercicio 2.11
editar;Evaluar las siguientes expresiones, leer y comprender los mensajes de error:
;(+ (10) 20)
;(10 + 20)
;En las expresiones anteriores se esperaba un nombre u operación definida después del paréntesis, pero se encontró un número
;(+ +)
;El operador "+" debe estar aplicado a argumentos
Ejercicio 2.12
editar;Leer los mensajes de error al ejecutar las siguientes expresiones y fijar la definición apropiada.
;(define (f 1)(+ x 10)) ;La definición de la función debe estar entre paréntesis; se requiere el nombre del primer argumento de la función (x), pero en su lugar hay un número (1).
;(define (g x) + x 10) ; Falta un paréntesis antes del operador "+" y otro para cerrar la definición de la función
; (define h(x)(+ x 10)) ; x no está definido, no es un argumento
; La definición correcta sería:
(define (i x)
(+ x 10))
Ejercicio 2.13
editar; Evaluar las siguientes expresiones gramaticalmente legales:
;(+ 5 (/ 1 0)): Division por cero
;(sin 10 20): El seno solo espera un argumento y recibe 2 (10 20)
;(somef 10): Hace referencia a una "función" indefinida
Ejercicio 2.14
editar; Ejecutar el siguie(+ 5 (/ 1 0nte programa y evaluar (somef 10 20) y (somef 10) en la ventana de Interacciones:
(define (somef x)
(sin x x))
; En la definición de la función somef recibe un solo parámetro y en la expresión (somef 10 20) la función recibe 2 argumentos
; En la función, el seno recibe 2 argumentos y según su definición solo recibe un argumento (en radianes)