Sunteți pe pagina 1din 7

Prctica 4: Calculadora aritmtica.

Introduccin.
Las operaciones aritmticas con datos numricos son bsicas y de suma importancia en el
procesamiento de tales datos.
Las operaciones aritmticas elementales que con los datos numricos pueden realizarse son suma, resta,
multiplicacin y divisin. Las aplicaciones de estas operaciones son innumerables para la solucin de
gran variedad de problemas.
Por otro lado, en el procesamiento de datos mediante computadoras, es comn realizar cierta operacin,
entre varias, eligiendo una opcin de algn men. Por tanto los mens son elementos comunes que
utilizamos a cada momento en el procesamiento de datos.
En la programacin, el desarrollo de mens puede ser muy simple o compleja segn las erramientas
utilizadas por el programador.
Objetivo.
Elaborar el algoritmo de un programa en lenguaje ! que solicite y almacene dos datos de tipo real. "e
realizarn las operaciones de suma, resta, multiplicacin o divisin con estos datos, eligiendo la
operacin a realizar mediante las opciones de un men sencillo. Es decir, se simular una calculadora
sencilla.
Consideraciones tericas.
En el desarrollo del algoritmo y su codi#icacin en lenguaje !, se utiliza una estructura selectiva
mltiple $ casos, que en ! se codi#ica utilizando la estructura s%itc $ case. &ostramos a continuacin
su de#inicin en pseudocdigo y su de#inicin en !.
Definicin general en pseudocdigo!":
seleccionar 'ndicador
caso (alor)*
'nstrucciones)
caso (alor+*
'nstrucciones+
caso (alorn,)*
'nstruccionesn,)
-en otro caso*
'nstruccionesn.
/in seleccionar 'ndicador
En este caso 'ndicador es una variable o una #uncin cuyo valor es comparado en cada caso con (alori,
si en algn caso coinciden ambos valores, entonces se ejecutarn las 'nstruccionesi correspondientes.
"u de#inicin en lenguaje ! es con la estructura s%itc $ case, la cual permite ejecutar una de varias
acciones, en #uncin del valor de una e0presin. -).
s%itc1e0pr $ test2
3
case cte )*
sentencia )4
case cte +*
sentencia +4
case cte 5*
sentencia 54
.
.
.
de#ault*
sentencia n4
6
donde*
e0p. $ test es una e0presin entera
cte i es una constante entera, una constante de un solo carcter o una e0presin constante4 en
todos los casos, el valor resultante tiene que ser entero.
sentencia i es una sentencia simple o compuesta.
7l principio del cuerpo de la estructura s%itc, pueden aparecer declaraciones. Las inicializaciones si
las ay, son ignoradas.
La estructura s%itc evala la e0presin entre parntesis y compara su valor con las constantes de cada
case. La ejecucin de las sentencias del cuerpo de esta estructura, comienza en el case cuya constante
coincida con el valor de la e0p. $ test y contina asta el #inal del cuerpo o asta una estructura que
trans#iera el control #uera del cuerpo 1como ejemplo brea82.
La estructura s%itc puede incluir cualquier nmero de clusulas case.
"i no e0iste un valor igual al valor de la e0pr $ test, entonces se ejecutan las sentencias a continuacin
de de#ault, si esta clasula a sido especi#icada. La clusula de#ault puede colocarse en cualquier parte
del cuerpo y no necesariamente al #inal.
!uando se utiliza la estructura s%itc $ case, es comn utilizarla junto con la estructura brea8, la cual
#inaliza la ejecucin de una estructura do , %ile, #or, s%itc o %ile en la cual aparece. !uando estas
estructuras estn anidadas, brea8 solamente #inaliza la ejecucin de la estructura donde est incluida.
Esta estructura se de#ine*
brea84
Por otro lado, se utiliz una estructura la cual ejecuta instrucciones una o ms veces dependiendo del
valor de una e0presin y la cual en ! se codi#ica utilizando la estructura do.
&ostramos a continuacin su pseudocdigo as9 como su de#inicin en !.
Esta estructura es una variante que se derivan a partir de la estructura %ile 1mientras2. La estructura de
control acer se utiliza cuando es necesario que las instrucciones de una estructura mientras se ejecuten
al menos una vez. "u de#inicin -+. en pseudocdigo es como sigue*
#acer
'nstrucciones
mientras P
"u de#inicin en lenguaje ! -). es con la estructura do, la cual permite ejecutar una sentencia, simple o
compuesta, una o ms veces, dependiendo del valor de una e0presin.

do
sentencia4
$#ile 1e0presin24
e0presin es cualquier e0presin numrica, relacional o lgica.
sentencia es una sentencia simple o compuesta.
La ejecucin de una estructura do sucede de la siguiente #orma*
). "e ejecuta la estructura o cuerpo de la sentencia do.
+. "e evala la e0presin.
5. "i el resultado de la e0presin es cero 1#also2, se pasa a ejecutar la siguiente instruccin en el
programa.
:. "i el resultado de la e0presin es distinto de cero 1verdadero2, el proceso se repite comenzando
en el punto ).
%aterial & e'uipo.
Para el desarrollo de la presente prctica se utiliz el siguiente equipo*
;na computadora personal con el programa (isual !<< =.> previamente instalado, aunque
puede ser otro compilador ! o !<< que cumpla con la norma 7?"' !.

Desarrollo.
!omo se mencion en el objetivo, el algoritmo solicita dos nmeros reales, a continuacin se muestra
un men sencillo como el siguiente*
). ";&7@
+. @E"A7@
5. &;LA'PL'!7@
:. B'('B'@
C. '?A@DB;!'@ ?;E(D" (7LD@E"
=. "7L'@
Elija la operacin que desea realizar*
7l teclear la opcin deseada el algoritmo realiza la operacin elegida con los dos datos reales
introducidos y se muestra el resultado, despus nuevamente se mostrar el men para solicitar la
eleccin de una nueva opcin incluyendo las opciones C y =.
El desarrollo del algoritmo en pseudocdigo es como sigue*
'nicio
Beclarar las variables reales a y b
Beclarar la variable entera opcion
Eacer
Forrar pantalla
'mprimir el mensaje G'ntroduzca dos nmerosH
Leer a y b

Eacer
Eacer
Forrar pantalla
'mprimir G). ";&7@ y nuevo renglnH
'mprimir G+. @E"A7@ y nuevo renglnH
'mprimir G5. &;LA'PL'!7!'D? y nuevo renglnH
'mprimir G:. B'('"'D? y nuevo renglnH
'mprimir GC. ?;E(D" (7LD@E" y nuevo reglnH
'mprimir G=. "7L'@ y nuevo renglnH
'mprimir GElija la operacin que desea realizarH
Leer opcion
&ientras opcion I ) o opcion J =
/in Eacer

"i opcion K C y opcion K = entonces
"eleccionar opcion
!aso )*
'mprimir el valor de la operacin a<b
"alir de "eleccionar
!aso +*
'mprimir el valor de la operacin a,b
"alir de "eleccionar
!aso 5*
'mprimir el valor de la operacin aLb
"alir de "eleccionar
!aso :*
'mprimir el valor de la operacin aMb
"alir de "eleccionar
/in de "eleccionar opcion
'mprimir GPresione una tecla para continuarH
Leer cualquier carcter
/in "i
&ientras opcion N ) y opcion O :
/in Eacer
&ientras opcion P C
/in Eacer
/in 'nicio
La codi#icacin en lenguaje ! es como sigue*
@ealizar programa de acuerdo a lo anterior
(esultados.
Bespus de compilar y enlazar el programa, se realizaron las siguientes ejecuciones y se obtuvieron los
siguientes resultados*
Conclusiones.
"e realizaron mucas ejecuciones ms, pero no se muestran por cuestiones de espacio.
Podemos concluir que el algoritmo desarrollado es e#ectivo pues si resuelve lo que en el objetivo se
plante.
En la siguiente seccin se proponen varias modi#icaciones al programa.
)jercicios propuestos.
&odi#icar el programa anterior de manera que en la #uncin principal main1 2, en el cuerpo de la
estructura s%itc $ case se omita la clusula brea8. Q Ru ace el programa S
&odi#icar el programa anterior de manera que se omita la estructura s%itc $ case. Q Ru otra
estructura se puede utilizar para que el programa muestre los mismos resultados.
*ibliograf+a & referencias.
-). /rancisco Tavier !eballos
!urso de programacin con !
Ed. 7ddison Uesley 'beroamericana
-+. ttp*MMes.%i8ipedia.orgM%i8iMPseudocV!5VF5digo
ttp*MM%%%.desarrollo%eb.comMarticulosM+++C.pp

S-ar putea să vă placă și