Estructura Repetitiva For
Estructura Repetitiva For
Estructura Repetitiva For
Cualquier problema que requiera una estructura repetitiva se puede resolver empleando la
estructura while. Pero hay otra estructura repetitiva cuyo planteo es más sencillo en ciertas
situaciones.
En general, la estructura for se usa en aquellas situaciones en las cuales CONOCEMOS la cantidad
de veces que queremos que se ejecute el bloque de instrucciones. Ejemplo: cargar 10 números,
ingresar 5 notas de alumnos, etc. Conocemos de antemano la cantidad de veces que queremos
que el bloque se repita. Veremos, sin embargo, que en el lenguaje Java la estructura for puede
usarse en cualquier situación repetitiva, porque en última instancia no es otra cosa que una
estructura while generalizada.
Representación gráfica:
Cuando el ciclo comienza, antes de dar la primera vuelta, la variable del for toma el valor indicado
en la sección de de "inicialización contador". Inmediatamente se verifica, en forma automática, si
la condición es verdadera. En caso de serlo se ejecuta el bloque de operaciones del ciclo, y al
finalizar el mismo se ejecuta la instrucción que se haya colocado en la tercer sección.
Seguidamente, se vuelve a controlar el valor de la condición, y así prosigue hasta que dicha
condición entregue un falso.
Estructura repetitiva for
Si conocemos la cantidad de veces que se repite el bloque es muy sencillo emplear un for, por
ejemplo si queremo que se repita 50 veces el bloque de instrucciones puede hacerse así:
La variable del for puede tener cualquier nombre. En este ejemplo se la ha definido con el nombre
f.
Analicemos el ejemplo:
La variable f puede ser inicializada en cualquier valor y finalizar en cualquier valor. Además, no es
obligatorio que la instrucción de modificación sea un incremento del tipo contador (f++).
Cualquier instrucción que modifique el valor de la variable es válida. Si por ejemplo se escribe
f=f+2 en lugar de f++, el valor de f será incrementado de a 2 en cada vuelta, y no de a 1. En este
caso, esto significará que el ciclo no efectuará las 50 vueltas sino sólo 25.
Estructura repetitiva for
Problema 1:
Realizar un programa que imprima en pantalla los números del 1 al 100.
Diagrama de flujo:
Podemos observar y comparar con el problema realizado con el while. Con la estructura while el
CONTADOR x sirve para contar las vueltas. Con el for el CONTADOR f cumple dicha función.
Inicialmente f vale 1 y como no es superior a 100 se ejecuta el bloque, imprimimos el contenido de
f, al finalizar el bloque repetitivo se incrementa la variable f en 1, como 2 no es superior a 100 se
repite el bloque de instrucciones.
Cuando la variable del for llega a 101 sale de la estructura repetitiva y continúa la ejecución del
algoritmo que se indica después del círculo.
La variable f (o como sea que se decida llamarla) debe estar definida como una variable más.
Programa:
public class EstructuraRepetitivaFor1 {
public static void main(String[] ar) {
int f;
for(f=1;f<=100;f++) {
System.out.print(f);
System.out.print("-");
}
}
}
Estructura repetitiva for
Problema 2:
Desarrollar un programa que permita la carga de 10 valores por teclado y nos muestre
posteriormente la suma de los valores ingresados y su promedio. Este problema ya lo
desarrollamos , lo resolveremos empleando la estructura for.
Diagrama de flujo:
Estructura repetitiva for
En este caso, a la variable del for (f) sólo se la requiere para que se repita el bloque de
instrucciones 10 veces.
Programa:
import java.util.Scanner;
Tener en cuenta encerrar entre llaves bloque de instrucciones a repetir dentro del for.
El promedio se calcula fuera del for luego de haber cargado los 10 valores.
Estructura repetitiva for
Problema 3:
Escribir un programa que lea 10 notas de alumnos y nos informe cuántos tienen notas mayores o
iguales a 7 y cuántos menores.
Programa:
import java.util.Scanner;
Problema 4: Escribir un programa que lea 10 números enteros y luego muestre cuántos valores
ingresados fueron múltiplos de 3 y cuántos de 5. Debemos tener en cuenta que hay números que
son múltiplos de 3 y de 5 a la vez.
Diagrama de flujo:
Estructura repetitiva for
Tengamos en cuenta que el operador matemático % retorna el resto de dividir un valor por otro,
en este caso: valor%3 retorna el resto de dividir el valor que ingresamos por teclado, por tres.
Veamos: si ingresamos 6 el resto de dividirlo por 3 es 0, si ingresamos 12 el resto de dividirlo por 3
es 0. Generalizando: cuando el resto de dividir por 3 al valor que ingresamos por teclado es cero,
se trata de un múltiplo de dicho valor.
Ahora bien ¿por qué no hemos dispuesto una estructura if anidada? Porque hay valores que son
múltiplos de 3 y de 5 a la vez. Por lo tanto con if anidados no podríamos analizar los dos casos.
Es importante darse cuenta cuando conviene emplear if anidados y cuando no debe emplearse.
Programa:
import java.util.Scanner;
Problema 5:
Escribir un programa que lea n números enteros y calcule la cantidad de valores mayores o iguales
a 1000.
Este tipo de problemas también se puede resolver empleando la estructura repetitiva for. Lo
primero que se hace es cargar una variable que indique la cantidad de valores a ingresar. Dicha
variable se carga antes de entrar a la estructura repetitiva for.
La estructura for permite que el valor inicial o final dependa de una variable cargada previamente
por teclado.
Diagrama de flujo:
Estructura repetitiva for
Programa:
import java.util.Scanner;
EJERCICIOS:
• Programa que lea n pares de datos, cada par de datos corresponde a la medida de la base
y la altura de un triángulo. El programa deberá informar:
a) De cada triángulo la medida de su base, su altura y su superficie.
b) La cantidad de triángulos cuya superficie es mayor a 12.
• Desarrollar un programa que solicite la carga de 10 números e imprima la suma de los
últimos 5 valores ingresados.
• Desarrollar un programa que muestre la tabla de multiplicar del 5 (del 5 al 50)
• Programa que permita ingresar un valor del 1 al 10 y nos muestre la tabla de multiplicar
del mismo (los primeros 12 términos)
Ejemplo: Si ingreso 3 deberá aparecer en pantalla los valores 3, 6, 9, hasta el 36.
• Escribir un programa que pida ingresar coordenadas (x,y) que representan puntos en el
plano.
Informar cuántos puntos se han ingresado en el primer, segundo, tercer y cuarto cuadrante. Al
comenzar el programa se pide que se ingrese la cantidad de puntos a procesar.