jueves, 12 de julio de 2012

Programación de computadoras


La programación para computadoras es un arte. Extrae lo mejor del genio creativo humano. Para algunos es divertida. Para otros es intelectualmente estimulante, igual que un juego de ajedrez. Pero la programación de computadoras también es una ciencia. Las reglas rígidas del lenguaje admitido por ella no permiten desviaciones. La escritura de programas para que otra gente los lea exige tanta disciplina como escribir artículos para publicaciones. El estilo es tan importante en la programación como en la escritura.

Los siguientes programas ilustran mi estilo de programación. Este libro contiene muchos programas que muestran aspectos de la simulación con computadora. Estudiar esos programas es bastante más fácil si en los programas se usa un estilo coherente y legible.

Los siguientes programas calculan la velocidad en metros por segundo y la distancia recorrida en metros, durante cada uno de los primeros segundos transcurridos al moverse un objeto con movimiento uniforme. Hagamos que T represente el tiempo en segundos; A la aceleración en metros/segundo/segundo; V la velocidad en metros por segundo y D la distancia en metros. La ecuación:

V = A * T

da la velocidad, conocida la aceleración y el tiempo; y la ecuación:

D = 0,5 * A * T * T

de la distancia recorrida por el móvil.

PROGRAMAS PRIMITIVOS

Los programas primitivos son programas sencillos diseñados para resolver un problema y luego ser desechados. El programador puede escribir un programa primitivo para demostrar un algoritmo particular (un procedimiento o método de solución). Un programa primitivo es difícil de leer y es casi imposible de volver a usar. Hay pocos programas primitivos largos, porque el programador se sumergiría en un mar de confusión y desesperación antes de acabarlo. Los programas largos deben ser cuidadosamente diseñados. El programa 1.1 ilustra un programa primitivo. La figura 1.1 muestra el resultado de ejecutar el programa en una computadora.

Programa 1.1

10 REM 1 - 1
20 FOR T = 1 TO 10
30 LET V = 8 * T
40 LET D = 4 * T * T
50 PRINT T,V,D
60 NEXT T
70 END

-------------------------------------------------------
  1.      8      4
  2.      16     16
  3.      24     36
  4.      32     64
  5.      40     100
  6.      48     144
  7.      56     196
  8.      64     256
  9.      72     324
  10.      80     400
Fig. 1.1 Ejemplo de resultados del Programa 1.1.

La salida producida por la máquina debe estar rotulada. Esto es necesario para su interpretación. También son útiles unas cuantas líneas mostrando el objetivo del programa, esto nos ayudará en el caso de que no funcione correctamente. Un mensaje estándar debiera usarse para marcar el final del programa. El programa 1.2 incluye esos rótulos. La figura 1.2 muestran el resultado de hacer que la máquina ejecute dicho programa.

Programa 1.2

10 REM 1 - 2
20 READ A,N
30 PRINT "CALCULA LA VELOCIDAD EN METROS POR"
40 PRINT "SEGUNDO Y LA DISTANCIA RECORRIDA"
50 PRINT "EN METROS AL FINAL DE CADA UNO DE"
60 PRINT "LOS PRIMEROS SEGUNDOS DE MOVIMIENTO"
70 PRINT "BAJO ACELERACION CONSTANTE"
80 PRINT "TIEMPO", "VELOCIDAD", "DISTANCIA"
90 FOR T = 1 TO N
100 LET V = A * T
110 LET D = .5 * A * T * T
120 PRINT T,V,D
130 NEXT T
140 PRINT "FINAL DE PROGRAMA"
150 DATA 8,10
160 END

------------------------------------------------------

CALCULA LA VELOCIDAD EN METROS POR SEGUNDO Y LA DISTANCIA RECORRIDA EN METROS AL FINAL DE CADA UNO DE LOS PRIMEROS SEGUNDOS DE MOVIMIENTO BAJO ACELERACION CONSTANTE.

TIEMPO          VELOCIDAD          DISTANCIA
  1.                         8                            4
  2.                         16                          16    
  3.                         24                          36
  4.                         32                          64
  5.                         40                          100
  6.                         48                          144
  7.                         56                          196
  8.                         64                          256
  9.                         72                          324
  10.                         80                          400
FINAL DE PROGRAMA

Fig. 1.2 Ejemplo de resultados del Programa 1.2

La salida de los programas largos pronto se convierten en una mezcolanza incomprensible. Una técnica simple pero muy útil consiste en separar secciones del programa con líneas en blanco. El espacio libre resultante mejora la legilibilidad. El programa 1.3 usa espacio en blanco. La figura 1.3 muestra el resultado de pasar el programa.

Programa 1.3

10 REM 1-3
20 READ A,N
30 PRINT
40 PRINT "CALCULA LA VELOCIDAD EN METROS POR"
50 PRINT "SEGUNDO Y LA DISTANCIA RECORRIDA"
60 PRINT "EN METROS AL FINAL DE CADA UNO DE"
70 PRINT "LOS PRIMEROS SEGUNDOS DE MOVIMIENTO"
80 PRINT "BAJO ACELERACION CONSTANTE"
90 PRINT
100 PRINT "ACELERACION EN METROS/SEG/SEG", A
110 PRINT
120 PRINT "TIEMPO", "VELOCIDAD", "DISTANCIA"
130 FOR T = 1 TO N
140 LET V = A * T
150 LET D = .5 * A * T * T
160 PRINT T,V,D
170 NEXT T
180 PRINT
190 PRINT "FINAL DE PROGRAMA"
200 DATA 8,10
210 END

-----------------------------------

CALCULA LA VELOCIDAD EN METROS POR SEGUNDO Y LA DISTANCIA RECORRIDA EN METROS AL FINAL DE CADA UNO DE LOS PRIMEROS SEGUNDOS DE MOVIMIENTO BAJO ACELERACION CONSTANTE.

ACELERACION EN METROS/SEG/SEG                                       8

TIEMPO                     VELOCIDAD                     DISTANCIA
  1.                                  8                                         4
  2.                                  16                                       16
  3.                                  24                                       36
  4.                                  32                                       64
  5.                                  40                                       100
  6.                                  48                                       144
  7.                                  56                                       196
  8.                                  64                                       256
  9.                                  72                                       324
  10.                                  80                                       400
FINAL DE PROGRAMA

Fig. 1.3 Ejemplo de resultados del Programa 1.3


De "Simulación con Ordenador" por L.L. McNitt; Editorial Paraninfo, Madrid, 1987.

No hay comentarios.: