Notación prefija en Scheme


En Racket se usa la notación prefija que es donde el operador se encuentra antes de los operandos, cosa que se explica mejor con un ejemplo:

1. Notación prefija:     +    5    10
2. Notación infija:        5   +    10
3. Notación Postfija:    5   10   +


Como dije anteriormente, Racket usa la notación prefija para realizar todo tipo de operaciones lógicas, aritméticas y algebraicas, esto no es muy complejo y se logra entender mejor con varios ejemplos:




 Notación prefija en Scheme


EJEMPLO. La expresión para hallar el área de un circulo seria π * (r * r) en notación prefija seria * π (* r r).
Si bien esta es notación prefija y de esta forma se pueden ingresar los datos en scheme hay formas un poco más óptimas.


Si bien conocemos cual es la fórmula para hallar el área de un circulo (pi por radio al cuadrado) en Racket lo podemos expresar de varias formas:

1. (* π (* r r))
2. (* π (sqr r))
3. (* π (expt r 2) 

Ahora procederé a explicar cada una de estas variantes:

1. Esta es la forma más sencilla de escribir la solución a ese problema (pi por dos veces el radio)

2. Esta es una forma un poco más compleja de entender ya aquí estamos empezando a usar las palabras reservadas (también conocidas como funciones reservadas) de Racket, donde "sqr" significa "elevar al cuadrado".

3. En este caso también se usa las palabras reservadas de Racket, donde "expt" me indica que quiero elevar una base x a una potencia n sea el número que sea, expt es una función que usa de dos datos de entrada para poder operar donde el primer dato será la base y el segundo el exponente al que se elevara, ejemplos: (expt 3 2) = 9, (expt 3 3) = 27, (expt 5 3) = 125 


Ver ejemplo del código en: Calcularel área de un círculo dado su radio




Ejercicios matemática en DrRacket

Para resolver los siguientes ejemplos ten encuentra El orden de las operaciones matemáticas.

Para explicar mejor los siguientes ejemplos fueron tomados de la cuenta en youtube de un profesor de fdp de la universidad del valle - sede tulua.


Resolver:
5 + 6*5
5*6 + 7*(8-9)



Resolver:
5/(6+7) - 8 (9+10) + 5*(7-8)



Resolver:

5/(6^2 + 7*8 + 9*(7/6)) + 6*(5  7/4) - 8/ (3^2 + 2^5 + 7)




Resolver:
5*(8/(9^3 + 24) - 8*(2+4)) - 7 + 9/( 4^5 + 6/7 + 9)



Los anteriores vídeos le pertenecen al ing. Carlos Andres Delgado
Compartir en facebook twitter Google tumblr pinterest

Entradas similares

0 Comentarios