Home
  Academia
    Computación 3
      Ej. curso

Relacionado:
  Bibliografía
  Varios

Pascal
  Unidades
  Punteros(simple)
  Punteros(arbol)
  Gráficos
  Librería
  Complejos
  Más gráfica
Assembler
  Ejemplos
  Sintoniz.
  Programador

Computación 3:
 Pascal/Assembler/C
Ejemplo 1: Implementación de unidades

Unidades en Pascal
Programa Descripción
testhex.pas programa principal
hexutil.pas Rutinas útiles para números hexadecimales

Ejemplo 2: Operaciones básicas con punteros

Este ejemplo simplemente lee pares (2) líneas de un archivo de datos, y termina al encontrar una primera línea con solo '---'. La primera línea contiene el 'nombre' de la persona, la segunda la 'dirección'.
Mientras lee, va construyendo una lista simplemente enlazada, sin ordenamiento.

Punteros básicos
Programa Descripción
pointer1.pas programa

Ejemplo 3: Ejemplo construyendo un directorio

Un poco mas sofisticado: desarrollar una rutina que viaja por los directorios de un sistema de archivos, desde un punto indicado, y visitando recursivamente los subdirectorios encontrados.
En primer intento, solo implementar la recursión.
Luego construir el arbol con punteros.

Arbol jerárquico
Programa Descripción
pointer2.pas Primer intento: solo visitar recursivamente directorios
pointer3.pas Segundo intento: construir el arbol con punteros
test3.txt Resultado del segundo intento
pointr3a.pas Tercer intento: construir el arbol con punteros, pero con el orden invertido.
test3a.txt Resultado del tercer intento
pointr3b.pas Cuarta versión: construir el arbol con punteros, ahora muestra la estructura gráficamente.
test3b.txt Resultado de la cuarta versión
shot3b.jpeg Resultado de la cuarta versión, en forma gráfica

Ejemplo 4: Uso del modo gráfico

Para familiarnos con el modo gráfico haremos un programa que dibuja algunas figuras en la pantalla. Para actuar correctamente sobre los comandos especiales del teclado (ej. movimiento de cursor), haremos primero un pequeño decodificador.

Gráfica
Programa Descripción
dibujar.pas Programa para usar los comandos de teclado - dibuja en modo texto.
teclado.pas Unidad que recibe las teclas, y codifica teclas especiales. También tiene constantes para algunas teclas.
grafico.pas Primer paso, simplemente dibujar pixels en la pantalla.
grafico1.pas En el segundo paso el programador se descontroló un poco. Intente las siguientes teclas: d D a A c C F1 F2, y las cuatro teclas de dirección.
grafico2.pas Y otra versión mas. Esta ya tiene muchos comandos:
d D: Controla movimientos diagonales
x X: Conmuta entre modo CopyPut y XorPut para escritura
a A: Controla la animación
c C: Conmuta cambios de color
F1 : Círculos, F2: Rectángulo, F3: Rotación
0-9: Velocidad de animación.
Esc: Sale del programa

Ejemplo 5: Librería para graficar automaticamente

Librería gráfica
Programa Descripción
librgraf.pas Librería que provee un objeto: Grafico. Tiene atributos:
colFondo: Color de fondo del gráfico
colText: Color del texto de los ejes
colEjes: Color de los ejes
colGraf: Color del gráfico
Modo: Estilo de gráfico. (lineas/puntos/marcas)
Y tiene los siguientes métodos:
Inicializar: Prepara para un nuevo gráfico.
Agregar(X, Y: real): Permite agregar puntos a la tabla de datos.
Dibujar(X, Y, tX, tY: integer): Da el comando actual para graficar. Nota: la pantalla ya debe estar en modo gráfico.
testgraf.pas Pequeño programa que demuestra como tiene que utilizarse la librería.

Ejemplo 6: Librería matemática para números complejos

Librería gráfica
Programa Descripción
cmath.pas Librería para cálculos con números complejos.
prueba.pas Programa principal implementa una calculadora sencilla
cmath1.pas Librería para cálculos con números complejos. (Versión después de las clases - renombrar a cmath.pas!)
prueba1.pas Programa principal implementa una calculadora sencilla (Versión después de las clases - renombrar a prueba.pas!)

Ejemplo 7: Extensión a la librería gráfica

Librería gráfica - entendida
Programa Descripción
librgraf.pas Librería gráfica - extendida con el objeto 'EntTexto' que provee un método para entrar comandos desde el teclado en modo gráfico.
EntTexto.Entrada(X, Y, MaxCar: integer; Pr: string)
X, Y: Coordenadas
MaxCar: Número máximo de caracteres permitidos
Pr: Texto 'Prompt'
testgraf.pas Programa principal momentáneamente extendido para comprobar el funcionamiento del objeto nuevo.


(c) John Coppens ON6JC/LW3HAZ correo