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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Validacion de cadenas C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Validacion de cadenas C++  (Leído 4,554 veces)
Gabiita

Desconectado Desconectado

Mensajes: 32


Estudio Ingenieria en Sistemas.


Ver Perfil WWW
Validacion de cadenas C++
« en: 6 Septiembre 2010, 08:58 am »

HOLA!! UNA DUDITA DE NUEVO JEJEJE, stoy trabajando en Borland C++ y me han dejado un proyecto en la clase de Lenguajes formales y automatas, se trata de hacer una automata finito que valide una URL, desde http://www.hola.com.gt/cosa.html y asi cuantos ficheros desee, pues ya hice el diagrama de transiciones y los analizadores lexicos, pero sorpresa! hay que hacer un programa a nivel de consola :S y pues no se que me pueden recomendar hacer???

Pensaba algo asi como que ingrese la cadena, y por partes ir evaluando, pero no se si tienen otra buena idea???

Tambien tengo que dibujar el enoooorme diagrama de transiciones a nivel de consola, no graphics :(:(:(:( ideas? gotoxy creo que seria cansado :S o algo con graphics pero que se vea como consolita XD JEJEJEJE

Espero puedan darme sugerencias y consejos :) ;-)


« Última modificación: 6 Septiembre 2010, 10:17 am por Littlehorse » En línea

“La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no”
— Albert Einstein
Littlehorse
All the world's a stage
Moderador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: VALIDACION DE CADENAS EN C++
« Respuesta #1 en: 6 Septiembre 2010, 10:14 am »

Hola Gabi  :D.

Para la validación, lamentablemente no te queda otra que recorrer la cadena verificando si corresponde con los esquemas aceptados para el ingreso de la URL, que pueden ser uno u varios (www., http://, http://www etc).

Para lo de los gráficos, te dieron una gama de opciones o simplemente te dijeron que no uses graphics?
Igualmente supongo yo que la idea es hacerlo a mano, porque si no, no tiene sentido que te digan que no uses graphics si todavía no se despegaron de Borland!

Besos!


En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
SirLanceCC


Desconectado Desconectado

Mensajes: 1.093


Ver Perfil WWW
Re: Validacion de cadenas C++
« Respuesta #2 en: 7 Septiembre 2010, 03:31 am »

una opción medio fácil de realizar para convertir un autómata a programa es más o menos así en pseudoc:

Código
  1. i=0;
  2. estado = 1;
  3.  
  4. while(cadena[i] != 0){
  5.  if(estado == 1){
  6.    if(cadena[i] == 'h') estado = 2;
  7.    else if(cadena[i] == 'w') estado = 1;
  8.    ...
  9.    else ERROR();
  10.  }
  11.  if(estado == 2){
  12.    ...
  13.  }
  14.  ...
  15.  
  16.  i++;
  17. }
  18.  

Después de ese ciclo solo haces un if para ver que el estado en que se terminó es un estado de aceptación. ERROR() puede ser un simple break.

Para simplificar las cosas puedes pasar todo a minúsculas primero y puedes quitar algunas cosas de tu analisis si lo deseas, por ejemplo el http:// lo puedes verificar con alguna función de string.h y empezar con i=7.

Edito:
Este código representaría un autómata donde q1 es el estado inicial. Desde el estado q1 si se lee una h se va al estado q2, y si se lee una w se queda en el estado q1...
« Última modificación: 7 Septiembre 2010, 03:33 am por SirLanceCC » En línea

Gabiita

Desconectado Desconectado

Mensajes: 32


Estudio Ingenieria en Sistemas.


Ver Perfil WWW
Re: Validacion de cadenas C++
« Respuesta #3 en: 7 Septiembre 2010, 06:50 am »

SirLanceCC MIL GRACIAS POR TU RECOMENDACIÓN!! Había olvidado algo tan importante de un autómata, trabajar en C por estados!! Sabes también hay otro detalle que nos pasaron hoy en la clase, como hay que generar la tabla de transiciones, como me recomendarias armarla? con una matriz dependiendo de los stados verdad? y cuando hay error en algún estado hay que marcar la conexion fila/columna de la tabla de trasiciones en el estado en el que ocurrio el error..  :-\

Ahora si todo sale bien pues, imprime la tabla y el diagrama! pero mi diagrama tiene casi 30 stados! :S Dioos XD

Espero ideas! y muchas gracias por tu ayudaaaaaaaaaaa!

Littlehorse! ya no te eh visto por mi msn XD jejejee, que stes bien!!!  :-*

y sí verdad? creo que es a pura posicion como tendré que dibujar :S me recomiendas algo?
En línea

“La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no”
— Albert Einstein
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
validacion de cadenas en c++
Programación C/C++
d91 4 2,859 Último mensaje 14 Abril 2014, 19:08 pm
por leosansan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines