Programación Específica > Matlab

 CREAR UN AUTOMATA FINITO DE 0`s y 1`s

(1/2) > >>

rigobertomm:
Hacer un programa en matlab para reconocer cadenas de ceros y unos, que empiecen siempre con un numero impar de ceros, seguidos de un numero par de unos y el final de la cadena puede terminar con cero o con uno.
Y despues de introducir la cadena que nos mande un mensaje de "cadena valida" o de lo contrario si no se cumple la condicion " cadena no valida"

UN EJEMPLO DE LAS CADENAS QUE PUEDE ACEPTAR EL PROGRAMA 0001101, 01110100, 00000110011
CADENA VALIDA: 0001101
CADENA VALIDA:011010100
CADENA NO VALIDA:101001
CADENA NO VALIDA:001101

Quicksilver:
Yo creo, que si tu ingresas estas cadenas en un vector fila, podrías preguntar por el valor en la posición que tu desees, ya si no cumple los requerimientos que tu quieres, entonces no es una cadena de ceros y unos valida para ti, trataré mas o menos de ilustrarte con lo siguiente.

Ingresar cadena de unos
Si 0>=valor>=1 entonces, valor no valido
si valor[1,1]=0, cadena valida
si valor[1,2]=0, cadena valida
si valor[1,3]=1, cadena valida
...
fin


esto solo es una pequeña ilustración, pero lo podrias hacer así para cada una de las cadenas que posees, busca las caracteristicas sobresalientees de las cadenas que posees y pregunta por las diferentes posiciones en los vectores, estoy seguro que no es un programa muy complicado, ánimo y exitos en su ejecución.

Espero que si alguien conoce una forma mas rápida de hacerlo, nos ilustre como.

RIGO, POR CIERTO, NO DESESPERES, CREO QUE CON UN SOLO MENSAJE BASTA, TEN PACIENCIA, ALGUIEN SIEMPRE ESTARÁ DISPUESTO A COLABORARTE.

UN COORDIAL SALUDO PARA TI, Y ESPERAMOS QUE SIGAS POSTEANDO EN EL FORO

rigobertomm:

--- Cita de: "rigobertomm" ---Hacer un programa en matlab para reconocer cadenas de ceros y unos, que empiecen siempre con un numero impar de ceros, seguidos de un numero par de unos y el final de la cadena puede terminar con cero o con uno.
Y despues de introducir la cadena que nos mande un mensaje de "cadena valida" o de lo contrario si no se cumple la condicion " cadena no valida"

UN EJEMPLO DE LAS CADENAS QUE PUEDE ACEPTAR EL PROGRAMA 0001101, 01110100, 00000110011
CADENA VALIDA: 0001101
CADENA VALIDA:011010100
CADENA NO VALIDA:101001
CADENA NO VALIDA:001101
--- Fin de la cita ---

gracias Quicksilver por el pseudocodigo, pero lo que pasa que soy principiante en matlab y quisiera que me ayudaras con el codigo, ya que tu creo ke tienes mucha experiencia en base a la programacion y espero contar con tu ayuda.

Quicksilver:
Te hago una pregunta, las cadenas de 0's y de 1's tienen un límite, o pueden ser de la longitud que yo desee

rigobertomm:
Quicksilver las cadenas no tienen un limite, pero deben cumplir la condicion de llevar al inicio una cadena de ceros impares (0,000,00000,0000000...), seguidos de un numero par de unos(11,111,1111,11111....)una ves que se cumplan estas dos condiciones, al final de cada cadena pueden terminar con cualquier numero ya sean unos, ceros o unos y ceros. la longitud de las cadenas que acepte son del tamaño que sea, siempre y cunado cumplan con las condiciones del automata.
ejemplo
CADENA VALIDA: O11,   0111, 0110, 01100, 01101...00011, 000110, 000111, 0001100...00000110,00000111,0000011110, 0000011000...etc.
Se debe cumplir la condicio de las cadenas de ceros impares al principio, seguida de una cedena de unos pares y sin importar que siga despues, y pueden ser de la longuitud que uno desee, no tienen un limite.

Espero me haya explicado con esto Quicksilver.
 Agradesco tu ayuda.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa