[C con Clase] necesito ayuda, urgente para mañana

Steven Davidson steven en conclase.net
Sab Ene 13 03:05:58 CET 2007


Hola Tomás,

El pasado 2007-01-12 23:46:07, Tomas Zulberti escribió:
 
TZ> 2)No se entiende que es lo que queres que haga el algoritmo... Intenta
TZ> de explicar un poco mejor que es BNF, y que es SAB...

BNF significa Backus-Naur Form o a veces llamado Backus Normal Form. BNF se usa para describir reglas de producción que se suele usar para describir lenguajes. Por ejemplo,

<número_entero> ::= <número_entero_magnitud> |
                    +<número_entero_magnitud> | -<número_entero_magnitud>
<número_entero_magnitud>> ::= <dígito> | <dígito><número_entero>
<dígito> ::= 0 | 1 | 2| 3 | 4 | 5 | 6 | 7 | 8 | 9

Estas reglas o axiomas describen la gramática para construir correctamente un número entero. Por ejemplo,
-1234500123
+5123121
0
1023

A veces se usa EBNF (Extended BNF) para ahorrar espacio. Por ejemplo, lo anterior, escrito en EBNF, sería,

<número_entero> ::= [+|-]<número_entero_magnitud>
<número_entero_magnitud>> ::= <dígito> | <dígito>{<dígito>}
<dígito> ::= 0 | 1 | 2| 3 | 4 | 5 | 6 | 7 | 8 | 9

Es posible que hayas visto EBNF al intentar ejecutar programas bajo la consola. Por ejemplo, bajo la consola de MS-Windows, tenemos la siguiente ayuda para poder conocer el uso correcto del comando "attrib":

ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive:] [path] filename]
       [/S [/D]]

[] significa que su contenido es optativo, y
| significa selección es parecido en funcionamiento al operador de C/C++: OR


Espero haber aclarado un poco el tema.

Steven


Más información sobre la lista de distribución Cconclase