viernes, 11 de noviembre de 2016

ESTRUCTURA DE CONTROL REPETITIVAS

ESTRUCTURA DE CONTROL REPETITIVAS
1.       Hacer mientras que______(while)
2.       Hacer hasta que_________(do_while)
3.       Desde o para____________(for)

 Bucle
El buque es un conjunto de instrucciones que se repiten.
 Interacción
Es cada una de las veces que se ejecuta el bucle.
 Contador
Un contador es una variable cuyo valor incrementa o decrementa en una cantidad fija se utiliza en los siguientes casos.
Ø  Para contabilizar el número de veces que se desea una operación o grupo de operaciones.
Ø  Un contador toma un valor inicial antes de empezar sus funciones y se debe codificar en el siguiente formato:
  cont=cont +1
 cont=cont -1

Donde: cont es el nombre de tu variable contador.
Acumulador
Un acumulador se encarga de almacenar en una variable el resultado de una o varias operaciones matemáticas que se encuentran dentro de una sentencia repetitiva, para obtener un total acumulado.
Un acumulador se debe inicializar a cero (0) en caso de suma y en uno (1) en caso de producto y se codifica bajo el siguiente formato:
acum=acum+variable
acum=acum*variable
Donde: acum es el nombre de tu variable acumulador.

ESTRUCTURA mientras.

La estructura mientras que (while) es aquella en la que el número de repeticiones de bucle no se conoce por anticipado, y el cuerpo del buque se repite mientras se cumple una determinada condición. 
Ø  Condición es una expresión booleana (puede ver verdadera o falsa)  que se evalua al principio del bucle y antes de cada iteración de las sentencias.
Ø  Si la condición es verdadera, se ejecuta el bloque de sentencias y se vuelve al principio del bucle.
Ø  Si la condición es falsa, no se ejecuta el bloque de sentencias y se continúa con la siguiente sentencia del programa.




Una representacion grafica seria como sigue:


Pseudocódigo
Código C++
Mientras (condicon)  Hacer
     grupo de sentencias
FinMientras
while(condicion){
      grupo_de_sentecias
}




Explicación
·         Después de la sentencia: sentencia_n se entra a evaluar la condición  que esta junto a while, si es falsa se pasa el control del programa a la sentencia: sentencia_m (fuera de las llaves como indica la línea de color rojo) para continuar con las otras sentencias… Por lo tanto no se ingresaría ni una sola ves al grupo de sentencias dentro de las llaves del while.

·         En caso de que la condición junto a while sea verdadera se pasa el control del programa  al grupo de sentencias que se encuentran dentro de las llaves (como indica la línea de color verde),  para luego regresar (como indica la línea azul) a evaluar la condición esto se repite mientras la condición sea verdadera por lo tanto en el grupo de sentencias que esta dentro de la llaves de:  while se debe de modificar la condición para que en alguna vez la condición evaluada sea falso y salga del bucle para continuar con la sentencia_ m y las otras que continúan.

·         Por eso se dice que el bucle while se ejecuta cero o mas veces.

·         Si la condición nunca llega a ser falsa, tenemos un bucle infinito.

·         La condición se denomina invariante del bucle.

ESTRUCTURA mientras.

La estructura mientras que (while) es aquella en la que el número de repeticiones de bucle no se conoce por anticipado, y el cuerpo del buque se repite mientras se cumple una determinada condición. 
Ø  Condición es una expresión booleana (puede ver verdadera o falsa)  que se evalua al principio del bucle y antes de cada iteración de las sentencias.
Ø  Si la condición es verdadera, se ejecuta el bloque de sentencias y se vuelve al principio del bucle.
Ø  Si la condición es falsa, no se ejecuta el bloque de sentencias y se continúa con la siguiente sentencia del programa.



Una representacion grafica seria como sigue:

Pseudocódigo
Código C++
Mientras (condicon)  Hacer
     grupo de sentencias
FinMientras
while(condicion){
      grupo_de_sentecias
}



Explicación
·         Después de la sentencia: sentencia_n se entra a evaluar la condición  que esta junto a while, si es falsa se pasa el control del programa a la sentencia: sentencia_m (fuera de las llaves como indica la línea de color rojo) para continuar con las otras sentencias… Por lo tanto no se ingresaría ni una sola ves al grupo de sentencias dentro de las llaves del while.

·         En caso de que la condición junto a while sea verdadera se pasa el control del programa  al grupo de sentencias que se encuentran dentro de las llaves (como indica la línea de color verde),  para luego regresar (como indica la línea azul) a evaluar la condición esto se repite mientras la condición sea verdadera por lo tanto en el grupo de sentencias que esta dentro de la llaves de:  while se debe de modificar la condición para que en alguna vez la condición evaluada sea falso y salga del bucle para continuar con la sentencia_ m y las otras que continúan.

·         Por eso se dice que el bucle while se ejecuta cero o mas veces.

·         Si la condición nunca llega a ser falsa, tenemos un bucle infinito.

·         La condición se denomina invariante del bucle.

ESTRUCTURA desde-para.

La estructura PARA es utilizada en aquellos algoritmos en los que se conoce previamente e numero de veces que se deben repetir la ejecución de un bloque de instrucciones. Esta estructura corresponde a las denominadas estructuras repetitivas fijas y especialmente diseñadas para simplificar la escritura de los siclos controlados por un contador.
Léxico: para – hacer
Sintaxis:
  1. PARA Variable desde Vinicio HASTA Vfin HACER
  2. INICIO
  3. Bloque de instrucciones del bucle
  4. FIN // Algunos autores también utilizan:
  5.  
  6. DESDE Variable = Vinicio HASTA Vfin HACER
  7. INICIO
  8. Bloque de instrucciones de bucle
  9. FIN
Nosotros utilizaremos la primera forma.
Semántica
La variable se denomina variable de control del bucle y hace el papel de contador de la estructura repetitiva. La primera vez que se ejecuta la sentencia PARA, el valor inicial (Vinicio) se asigna a la variable de control, luego el bloque de instrucciones del bucle se ejecuta repetidamente y en cada repetición la variable contador del bucle se incrementa automáticamente en 1; hasta alcanzar el valor final (Vfinal), luego el control del programa continua en la siguiente instrucción a la estructura repetitiva.
Consideremos el siguiente ejemplo para aclarar esta idea.
  1. Para Contador Desde 1 Hasta 5 Hacer
  2. Inicio
  3. Escribir ‘PERU’
  4. Fin
Cada vez que se ejecuta la instrucción escribir ‘PERU’, la variable de control Contador se incrementa automáticamente en 1, de manera que se escribirá 5 veces la cadena de caracteres ‘PERU’
El anterior ejemplo es funcionalmente equivalente a las siguientes instrucciones.
  1. Contador = 1
  2. Mientras Contador <= 5 Hacer
  3. Inicio
  4. Escribir ‘PERU’
  5. Contador = Contador + 1
  6. Fin
Como se puede ver, comparativamente con la sentencia mientras la estructura para no requiere de instrucciones para inicializar el contador, para verificar la condición y para incrementar el contador, éstas son inherentes a su semántica.
La estructura para no es de propósito general, por lo que al momento de usarla se debe recordar lo siguiente:
  • La variable de control del siclo no puede cambiarse desde dentro del ciclo, pero si puede utilizarse.
  • Después de ejecutarse el bloque de instrucciones de proceso, la variable de control se incrementa en 1 automáticamente.
  • Se debe verificar que al momento de iniciarse el ciclo El valor inicial de la variable de control debe ser menor o igual al valor final que debe de tomar
  • No se debe poner una condición adicional de terminación del ciclo.

ESTRUCTURA hacer-mientras.

La primera estructura de repetición que vamos a conocer es la estructura mientras-hacer. En esta estructura, un conjunto de instrucciones se va a repetir mientras que se cumpla una determinada condición. Esta estructura sigue esta sintaxis:

mientras (condición) hacer
   sentencias
fin_mientras

En esta estructura, lo primero que sucede es que se evalúa la condición (que es una expresión booleana). Si el resultado es falso, entonces no se toma ninguna acción y el algoritmo sigue su camino hacia las sentencias que estén después del ciclo. Es decir, el ciclo es ignorado. Pero si la expresión resulta verdadera, entonces se ejecutan las sentencias que forman el cuerpo del ciclo, después de lo cual se vuelve a evaluar la condición. Este proceso se repite vez tras vez mientras la condición sea verdadera.

¿Recuerdan el ejemplo que citamos en la lección anterior? en dicho ejemplo, necesitabamos leer el valor de 10 números para calcular su suma. Usando la estructura mientras-hacer, el ejemplo quedaría de este modo:

algoritmo Suma
var
   entero: contador, numero, suma
inicio
   suma <- 0
   contador <- 1
   mientras (contador <= 10) hacer
      escribir("Escribe un número:")
      leer(numero)
      suma <- suma + numero
      contador ++
   fin_mientras
   escribir("La suma de los números dados es: " + suma)
fin

En este algoritmo, lo primero que hacemos es inicializar las variables suma y contador. Dado que suma será la variable donde vamos a almacenar el resultado de la suma de todos los números, la inicializamos en cero. Por otro lado, la variable contador será la que nos ayude a determinar cuando nuestro ciclo mientras va a detenerse. Como la condición indica que el contador debe llegar a 10, lo inicializamos en 1 para permitir la primera vuelta del ciclo. Una vez que inicializamos las variables, evaluamos la condición (contador <= 10). Como la primera vez esta condición resulta verdadera, ejecutamos el cuerpo del ciclo. Dicho cuerpo está formado por cuatro sentencias: en las primeras dos nos ocupamos de leer el número que vamos a sumar; en la tercera, nos ocupamos de acumular el valor dado en la variable suma (es decir, a suma le asignamos el valor que ya tenía la variable mas el valor del número dado); finalmente, la sentencia contador++ se encarga de incrementar en 1 el valor de la variable contador, de modo que, ahora, su valor es 2 y entonces volvemos a evaluar la condición. Este proceso se repetirá hasta que la variable contador tenga un valor de 11, en cuyo caso la condición resultará falsa y el cuerpo del ciclo ya no se ejecutará de nuevo.

jueves, 10 de noviembre de 2016

PSEUDOCODIGO PARA SUMAR 100 NÚMEROS

PSEUDOCODIGO PARA SUMAR 100 NÚMEROS

  1. Leer N
  2. Inicializar el algoritmo con N=0
  3. Creación del bucle while:
  • Mientras N< ó = 100 se suma N+1 para dar una nueva N, para posteriormente establecer la suma total (de los n números) como: SUMA= suma +N (previamente establecida).

  • Siempre que se cumpla N mayor ó igual a 100 repetir dicha acción. Cuando n deje de ser igual o menor que 50, fin del bucle.


    4. Fin de bucle while
    5. Escribir la suma

Variable acumulador

Es similar al contador. Se inicializa en cero y en cada repetición se incrementa en diferentes valores. El resultado final es que la variable acumula la suma de los valores añadidos en cada repetición.

package com.edu4java.javatutorials;
import javax.swing.JOptionPane;

public class WhileCounterAcumulator {
 public static void main(String[] args) {
  int counter = 0;
  int accumulator = 0;
  while (counter < 5) {
   counter = counter + 1;
   accumulator = accumulator + Integer.parseInt(JOptionPane
    .showInputDialog("Ingresar el " + counter + "º número"));
  }
  JOptionPane.showMessageDialog(null, "La suma de los 5 números es " + accumulator);
 }
}