You are on page 1of 5
< UNIVERSIDAD ANDINA DEL CUSCO FACULTAD DE INGENIERIA INGENIERIA DE SISTEMAS LENGUAJES DE PROGRAMACION (CIVIL) - GUIA N° 04 GuiA 04 TEMA Estructura repetitivas / Algoritmos repetitivos DOCENTES Ing. Luis enrique Del Carpio Cuentas TEM. : ESTRUCTURA REPETITIVAS / Algoritmos repetitivos 1, OBJETIVOS DE LA PRACTICA. Al finalizar la practica el estudiante estard en la capacidad de escribir compilar y ejecutar programas con estructuras repetitivas 2. BASE TEORICA COMPLEMENTARIA. Los ordenadores se disefiaron inicialmente para realizar tareas sencillas y repetitivas. El ser humano es de lo mas torpe acometiendo tareas repetitivas: pronto le falla Ia concentracién y comienza a tener descuidos. Los ordenadores programables, en cambio, pueden realizar 1a misma tarea muchas veces por segundo durante afios y nunca se abutren (o, al menos, hasta hoy no se ha tenido constancia de ello) La estructura repetitiva, por tanto, reside en la naturaleza misma de los ordenadores y consiste, simplemente, en repetir varias veces un conjunto de instruceiones. Las estructuras repetitivas también se Haman bucles, lazos 0 iteraciones, Nosotros preferiremos la denominacién bucle(LOOP). Los bucles tienen que repetir un conjunto de instrucciones un nimero finito de veces. Si no, nos encontraremos con un bucle infinito y el algoritmo no funcionaré, En rigor, ni siquiera ser un algoritmo, ya que no cumplira la condicién de finitud Por tanto, los bucles se componen, bisicamente. de dos elementos: * Un cuerpo del bucle 0 conjunto de instrucciones que se ejecutan repetidamente. + Una condicién de salida para dejar de repetir las instrucciones y continuar con el resto del algoritmo. 3. TIPOS DE BUCLES Dependiendo de dénde se coloque la condicién de salida (al principio o al final del conjunto de instrucciones repetidas), y de la forma de realizarla, existen tres tipos de bucles. aunque hay que resaltar que. con el primer tipo. se puede programar cualquier estructura iterativa. Pero con los otfos dos, a veces el programa resulta mis claro y legible. Los tres tipos de bucle se denominan: * Bucle™ tras™: la condicién de salida esta al principio del bucle eal << UNIVERSIDAD ANDINA DEL CUSCO . FACULTAD DE INGENIERIA INGENIERIA DE SISTEMAS + Bucle “repetir™ la condicién de salida esté al final del bucle + Bucle “para: la condicién de salida esta al principio y se realiza con un contador automitico A. Estructura repetitiva del bucle “mientras” El bucle “mientras” es una estructura que se repite mientras una condicién sea verdadera. La condicién, en forma de expresién logica, se escribe en la cabecera del bucle, y a continuacién aparecen las acciones que se repiten (cuerpo del bucle) Sintaxis-While While (condicién) { } Acciones (cuerpo del bucle) Concepto de contadores Este es un elemento importante a la hora de hacer algoritmos repetitivos, la misién de un contador es contar las veces que algo se repite 0 las veces que se cumple cierta condicion. Los contadores tienen de forma obligatoria dos partes, estas son’ + La inicializacién. Significa en cuanto comienza el contador, normalmente los contadores los inicializamos en cero (contador = 0) + La actualizacién. Aqui definimos el incremento del contador. es contador se incrementa de uno en uno (contador = contador + 1). /Mnicializacion X=0: J Sctualizacion X=X+1, X=X+ X=X+h, X=X+1 X=X+1 Al final X=5; Ejemplo02: Los menores de edad Algoritmo que lee 100 edades y cuenta la cantidad de menores que hay ees UNIVERSIDAD ANDINA DEL CUSCO FACULTAD DE INGENIERIA INGENIERIA DE SISTEMAS. Aigoritmo Menores Inicio Inicializacin det Entero edad, j,cn___ ‘contador cn en cero aso (Fuera del bucle) Paraj = 1 hasta 100 Leer(edad) Si edad < 18 Entonces ace Increment del contador en uno ie {Dentro de buce) FinPara Escribir(en) Concepto de acumutadores Los acumuladores permiten sumar cantidades diferentes cada vez que se actualizan, también tienen dos partes, estas son: + La Inicializacién. Es el valor inicial que tiene el acumulador, normalmente se pone cero. + La actualizacién, Es el momento en el cual el acumulador hace una suma para cambiar su contenido, es decir, para acumular, la acumulacién puede ser cualquier cantidad. Observemos las siguientes érdenes para entender este proceso: 0 at+7 atl at3 at4 Al final el valor de a es 15 ya que todos los valores se han ido sumando una y otra vez Ejemplo03: La tienda Una tienda hace 33 ventas y desea sumar estas cantidades. Algoritmo LaTienda Inicio Inicializacion del Enteroi acumulador “sum” Real sum, dato (fuera del bucle) sum = 0 Para i=1 hasta 33 Leer(dato) sum = sum + dato ‘Actualizacion del FinPara acumulador “sunt” Escribir(sum) (dentro del bucle) eos UNIVERSIDAD ANDINA DEL CUSCO FACULTAD DE INGENIERIA INGENIERIA DE SISTEMAS. Ejemplo 01: Hacer un programa que encuentre el primer entero que haga que la suma de la serie 1. 2, 3,4, 5,6, 7, 8.9,..: supere 30. static void Main(string!] args) //oeclarar variables Ane is int suma=0; /verificar si 1a suma de la serie es mayor a 30 while (suma <= 30) t icaitn ) /MMostrar e1 numero que hace que 1a suma de la serie sea mayor a 30 Console.Write ("numero:"}; console.Weite (i); console. ReadKey ()? , Ejemplo 02: Hacer un programa que calcule la suma de ciertos niimeros ingresados por el teclado. El célculo de la suma se hard en cualquier momento. static void Main(string!] args} int num = 17 int suma = 0; Console.WriteLine ("CUANDO PULSE 0, TERMINA EL PROGRAMA. An")? white (num != 0) t Console.Writeline(" ingrese un nimero.. "); nun = int. Parse (Console.ReadLine()}+ ) Console.Writenine ("La suma es: Console. WriteLine (suma) ; console: ReadKey ()7 i Ejemplo 03: Escriba un programa que cuente el numero de cifras de un entero de entrada hhasta 32000. Asi para una entrada de 583 la salida debe ser "3 ciffas", asegirese que el programa funcione para | y 10, Para cero la salida debe ser "UNA CIFRA" El programa no debe cerrarse hasta ingresar el nimeto 0, static void Main(string!] args} console.Writenine ("PULSE 0 PARA TERMINAR Y OTRO NUMERO PARA CONTINUAR") 7 while (x < 32000 && x != 0) UNIVERSIDAD ANDINA DEL CUSCO FACULTAD DE INGENIERIA INGENIERIA DE SISTEMAS. 1 console.writenine("ingrese un nimero "); x= int-Parse(Console-Readzine(}}i 7 if (x >= 0 && x <= 9) Console.Writenine ("TENE 1 CIERA", x); else if (x >= 10 g& x <= 99) Console.writeLine ("ZENE 2 CIFRAS", x)? else if (x >= 100 64 x <= 999) Console.WeiteLine("TIENE 3 CIFRAS", x); else if (x >= 1000 a6 x <= 9999) Console.WriteLine("TIENE 4 CIFRAS", x); else if (x >= 10000 6% x <= 32000) Console.WeiteLine(" TIENE $ CIFRAS", x); ) Ejercicios Propuestos: i) Escriba un programa en el que se pida al usuario (estudiante de Ing, Civil) ingresar 10 mumeros enteros impares para sumarlos. Elabore el programa de manera que no se arruine si el usuario escribe algunos enteros pares. El programa debe salir del ciclo e imprimir la suma s6lo cuando se hayan ingresado los 10 enteros impares. i) Hacer un programa que imprima todos los niimeros primos entre 2 nimeros ingresados por el teclado. Eee

You might also like