elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


  Mostrar Temas
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 22
41  Foros Generales / Dudas Generales / gramatica libre de contexto en: 29 Septiembre 2014, 05:50 am
Saludos

Tengo que crear una gramatica libre de contexto que me genere lo que serían las librerias del lenguaje de programacion Ada. Por ejemplo:

With Ada.Comand,Ada.Text_IO;

o tambien podria ser:

With Ada.Characters.Handling;

y la gramatica que tengo va más o menos así:

<Libreria>:= With <P>;
<P>:= Ada.identificador<paquetes>
<paquetes>:=.identificador<paquetes> | (null)

el problema es que esta gramatica me genera  with ada.X.y.Z; pero no me genera el primer ejemplo: with ada.comand,ada.Text_io;

y no se como agregarle esto, tambien tengo la restriccion de que si tengo una gramatica P, sus reglas no pueden iniciar con el mismo no terminal

gracias
42  Programación / Programación C/C++ / algoritmo de bresenham en: 27 Septiembre 2014, 00:04 am
Saludos

Tengo el siguiente codigo en C, que me tiene que dibujar algunas lineas mediante el algoritmo de bresenham. Para esto estoy utilizando GLUT, la cual ya le instale correctamente. El problema es que dentro del main donde tengo la llamada a funcion de init() y glutDisplayFunc(estrella); me aparece init y estrella not declared in this scope, por qué será esto??

Código
  1. #include <windows.h>
  2. #include <GL/glut.h>
  3.  
  4. int main(int argc, char** argv)
  5. {
  6.    glutInit(&argc, argv);//inicialización de GLUT
  7.    glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);//único búfer de refresco en la ventana de visualización y el modo de color RGB
  8.    glutInitWindowPosition(50, 100); // posición inicial, esq sup izq
  9.    glutInitWindowSize(400, 300); //alto y ancho de la ventana en pixeles
  10.    glutCreateWindow("Primer Practica");// creación de ventana de visualización y título de la misma
  11.    init();
  12.    glutDisplayFunc(estrella); // muestra la línea en la ventana de visualización
  13.    glutMainLoop(); // bucle infinitoque comprueba entrada de disp
  14.    return EXIT_SUCCESS;
  15. }
  16.  
  17. void bresenham(int x0,int y0,int x1,int y1)
  18. {
  19.    int dx,dy,p,x,y,s1,s2,e,i,intercambio;
  20.  
  21.    x = x1;
  22.    y = y1;
  23.  
  24.    dx = abs(x1-x0);
  25. dy = abs(y1-y0);
  26.  
  27. s1 = signo(x1-x0);
  28. s2 = signo(y1-y0);
  29.  
  30. if(y > x)
  31.    {
  32.        p = dx;
  33.    dx = dy;
  34.    dy = p;
  35.    }
  36.    else
  37.       intercambio = 1;
  38.    e=2*dy-dx;
  39.    for(i = 0;i <= dx;i++)
  40.    {
  41.        if(e >= 0)
  42.        {
  43.            if(intercambio == 1)
  44.               x = x+s1;
  45.            else
  46.               y = y+s2;
  47.        }
  48.        e = e-(2*dx);
  49.    }
  50.    if(intercambio == 1)
  51.       y = y+s2;
  52.    else
  53.       x = x+s1;
  54.    e = e+2*dy;
  55. }
  56.  
  57. int signo(int num)
  58. {
  59.    int resultado;
  60.    if(num < 0)
  61.       resultado = -1;
  62.    else if(num > 0)
  63.       resultado = 1;
  64.    else if(num == 0)
  65.       resultado = 0;
  66.    return resultado;
  67. }
  68.  
  69. void init(void)
  70. {
  71.    glClearColor(1.0, 1.0, 1.0, 0.0); // colorde la ventana, blanco
  72.    glMatrixMode(GL_PROJECTION);//  proyección de la imagen en la ventana devisualización
  73.    gluOrtho2D(0.0, 400.0, 0.0, 300.0);//  proyección en 2D
  74. }
  75.  
  76. void estrella(void)
  77. {
  78.   bresenham(0,0,0,130);/*
  79.    bresenham();
  80.    bresenham();
  81.    bresenham();*/
  82. }
  83.  

de antemano gracias
43  Foros Generales / Dudas Generales / adjuntar archivos en: 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
44  Programación / Java / imprime basura en: 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
  1. public class AutomataFinito {
  2.  
  3. public static void main(String[] args) {
  4. char car;
  5. String nombreArchivo;
  6. Scanner teclado = new Scanner(System.in);
  7. System.out.print("Dame nombre del archivo: ");
  8. nombreArchivo = teclado.nextLine();
  9. teclado.close();
  10. try
  11. {
  12. File archivo = new File(nombreArchivo);
  13. RandomAccessFile af = new RandomAccessFile(archivo,"r");
  14. while((car = af.readChar()) != -1)
  15. {
  16. System.out.print(""+car);
  17. }
  18. af.close();
  19. }
  20. catch(IOException ex)
  21. {
  22. System.out.println("No se pudo abrir archivo");
  23. }
  24. }
  25. }
  26.  

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

de antemano gracias
45  Foros Generales / Dudas Generales / gramatica sin recursión a la izquierda en: 5 Septiembre 2014, 03:52 am
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
46  Foros Generales / Dudas Generales / activar occur check en prolog en: 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
47  Programación / Java / crear funcion para expresion regular en: 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
  1. class Sintactico{
  2. Lexico lexico = new Lexico();
  3. int parentesis = 0;
  4. void M(){
  5.   if(lexicoSimbolo == 'n')
  6.   {
  7.       if(parentesis != 0)
  8.          checarParentesis();
  9.       else
  10.  comprobar();
  11.   }
  12.   else if(lexicoSimbolo == '(')
  13.   {
  14.       parentesis++;
  15.       M();
  16.   }
  17.   else
  18.      error();
  19. }
  20.  
  21. void checarParentesis(){
  22.   int i = 1;
  23.   while(i <= parentesis)
  24.   {
  25.       if(lexico.siguienteSimbolo() == ')' )
  26.          i++;
  27.       else
  28.          error();
  29.   }
  30. }
  31. }

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

de antemano gracias
48  Foros Generales / Dudas Generales / gramatica bnf y expresiones regulares en: 22 Agosto 2014, 03:09 am
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
49  Programación / Java / algoritmo de recuperacion de cadenas en: 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
  1. while((car = af.read()) != -1)
  2. {
  3. componenteLexico = Clase.leerArchivo(nombreArchivo,af);
  4. System.out.print("[" + componenteLexico + "]");
  5. }

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

Código
  1. public static String leerArchivo(String nombre,RandomAccessFile r)
  2. {
  3. int car;
  4. char c;
  5. long posicion;
  6. String cadena = null;
  7. StringBuilder sb = new StringBuilder();
  8. try
  9. {
  10. posicion = r.getFilePointer();
  11. r.seek(posicion-1);
  12.    while((car = r.read()) != -1 && car != ' ')
  13.    {
  14.     if(!esSignoPuntuacion(car))
  15.     {
  16.     c = (char)car;
  17.            sb.append(c);
  18.     }
  19.    }
  20.    cadena = sb.toString();
  21. }
  22. catch(IOException ex)
  23. {
  24. System.out.println("No se pudo abrir archivo");
  25. }
  26. return cadena;
  27. }
  28.  
  29. public static boolean esSignoPuntuacion(int car)
  30. {
  31. if(car == ',' || car == ';' || car == '.')
  32.   return true;
  33. else
  34.   return false;
  35. }

gracias
50  Programación / Java / FileNotFoundException en: 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
  1. import java.util.Scanner;
  2. import java.io.File;
  3. import java.io.RandomAccessFile;
  4. import java.io.FileNotFoundException;
  5.  
  6. public class AutomataFinito {
  7.  
  8. public static void main(String[] args) {
  9. String nombreArchivo,nombre,ruta = "C:/Usuarios/MiNombre/workspace/Proyecto/";
  10. Scanner teclado = new Scanner(System.in);
  11. System.out.print("Dame nombre del archivo: ");
  12. nombre = teclado.nextLine();
  13. nombreArchivo = ruta + nombre;
  14. teclado.close();
  15. try
  16. {
  17. File archivo = new File(nombreArchivo);
  18. RandomAccessFile r = new RandomAccessFile(archivo,"r");
  19.  
  20. }
  21. catch(FileNotFoundException fileNotFoundException)
  22. {
  23. System.out.println("No se pudo abrir archivo");
  24. }
  25. }
  26.  
  27. }

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

de antemano gracias
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 22
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines