Cursada 2018‎ > ‎

Trabajos Prácticos

Trabajo Práctico 1/2
Fecha de entrega: 25/09/2018


Material adjunto:
  • Enunciado de la primera parte del trabajo práctico.
  • Asignación de temas por grupo.
  • Enunciado de la segunda parte del trabajo práctico, con las siguientes modificaciones: 
    • Para el tema 10, se modificó la sintaxis de la sentencia case, reemplazando el '.' por ´,´al final de las sentencias.
    • Para el tema 12, se modificó el tipo devuelto por las funciones f1 y f2, que debe ser fun, en lugar de void.
    • Para el tema 12, se eliminó la primera consigna pedida para las sentencias ejecutables:

Incorporar la posibilidad de usar, del lado izquierdo de una asignación la estructura: fun ID.


  • Asignación de docente por grupo. NUEVO!

Nota: Con la entrega de los trabajos se solicitará la presentación de casos de prueba. Estos deben incluir, como mínimo, ejemplos que contemplen las siguientes alternativas:

(Cuando sea posible, agregar un comentario indicando el comportamiento esperado del compilador)

Para el Análisis Léxico:

  1. Constantes con el primer y último valor dentro del rango.
  2. Constantes con el primer y último valor fuera del rango.
  3. Para números reales, además, mantisa con y sin parte decimal (a-b), con y sin exponente (c-d), con exponente positivo y negativo (e-f).
  4. Identificadores de menos y más de 25 caracteres.
  5. Identificadores con “_”, letras, y dígitos,
  6. Identificadores mal definidos.
  7. Palabras reservadas escritas en minúsculas y mayúsculas.
  8. Comentarios bien y mal definidos.
  9. Cadenas bien y mal definidas.

Para el Análisis Sintáctico:

  1. Declaración de una variable de cada tipo
  2. Declaración de una lista de variables.
  3. Sentencia de salida de mensajes por pantalla.
  4. Sentencia IF sin bloque ELSE con una sola sentencia.
  5. Sentencia IF sin bloque ELSE con un bloque de sentencias.
  6. Sentencia IF con bloque ELSE.
  7. Sentencia IF con comparación entre expresiones aritméticas como condición, con bloque ELSE.
  8. Sentencia de control asignada como tema particular.
  9. Sentencia de control asignada con IF anidado.
  10. Sentencia de mutabilidad (si corresponde).
  11. Sentencias con &ID *ID (si corresponde).
  12. Sentencia declarativa de fun (si corresponde).
  13. Declaración de funciones (si corresponde) con sentencias de control dentro.
  14. Declaración de funciones con lista de permisos (si corresponde) con sentencias de control dentro.
  15. Llamado de funciones como sentencia ejecutable y en expresión (si corresponde).
  16. Expresiones con número negativos (si corresponde).
  17. Conversiones (si corresponde).
  18. Conversiones como parte de una expresión (si corresponde).
Para las diferentes estructuras sintácticas, considerar ejemplos válidos, y ejemplos con error.

Trabajo Práctico 3
Fecha de entrega: 16/11/2018 20/11/2018 (en forma conjunta con el Trabajo Práctico 4)

Material adjunto:
  • Asignación Representación Intermedia por grupo.
  • Enunciado del Trabajo Práctico

Trabajo Práctico 4

Material adjunto:
  • Enunciado del Trabajo Práctico.
  • Presentación del Trabajo Práctico 4 (clase 01/11).
  • Asignación de temas por grupo.


Nota: Con la entrega de los trabajos se solicitará la presentación de casos de prueba. Estos deben incluir, como mínimo, ejemplos que contemplen las siguientes alternativas:

(Cuando sea posible, agregar un comentario indicando el comportamiento esperado del compilador)

Para el Trabajo Práctico 3:

- Para los ejemplos 4 a 9 del análisis sintáctico, agregar en cada bloque una impresión para mostrar el comportamiento.
- Para los ejemplos 12 a 15 del análisis sintáctico, agregar impresiones en los cuerpos de las funciones.
- Para los ejemplos 10, 11 y 16 a 18 del análisis sintáctico, colocar luego una selección para verificar el resultado de las expresiones y conversiones.
- Variables y funciones no declaradas.
- Variables y funciones redeclaradas.
- Chequeos de tipos para el for (si corresponde).
- Chequeos de tipos para el case (si corresponde).
- Expresiones con tipos compatibles y tipos no compatibles.
- Conversiones válidas e inválidas.
- Visibilidad de las variables declaradas en funciones (si corresponde).
- Lectura y escritura de variables según diferentes permisos (si corresponde).
- Casos válidos e inválidos para mutabilidad (si corresponde).

Para el Trabajo Práctico 4:

- Ejemplo de los chequeos en tiempo de ejecución asignados.

Ċ
Marcela Ridao,
26 sept. 2018 6:27
Ċ
Marcela Ridao,
8 sept. 2018 8:36
Ċ
Marcela Ridao,
6 nov. 2018 14:10
Ċ
Marcela Ridao,
1 nov. 2018 15:57
Ċ
Marcela Ridao,
23 ago. 2018 8:46
Ċ
Marcela Ridao,
20 sept. 2018 12:02
Ċ
Marcela Ridao,
19 oct. 2018 5:10
Ċ
Marcela Ridao,
1 nov. 2018 12:47
Comments