Informatico

Páginas: 3 (625 palabras) Publicado: 21 de agosto de 2013
Obs.: € = vacio

Dado la siguiente gramática de numeros romanos

numero -> centena decena unidad
centena -> C | CC | CCC | CD | D | €
decena -> decenaMenor | XL | L decenaMenor | XC | €decenaMenor -> decenaMenor X | €
unidad -> unidadMenor | IV | V unidadMenor | IX | €
unidadMenor -> unidadMenor I | €

Se pide:

- Hallar una gramatica equivalente (hacer caso omiso de que lagramatica dada acepta cadenas invalidas del tipo "XXXX", "XXXXX") que permita un analisis predictivo descendente
- Definir las reglas o acciones semanticas que correspondan
- Realizar una traduccióndirigida por sintaxis en Java o seudoCodigo que permita, dado un numero romano, obtener su equivalente arabigo. Ej: Entrada: XXI, Salida = 21

GRAMATICA EQUIVALENTE REGLAS Y/O ACCIONESSEMANTICAS

numero -> centena decena unidad numero = centena.val() + decena.val() + unidad.val()

centena -> C cen | D | € centena = 100 + cen.val() | centena = 500 | centena = 0
cen -> CcentenaMenor | D | € cen = 100 + centenaMenor.val() | cen = 300 | cen = 0
centenaMenor -> C | € centenaMenor = 100 | centenaMenor = 0

decena -> X dec | L decenaMenor | € decena = 10 +dec.val | decena = 50 + decenaMenor.val() | decena = 0
dec -> decenaMenor | L | C dec = decenaMenor.val() | dec = 30 | dec = 80
decenaMenor -> X decenaMenor | € decenaMenor = 10 +decenaMenor.val() | decenaMenor = 0

unidad -> I uni | V unidadMenor | € unidad = 1 + uni.val() | unidad = 5 + unidadMenor.val() | unidad = 0
uni -> unidadMenor | V | X uni = unidadMenor.val() | uni= 3 | uni = 8
unidadMenor -> I unidadMenor | € unidadMenor = 1 + unidadMenor.val() | unidadMenor = 0


SeudoCodigo en Java

import java.io.InputStreamReader;
import java.io.BufferedReader;/**
*
* @author Jose Chavez
*/

public class TraductorNumerosRomanos{
static int readPos = 0;

public static void main(String [] args){
try{
InputStreamReader isr = new...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Informatica
  • Informatica
  • Informatica
  • Informatica
  • Informatica
  • Informática
  • Informatica
  • Informatica

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS