¿Cómo fueron insuficientes las estructuras de control originales de Fortran?

8

En mi clase de conceptos de lenguaje de programación se mencionó de pasada que las estructuras de control originales de Fortran eran insuficientes. Se aludió a que eran demasiado similares a las instrucciones de la máquina para el IBM 704. ¿Fue este el caso? ¿Qué los hizo exactamente insuficientes?

    
pregunta World Engineer 22.05.2012 - 07:11

2 respuestas

10

Bueno, veamos que las primeras versiones de Fortran tenían IF GOTO y DO .

Hubo varias variaciones en IF y GOTO, incluyendo GOTO ASIGNADO y GOTO computado, que era algo así como una declaración CASE.

Por lo tanto, aparte de los bucles de DO, todas las declaraciones de control fueron variaciones en IF y GOTO que involucran números de instrucción codificados. El resultado fue más fideos que espaguetis.

El bucle de OD en sí era problemático porque estrictamente se "hacía hasta" con la prueba en la parte inferior del bucle, por lo que no había forma de omitir la primera iteración que no la precediera con otro "IF (cond) GOTO 9999 ".

Entonces, como la mayoría de las estructuras de control eran "lino GOTO", cualquier cambio sustancial en el código implicaría muchos cambios propensos a errores en los números de línea de destino.

El bucle DO tenía que complementarse con un GOTO para convertirlo en un DO WHILE.

Los primeros Fotrans tenían un "GOTO" del formulario.

IF (VAR) 100,200,300

Lo que significa que si VAR es < 0, vaya a la declaración 100. Si = 0, a continuación, la declaración 200, si > 0 entonces declaración 300.

En general no fue un intento tan malo. El hecho de que se pudieran escribir fórmulas que parecían similares a las que escribió el profesor en la pizarra era la característica principal de FORTRAN, el flujo del programa tuvo que esperar algunos años para ponerse al día.

    
respondido por el James Anderson 22.05.2012 - 08:26
-1

Lo malo de FORTRAN IV era que todas las "estructuras" de control (incluidos los bucles) dependían de las etiquetas. Así que proporcionaron control no estructurado. Eran demasiado poderosos. ¿Qué tal, por ejemplo, bifurcar en una etiqueta dentro de un bucle y luego, más tarde, bifurcar de nuevo ...

    
respondido por el Richard John Botting 22.05.2012 - 10:01

Lea otras preguntas en las etiquetas