03 enero, 2019

Contadores y Acumuladores en Java


Muchas veces un programa requiere que pueda acumular el número de veces que se cumple una determinada condición y en otras totalizar cantidades de una misma especie como por ejemplo, determinar el número de notas aprobadas o el monto total vendido del día.

Así, en el tema de hoy diseñaremos programas en Java que permitan resolver problemas que involucren conteo y acumulación




Anteriormente, en otras publicaciones como parte del tema de programación modular habíamos resueltos problemas usando descomposición modular mediante métodos tipo void y métodos con valor de retorno.


Así como las estructuras de selección if, if else, if else if, switch aprendidas en el curso.


Estos posts te servirán tanto si estás empezando de cero en el mundo de la programación, si eres estudiante de primer año y necesitas reforzar algunos temas, o si eres un curioso que le entró la duda y las ganas de aprender a programar. Sea el motivo que fuese por lo que estás aquí, te invito a seguir esta serie de publicaciones que estaré realizando, en donde aprenderás con los temas que te vaya enseñando lo básico de la programación para que puedas realizar tú mismo tus propios programas.

¡Comencemos!

Así como en C++, C# que son lenguajes de programación tipo C. Java ofrece operadores para incrementar una variable en una cantidad dada.

¿Qué son los operadores de incremento y decremento?


Son operadores que permiten incrementar o decrementar en una unidad el valor de una variable numérica como se puede apreciar en el siguiente cuadro.

Operadores de incremento y decremento

Ejemplo


Ejemplos de operadores de incremento y decremento

Los operadores de incremento y decremento se pueden usar de manera aislada, tanto en sus variantes posfija o prefija, pero si se usan dentro de alguna expresión, las variaciones postfijas y prefijas tiene un resultado distinto.

Así, en la forma posfija o pos-incremento (a++), el valor de la variable en cuestión dentro de la expresión no cambia, y una vez la expresión se ha evaluado, se aplica el operador sobre ella. Por el contrario, en la notación prefija o pre-incremento (++a), la variable se incrementa previamente a la evaluación de la expresión donde se encuentra.

¿Qué son los operadores de asignación compleja?


Son operadores que permiten asignar a una variable el valor de la variable más, menos, por, entre, porcentaje el valor de otra variable como se puede apreciar en el siguiente cuadro.

Operadores de asignación compleja

Ejemplo


Ya sabiendo para que sirven los operadores de incremento-decremento y los operadores de asignación compleja, pasaremos a definir los conceptos de contadores y acumuladores.

¿Qué es un contador?


Un contador es una variable que se utiliza para contar el número de ocurrencias de un suceso o el número de veces que se cumple una determinada condición.

Por ejemplo, se necesita un contador para determinar:

- El número de veces que se hizo clic en un botón.
- El número de notas ingresadas.
- El número de notas aprobatorias.
- El número de notas desaprobatorias.
- Cuantos números mayores a 15 hay en una lista.
- Etc.

Una instrucción de conteo tiene la siguiente forma:

contador = contador +1;


Que puede escribirse también como:

contador++;


Ejemplo


¿Qué es un acumulador?


Un acumulador es una variable que se utiliza para acumular o totalizar cantidades de una misma especie.

Por ejemplo, se necesita un acumulador para determinar:

- El sueldo total de los empleados de una empresa.
- La edad total de un conjunto de personas.
- La suma de las notas de un alumno.
- Etc.

Una instrucción de acumulación tiene la siguiente forma:

acumulador = acumulador + cantidad;

Qué puede escribirse también como:

acumulador += cantidad;

Ejemplo


Ahora pasaremos a aplicar los conceptos vistos mediante la resolución de un par de problemas y al final del post como en todos los posts les compartiré un link que contiene un pack de ejercicios resueltos para que puedan descargarlo y así también puedan practicar en sus casas..

Problemas


Problema 1

Diseñe un programa que permita ingresar, mediante un botón y de uno en uno, los sueldos de los empleados de una empresa y muestre luego de cada ingreso la cantidad de sueldos ingresados, el mayor y el menor sueldo ingresado y, el sueldo promedio.

Programa


Código Fuente Modo 1


Código Fuente Modo 2

Usando Double.MAX_VALUE


Problema 2

En un peaje se desea saber cuántos vehículos de cada tipo pasaron por el peaje y la cantidad total de pasajeros por tipo de vehículo. Los tipos de vehículos a considerar son: automóvil, camión, camioneta, ómnibus y otros.

Programa


Código Fuente


Problema 3

Diseñe un programa que permita ingresar, mediante un botón y de uno en uno, números enteros mayores o iguales que 100 y pero menores o iguales que 900 y determine:

Cuántos números pertenecen a cada uno de los siguientes intervalos: 100 a 300, 301 a 500, 501 a 700 y 701 a 900.

El mayor y el menor número ingresados.

Programa


Código Fuente


Problema 4

Diseñe un programa para simular el movimiento de un almacén de bolsas de cemento.

Al comenzar la ejecución del programa, inicializar el stock de bolsas de cemento en

2000 bolsas y la capacidad del almacén en 3500 bolsas. Luego, el programa permitirá efectuar operaciones de depósito y de retiro, mostrando en todo momento:

- El stock actual del almacén.
- La capacidad libre del almacén.
- El número de depósitos y de retiros efectuados.
- La cantidad total de bolsas depositadas y retiradas.
- La cantidad máxima de bolsas retiradas y depositadas.
- La cantidad mínima de bolsas retiradas y depositadas.

Programa


Código Fuente


Problema 5

Una empresa desarrolladora de software ha puesto a la venta licencias de su programa de edición de video Video Edit 2.0 a los siguientes costos unitarios:


Diseñe un programa que permita ingresar por cada venta el tipo de licencia y el número de licencias y muestre luego de cada venta:

- El importe a pagar para la venta efectuada.
- El importe total recaudado de cada tipo de licencia.
- El número de licencias vendidas de cada tipo de licencia.
- El número de ventas efectuadas de cada tipo de licencia.

Programa


Código Fuente


Para recordar


- Los operadores de incremento y decremento en lenguajes tipo C como C++, C#, Java tienen 2 variantes prefija y posfija el cual dependiendo del uso en una expresión tendrá un resultado diferente.
- Los operadores de asignación compleja permiten asignar a una variable el valor de la variable +, -, *, /, % el valor de otra variable.
- Los contadores y los acumuladores se utilizan para contar el número de ocurrencias de un suceso y totalizar cantidades de una misma especie.

Descargar ejercicios resueltos


 Descargar archivo

Puedes completar lo aprendido asistiendo el material en video.

   Clic aquí

¡Acabas de ver el tema número 23 del curso de Introducción a la Algoritmia y a la programación en Java! ¡Fácil verdad! Ir al índice
¡Qué pases un buen día!

3 comentarios:

  1. Respuestas
    1. ¡Muchas gracias! Te invito a seguir el blog, cada semana se sube nuevo contenido y material gratuito que te pueden ser de gran utilidad. Saludos.

      Borrar
  2. disculpa amigo gracias por el tutorial.
    hay alguna manera de ejecutarlo desde consola?

    ResponderBorrar