lunes, 15 de julio de 2013

9° EJEMPLO DE ACUMULADORES Y INTERRUPTORES


Acumuladores

Un acumulador o totalizador es una variable cuya misión es acumular cantidades sucesivas obtenidas al realizar la misma operación. Realiza la misma función que un contador con la diferencia de que el incremento o decremento es variable en lugar de constante como en el caso del contador.
El uso más habitual de un acumulador es obtener sumas y productos. Al igual que con los contadores, para poder utilizar un acumulador hay que realizar sobre ellos dos operaciones básicas:
Inicialización: SumaTotal=0; ProductoFinal=1;
Acumulación:
Una vez obtenido y almacenado en una variable la cantidad a acumular la añadimos a la variable acumulador:

SumaTotal = SumaTotal + cantidad;
ProductoFinal = ProductoFinal * cantidad;

Ejemplo:
Leer números y muestra su suma hasta que el usuario pulse S para terminar
INICIO
Suma = 0
Leer Número
REPETIR
Suma = Suma + Número
Mostrar “ Desea continuar (s/n):”
Leer Continuar
HASTA ( Continuar = ‘S’)
Mostrar “ El total es : “ Suma
FIN

Interruptores , conmutadores bandera o switches, flag, indicadores.
Un interruptor, conmutador, bandera o switch es una variable que puede tomar dos posibles a lo largo de la ejecución del programa. Los valores que toma son normalmente 1 o sí (encendido/abierto) y 0 o no (apagado/cerrado) (de ahí su nombre de interruptor). Se utilizan principalmente para:
Recordar en un determinado lugar del programa la ocurrencia o no de un un suceso:

Ejemplo: Algoritmo que lee una secuencia de notas (hasta que se introduzca el valor -1) , nos calcula la media y nos dice si hubo o no una nota con valor diez:

Programa: Ejemplo de Conmutador 2
ENTORNO
Real nota
Lógico HaySobresaliente;

INICIO
HaySobresaliente = falso;
REPETIR
Escribir " Introduce una nota"
Leer nota
SI (nota = = 10)
HaySobresaliente = verdadero
FIN SI
HASTA (nota = -1)
SI ( HAySobresaliente = verdadero)
Entonces
Escribir " Al menos hay una nota que es un 10" ;
Sino
Escribir " Ninguna nota ha sido un10";
FINSI
FIN