Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Variable
Constante
Nombre
a) f.x ≐ 5 * x
b) duplica.a ≐ a + a
c) por2.y ≐ 2 * y
d) multiplicar.zz.tt ≐ zz * tt
promedio.x.y ≐ ( x + y ) / 2
a) (multiplicar.(f.5).2) + 1
= {Definición de f}
(multiplicar.(5 * 5).2) + 1
= {aritmética}
(multiplicar.25.2) + 1
= {Definición de multiplicar}
25 * 2 + 1
= {Aritmética}
50 + 1
= {Aritmética}
51
● (multiplicar.(f.5).2) + 1
= {Definición de f}
(multiplicar.(5 * 5).2) + 1
= {Definición de multiplicar}
(5 * 5) * 2 + 1
= {Aritmética}
51
b) por2.(duplica.(3 + 5))
= {Aritmética}
por2.(duplica.(8))
= { Definición de duplica}
por2.( 8 + 8)
= {Aritmética}
por2.16
= {def de por2}
2 * 16
= {Aritmética}
32
● por2.(duplica.(3 + 5))
= { Definición de duplica}
por2.( ( 3 + 5) + ( 3 + 5))
= { Definición de por2}
2 * ( ( 3 + 5) + ( 3 + 5))
= {Aritmética}
32
duplica.x = por2.x
= { definición de duplica}
x + x = por2.x
= {definición de por2}
x + x = 2 * x
= { distributividad de * con +}
x * ( 1 + 1) = 2 * x
= { aritmética}
x * 2 = 2 * x
= { conmutatividad de * }
2 * x = 2 * x
= {reflexividad de =}
True
Ejercicio 5: Dar el tipo de las funciones del ejercicio 1 y el
ejercicio 2.
a) f.x ≐ 5 * x
f: Num → Num
b) duplica.a ≐ a + a
c) por2.y ≐ 2 * y
d) multiplicar.zz.tt ≐ zz * tt
promedio.x.y ≐ ( x + y ) / 2
a) g.y ≐ 8 * y
g: Num → Num
b) h.z.w ≐ z + w
c) j.x ≐ x ≤ 0
j: Num → Bool
)
b) rangoPrecio : Int → String, que dado un número que
representa el precio de una computadora, retorne “muy barato”
si el precio es menor a 2000, “demasiado caro” si el precio es
mayor que 5000, “hay que verlo bien” si el precio está entre
2000 y 5000, y “esto no puede ser!” si el precio es negativo.
absoluto.x ≐ (x >= 0 → x
□ x < 0 → -x
□ mod x 2 = 1 → False
)
Ejercicio 8: Definí la función esMultiploDe : Num→ Num→ Bool ,
que devuelve True si el segundo es múltiplo del primero.
Ejemplo: esMultiploDe 3 12 = True.
celsiusToFahr.x ≐ x * 1.8 + 32
segundo3.(a, b, c) ≐ b
b) ordena : (Num, Num) → (Num, Num), que dados dos enteros los
ordena de menor a mayor.
todosIguales.( a, b, c) ≐ ( a = b ∧ b = c → True
????????
todosIguales.( a, b, c) ≐ ( a = b ∧ b = c → True
a > b → False