Ejercicios de Estructuras Repetitivas Ejemplos resueltos de for / while ...

1. Elaborar un programa que muestre los numeros pares comprendidos entre 10 y 20 inclusive #include<stdio.h> main() { int i; printf("Los numeros pares entre 10 y 20 inclusive son: \n"); for(i=10;i<=20;i=i+2) printf("%d \n",i); return 0; } 2. Elaborar un programa que muestre los numeros pares comprendidos entre 20 y 10 inclusive (orden descendente). # include<stdio.h> main() { int i; printf("Los numeros pares entre 20 y 10 inclusive son: \n"); for(i=20;i>=10;i=i-2) printf("%d \n",i); return 0; } 3. Mostrar la tabla de caracteres ASCII a partir del Código 32 (el espacio en blanco) hasta el Código 164 (o sea la ñ) sin incluir las minúsculas (rango del 97 al 122) # include<stdio.h> main() { int i; printf("Los Caracteres ASCII son: \n"); for(i=32;i<=164;i++) { if(i<97 || i>122) printf("%c %d \t",i,i); } return 0; } 4. Elaborar un programa que calcule la suma de los números multiplos de 3 a partir del número 9 y finaliza en el número 45, no deben incluirse en la suma los números comprendidos entre 21 y 27. # include<stdio.h> main() { int i,s; s=0; printf("Suma de los multiplos de 3: \n"); for(i=9;i<=45;i+=3) { if(i<21 || i>27)

s = s + i; } printf("la suma es %d \n",s); return 0; } 5. Elaborar un programa que calcule la suma de los números multiplos de 3 y 7 a partir del número 9 y finaliza en el numero 45, no deben incluirse en la suma los números comprendidos entre 21 y 27. # include<stdio.h> main() { int i,m3,m7,s; m3=0; m7=0; printf("Suma de los múltiplos de 3 y 7: \n"); for(i=9;i<=45;i++) { if(i<21 || i>27) { if (i%3 == 0) { m3 +=i;} if (i%7 == 0) { m7 +=i;} } } s = m3 + m7; printf("la suma es %d \n",s); return 0; } 6. Generalizar el caso: Elaborar un programa que calcule la suma de los números multiplos de M y N a partir del número X y finaliza en el numero Y, no deben incluirse en la suma los números comprendidos entre A y B. use scanf para ingresar los datos a las variables M,N,X,Y,A y B # include<stdio.h> main() { int m,n,x,y,a,b; int i,mm,mn,s; mm=0; mn=0; printf("Ingrese los valores que representan a los multiplos \n"); scanf("%d %d",m,n); printf("Ingrese el rango desde-hasta \n"); scanf("%d %d",x,y); printf("Ingrese el rango de exclusion desde-hasta \n"); scanf("%d %d",a,b); printf("Suma de los múltiplos de %d y %d: \n",m,n); for(i=x;i<=y;i++) { if(i<a || i>b) { if (i%3 == 0) { mm +=i;} if (i%7 == 0) { mn +=i;} } }

s = mm + mn; printf("la suma es %d \n",s); return 0; }

OTROS PROGRAMAS COMPLEMENTARIOS QUE PUEDEN AYUDARNOS EN LAS ESTRUCTURAS REPETITIVAS
PROGRAMA QUE DEMUESTRA EL USO DE getchar() esta funcion permite ingresar varios caracteres y da por terminado el ingreso cuando se presiona la tecla ENTER o sea \n - getchar( ) esta definida en "stdio.h" Tengase en cuenta que solo se memorizará la primera tecla presionada #include <stdio.h> main() { int i; char ch; printf("Ingresar un texto : \n"); ch = getchar(); printf("\n la primera tecla pulsada fue %c \n",ch); return 0; } EJEMPLO DE COMO SE DEBE INGRESAR UN CARACTER USANDO getche() #include <stdio.h> #include <conio.h> /* cuando quieras ingresar un caracter solamente puedes la funcion usar getche()*/ main() { char ch; printf("Ingrese un caracter : "); ch = getche(); printf("\nIngresaste : %c \n", ch); return 0; } // - observa que la tecla pulsada es la que se mostrará // - getche() esta declarada en conio.h por eso debemos incluir // la linea #include <conio.h> // - tambien debemos incluir stdio.h porque alli // se encuentra declarada printf PROGRAMA PARA INGRESAR VARIOS CARACTERES USANDO getche() el programa continuara ingresando texto hasta que se presione k #include <stdio.h> #include <conio.h> main() { int i; char ch; i = 0;

El juego termina cuando se acierte la cifra o halla realizado un máximo de 12 intentos en cuyo caso se le mostrará al jugador la calificación obtenida según la siguiente tabla: Número de intentos Categoría 1-3 Suertudo 4-6 Genio 7 No está mal 8 Se puede mejorar >= 9 Que pasa amigo 5.ch). Determinar el numero mayor de 10 numeros ingresados 2. } Ejercicios Propuestos con For / While los siguientes ejercicios deberán ser resueltos por partida doble: una solución con "for". } printf("\n terminaste \n"). Idem al anterior pero contar las consonantes . otra con "while" 1. Determinar el numero menor de 12 numeros ingresados 3. En cada intento el jugador propondrá una solución y se le informará si el número a acertar es menor o mayor que el propuesto. Realizar un programa que cuente las vocales cuando se ingresa una cadena de textos con getchar() 6. if(ch == 'k') i=1. while(i == 0) { ch = getche().printf("Ingresar caracteres hasta presionar k : \n"). Calcular el factorial de un número dado (El programa solo admite datos entre 3 y 8) 4. printf("\n la ultima tecla presionada fue %c \n". Implemente el siguiente juego: el programa seleccionará un número aleatorio entre 0 y 100 y el jugador debe acertarlo. return 0.

luego imprimimos la variable. A la rama del verdadero la graficamos en la parte inferior de la condición. Diagrama de flujo: . Una línea al final del bloque de repetición la conecta con la parte superior de la estructura repetitiva. Representación gráfica de la estructura while: No debemos confundir la representación gráfica de la estructura repetitiva while (Mientras) con la estructura condicional if (Si) Funcionamiento: En primer lugar se verifica la condición. Sin conocer las estructuras repetitivas podemos resolver el problema empleando una estructura secuencial. En caso que la condición sea Falsa continúa por la rama del Falso y sale de la estructura repetitiva para continuar con la ejecución del algoritmo. Problema 1: Realizar un programa que imprima en pantalla los números del 1 al 100. Importante: Si la condición siempre retorna verdadero estamos en presencia de un ciclo repetitivo infinito. El bloque se repite MIENTRAS la condición sea Verdadera. incrementamos nuevamente la variable y así sucesivamente. si la misma resulta verdadera se ejecutan las operaciones que indicamos por la rama del Verdadero. Dicha situación es un error de programación. nunca finalizará el programa. Inicializamos una variable con el valor 1.Estructura repetitiva while.

Ahora veamos la solución empleando una estructura repetitiva while: . Emplear una estructura secuencial para resolver este problema produce un diagrama de flujo y un programa en Java muy largo.Si continuamos con el diagrama no nos alcanzarían las próximas 5 páginas para finalizarlo.

se lee MIENTRAS la variable x sea menor o igual a 100. Al ser la condición verdadera se ejecuta el bloque de instrucciones que contiene la estructura while. El bloque de instrucciones contiene una salida y una operación. disponemos la condición x >=100 ( si x es mayor o igual a 100) no provoca ningún error sintáctico .Es muy importante analizar este diagrama: La primera operación inicializa la variable x en 1. en este caso finaliza el programa. al retornar falso la verificación de la condición se sale de la estructura repetitiva y continua el algoritmo. Se imprime el contenido de x. Al ejecutarse la condición retorna VERDADERO porque el contenido de x (1) es menor o igual a 100. Lo más difícil es la definición de la condición de la estructura while y qué bloque de instrucciones se van a repetir. La operación x=x + 1 se lee como "en la variable x se guarda el contenido de x más 1". Al finalizar el bloque de instrucciones que contiene la estructura repetitiva se verifica nuevamente la condición de la estructura repetitiva y se repite el proceso explicado anteriormente. Es decir. seguidamente comienza la estructura repetitiva while y disponemos la siguiente condición ( x <= 100). si x contiene 1 luego de ejecutarse esta operación se almacenará en x un 2. por ejemplo. Observar que si. y seguidamente se incrementa la variable x en uno. Mientras la condición retorne verdadero se ejecuta el bloque de instrucciones.

para ello podemos hacer un seguimiento del flujo del diagrama y los valores que toman las variables a lo largo de la ejecución: x 1 2 3 4 . } } } Importante:Como podemos observar no hemos creado un objeto de la clase Scanner.print(x).print(" .pero estamos en presencia de un error lógico porque al evaluarse por primera vez la condición retorna falso y no se ejecuta el bloque de instrucciones que queríamos repetir 100 veces. System. Importante: Podemos observar que el bloque repetitivo puede no ejecutarse ninguna vez si la condición retorna falso la primera vez. que se encuentra creada por defecto en cualquier programa que codifiquemos en Java. . No existe una RECETA para definir una condición de una estructura repetitiva. La variable x debe estar inicializada con algún valor antes que se ejecute la operación x=x + 1 en caso de no estar inicializada aparece un error de compilación. Una vez planteado el diagrama debemos verificar si el mismo es una solución válida al problema (en este caso se debe imprimir los números del 1 al 100 en pantalla). 100 101 Cuando x vale 101 la condición de la estructura repetitiva retorna falso. Para las salidas utilizamos la función print.out. . en este caso finaliza el diagrama. Programa: public class EstructuraRepetitivaWhile1 { public static void main(String[] ar) { int x. x=1. sino que se logra con una práctica continua solucionando problemas. Esto debido a que en este programa no hay que ingresar datos por teclado. x = x + 1.").out. while (x<=100) { System.

Recordemos que un problema no estará 100% solucionado si no hacemos el programa en Java que muestre los resultados buscados. 2 . 2 .Imprimir los números del 1 al 500.Debemos cambiar la condición del while con x<=500. 4 . Respuestas: 1 .Imprimir los números del -50 al 0. 3 . Diagrama de flujo: .8 .Imprimir los números del 50 al 100.Debemos inicializar x con el valor 50...100).Imprimir los números del 2 al 100 pero de 2 en 2 (2. Probemos algunas modificaciones de este programa y veamos que cambios se deberían hacer para: 1 . 4 .Inicializar x con el valor -50 y fijar la condición x<=0. Problema 2: Escribir un programa que solicite la carga de un valor positivo y nos muestre desde 1 hasta el valor ingresado de uno en uno. Es de FUNDAMENTAL importancia analizar los diagramas de flujo y la posterior codificación en Java de los siguientes problemas. en varios problemas se presentan otras situaciones no vistas en el ejercicio anterior.6. 3 . Ejemplo: Si ingresamos 30 se debe mostrar en pantalla los números del 1 al 30.4.Inicializar a x con el valor 2 y dentro del bloque repetitivo incrementar a x en 2 ( x = x + 2 )..

. ya que la condición es ³Mientras x<=n ´. si ingresamos 5 el seguimiento es el siguiente: n x 5 1 (Se imprime el contenido de x) 2 " " 3 " " 4 " " 5 " " 6 (Sale del while porque 6 no es menor o igual a 5) Programa: import java. por ejemplo.util.Scanner. A la prueba del diagrama la podemos realizar dándole valores a las variables. Si el operador carga 10 el bloque repetitivo se ejecutará 10 veces. es decir ³mientras x sea menor o igual a 10´. El operador puede cargar cualquier valor.Podemos observar que se ingresa por teclado la variable n. pues x comienza en uno y se incrementa en uno cada vez que se ejecuta el bloque repetitivo.

x=1.print(x).print("Ingrese el valor final:").out. int n.print(" . x = x + 1. Un contador es un tipo especial de variable que se incrementa o decrementa con valores constantes durante la ejecución del programa. El contador x nos indica en cada momento la cantidad de valores impresos en pantalla. } } } Los nombres de las variables n y x pueden ser palabras o letras (como en este caso) La variable x recibe el nombre de CONTADOR.nextInt(). System.in).out.out. System. n=teclado.x. Problema 3: 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.public class EstructuraRepetitivaWhile2 { public static void main(String[] ar) { Scanner teclado=new Scanner(System. while (x<=n) { System."). Diagrama de flujo: .

llevamos un CONTADOR llamado x que nos sirve para contar las vueltas que debe repetir el while.En este problema. También aparece el concepto de ACUMULADOR (un acumulador es un tipo . a semejanza de los anteriores.

while (x<=10) { . El promedio se calcula al salir de la estructura repetitiva (es decir primero sumamos los 10 valores ingresados y luego los dividimos por 10) Hay que tener en cuenta que cuando en la variable valor se carga el primer valor (en este ejemplo 5) al cargarse el segundo valor (16) el valor anterior 5 se pierde. Cada ciclo que se repita la estructura repetitiva.Scanner.suma.especial de variable que se incrementa o decrementa con valores variables durante la ejecución del programa) Hemos dado el nombre de suma a nuestro acumulador.util.valor. int x. public class EstructuraRepetitivaWhile3 { public static void main(String[] ar) { Scanner teclado=new Scanner(System. la variable suma se incrementa con el contenido ingresado en la variable valor. x=1. Programa: import java. Los números que toma la variable valor dependerá de qué cifras cargue el operador durante la ejecución del programa.promedio. 5 5 1 16 21 2 7 28 3 10 38 4 2 40 5 20 60 6 5 65 7 5 70 8 10 80 9 2 82 10 8 90 11 9 Este es un seguimiento del diagrama planteado.in). La prueba del diagrama se realiza dándole valores a las variables: valor suma x promedio 0 0 (Antes de entrar a la estructura repetitiva estos son los valores). por ello la necesidad de ir almacenando en la variable suma los valores ingresados. suma=0.

print("El promedio es:"). suma=suma+valor. System.out. Diagrama de flujo: .nextInt().print(promedio).20 y 1.out. x=x+1. } promedio=suma/10.out.30 son aptas.out. sabiendo que la pieza cuya longitud esté comprendida en el rango de 1. } } Problema 4: Una planta que fabrica perfiles de hierro posee un lote de n piezas.println(suma).print("Ingrese un valor:"). System. Imprimir por pantalla la cantidad de piezas aptas que hay en el lote. System. valor=teclado.print("La suma de los 10 valores es:"). Confeccionar un programa que pida ingresar por teclado la cantidad de piezas a procesar y luego ingrese la longitud de cada perfil.out.System. System.

20 y 1.30 el largo para que sea correcta).Podemos observar que dentro de una estructura repetitiva puede haber estructuras condicionales (inclusive puede haber otras estructuras repetitivas que veremos más adelante) En este problema hay que cargar inicialmente la cantidad de piezas a ingresar ( n ). Cada vez que ingresamos un largo de pieza (largo) verificamos si es una medida correcta (debe estar entre 1. en caso de ser correcta la CONTAMOS (incrementamos la variable cantidad en 1) . seguidamente se cargan n valores de largos de piezas.

System. } System. System.out.out.print("Ingrese la medida de la pieza:"). que es el momento donde uno desarrolla individualmente un algoritmo para la resolución de problemas.n. Cuando salimos de la estructura repetitiva porque se han cargado n largos de piezas mostramos por pantalla el contador cantidad (que representa la cantidad de piezas aptas) En este problema tenemos dos CONTADORES: x (Cuenta la cantidad de piezas cargadas hasta el momento) cantidad (Cuenta los perfiles de hierro aptos) Programa: import java. . float largo. int x.print("Cuantas piezar procesará:").nextFloat().out.nextInt(). El tiempo a dedicar a esta sección EJERCICIOS PROPUESTOS debe ser mucho mayor que el empleado a la sección de EJERCICIOS RESUELTOS.cantidad.print(cantidad). x=1.Al contador cantidad lo inicializamos en cero porque inicialmente no se ha cargado ningún largo de medida. if (largo>=1.30) { cantidad = cantidad +1. n=teclado. } } Problemas propuestos Ha llegado la parte fundamental. } x=x + 1. public class EstructuraRepetitivaWhile4 { public static void main(String[] ar) { Scanner teclado=new Scanner(System.in). largo=teclado.print("La cantidad de piezas aptas son:").Scanner.20 && largo<=1.out. cantidad=0.util. while (x<=n) { System.

4. 7. "Lista 2 mayor". Realizar un programa que permita cargar dos listas de 15 valores cada una. etc.24. (No se ingresan valores por teclado) 5. etc. espero que sea lo que buscas: . 2.La experiencia dice que debemos dedicar el 80% del tiempo a la resolución individual de problemas y el otro 20% al análisis y codificación de problemas ya resueltos por otras personas.44. Realizar un programa que imprima 25 términos de la serie 11 . realizar un programa que lea los sueldos que cobra cada empleado e informe cuántos empleados cobran entre $100 y $300 y cuántos cobran más de $300. Además el programa deberá informar el importe que gasta la empresa en sueldos al personal. Mostrar los múltiplos de 8 hasta el valor 500. Desarrollar un programa que permita cargar n números enteros y luego nos informe cuántos valores fueron pares y cuántos impares. El algoritmo para calcular la división con Restas Sucesivas lo tengo así. Mostrar la altura promedio de las personas. Informar con un mensaje cual de las dos listas tiene un valor acumulado mayor (mensajes "Lista 1 mayor". 1. "Listas iguales") Tener en cuenta que puede haber dos o más estructuras repetitivas en un algoritmo. Emplear el operador ³%´ en la condición de la estructura condicional: 8. Escribir un programa que solicite ingresar 10 notas de alumnos y nos informe cuántos tienen notas mayores o iguales a 7 y cuántos menores.33 . Se ingresan un conjunto de n alturas de personas por teclado. 3. if (valor%2==0) //Si el if da verdadero luego es par.22 . Es de vital importancia para llegar a ser un buen PROGRAMADOR poder resolver problemas en forma individual. 6. Debe aparecer en pantalla 8 16 . En una empresa trabajan n empleados cuyos sueldos oscilan entre $100 y $500.

CONT sino Escribir 'No se puede realizar la operación de división entera' finsi Fin A es el dividendo.Algoritmo TP3-2 Variables Entero: A. B el divisor. Capítulo 16: . CONT Inicio Escribir 'Ingrese nº Dividendo y Divisor' Leer A. B Si A>=B Entonces CONT<-0 Mientras A>=B hacer A<-A-B CONT<-CONT+1 finmientras Escribir 'Resultado:'. si se cumple la condición para dividir sólo números enteros positivos. se va restando B a A en cada ciclo hasta que ya no sea posible y obviamente el contador (CONT) es el cociente. B.

y si todavía es cierta se ejecuta de nuevo el cuerpo. no realizar ninguna iteración en el bucle. se ejecutará al menos una vez). . La estructura While y la estructura Repeat.com Enlaces patrocinados Cuando se hace falsa. Se evalúa la expresión booleana y. se conocen como Iterativas.repetro. En la lección anterior iniciamos con las estructuras repetitivas. es decir. para diferenciarla de las dos anteriores. Vancouver. Entonces se vuelve a evaluar la expresión booleana. mientras que Repetir ejecutará el bucle al menos una vez. New York. el bucle continúa hasta que la condición se hace verdadera (la condición se comprueba después de ejecutar la acción. Las estructuras Mientras y Para/Desde suelen en ciertos casos. Existe otro caso de estructura conocida como Salto (Goto). finaliza la repetición.com/site/apren Se llama Mientras a la estructura algorítmica que se ejecuta mientras la condición evaluada resulte verdadera. Este proceso de evaluación de la expresión booleana y ejecución del cuerpo se repite mientras la expresión sea cierta. la cual no es muy recomendable de usar ya que su uso dificulta la legibilidad de un programa y tiende a confundir por el hecho de recurrir a numerosas etiquetas o números de línea. el bucle continúa mientras la condición es verdadera (la cual se comprueba antes de ejecutar la acción) y en el segundo. Miami sites.google. llamada el cuerpo del bucle. y Repetro . Enlaces patrocinados Inglés en Canada y USA Descuentos para Estudiantes Toronto. en el primero. Entonces. La diferencia entre ambas es que la condición se sitúa al principio (Mientras) o al final (Repetir) de la secuencia de instrucciones. se ejecuta la instrucción especificada. Se usan cuando no se conoce con anticipación el número de veces que se ejecutará la acción.Databras Regime Especial Aduaneiro Repetro Databras www.Estructuras iterativas. Estructura mientras. La estructura Desde/Para suele utilizarse cuando se conoce con anterioridad el número de veces que se ejecutará la acción y se le conoce como Estructura Repetitiva en lugar de iterativa. si es cierta.

Que tendremos de diferente? . cuando se cumple la condición. resolvimos este ejercicio en la lección anterior pero utilizando la estructura Desde. Esta variable a la vez. Representación pseudocodificada: Español Inglés Mientras <condición> While <condición> do Acciones Acciones Fin_mientras end_while EJEMPLO: Calcular la suma de los cuadrados de los primeros 100 números enteros y escribir el resultado. Como recordarás. Solución.Observa en el flujograma. por lo general en uno. También es importante notar que esta variable se inicializa antes de entrar al cuerpo del ciclo y dentro del cuerpo se incrementa en una cantidad constante. que se necesita una variable contadora (un índice). se sale del ciclo. para llevar la cuenta de las veces que entramos al cuerpo del ciclo. nos sirve para compararla con el valor dado en la condición. Hoy lo haremos con la estructura Mientras.

En un ciclo controlado por centinela el usuario puede suspender la introducción de datos cuando lo desee. . En un ciclo While controlado por tarea. el ciclo puede ser controlado por centinelas. la condición de While especifica que el cuerpo del ciclo debe continuar ejecutándose mientras la tarea no haya sido completada. introduciendo una señal adecuada llamada centinela. Un ciclo Repetir controlado por centinela es cuando el usuario digita una letra para salir como por ejemplo S o N para indicar si desea continuar o no. El bucle debe repetirse hasta que la respuesta del usuario sea "n" o "N". Cuando no se conoce a priori el número de iteraciones que se van a realizar. CENTINELAS.CENTINELAS Y BANDERAS.

son variables que pueden tomar solamente dos valores durante la ejecución del programa. ya que nunca será una calificación válida y cuando aparezca este valor se terminará de ejecutar el bucle. -1 es el centinela de fin de datos. si se tienen las calificaciones de un test (comprendida entre 0 y 100). no con estructuras Desde/Para.. switch.. gasto3. flags o conmutadores.. pero no sabemos exactamente cuántos fueron. Si la lista de datos son números positivos. gasto2. Si definimos gasto1. se le denomina centinela y su función primordial es detener el proceso de entrada de datos en una corrida de programa.Cuando una decisión toma los valores de -1 o algún posible valor que no esté dentro del rango válido en un momento determinado. los . un valor centinela en esta lista puede ser -999. -1 donde gastoi: real es el gasto número i y sumgas: real es el acumulador de gastos efectuados. Por ejemplo. 0 Leer (gasto) Mientras gasto <> -1 hacer Sumgas . sumgas + gasto Leer (gasto) Fin_mientras Escribir (sumgas) Fin BANDERAS. un valor centinela puede ser un número negativo. Los centinelas solamente pueden usarse con las estructuras Mientras y Repetir. Conocidas también como interruptores. Algoritmo: Inicio Sumgas . .. ¿PODRÍAS DECIR POR QUÉ? Ejemplo: Suponga que debemos obtener la suma de los gastos que hicimos en nuestro último viaje.

. "F" Sino Serie .cuales pueden ser 0 ó 1. serie ..1/N. Se les suele llamar interruptores porque cuando toman los valores 0 ó 1 están simulando un interruptor abierto/cerrado o encendido/apagado. "T" Fin_si I¬I+1 Fin_mientras Escribir (serie) . serie + (1/I) Band .(1/I) Band . Ejemplo 1: Leer un número entero N y calcular el resultado de la siguiente serie: 1 . o bien los valores booleanos True o False. 0 I.1 Leer (N) Band . +/. "T" Mientras I <= N hacer Si band = "T" entonces Serie . Algoritmo: Inicio Serie .1/2+ 1/3 1/4 +..

Algoritmo: Inicio I ¬2 Sumser ¬0 Band ¬T" Mientras (I <= 1800) hacer Sumser ¬sumser + I Escribir (I) Si band = "T" entonces I ¬I + 3 Band ¬F" Sino I ¬I + 2 Band ¬T" Fin_si Fin_mientras Escribir (sumser) . 5. 17. Obtener suma de los términos de la serie: 2. 7. 12. Sumser de tipo entero. . es el acumulador de términos de la serie Band de tipo carácter. 10.. es variable auxiliar que indica si al siguiente término de la serie hay que sumarle 3 ó 2.. 1800.. 15.Fin Ejemplo 2.

Enlaces patrocinados Entrenamiento Formacion y Certificacion de instructores.Fin Capítulo 17: Estructuras iterativas.com.mdc1.es/OnlineEnlaces patrocinados Representación pseudocodificada : Español Inglés Repetir Repeat Acciones Acciones . Informate Aqui! www.LSBF.mx Se llama Repetir a la estructura algorítmica que se ejecuta un número definido de veces hasta que la condición se torna verdadera: y Maestrias a Distancia Maestrias y Postgrados Reconocidos A Nivel Mundial. Estructura repetir. cursos y talleres www.

Nuevamente resolveremos el ejercicio de las dos lecciones anteriores. En el bucle Mientras. Esto quiere decir. También podrás observar que la condición está al revés.¿Podrás decir cuál será ahora la diferencia? Las reglas para construcción de esta estructura usando Repetir. ahora utilizando la estructura Repetir. Solución. nos dicen que debemos declarar una variable contador que debe inicializarse antes del ciclo e incrementarse dentro del ciclo. la condición se evaluaba mientras era cierta. la condición ahora estará colocada al final del bucle para que primero ejecutamos la instrucción y luego preguntamos si la condición se cumple. que en esta estructura el bucle se realizará por lo menos una vez. . A diferencia de la estructura Mientras. porque el bucle se repite hasta que la condición se cumpla.Hasta que <condición> until <condición> EJEMPLO: Calcular la suma de los cuadrados de los primeros 100 números enteros y escribir el resultado.

Enlaces patrocinados Repetro .Databras Regime Especial Aduaneiro Repetro Databras www.Capítulo 15: Estructuras básicas.repetro.com Durante las siguientes lecciones estaremos estudiando tres estructuras básicas que son: Estructura Desde/Para Estructura Mientras .

cuyos conceptos se describen a continuación: CONTADOR: Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante cada vez que se produce un determinado suceso o acción. debemos hacer uso de contadores y algunas veces de acumuladores.Estructura Repetir En esta lección estudiaremos la forma general de la estructura Desde/Para. deben realizar una operación de inicialización y posteriormente las sucesivas de incremento o decremento del mismo.3 GB de Capacidad y Accesible Desde Móviles Mail.Google. y Correo Gmail Gratis Abre tu Cuenta en Google. Para utilizar esta estructura en algoritmos. . su uso y ejemplos. 7. Estructura Desde/Para: Se usa frecuentemente cuando se conoce de antemano el número de veces que se ejecutarán las acciones de un bucle. Esta es una de sus características. La inicialización consiste en asignarle al contador un valor. Los contadores se utilizan con la finalidad de contar sucesos o acciones internas de un bucle. Se situará antes y fuera del bucle.com Enlaces patrocinados Representación pseudocodificada: Español Inglés Desde var = valor inicial hasta valor final hacer For var=valor inicial to valor final do Acciones acciones Fin_desde end_for A la estructura Desde/Para se le conoce como Repetitiva.

. Ejemplo 2. Mientras y luego Repetir.Representación: <nombre del contador> ¬ nombre del contador> + <valor constante> Si en vez de incremento es decremento se coloca un menos en lugar del más. el acumulador va aumentando en una cantidad variable. La diferencia entre un contador y un acumulador es que mientras el primero va aumentando de uno en uno. Representación: <Nombre del acumulador> ¬ <nombre del acumulador> + <valor variable> Ejemplo: Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado. Se desea resolver el problema usando estructura Desde. Ejemplo: i = i + 1 ACUMULADOR O TOTALIZADOR : Es una variable que suma sobre sí misma un conjunto de valores para de esta manera tener la suma de todos ellos en una sola variable.

ya que para sumar valores debemos partir de cero. es que a suma le sumamos N más ella misma. En este ejemplo hemos utilizado un bucle repetir. También debe inicializarse con cero. Dentro del bucle podrás notar que N se incrementa en 1. es decir. También observa la variable suma. el cual se inicializa en este caso. suma se incrementa en un número N. el cual estudiaremos en otra lección. es cómo funcionan el contador y el acumulador. usando la estructura Desde/Para. que al inicio no tenemos nada. la cual es un acumulador que lleva la suma de los números generados. . Nota que N es el contador. Dentro del bucle. con cero. antes de entrar al bucle. Lo que queremos hacer notar por el momento. EJERCICIO: Trata de elaborar un flujograma para encontrar el cuadrado de los primeros 25 números naturales. pero la diferencia con el contador N.Elaborar un flujograma para encontrar la suma de los K primeros números enteros.

La instrucción del cuerpo del bucle de una instrucción Desde puede utilizar el valor de la variable de control. Esta estructura se puede usar únicamente en aquellos casos en que conocemos el número de veces que se va a realizar el ciclo. También aprendimos a elaborar flujogramas o algoritmos usando la estructura Desde. pero no debe modificar este valor. . ¿Qué necesitas agregar ahora? RESUMEN En esta lección aprendimos un poco del uso de contadores y acumuladores. los valores de las variables que especifican los valores inicial y final pueden cambiar. Hay un número importante de reglas que deben seguirse cuando se utilizan instrucciones Desde: Los valores inicial y final de la variable de control se determinan antes de que empiece la repetición y no pueden cambiarse durante la ejecución de la instrucción Desde.¿Qué necesitas para resolver el problema contadores o acumuladores? Modifica el flujograma del ejercicio anterior para que también te muestre la suma de dichos cuadrados. Esta estructura hace el incremento automáticamente y se inicializa en la instrucción desde. Dentro del cuerpo del bucle Desde. pero esto no va a afectar al número de repeticiones.