Professional Documents
Culture Documents
1 de 6
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
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
3 de 6
4 de 6
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
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.
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.
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