Introducción a la Computación
Curso
Cartelera
Última modificación:
martes, 21/12/2004, 19:17hs
Práctico
Laboratorio
Bibliografía
Exámenes y Parciales
Administrativo
Programa
Cronograma
Horarios
Docentes
Resultados
Otros
Enlaces
Instalación del Pascal
Ambientes y Editores
Tutoriales
Wiki

Material del Laboratorio

Centro de Matemática - Facultad de Ciencias
Principal > Cursos del CMAT > Introducción a la Computación > Material del Laboratorio

Segundo Obligatorio

Aspectos Generales

  • El segundo trabajo obligatorio trata sobre Backtracking y Laberintos.
  • Pueden descargar la letra del obligatorio en formato pdf.
  • La fecha de entrega es el miercoles 1 de Diciembre. No se aceptarán trabajos entregados despues de este plazo.
  • Pueden realizar sus entregas desde el formulario de entrega via web.

Cronograma Tentativo

Les sugerimos fuertemente que sigan aproximadamente el siguiente cronograma para llevar a cabo la tarea de manera sencilla.
  • Primer Semana:
    • Leer la letra.
    • Entender los distintos problemas.
    • Plantear dudas conceptuales.
    • Focalizarse unicamente en hallar un camino.
  • Segunda Semana:
    • Pensar estructuras adecuadas para el programa.
    • Implementar un procedimiento que obtenga un camino.
    • Pensar como se debe modificar el programa para encontrar un camino mínimo.
    • Modificar el procedimiento anterior para que cupla ese requerimiento.
  • Tercer Semana:
    • Hacer un procedimiento que dibuje en pantalla la solución.
    • Probar los casos de prueba y generar otros (inclusive sin solución).
    • Escribir una breve documentación explicando deciciones de diseño.

Archivos de Prueba

Aquí encontraran archivos de prueba con configuraciones iniciales para los programas.
Para utilizar un archivo de entrada usamos la función de DOS para redirigir la entrada estandar.
El programa en Pascal "lee" las lineas del archivo como si fueran ingresadas por un usuario desde el teclado.
Se utiliza de esta manera, desde una ventana de DOS ejecutar el programa asi: ejecutable < entrada.txt
Observación: No se puede usar el modulo CRT para usar los archivos de prueba.

Los datos en los archivos son:
  • 2 enteros (m,n) indicando las dimensiones del laberinto
  • 2 enteros indicando las coordenadas de la salida
  • 2 enteros indicando las coordenadas de la llegada
  • m x n reales indicando los costos de cada casilla del laberinto
  • 1 real indicando la cota para el costo del camino
Haga click derecho en los enlaces y elija la opcion "guardar como" para salvar los archivos en su maquina. Algunas posibles soluciones para cada mapa son (Observación: puede haber mas de un camino valido en alguno de ellos)
  • Existe un camino de longitud 56 y tiene un costo de 0. El camino es:
    (2,2) (3,2) (4,2) (4,3) (4,4) (4,5) (4,6) (5,6) (5,7) (5,8) (5,9) (5,10) (5,11) (5,12) (5,13) (5,14) (4,14) (4,15) (4,16) (4,17) (4,18) (4,19) (4,20) (3,20) (3,21) (3,22) (3,23) (4,23) (4,24) (4,25) (4,26) (5,26) (6,26) (6,25) (7,25) (8,25) (8,24) (8,23) (8,22) (8,21) (8,20) (8,19) (8,18) (8,17) (8,16) (9,16) (10,16) (10,17) (10,18) (10,19) (10,20) (10,21) (10,22) (10,23) (10,24) (10,25)
  • Existe un camino de longitud 21 y tiene un costo de 0. El camino es:
    (4,1) (4,26) (4,25) (4,24) (4,23) (3,23) (3,22) (3,21) (3,20) (4,20) (4,19) (4,18) (3,18) (2,18) (2,17) (2,16) (2,15) (2,14) (2,13) (2,12) (3,12)
  • Existe un camino de longitud 21 y tiene un costo de 21. El camino es:
    (5,4) (6,4) (7,4) (7,3) (7,2) (7,1) (8,1) (8,12) (8,11) (7,11) (6,11) (5,11) (4,11) (3,11) (3,10) (3,9) (3,8) (3,7) (3,6) (4,6) (5,6)
  • No existe camino.
  • Existe un camino de longitud 11 y tiene un costo de 3.03472. El camino es:
    (2,2) (3,2) (4,2) (5,2) (5,3) (5,4) (5,5) (5,6) (4,6) (3,6) (2,6)

Primer Obligatorio

Aspectos Generales

  • El primer trabajo obligatorio trata sobre Simulaciones con Autómatas Celulares Estocásticos.
  • Pueden descargar la letra del obligatorio en formato pdf.
  • La fecha de entrega es el miercoles 27 de Octubre. No se aceptarán trabajos entregados despues de este plazo.
  • Pueden realizar sus entregas desde el formulario de entrega via web.

Cronograma Tentativo

Les sugerimos fuertemente que sigan aproximadamente el siguiente cronograma para llevar a cabo la tarea de manera sencilla.
  • Primer Semana:
    • Leer la letra.
    • Entender los modelos.
    • Plantear dudas conceptuales.
    • Focalizarse unicamente en el Modelo de Crecimento Simple.
  • Segunda Semana:
    • Pensar estructuras adecuadas para el programa.
    • Implementar el Modelo de Crecimento Simple.
    • Buscar similitudes entre el Modelo de Crecimiento Simple y el de Competencia.
    • Pensar como se pueden aprovechar estas similitudes en el programa.
  • Tercer Semana:
    • Implementar el Modelo de Competencia o Votación.
    • Entender el Modelo de Crecimento Fractal.
    • Buscar similitudes y diferencias con los anteriores.
    • Pensar que cosas se pueden aprovechar y reutilizar.
  • Cuarta Semana:
    • Implementar el Modelo de Crecimento Fractal.
    • Escribir datos de prueba para los programas.
    • Testear los programas con distintos datos.
    • Escribir la documentación de diseño.

Archivos de Prueba

Aquí encontraran archivos de prueba con configuraciones iniciales para los programas.
Para utilizar un archivo de entrada usamos la función de DOS para redirigir la entrada estandar.
El programa en Pascal "lee" las lineas del archivo como si fueran ingresadas por un usuario desde el teclado.
Se utiliza de esta manera, desde una ventana de DOS ejecutar el programa asi: ejecutable < entrada.txt
Observación: No se puede usar el modulo CRT para usar los archivos de prueba.
  • Crecimiento Simple
    P (real),ancho y largo (enteros), configuracion inicial (enteros, 0=vacio y 1=ocupado)
  • Votación
    PA y PB (reales), ancho y largo (enteros), configuracion inicial (enteros, 0=A y 1=B)
  • Crecimiento Simple
    ancho y largo (enteros), densidad del gas (real), cantidad de particulas de solido (entero), coordenadas de cada particula (2 enteros por particula)
Haga click derecho en los enlaces y elija la opcion "guardar como" para salvar los archivos en su maquina.

Información Adicional

Documentación del modulo Graph de Turbo Pascal

  • Para usar el modulo el programa debe tener la linea:
    uses graph; {importo la libreria grafica para poder usarla}
    Antes de la declaración de variables, constantes y procedimientos.
  • La libreria require de dos variables de tipo integer, para guardar el driver y el modo de video.
  • Para Inicializar la libreria el programa principal debe contener las instrucciones:
    driver:=detect; {llamo al procedimiento de detección de la tarjeta de video}
    initgraph(driver,modo,'C:\TP'); {inicializo la pantalla en esa resolución, driver y modo son dos integers}
    Observen que el procedimiento initgraph lleva como parametro la ruta a las librerias (donde instalaron el Pascal).
    En general los valores de driver y modo se pueden setear a mano tambien usando constantes definidas en el modulo, por ejemplo:
    driver:=Vga; {seteo el driver de video en VGA}
    modo:=VgaHi; {pongo el modo de video en alta resolucion 640x480}
    La pantalla en este modo tiene una resolución de 640x480 pixeles, y 16 colores.
  • Al terminar el programa debo salir del modo gráfico (no es indispensable pero si correcto, puede dar problemas)
    closegraph; {antes de terminar el programa cierro el modo de video}
  • Algunos comandos utiles son para dibujar en la pantalla son:
    putpixel(100,150, Magenta); {Dibuja un pixel (punto) en la posicion (10,10)}
    rectangle(10,10,20,20); {Dibuja un rectángulo (el borde) con extremos (10,10),(20,20)}
    setcolor(Red); {Fija el color}
    setfillstyle(1,i); {Fija el estilo y relleno del los objetos con relleno}
    bar(10,10,20,20); {Dibuja un rectángulo relleno segun lo prefijado antes}
    cleardevice; {Borra la pantalla}

Documentación de unidades de Pascal

  • Las unidades, tambien llamadas modulos o librerias, son un conjunto de procedimientos que definen una interfaz y ya estan implementados. Son rutinas de proposito general y altamente reutilizables, esto nos permite despreocuparnos de tener que implementar nosotros ciertas funciones y simplemente utilizarlas.
  • Pueden bajar este documento donde se explica las unidades del Turbo Pascal en particular tiene una sección sobre la unidad graph, que es bastante clara.
Última actualización: lunes, 06/12/2004, 22:59hs
Por comentarios sobre esta página escribir al webmaster.