Actividad 16 Contadores y Acumuladores Contadores Los contadores son variables que permiten contar eventos dentro de un algoritmo o programa. Sus características son las siguientes: Se incrementan o decrementan siempre con un valor constante Se representan como: Contador= contador +/- valor constante Generalmente el valor constante es 1 de tal manera que se representan de la siguiente manera: Contador= contador +1 Esto es en la mayoría de los casos, aunque este valor constante también puede tomar otros valores, o inclusive en lugar de aumentar, puede decrementar su valor de la siguiente manera: Contador = Contador -1 Los contadores se inicializan ( es decir siempre se les asigna un valor inicial) generalmente con cero: Contador =0 La inicialización es fundamental, ya que de no hacerla corremos el riesgo que tanto los contadores como los acumuladores almacenen valores “basura”, que se almacenan al ser creados los espacios de memoria, y que provocan valores erróneos en el uso de estas variables. Por tal motivo es indispensable siempre inicializarlas. Acumuladores. Los acumuladores almacenan o acumulan valores. Estos valores generalmente son variables, a diferencia de los contadores que se incrementan en valores constantes. En los acumuladores se pueden almacenar la suma de valores o el producto de valores. Para acumuladores de suma de valores su representación es: Acumulador= Acumulador + valor variable Para el caso de los acumuladores de producto su representación es: Acumulador = Acumulador* valor variable. Los acumuladores también se inicializan, para el caso de los acumuladores de suma de valores se inicializa generalmente con 0 de la siguiente manera: Acumulador=0 Los acumuladores de producto siempre se inicializan con 1: Acumulador =1 Esto debido a que si se inicializaran con cero el producto de cualquier valor por cero siempre es cero Observa el siguiente ejemplo: Se desea el algoritmo que calcule el promedio de tres calificaciones. Nota: Utilizaremos la palabra “leer “ para obtener cada calificación y “escribir” para imprimir en la pantalla los resultados, como podemos observar se requiere un contador para contar la cantidad de calificaciones ( contador= contador +1)y un acumulador ( acumulador= acumulador +calif 1.etc.) para guardar cada una de las tres calificaciones. El primer proceso es inicializar siempre los contadores y los acumuladores. El promedio de las calificaciones lo obtenemos al dividir el acumulador entre el contador. Entradas: calificación1, calificación2, calificación 3 Salidas: Promedio Proceso: Contador =0 Acumulador=0 Leer calificación1 Acumulador= Acumulador + calificación1 Contador = Contador +1 Leer calificación2 Acumulador = Acumulador + calificación2 Contador= Contador +1 Leer calificación3 Acumulador= Acumulador+calificación3 Contador= Contador+1 Promedio= Acumulador/contador Imprimir Promedio Prueba de escritorio La prueba de escritorio nos permite verificar como van cambiando paso a paso cada una de las variables de intervienen en un algoritmo. La metodología es poner una columna por cada una de las variables que intervienen y seguir el algoritmo e ir modificando los valores que se van tomando. En el problema anterior tenemos las siguientes variables: Contador Acumulador Calificación1 0 0 10 (inicializamos (inicializamos el contador el acumulador Calificación2 Calificación3 Promedio 8 6 Acumulador/ 0+10=10 0+1=1 10+8=18 1+1=2 18+6=24 Contador 24/3=8 2+1=3 Para llegar a esta tabla tuvimos que seguir paso a paso el algoritmo desde su inicio, como podemos observar los primeros valores que asignamos en la tabla fueron los iniciales de contador y acumulador. Los valores de calificación1, calificación2 y calificación 3 son aleatorios y proporcionados por el usuario (la instrucción leer significa que es un dato de entrada) El promedio se calcula con el resultado final del acumulador (suma de valores) entre el contador(cantidad de calificaciones). Esta prueba es muy práctica porque nos permite visualizar los cambios que van sufriendo nuestras variables para llegar al resultado final, con ella es posible detectar un cambio no deseado en las variables. Generalmente es utilizada en la fase de comprobación de un problema. Acumuladores como acumuladores de producto Como ya lo habíamos mencionado los acumuladores también pueden almacenar producto de valores veamos el siguiente ejemplo, para ello el acumulador siempre debe inicializarse con 1, es decir debe tomar el siguiente valor Acumulador=1 Veamos el siguiente ejemplo: Se desea obtener el producto de tres números. Entradas: numero1, numero2, numero3 Salidas: Producto de los tres números Proceso Acumulador =1 */inicializo el acumulador */ Leer numero1 Acumulador=Acumulador*numero1 Leer numero2 Acumulador=Acumulador*numero2 Leer numero3 Acumulador=Acumulador*numero3 Escribir Acumulador. Veamos la prueba de escritorio, con los siguientes valores: Numero 1=4 Número 2=5 Número 3=3 Acumulador Numero1 1 4 1*4=4 4*5=20 Numero2 Numero3 5 3 20*3=60 Acumulador=60 Ejercicio: Realizar las pruebas de escritorio de los programas sugeridos por la profesora.