Universidad de Costa Rica
Escuela de Ciencias de la
Computación e Informática
Profesor Adolfo Di Mare
CI-1322
II Semestre 2006
[<=] [home] [<>] [\/] [=>]
CI-1322 Autómatas y compiladores

Tarea #2 [solución]

Compilación de un programa

FOR numero := 1 TO N DO BEGIN
    suma := 0;
    temp := numero;
    WHILE temp <> 0 DO BEGIN
        digito := temp MOD 10;     { <- }
        suma   := suma + (digito * digito * digito);  
        temp   := temp DIV 10;
    END;
END;
VAR     val

numero: 153
temp:    15
suma:    27
digito:   3
Ejecución de Armstrong.pas

      Para enseñar programación de computadores, algunos profesores usan este bloque de código que contiene las instrucciones de programación más importantes. Por ejemplo, puede consultar:

Di Mare, Adolfo:
Propuesta para mejorar el curso Principios de Informática, Reporte Técnico ECCI-97-01, Escuela de Ciencias de la Computación e Informática; Universidad de Costa Rica;1997.
     http://www.di-mare.com/adolfo/p/princinf.htm

      A partir de este bloque de código obtenga 2 programas, uno escrito en Pascal y otro en C++. Escoja y use 2 compiladores para obtener el lenguaje ensamblador para cada versión del programa. Asegúrese de quitarle las opciones de optimización de código a cada compilador antes de correrlo y obtener resultados.

      Tome el código ensamblador que ha obtenido para cada versión del programa y modifíquelo incluyéndole comentarios explicativos que muestres la correspondencia entre el programa fuente y el que produce cada compilador. Luego compare los resultados obtenidos, y destaque las diferencias importanes que encuentre. Haga un concienzudo análisis de los resultados obtenidos y describa con exactitud las conclusiones a las que llega.

      Entregue su tarea por correo electrónico, como lo hizo anteriormente.

[mailto:] Entrega de Tareas

Tiempo de entrega: 3 días
Modalidad: En parejas

Soluciones

[mailto:] Adolfo Di Mare <adolfo@di-mare.com>.
Copyright © 2006
Derechos de autor reservados © 2006
[home] <> [/\]