Universidad de Costa Rica
Escuela de Ciencias de la
Computación e Informática
Profesor Adolfo Di Mare
CI-1101
I Semestre 2007
[<=] [home] [<>] [\/] [=>]
CI-1101 Programación I

Tarea #2 [solución]

Calculadora

      El programa lab05.cpp es una calculadora muy sencilla, pero tiene varios errores simples de sintaxis, los que usted debe corregir usando el ambiente de programación del DrJava. Una vez que pueda compilar su programa, usted deberá ponerle comentarios. Para esto, busque todas las hileras del código fuente que tengan el siguiente formato:
      // <><><><><><><><>
y sustitúyalas por su explicación de lo que hace esa parte del programa.

      Usted no podrá ponerle los comentarios al programa si no entiende qué es lo que hace. Para entender qué hace cada parte del programa, usted deberá ejecutarlo paso por paso usando el depurador simbólico del compilador (teclas F11 y F12 en el caso del DrJava). Para conocer el valor de las variables debe usar la ventana de evaluación de expresiones (observador de valores de DrJava, "Watches"). Use la ayuda interactiva del compilador cuando tenga problemas (F1).

      Después de ponerle los comentarios al programa, escriba un documento en que explique qué hace el programa, y cómo lo hace. Incluya sus ideas de cómo puede mejorar el programa, y comente sobre las restricciones que tiene.

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

/* lab05.cpp  (c) 2000 adolfo@di-mare.com */

#include <iostream>  // cin+cout
#include <iomanip>   // setw()
#include <climits>   // INT_MAX

int main() {
/*  resultado
<><><><><><><><> Escriba aquí qué hace el programa... */
/*  programador <><><><><><><><>
Ponga aquí su nombre y carnet
<><><><><><><><> */

rata     r,        // <><><><><><><><>
acum     // <><><><><><><><>
achara     op       // <><><><><><><><>

// <><><><><><><><>
acum = 0

// <><><><><><><><>
cout << acum << " > "
cin  >> op


// <><><><><><><><>
while (op != '.') {
// <><><><><><><><>
cin >> r             // <><><><><><><><>

// <><><><><><><><>
switch (op) {
case '+': acum += r
case '-': acum  = acum - r
case '*': acum *= r
case '/': acum  = acum / r
default:
// <><><><><><><><>
cout << "\n(" << op << ")==> Operación inválida\n"
}

// <><><><><><><><>
cout << acum << " > "
cin >> op
}

// <><><><><><><><>
cout << acum << " > "
cin >> op

Borreme!!!
return 0
}  // main()

/* EOF: lab05 */

Figura 1: lab05.cpp

[mailto:] Entrega de Tareas

Tiempo de entrega: 7 Días
Modalidad: Individual

Soluciones

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