You are on page 1of 7

Prctica #1: Uso de variables y constantes e impresin de resultados en consola

1 de 6

Curso de Estructuras de Datos II


Prctica #1: Uso de variables y constantes e impresin de resultados en
consola

Objetivo
Verificar los conceptos de declaracin y definicin de variables as como las
convenciones (maysculas contra minsculas) en los nombres de identificadores y
finalmente impresin de resultados en consola.

Descripcin
La prctica trata sobre el clculo de impuestos a pagar por una persona fsica.
Definiciones
Ingreso.- es la cantidad de dinero que recibe una persona (fsica o moral) a cambio de sus
servicios (profesionales o empresariales)
IVA.- es el impuesto al valor agregado, actualmente un cobro del 16% sobre la cantidad de
Ingreso
Subtotal.-es la suma de Ingreso ms IVA
Retencin ISR.-es la cantidad de dinero que una empresa le retiene a una persona fsica
como parte de los impuestos que en algn momento deber pagar acerca de su ingreso
Retencin IVA.-es la cantidad de dinero que una empresa le retiene a una persona fsica
como parte del IVA que finalmente la persona debera pagar a Hacienda al final del mes
Total.-es el Subtotal menos las retenciones del ISR e IVA
Ejemplo: si una persona fsica le cobra $10,000 a una persona moral un recibo de
honorarios queda as:
Tabla Recibo de Honorarios
Ingreso
(+) IVA (16% del ingreso)
(=) Subtotal
(-) Retencin ISR (10% del ingreso)
(-) Retencin IVA (10% del ingreso)
(=) Total

$10,000.00
$ 1,600.00
$11,600.00
$ 1,000.00
$ 1,000.00
$ 9,600.00

Prctica #1: Uso de variables y constantes e impresin de resultados en consola

2 de 6

Gasto.- es la cantidad de dinero gastado para realizar el servicio por el cual se obtiene el
Ingreso
Ganancia Bruta.-es la resta de Ingreso menos Gasto
ISR.-es el impuesto sobre la renta como un porcentaje a pagar a partir de Ganancia Bruta.
Ganancia Neta.-es la Ganancia Bruta menos el ISR
El clculo de ganancias como sigue: suponiendo una persona gana $10,000, que gasta
$500 (ms IVA) y por el monto de su Ganancia Bruta le cobran el 11%:
Tabla Ganancias
Ingreso
(-) Gasto
(=) Ganancia Bruta
(-) ISR (11% ganancia bruta)
(=) Ganancia Neta

$10000.00
$ 500.00
$ 9500.00
$ 1045.00
$ 8455.00

ISR a Pagar.-es la diferencia entre el ISR y el ISR Retenido


El clculo de impuestos a pagar (al banco) por concepto de ISR quedara como sigue:
Tabla ISR
$ 1045.00
ISR (11% ganancia bruta)
$ 1000.00
(-) ISR Retenido (10% del ingreso)
$
45.00
(=) ISR a Pagar
Ntese que el ISR Retenido es el mismo valor previamente calculado para Retencin
ISR.
Gasto IVA.- es la cantidad de dinero por concepto de IVA gastado para realizar el servicio.
No todo gasto genera IVA pero para la prctica se asumir que s.
IVA a Pagar.-es el IVA menos Gasto IVA, menos la retencin de IVA
El clculo del IVA a pagar para una persona que realiz ese gasto de $500 y le cobraron
aparte $80 de IVA (16% del Gasto), queda como sigue:
Tabla IVA
$ 1600.00
IVA (16% del ingreso)
$
80.00
(-) Gasto IVA (16% del gasto)
$ 1000.00
(-) Retencin IVA
$ 520.00
(=) IVA a Pagar
Ntese que el porcentaje de IVA para el gasto es el mismo que el de los ingresos

Prctica #1: Uso de variables y constantes e impresin de resultados en consola

3 de 6

Al iniciarse el programa, solicitar al usuario el ingreso mediante entrada de consola:


CLCULO DE IMPUESTOS
Dame el ingreso:
Tras capturar el ingreso, solicitar la captura del gasto:
CLCULO DE IMPUESTOS
Dame el ingreso: 10000
Dame el gasto:
Despus de lo anterior, los resultados de la aplicacin se vean tan claros como sigue,
mostrando nuevamente el ttulo del programa.
Para el caso de capturar ingreso=10000 y gasto=500:
CLCULO DE IMPUESTOS
***Tabla Recibo de Honorarios***
Ingresos
10000.00
(+) IVA
1600.00
(=) Subtotal
11600.00
(-) Retencin ISR
1000.00
(-) Retencin IVA
1000.00
(=) Total
9600.00
***Tabla Ganancias***
Ingresos
10000.00
(-) Gastos
500.00
(=) Ganancia Bruta
9500.00
(-) ISR
1045.00
(=) Ganancia Neta
8455.00
***Tabla ISR***
ISR
1045.00
(-) ISR Retenido
1000.00
(=) ISR a Pagar
45.00
***Tabla IVA***
IVA
1600.00
(-) Gastos IVA
80.00
(-) Retencin IVA
1000.00
(=) IVA a Pagar
520.00
Presione entrar para terminar . . .

Prctica #1: Uso de variables y constantes e impresin de resultados en consola

4 de 6

Para el caso de capturar ingreso=20000 y gasto=2000:


CLCULO DE IMPUESTOS
***Tabla Recibo de Honorarios***
Ingresos
20000.00
(+) IVA
3200.00
(=) Subtotal
23200.00
(-) Retencin ISR
2000.00
(-) Retencin IVA
2000.00
(=) Total
19200.00
***Tabla Ganancias***
Ingresos
20000.00
(-) Gastos
2000.00
(=) Ganancia Bruta
18000.00
(-) ISR
1980.00
(=) Ganancia Neta
16020.00
***Tabla ISR***
ISR
1980.00
(-) ISR Retenido
2000.00
(=) ISR a Pagar
-20.00
***Tabla IVA***
IVA
3200.00
(-) Gastos IVA
320.00
(-) Retencin IVA
2000.00
(=) IVA a Pagar
880.00
Presione entrar para terminar . . .

Requerimientos Generales
1. Entregar archivo(s) fuente para aplicacin de consola que cumplan con los siguientes
requerimientos
2. Declarar y definir despus de las libreras y antes que todo lo dems, todas las
constantes simblicas, o sea, aquellas relativas a los porcentajes citados en la
descripcin
3. Al principio de la funcin main, declarar sin definir las variables para cada uno de los
conceptos citados en las tablas
4. Las variables sean de tipo flotante
5. A continuacin de la declaracin de variables, se encuentre la definicin de las
variables ingreso y gasto va entrada de consola
6. Definir las dems variables en base las variables ingreso y gasto
7. Imprimir en la consola las 4 tablas completas citadas en la descripcin de forma que sus
contenidos sean claros a la vista y los clculos sean correctos para cualquier valor
almacenable en las variables ingreso y gasto
8. Para poder visualizar todo lo impreso por la aplicacin, desde el ttulo del programa
hasta lo ltimo impreso, imprimir de tal manera que no se requiera redimensionar el

Prctica #1: Uso de variables y constantes e impresin de resultados en consola

5 de 6

tamao por defecto de la consola (25 filas por 80 columnas) ni usar las barras de
desplazamiento.
9. Todas las constantes necesarias hasta ahora, sean de tipo entero
10. Escribir comentarios en el cdigo fuente destacando cada una de las siguientes
secciones del programa:
a) Declaracin y definicin de constantes
b) Declaracin de variables
c) Entrada de datos
d) Clculo de impuestos
e) Salida de datos
11. Las partes del programa citadas anteriormente deben ser exclusivas, es decir, ningn
cmputo (del clculo de impuestos) debe llevarse a cabo en la seccin de entrada de
datos (captura de informacin) ni en la seccin de salida de datos (presentacin de
resultados)
12. Al terminar de imprimir los resultados segn la descripcin, imprimir el mensaje
Presione entrar para terminar . . . y esperar a que se teclee SOLO dicha tecla.
13. INDISPENSABLE: A excepcin de constantes simblicas (#define en caso de C/C++ o
final en Java), todos los requerimientos se cubran usando solo una subrutina (main) y
las variables sean locales.

Requerimientos de Archivo
14. Escribir en archivo de texto lo mostrado en pantalla como resultado del clculo de
impuestos.

Requerimientos para Puntos Extras


15. Entregar en el mismo comprimido 4 carpetas:
a) Una nombrada C con los cdigos fuente en C (ANSI),
b) Una nombrada C++ con los cdigos fuente en C++,
c) Una nombrada Java con los cdigos fuente en Java, y
d) Una nombrada C# con los cdigos fuente en C#
16. Para cada lenguaje, escribir en archivo de texto lo mostrado en pantalla como resultado
del clculo de impuestos

Requerimientos de Valor Agregado


@ Excelente ortografa en las impresiones de pantalla y comentarios en cdigo fuente
A. Todos los identificadores de variables y constantes tengan nombres claros y
significativos de modo que sea fcil saber qu dato almacenarn
B. Todo identificador debe ser necesario para la operacin del programa
C. Cumplir con las convenciones para nomenclatura de variables y constantes explicados
en clase (variables en minsculas camelCase, constantes en maysculas con separador
de palabras _ y arreglos con nombre en plural si se modela una coleccin).

Prctica #1: Uso de variables y constantes e impresin de resultados en consola

6 de 6

D. Todo valor asignado a un identificador debe ser necesario para la operacin de alguna
parte del programa
E. Utilizar constantes simblicas en lugar de numricas siempre que sea posible con ellas
mejorar el mantenimiento y/o la legibilidad del programa. Los nmeros mgicos 0 y 1 y
cualquier otro se reemplacen por constantes simblicas si y solo si se les puede otorgar
un nombre claro y significativo, de lo contrario pueden quedar como nmeros mgicos.
F. A excepcin de que un requerimiento lo solicite, no incluir la redaccin de los
requerimientos en el cdigo fuente
G. Las lneas de cdigo fuente sean mximo de 100 caracteres
H. Cdigo fuente indicando como comentario en la parte superior de cada archivo: nombre
del(la) autor, nmero y ttulo de prctica
I. Cumplir con las convenciones sobre indentacin de cdigo fuente
J. Cdigo fuente libre de instrucciones anuladas mediante comentarios
K. El cdigo fuente libre de errores de compilacin y advertencias
L. Cdigo fuente libre de comentarios describiendo el funcionamiento a detalle
M. Evitar declarar variables que se usen para lectura una sola vez despus de definirlas, a
excepcin de que en la descripcin de la prctica existan conceptos con el mismo
nombre que el usado para la variable
N. Evitar comparar banderas contra constante numrica o simblica
O. Programa libre de desbordamiento de arreglos en lectura o escritura
P. Para iterar arreglos usar nombres como i,j,k, etc. (de un solo caracter) a menos que se
requiera la variable para su lectura posterior a la estructura de control iterativa
Q. Toda instruccin sea indispensable para las instrucciones subsecuentes; por ejemplo, en
un programa que validara una fecha en base a da, mes y ao, si se trata de un da del
mes de Enero, sera inapropiado comprobar si se trata de un ao bisiesto, pues esto solo
sera necesario para caso del mes de Febrero.
R. El cdigo fuente sea portable, es decir, que compile sin errores y sea ejecutable de igual
forma, desde una consola Unix o MS-DOS y mostrndose igual en ejecucin. As
mismo, evitar de ser posible en C++ usar librerias de C de la forma <stdlib.h> (usar en
su lugar su versin C++ <cstdlib>).
S. Dada una serie de estructuras de control if, las cuales verifiquen expresiones repetidas
en el programa, factorizarlas usando la estructura if anidada
T. Evitar repetir instrucciones siempre que sea posible factorizarlas, colocando el cdigo
factorizado antes y/o despus de la estructura de control selectiva
U. Evitar el uso de la selectiva if como disparador (if sin else) siempre que sea posible en
su lugar una seleccin cannica (if, else if, else if, ,else)
V. Evitar anidar la selectiva if, en el else de otro if, si la primera es todo lo que hay en el
else de ese otro if.
W. Evitar el uso del operador relacional == de una misma variable contra 2 ms enteros
siempre que en su lugar se pueda utilizar la estructura de control switch
X. Evitar repetir clculos o comparaciones cuando sea posible memorizar su valor
izquierdo en una variable.
Y. Evitar en cdigo fuente repetir la presencia de la misma estructura de control
secuencial, siempre que sea posible aplicar la estructura de control iterativa. As mismo
usar la estructura de control iterativa donde sea apropiado segn el problema a resolver.

Prctica #1: Uso de variables y constantes e impresin de resultados en consola

7 de 6

Z. Usar la estructura de control do-while donde en el cdigo se itere al menos una vez;
usar while donde se itere cero o ms veces; usar for cuando sea mejor (en uso de lneas
de cdigo fuente y/o legibilidad) que usar while o do-while.

Criterios de Evaluacin

Los establecidos en las Reglas de Operacin y Evaluacin del Curso de Estructuras


de Datos II.
Fecha de asignacin:
19 de Enero de 2015
Fecha lmite de entrega en un lenguaje C++/C#/Java:
23 de Enero de 2015
Observacin: _Tambin se acepta entregar solo en C(ANSI) con 20 pts. en demrito___
Calificacin en base a cobertura de requerimientos y fecha de entrega

You might also like