Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - m@o_614

#51
Dudas Generales / adjuntar archivos
18 Septiembre 2014, 01:31 AM
Saludos

Tengo una duda, no puedo adjuntar archivos desde mi cuenta de correo cuando estoy utilizando chrome, pero si estoy en explorer si se pueden adjuntar los archivos. Alguna idea de cuál puede ser el problema y cómo podría resolverlo???


de antemano gracias
#52
Java / imprime basura
15 Septiembre 2014, 01:27 AM
Saludos

Tengo el siguiente codigo, que utiliza la clase RandomAccessFile para abrir un archivo e imprimir caracter por caracter conforme lo va leyendo:

Código (java) [Seleccionar]
public class AutomataFinito {

public static void main(String[] args) {
char car;
String nombreArchivo;
Scanner teclado = new Scanner(System.in);
System.out.print("Dame nombre del archivo: ");
nombreArchivo = teclado.nextLine();
teclado.close();
try
{
File archivo = new File(nombreArchivo);
RandomAccessFile af = new RandomAccessFile(archivo,"r");
while((car = af.readChar()) != -1)
{
System.out.print(""+car);
}
af.close();
}
catch(IOException ex)
{
System.out.println("No se pudo abrir archivo");
}
}
}


El problema es que me imprime basura y despues imprime el mensaje de no se pudo abrir archivo

de antemano gracias
#53
Saludos

Estoy estudiando la siguiente gramática:

E:= E+E
E:= i

y encontre un problema, esta gramatica tiene recursión a izquierdas, o sea que en alguna de sus reglas inicia con un no terminal, en vez de con un terminal. Le tengo que quitar la recursión a izquierdas, pero no estoy seguro de como

yo la habia hecho asi:

E := iE'
E':=  ε | +E

pero me dicen que la manera correcta es

E: = iE'
E' :=  ε | +iE'

pero no entiendo por qué?? cual es la diferencia entre las dos

de antemano gracias
#54
Dudas Generales / activar occur check en prolog
30 Agosto 2014, 04:12 AM
Saludos

He estado buscando en diferentes partes información acerca de que es el la verificacion de ocurrencias en prolog y como activarla en mi version de prolog, que es la 6.6.1, solamente encontre cosas como la definicion y asi, pero no encontre nada de como realizar la activacion.

de antemano gracias
#55
Java / crear funcion para expresion regular
30 Agosto 2014, 00:39 AM
Saludos

Tengo las siguientes expresiones regulares:

M -> (M)
M -> n

estas dos me pueden generar cadenas como: ((((n)))) ó n

Tengo que diseñar una clase que se llame class Analizador Sintactico, para poder generar cualquier cadena que estas dos expresiones me permitan, ahorita ya hice una especie de pseudocodigo y creo que esta bien. Pero el problema es que yo sé que el analizador sintactico se asegura de que se tenga el mismo número de parentesis de abertura que de cierre, pero no estoy seguro de como lo hace


Código (java) [Seleccionar]
class Sintactico{
Lexico lexico = new Lexico();
int parentesis = 0;
void M(){
   if(lexicoSimbolo == 'n')
   {
       if(parentesis != 0)
          checarParentesis();
       else
  comprobar();
   }
   else if(lexicoSimbolo == '(')
   {
       parentesis++;
       M();
   }
   else
      error();
}

void checarParentesis(){
   int i = 1;
   while(i <= parentesis)
   {
       if(lexico.siguienteSimbolo() == ')' )
          i++;
       else
          error();
   }
}
}


que modificaciones le harian a este pseudocodigo para que sea más eficiente???

de antemano gracias
#56
Saludos

Estoy repasando algunos conceptos de Automatas, tengo que escribir la expresion regular que le corresponderia a un tipo entero, de cualquier lenguaje, en este caso C.

La duda que tengo es sobre si una gramatica tipo BNF es lo mismo que una expresion regular??, ambas son muy parecidas pero no se si sean lo mismo

BNF

<entero>:=<signo><decimal>|<decimal>
<decimal>:= <decimal><digito>|<digito>
<digito>:=0|1|2|3|4|5|6|7|8|9
<signo>:=+|-

expresion regular

entero:=[+/-][0...9]+|[0...9]+

gracias
#57
Java / algoritmo de recuperacion de cadenas
5 Agosto 2014, 22:16 PM
Saludos

Tengo que diseñar un algoritmo para ir recuperando unas cadenas de caracteres de un archivo pedido por el usuario. Un ejemplo del archivo sería:

char nombreVariable;

el codigo que yo tengo lo que hace es que va recorriendo el archivo caracter por caracter y si se encuentra un espacio en blanco o un signo de coma ', ' o de punto y coma ';',quiere decir que ha encontrado una cadena. En el ejemplo que puse las cadenas serian

char, nombreVariable y tambien el ;

Pero para el algoritmo que tengo solo obtiene las cadenas char y nombreVariable. El punto y coma no lo puede imprimir, y no se como cambiar el algoritmo que tengo:

este es el primer ciclo que me tiene que leer caracter por caracter hasta el final de archivo:

Código (java) [Seleccionar]
while((car = af.read()) != -1)
{
componenteLexico = Clase.leerArchivo(nombreArchivo,af);
System.out.print("[" + componenteLexico + "]");
}


y este es en el que me concatena los caracteres hasta que se encuentra con el caracter ' ' o ';'.

Código (java) [Seleccionar]
public static String leerArchivo(String nombre,RandomAccessFile r)
{
int car;
char c;
long posicion;
String cadena = null;
StringBuilder sb = new StringBuilder();
try
{
posicion = r.getFilePointer();
r.seek(posicion-1);
    while((car = r.read()) != -1 && car != ' ')
    {
    if(!esSignoPuntuacion(car))
    {
    c = (char)car;
            sb.append(c);
    }
    }
    cadena = sb.toString();
}
catch(IOException ex)
{
System.out.println("No se pudo abrir archivo");
}
return cadena;
}

public static boolean esSignoPuntuacion(int car)
{
if(car == ',' || car == ';' || car == '.')
   return true;
else
   return false;
}


gracias
#58
Java / Re: FileNotFoundException
31 Julio 2014, 03:26 AM
si, quiero usar el RandomAccessFile porque después de abrir el archivo quiero moverme en distintas posiciones del fichero, cosa que no puedo hacer si usara el FileReader
#59
Java / FileNotFoundException
30 Julio 2014, 07:20 AM
Saludos

Tengo el siguiente programa que usa RandomAccessFile para abrir un archivo, y que en caso de que no pueda hacerlo me lance una excepcion. El problema es que aun cuando el archivo se encuentra en la ruta que le indico con el String ruta, me sigue lanzando esa excepcion FileNotFoundException cuando no deberia

Código (java) [Seleccionar]
import java.util.Scanner;
import java.io.File;
import java.io.RandomAccessFile;
import java.io.FileNotFoundException;

public class AutomataFinito {

public static void main(String[] args) {
String nombreArchivo,nombre,ruta = "C:/Usuarios/MiNombre/workspace/Proyecto/";
Scanner teclado = new Scanner(System.in);
System.out.print("Dame nombre del archivo: ");
nombre = teclado.nextLine();
nombreArchivo = ruta + nombre;
teclado.close();
try
{
File archivo = new File(nombreArchivo);
RandomAccessFile r = new RandomAccessFile(archivo,"r");

}
catch(FileNotFoundException fileNotFoundException)
{
System.out.println("No se pudo abrir archivo");
}
}

}


alguien me puede decir a qué se debe esto??

de antemano gracias
#60
Dudas Generales / gramaticas LL
17 Julio 2014, 03:25 AM
Saludos

Tengo la siguiente gramatica de tipo LL(o sea que no tiene recursiones por la izquierda) y a esta gramatica que esta compuesta por elementos Terminales y No Terminales, le tengo que calcular el conjunto de elementos Primero() y Siguiente().

Se define Primero(X) es el conjunto de simbolos terminales que pueden aparecer al principio de las cadenas derivadas X.

Se define Siguiente(X), para el no terminal X como el conjunto de simbolos terminales que pueden aparecer inmediatamente a la derecha de X en alguna forma sentencial. Si tenemos por ejemplo Siguiente(E) y E esta al final de alguna forma de sentencia como en el ejemplo. Siguiente de E va a ser Siguiente(B), o sea cdaf$g por que E se deriva de B (B->bcdE).

                          Primero      Siguiente
A->BCc|gDB        gbcda         $f
B->bCDE|$           b$             cdaf$g
C->ca|DaB           cda            cdg
D->dD|$               d$             bgca$f
E->gAf|c               gc             cdaf$g

y tengo la duda en Siguiente(D)  existe una B despues de la D en la letra A, y esa me daria el no terminal b, despues en la regla B hay una E despues de D lo que me daria los no terminales g y c. En la regla C tengo el simbolo no terminal a despues de la D, lo que me daria:

b,g,c,a   pero no se de donde sale la f??? si alguien me pudiera decir por que de esto se lo agradeceria mucho