UTNianos

Versión completa: [PEDIDO] Final 18/02/2013
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Alguno consiguió el final o sacó una foto??

Gcs
no creo que lo tenga nadie ese final, a menos que hayan ido al futuro y vuelto
se me piantó el 8 por el 2!
nadie?
grax
En el primer tenias que cumplir el papel de un compilador, solo las primeras instancias donde se comprueban errores...
Te daban varias sentencias y te decian que habia errores lexicos, sintacticos y/o semanticos, y consistia en describir 4 errores, decir en que linea estaban, de que tipo eran, y cual era el error. habia mas de 4 errores, pero lo complicado era saber de que tipo eran... los que me acuerdo eran asi...
int a#4=33; error lexico, "#" no esta permitido para los identificadores.
if c =1 tatata; error sintactico, la expresion de condicion del if debe ir entre parentesis.
a+9=99; error sintactico, a+9 no es un valorL
Habia otro que definia una funcion, pero separaba los parametros mediante ; en lugar de , y creo q tambien era sintactico.
Despues habia otro medio engañoso:
int blabla (que estaban bien); prinf; blabla... y no habia error en printf x q seria un identificador con ese nombre... ya que la stdio no estaba incluida... algo asi...

Segundo ejercicio: uno de PAS, que si sabes PAS no era muy jodido, pero como pocos saben... te vacunan.
<FACTOR> = PARENIZQ <NOSEQUE> PARENDER. No lo recuerdo bien,. pero capaz alguno se lo acuerda mejor...

Tercer ejercicio: te daban una ER(creo), de un AFN que lo tenias que hacer AFD y AFD minimo, aunque el AFD ya era minimo. y e pedian la tabla de transiciones y la definicion formal del AFD Minimo.

Hasta ahi los tres practicos...

V o F
Te daban un constructo entre llaves con otro constructo entre llaves dentro del primer constructo (o sea un costructo dentro de otro constructo) tambien habia en el medio de eso una sentencia vacía ( ; ; ) que es valida y dentro del constructo interior definia una contante con el mismo nombre que una que definia en el constructo exterior... si alguno se la acuerda por favor subala... y te preguntaban si habia error...
No habia error... estaba bien.

Un AFPD puede tener el mismo alfabeto de entrada que de pila... Falso.

En ANSI C los errores se verifican en tiempo de ejecucion. (Algo asi) era Falso.

La interseccion entre una GR y un GIC es siempre un LR. Verdadero. sale mas facil si lo pensas por conjuntos, los GIC son mas poderosas que las GR, por lo tanto contienen a las GR, y si haces la interseccion, siempre te da un LR.


no me acuerdo las otras VoF...


En fin espero que te sirva un poco al menos... mucho cuidado con los VoF, responder si estas seguro, x q si esta mal, resta...


En mi opinion no se si volveran a tomar PAS... yo me tiro a que van a tomar practicos de Automata de PILA y alguno de GR o GIC pero solo es mi opinion...
Subo el que tomaron, le saque una foto cuando lo vi. Fui a robar y estuve bastante cerca. El error practico pelotudisimo, corchetes por parentesis.

Sabe alguien de donde puedo sacar lo del ejercicio 2 (lo de PAS) y algo bien explicado de maquina de Tuning?
Tengo que rendir el lunes agradezco cualquier ayuda, saludos!
Paso Resuelto por mi...

1)
Linea | Tipo | Descripcion
1 | Sintactico | Los parametros de una funcion se deben separar mediante comas: tipo nombrefuncion (parametro1, parametro2, etc...)
2 | Lexico | # no esta permitido para los identificadores.
5 | | 'a' no es un ValorL correcto.
7 | Semantico | p no esta definido.
8 | Sintactico | La expresion condicional del if debe ir entre parentesis if (expresion) ;
9 | Semantico |

Edito: un detalle del PAS
2) para mi el PAS queda asi:
Suponiendo que TOKEN ya esta definido como Tipo de Dato


void FACTOR (void){
TOKEN t = Proximotoken();
switch (t) {
case PARENTESISIZQ : Match(PARENTESISIZQ); EXPRESION(); Match(PARENTESISDER); break;
case NUMERO : NUMERO(); break;
default : ErrorSintactico(t); break;
}
}



3) El AFN original es: 0- => a => 0; 0 => Epsilon => 1; 1 => b => 1; 1 => c => 2+.

AFD Minimo (= al AFD):
T | a b c
------------
0- | 0 1 2
1 | - 1 2
2+| - - -

M=({0, 1, 2} , {a, b, c} , T , 0 , 2)

VoF:

1) V
2) V
3) V
4) F
5) F
6) F
7) V
(23-02-2013 21:09)GeRod escribió: [ -> ]Paso Resuelto por mi...

1)
Linea | Tipo | Descripcion
1 | Sintactico | Los parametros de una funcion se deben separar mediante comas: tipo nombrefuncion (parametro1, parametro2, etc...)
2 | Lexico | # no esta permitido para los identificadores.
5 | | 'a' no es un ValorL correcto.
7 | Semantico |
8 | Sintactico | La expresion condicional del if debe ir entre parentesis if (expresion) ;
9 | Semantico |

2) Si lo saco lo subo...


3) El AFN original es: 0- => a => 0; 0 => Epsilon => 1; 1 => b => 1; 1 => c => 2+.

AFD Minimo (= al AFD):
T | a b c
------------
0- | 0 1 2
1 | - 1 2
2+| - - -

M=({0, 1, 2} , {a, b, c} , T , 0 , 2)

VoF:

1) V
2) V
3) V
4) F
5) F
6) F
7) V
Una pregunta
Alguien sabe cuales son bien los requisitos para poder aprobar? son siempre 3 puntos teoricos-practicos y los 7 VoF teoricos perooo... cuantos hay que tener bien de cada uno para que te lo den como aprobado? GRACIAS!
Cita:Una pregunta
Alguien sabe cuales son bien los requisitos para poder aprobar? son siempre 3 puntos teoricos-practicos y los 7 VoF teoricos perooo... cuantos hay que tener bien de cada uno para que te lo den como aprobado? GRACIAS!

Minimo 1 ejercicio practico perfectamente bien resuelto, 50% del examen resuelto (5 ej. de los 10 que tiene el final) y que la sumatoria sea 4 puntos.

Cada ej. practico vale +1 si esta bien resuelto, y 0 (cero) si esta mal resuelto o si no esta resuelto.
Cada VoF vale +1 si esta bien resuelto, -1 si esta mal resuelto, y 0 (cero) si no esta resuelto.

De ahi la sumatoria te tiene que dar 4.

Tambien tenes la opcion de mirar el final y a los 15 minutos irte si no te ves con confianza...

aca hay un .pdf que te puede servir...

http://www.utnianos.com.ar/foro/attachment.php?aid=1997

en el PDF dice q los practicos tambien restan.. pero yo tengo uno mas nuevo con fecha 20121119 casi ig¡guak a este que dice q no restan los practicos...
Igualmente en la fecha del 18/02/2013 no restaban los practicos...
(23-02-2013 21:09)GeRod escribió: [ -> ]Paso Resuelto por mi...

1)
Linea | Tipo | Descripcion
1 | Sintactico | Los parametros de una funcion se deben separar mediante comas: tipo nombrefuncion (parametro1, parametro2, etc...)
2 | Lexico | # no esta permitido para los identificadores.
5 | | 'a' no es un ValorL correcto.
7 | Semantico | p no esta definido.
8 | Sintactico | La expresion condicional del if debe ir entre parentesis if (expresion) ;
9 | Semantico |

Edito: un detalle del PAS
2) para mi el PAS queda asi:
Suponiendo que TOKEN ya esta definido como Tipo de Dato


void FACTOR (void){
TOKEN t = Proximotoken();
switch (t) {
case PARENTESISIZQ : Match(PARENTESISIZQ); EXPRESION(); Match(PARENTESISDER); break;
case NUMERO : NUMERO(); break;
default : ErrorSintactico(t); break;
}
}



3) El AFN original es: 0- => a => 0; 0 => Epsilon => 1; 1 => b => 1; 1 => c => 2+.

AFD Minimo (= al AFD):
T | a b c
------------
0- | 0 1 2
1 | - 1 2
2+| - - -

M=({0, 1, 2} , {a, b, c} , T , 0 , 2)

VoF:

1) V
2) V
3) V
4) F
5) F
6) F
7) V


Hola, como va?

Puede ser que el ejercicio del PAS se resuelva así:

void FACTOR (void){
TOKEN t = Proximotoken();
if (t == PARENTESISIZQ)
Match(PARENTESISIZQ); EXPRESION(); Match(PARENTESISDER);
else
NUMERO();
}


y en el ej. 3, la definición formal, no sería M=({0, 1, 2} , {a, b, c} , T , 0 , {2}), ya que es el conjunto de estados finales?

Saludos.
(18-05-2013 12:13)juani0033 escribió: [ -> ]
(23-02-2013 21:09)GeRod escribió: [ -> ]Paso Resuelto por mi...

1)
Linea | Tipo | Descripcion
1 | Sintactico | Los parametros de una funcion se deben separar mediante comas: tipo nombrefuncion (parametro1, parametro2, etc...)
2 | Lexico | # no esta permitido para los identificadores.
5 | | 'a' no es un ValorL correcto.
7 | Semantico | p no esta definido.
8 | Sintactico | La expresion condicional del if debe ir entre parentesis if (expresion) ;
9 | Semantico |

Edito: un detalle del PAS
2) para mi el PAS queda asi:
Suponiendo que TOKEN ya esta definido como Tipo de Dato


void FACTOR (void){
TOKEN t = Proximotoken();
switch (t) {
case PARENTESISIZQ : Match(PARENTESISIZQ); EXPRESION(); Match(PARENTESISDER); break;
case NUMERO : NUMERO(); break;
default : ErrorSintactico(t); break;
}
}



3) El AFN original es: 0- => a => 0; 0 => Epsilon => 1; 1 => b => 1; 1 => c => 2+.

AFD Minimo (= al AFD):
T | a b c
------------
0- | 0 1 2
1 | - 1 2
2+| - - -

M=({0, 1, 2} , {a, b, c} , T , 0 , 2)

VoF:

1) V
2) V
3) V
4) F
5) F
6) F
7) V


Hola, como va?

Puede ser que el ejercicio del PAS se resuelva así:

void FACTOR (void){
TOKEN t = Proximotoken();
if (t == PARENTESISIZQ)
Match(PARENTESISIZQ); EXPRESION(); Match(PARENTESISDER);
else
NUMERO();
}


y en el ej. 3, la definición formal, no sería M=({0, 1, 2} , {a, b, c} , T , 0 , {2}), ya que es el conjunto de estados finales?

Saludos.

Tenes razon con lo de la definicion formal, cuando hay que definir un automata van los estados finales, si tenes que definir una gramatica no van. En este caso si van!
(23-02-2013 21:09)GeRod escribió: [ -> ]VoF:

1) V
2) V
3) V
4) F
5) F
6) F
7) V

El 1 no seria F porque primero declara a comoint y le asigna 'a', y despues la vuelve a declarar double?
Y el 5 por que seria F?
Buenas, respondo la ultima consulta:
El 1 es V porque el primer a y el segundo a están en diferentes bloques y por lo tanto solo tienen alcance en ese bloque. son 2 punteros distintos.

Coincido en que el 5 es V también. En el libro 3, en la última página hay un ejemplo donde hace una MT que da el complemento de un numero binario. para el mismo usa el mismo alfabeto de entrada que el de pila, por lo que al parecer, es posible.

Saludos
En el VoF, el 7, al ser palabras reservadas siguen necesitando un centinela?
URLs de referencia