Curso de Estructuras de Datos II

7
Práctica #1: Uso de variables y constantes e impresión de resultados en consola 1 de 6 Curso de Estructuras de Datos II Práctica #1: Uso de variables y constantes e impresión de resultados en consola Objetivo Verificar los conceptos de declaración y definición de variables así como las convenciones (mayúsculas contra minúsculas) en los nombres de identificadores y finalmente impresión de resultados en consola. Descripción La práctica trata sobre el cálculo de impuestos a pagar por una persona física. Definiciones Ingreso.- es la cantidad de dinero que recibe una persona (física 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 más IVA Retención ISR.-es la cantidad de dinero que una empresa le retiene a una persona física como parte de los impuestos que en algún momento deberá pagar acerca de su ingreso Retención IVA.-es la cantidad de dinero que una empresa le retiene a una persona física como parte del IVA que finalmente la persona debería pagar a Hacienda al final del mes Total.-es el Subtotal menos las retenciones del ISR e IVA Ejemplo: si una persona física le cobra $10,000 a una persona moral un recibo de honorarios queda así: Tabla Recibo de Honorarios Ingreso $10,000.00 (+) IVA (16% del ingreso) $ 1,600.00 (=) Subtotal $11,600.00 (-) Retención ISR (10% del ingreso) $ 1,000.00 (-) Retención IVA (10% del ingreso) $ 1,000.00 (=) Total $ 9,600.00

description

Uso de variables y constantes e impresión de resultados enconsolapractica

Transcript of Curso de Estructuras de Datos II

Page 1: Curso de Estructuras de Datos II

Práctica #1: Uso de variables y constantes e impresión de resultados en consola 1 de 6

Curso de Estructuras de Datos II Práctica #1: Uso de variables y constantes e impresión de resultados en

consola

Objetivo Verificar los conceptos de declaración y definición de variables así como las convenciones (mayúsculas contra minúsculas) en los nombres de identificadores y finalmente impresión de resultados en consola. Descripción La práctica trata sobre el cálculo de impuestos a pagar por una persona física. Definiciones Ingreso.- es la cantidad de dinero que recibe una persona (física 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 más IVA Retención ISR.-es la cantidad de dinero que una empresa le retiene a una persona física como parte de los impuestos que en algún momento deberá pagar acerca de su ingreso Retención IVA.-es la cantidad de dinero que una empresa le retiene a una persona física como parte del IVA que finalmente la persona debería pagar a Hacienda al final del mes Total.-es el Subtotal menos las retenciones del ISR e IVA Ejemplo: si una persona física le cobra $10,000 a una persona moral un recibo de honorarios queda así:

Tabla Recibo de Honorarios Ingreso $10,000.00 (+) IVA (16% del ingreso) $ 1,600.00 (=) Subtotal $11,600.00 (-) Retención ISR (10% del ingreso) $ 1,000.00 (-) Retención IVA (10% del ingreso) $ 1,000.00 (=) Total $ 9,600.00

Page 2: Curso de Estructuras de Datos II

Práctica #1: Uso de variables y constantes e impresión 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 cálculo de ganancias como sigue: suponiendo una persona gana $10,000, que gasta $500 (más IVA) y por el monto de su Ganancia Bruta le cobran el 11%:

Tabla Ganancias Ingreso $10000.00 (-) Gasto $ 500.00 (=) Ganancia Bruta $ 9500.00 (-) ISR (11% ganancia bruta) $ 1045.00 (=) Ganancia Neta $ 8455.00 ISR a Pagar.-es la diferencia entre el ISR y el ISR Retenido El cálculo de impuestos a pagar (al banco) por concepto de ISR quedaría como sigue:

Tabla ISR ISR (11% ganancia bruta) $ 1045.00 (-) ISR Retenido (10% del ingreso) $ 1000.00 (=) ISR a Pagar $ 45.00 Nótese que el “ISR Retenido” es el mismo valor previamente calculado para “Retención 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 práctica se asumirá que sí. IVA a Pagar.-es el IVA menos Gasto IVA, menos la retención de IVA El cálculo 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 IVA (16% del ingreso) $ 1600.00 (-) Gasto IVA (16% del gasto) $ 80.00 (-) Retención IVA $ 1000.00 (=) IVA a Pagar $ 520.00 Nótese que el porcentaje de IVA para el gasto es el mismo que el de los ingresos

Page 3: Curso de Estructuras de Datos II

Práctica #1: Uso de variables y constantes e impresión de resultados en consola 3 de 6

Al iniciarse el programa, solicitar al usuario el ingreso mediante entrada de consola: CÁLCULO DE IMPUESTOS Dame el ingreso: Tras capturar el ingreso, solicitar la captura del gasto: CÁLCULO DE IMPUESTOS Dame el ingreso: 10000 Dame el gasto: Después de lo anterior, los resultados de la aplicación se vean tan claros como sigue, mostrando nuevamente el título del programa. Para el caso de capturar ingreso=10000 y gasto=500: CÁLCULO DE IMPUESTOS ***Tabla Recibo de Honorarios*** Ingresos 10000.00 (+) IVA 1600.00 (=) Subtotal 11600.00 (-) Retención ISR 1000.00 (-) Retención 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 (-) Retención IVA 1000.00 (=) IVA a Pagar 520.00 Presione entrar para terminar . . .

Page 4: Curso de Estructuras de Datos II

Práctica #1: Uso de variables y constantes e impresión de resultados en consola 4 de 6

Para el caso de capturar ingreso=20000 y gasto=2000: CÁLCULO DE IMPUESTOS ***Tabla Recibo de Honorarios*** Ingresos 20000.00 (+) IVA 3200.00 (=) Subtotal 23200.00 (-) Retención ISR 2000.00 (-) Retención 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 (-) Retención IVA 2000.00 (=) IVA a Pagar 880.00 Presione entrar para terminar . . . Requerimientos Generales 1. Entregar archivo(s) fuente para aplicación de consola que cumplan con los siguientes

requerimientos 2. Declarar y definir después de las librerías y antes que todo lo demás, todas las

constantes simbólicas, o sea, aquellas relativas a los porcentajes citados en la descripción

3. Al principio de la función 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 continuación de la declaración de variables, se encuentre la definición de las

variables ingreso y gasto vía entrada de consola 6. Definir las demás variables en base las variables ingreso y gasto 7. Imprimir en la consola las 4 tablas completas citadas en la descripción de forma que sus

contenidos sean claros a la vista y los cálculos sean correctos para cualquier valor almacenable en las variables ingreso y gasto

8. Para poder visualizar todo lo impreso por la aplicación, desde el título del programa hasta lo último impreso, imprimir de tal manera que no se requiera redimensionar el

Page 5: Curso de Estructuras de Datos II

Práctica #1: Uso de variables y constantes e impresión de resultados en consola 5 de 6

tamaño 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 código fuente destacando cada una de las siguientes

secciones del programa: a) Declaración y definición de constantes b) Declaración de variables c) Entrada de datos d) Cálculo de impuestos e) Salida de datos

11. Las partes del programa citadas anteriormente deben ser exclusivas, es decir, ningún cómputo (del cálculo de impuestos) debe llevarse a cabo en la sección de entrada de datos (captura de información) ni en la sección de salida de datos (presentación de resultados)

12. Al terminar de imprimir los resultados según la descripción, imprimir el mensaje “Presione entrar para terminar . . .” y esperar a que se teclee SOLO dicha tecla.

13. INDISPENSABLE: A excepción de constantes simbólicas (#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 “cálculo de

impuestos”. Requerimientos para Puntos Extras 15. Entregar en el mismo comprimido 4 carpetas:

a) Una nombrada “C” con los códigos fuente en C (ANSI), b) Una nombrada “C++” con los códigos fuente en C++, c) Una nombrada “Java” con los códigos fuente en Java, y d) Una nombrada “C#” con los códigos fuente en C#

16. Para cada lenguaje, escribir en archivo de texto lo mostrado en pantalla como resultado del “cálculo de impuestos”

Requerimientos de Valor Agregado @ Excelente ortografía en las impresiones de pantalla y comentarios en código fuente A. Todos los identificadores de variables y constantes tengan nombres claros y

significativos de modo que sea fácil saber qué dato almacenarán B. Todo identificador debe ser necesario para la operación del programa C. Cumplir con las convenciones para nomenclatura de variables y constantes explicados

en clase (variables en minúsculas camelCase, constantes en mayúsculas con separador de palabras “_” y arreglos con nombre en plural si se modela una colección).

Page 6: Curso de Estructuras de Datos II

Práctica #1: Uso de variables y constantes e impresión de resultados en consola 6 de 6

D. Todo valor asignado a un identificador debe ser necesario para la operación de alguna parte del programa

E. Utilizar constantes simbólicas en lugar de numéricas siempre que sea posible con ellas mejorar el mantenimiento y/o la legibilidad del programa. Los números mágicos 0 y 1 y cualquier otro se reemplacen por constantes simbólicas si y solo si se les puede otorgar un nombre claro y significativo, de lo contrario pueden quedar como números mágicos.

F. A excepción de que un requerimiento lo solicite, no incluir la redacción de los requerimientos en el código fuente

G. Las líneas de código fuente sean máximo de 100 caracteres H. Código fuente indicando como comentario en la parte superior de cada archivo: nombre

del(la) autor, número y título de práctica I. Cumplir con las convenciones sobre indentación de código fuente J. Código fuente libre de instrucciones anuladas mediante comentarios K. El código fuente libre de errores de compilación y advertencias L. Código fuente libre de comentarios describiendo el funcionamiento a detalle M. Evitar declarar variables que se usen para lectura una sola vez después de definirlas, a

excepción de que en la descripción de la práctica existan conceptos con el mismo nombre que el usado para la variable

N. Evitar comparar banderas contra constante numérica o simbólica 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 instrucción sea indispensable para las instrucciones subsecuentes; por ejemplo, en

un programa que validara una fecha en base a día, mes y año, si se trata de un día del mes de Enero, sería inapropiado comprobar si se trata de un año bisiesto, pues esto solo sería necesario para caso del mes de Febrero.

R. El código fuente sea portable, es decir, que compile sin errores y sea ejecutable de igual forma, desde una consola Unix o MS-DOS y mostrándose igual en ejecución. Así mismo, evitar de ser posible en C++ usar librerias de C de la forma <stdlib.h> (usar en su lugar su versión 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 código factorizado antes y/o después 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 selección canónica (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 ó más enteros siempre que en su lugar se pueda utilizar la estructura de control “switch”

X. Evitar repetir cálculos o comparaciones cuando sea posible memorizar su valor izquierdo en una variable.

Y. Evitar en código 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 según el problema a resolver.

Page 7: Curso de Estructuras de Datos II

Práctica #1: Uso de variables y constantes e impresión de resultados en consola 7 de 6

Z. Usar la estructura de control do-while donde en el código se itere al menos una vez; usar while donde se itere cero o más veces; usar for cuando sea mejor (en uso de líneas de código fuente y/o legibilidad) que usar while o do-while.

Criterios de Evaluación • Los establecidos en las “Reglas de Operación y Evaluación” del Curso de Estructuras

de Datos II. • Fecha de asignación: 19 de Enero de 2015 • Fecha límite de entrega en un lenguaje C++/C#/Java: 23 de Enero de 2015 • Observación: _También se acepta entregar solo en C(ANSI) con 20 pts. en demérito___ • Calificación en base a cobertura de requerimientos y fecha de entrega