Intro a Pg Funcional
La notación
Taller matemática
Intro a Pg Funcional
La notación
Taller matemática
Intro a Pg Funcional
La notación
matemática
Notación de Backus-Naur
Es un metalenguaje usado para expresar gramáticas libres de contexto:
es decir, una manera formal de describir lenguajes formales.
El BNF se utiliza extensamente como notación para las gramáticas de
los lenguajes de programación, de los sistemas de comando y de los
protocolos de comunicación
Intro a Pg Funcional
La notación
matemática
Notación de Backus-Naur
Entonces en notación BNF una expresión aritmética se define así:
<expr arit>::= <operando>|<expr arit>
<operador>
<operando>|<expr arit>
<operando>::=<numero>
<operando>::=<+>|<->|<*>|</>
Intro a Pg Funcional
La notación
matemática
Notación de Backus-Naur
Entonces en notación BNF una expresión aritmética se define así:
<numero>::= <digito>
<digito>::=<0>|<1>|<2>|<3>|<4>|<5>|<6>|<7>|<8>|<9>
Intro a Pg Funcional
La notación
matemática
Retos de la matemática:
1. Una expresión matemática puede acabar siendo ambigua si no se
asigna la precedencia de los operadores a priori
2. Una expresión aritmética está dada por un operando y un operador
3. Un operando puede ser un número u otra expresión aritmética
4. Toda expresión matemática o aritmética debe perseguir la
agrupación de sus expresiones en paréntesis conservando la técnica
PEMDAS
5. Sobre todo en notación Infija.
Intro a Pg Funcional
La notación
matemática
Retos de la
matemática: PEMDAS
P: Paréntesis
E:
Exponentes
M:
Multiplicación D:
División
A: Adición
S: Sustracción
Intro a Pg Funcional
La notación
matemática
Ejemplo de una expresión ambigua
A+B+C*D/8-X+F*4/C^D
● ((A + B + C * D / 8 - X + F * 4 / C) ^ (D))
● (((A + B + C ) * (D / 8 - X + F * 4 / C)) ^ (D))
● (((A + B + C ) * ((D) / (8 - X + F * 4 / C))) ^ (D))
● (((A + B + C ) * ((D) / ((8 - X + F ) * (4 / C)))) ^ (D))
Intro a Pg Funcional
La notación
matemática
Ejemplo de una expresión
ambigua Pasar de infijo a pre-fijo
● (((A + B + C ) * ((D) / ((8 - X + F ) * (4 / C)))) ^ (D))
Resultado
( ^ ( * (( + A B C) ( / D ( * ( + - 8 X F ) ( / 4 C )) )) ) D )