Instrucción while

Download Instrucción while

Post on 07-Mar-2015

675 views

Category:

Documents

2 download

Embed Size (px)

TRANSCRIPT

<p>Instruccin whileLa instruccin while permite ejecutar un bloque de instrucciones mientras se de una cierta instruccin. Su sintaxis de uso es: while () Su significado es el siguiente: Se evala la indicada, que ha de producir un valor lgico. Si es cierta (valor lgico true) se ejecutan las y se repite el proceso de evaluacin de y ejecucin de hasta que deje de serlo. Cuando sea falsa (false) se pasar a ejecutar la instruccin siguiente al while. En realidad puede ser una nica instruccin o un bloque de instrucciones. Un ejemplo cmo utilizar esta instruccin es el siguiente: using System; class HolaMundoWhile { public static void Main(String[] args) { int actual = 0; if (args.Length &gt; 0) while (actual &lt; args.Length) { Console.WriteLine(Hola {0}!, args[actual]); actual = actual + 1; } else Console.WriteLine(Hola mundo!); } } En este caso, si se indica ms de un argumento al llamar al programa se mostrar por pantalla un mensaje de saludo para cada uno de ellos. Para ello se usa una variable actual que almacena cul es el nmero de argumento a mostrar en cada ejecucin del while. Para mantenerla siempre actualizada lo que se hace es aumentar en una unidad su valor tras cada ejecucin de las del bucle. Por otro lado, dentro de las de un while pueden usarse dos instrucciones especiales: break;:</p> <p>Indica que se ha de abortar la ejecucin del bucle y continuarse ejecutando por la instruccin siguiente al while.continue;:</p> <p>Indica que se ha de abortar la ejecucin de las y reevaluarse la del bucle, volvindose a ejecutar la si es cierta o pasndose a ejecutar la instruccin siguiente al while si es falsa.</p> <p>while (Referencia de C#)Visual Studio 2005 Otras versiones</p> <p>Visual Studio 2010 Visual Studio 2008</p> <p>La instruccin while ejecuta una instruccin o un bloque de instrucciones repetidamente hasta que una expresin especificada se evala como false.Ejemplo</p> <p>Copiar// statements_while.cs using System; class WhileTest { static void Main()</p> <p>{ int n = 1; while (n &lt; 6) { Console.WriteLine("Current value of n is {0}", n); n++; } } }</p> <p>ResultadosCurrent Current Current Current Current value value value value value of of of of of n n n n n is is is is is 1 2 3 4 5</p> <p>Copiar</p> <p>// statements_while_2.cs using System; class WhileTest { static void Main() { int n = 1; while (n++ &lt; 6) { Console.WriteLine("Current value of n is {0}", n); } } }</p> <p>ResultadosCurrent Current Current Current Current value value value value value of of of of of n n n n n is is is is is 2 3 4 5 6</p> <p>Como la comprobacin de la expresin while tiene lugar antes de la ejecucin del bucle, las instrucciones internas de un bucle while pueden no llegar a ejecutarse. Esto es diferente del bucle do que se ejecuta una o varias veces. Un bucle while se puede terminar cuando una instruccin break, goto, return o throw transfiere el control fuera del bucle. Para pasar el control a la siguiente iteracin sin salir del bucle, use la instruccin continue. Observe la diferencia en los resultados de los tres ejemplos anteriores con relacin a dnde se incrementa int n. En el ejemplo siguiente no se genera ningn resultado.Copiar// statements_while_3.cs // no output is generated using System; class WhileTest { static void Main() { int n = 5; while (++n &lt; 6) {</p> <p>Console.WriteLine("Current value of n is {0}", n); } } }</p> <p>Especificacin del lenguaje C#</p> <p>Para obtener ms informacin, vea las secciones siguientes de Especificacin del lenguaje C#. 5.3.3.7 Instrucciones while 8.8.1 La instruccin while</p> <p>Vea tambin</p> <p>Referencia Palabras clave de C# The while Statement Instrucciones de iteracin (Referencia de C#) Conceptos Gua de programacin de C# Otros recursos Referencia de C#</p> <p>gentoo linux, java, software libre y otras hierbas $HOME casidiablo.tv Autor Contribuir Java C# y .NET</p> <p>Sgueme...</p> <p>casidiablo.net en Facebook</p> <p>Contacto </p> <p>Lo que leo Baratijas Blog Be Linux My Friend Bloguear por bloguear Casidiablo Media El Blog de Guapacho El blog de Marvin y familia El camino geek GWT en espaol Linux Hispano LuAuF Nierox Pllate un Linux Programacin PHP, Java y C++</p> <p>Programando Ideas Rincn Informtico rm -rf Ubuntu Tips YoutubePrincipio del formulario</p> <p>Buscar...</p> <p>Final del formulario</p> <p>Publicidad</p> <p>dic, 10 2007 - 3:54 pm</p> <p>[cdigo] C#, programas bsicos (2)0tweetsretweet</p> <p>(anterior) En esta entrada pondr el cdigo fuente de algunos programas muy bsicos desarrollados en C#. Los programas corren tanto en plataformas Microsoft usando Visual Studio, como en cualquier otra plataforma usando Mono. Tal vez quieras visitar leer estas entradas: Cmo crear aplicaciones en C# usando Visual Studio o C#, crear una aplicacin usando Mono. Tal como pueden apreciar, los en ejemplos se muestra cmo compilar y ejecutar con Mono, pero si lo que quieres es hacerlo con Visual Studio, no te preocupes, aqu te explico como se hace.</p> <p>Calcular promedios con contador de repeticion controlado (usando while)? 0 using System;</p> <p>1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4</p> <p>class Promedios { static void Main(string[] args) { int total = cantidad, contador=1, dato, promedio; 0, //resultado total de la suma de los datos //cantidad de datos a procesar //para almacenar el dato actual dentro del ciclo //promedio de los datos</p> <p>//Preguntar por el nmero de datos a procesar Console.WriteLine("Qu cantidad de datos vas a procesar?"); cantidad = Int32.Parse(Console.ReadLine()); //Iterar 'cantidad' de veces while(contador mcs Promedios.cs casidiablo@punko:~/c#&gt; mono Promedios.exe Qu cantidad de datos vas a procesar? 6 Digite el dato nmero 1: 20 Digite el dato nmero 2: 10 Digite el dato nmero 3: 60 Digite el dato nmero 4: 80 Digite el dato nmero 5: 50 Digite el dato nmero 6: 62 El promedio de los datos ingresados es: 47 Descargar cdigo fuente</p> <p>Calcular promedios con contador de repeticion controlado por centinela (usando while)? 0 using System;</p> <p>1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4</p> <p>class Promedios2 { static void Main(string[] args) { int total = 0, //resultado total de la suma de los datos contador=1, dato, //para almacenar el dato actual dentro del ciclo promedio; //promedio de los datos //Capturar dato Console.WriteLine("Digite el dato nmero "+contador+": (-1 para detener el ciclo)"); dato = Int32.Parse(Console.ReadLine()); //Iterar 'cantidad' de veces while( dato != -1 ) { //Acumular los datos total = total + dato; //Aumentar el contador contador = contador + 1; //Capturar dato Console.WriteLine("Digite el dato nmero "+contador+": (-1 para detener el ciclo)"); dato = Int32.Parse(Console.ReadLine()); } //Calcular el promedio promedio = total / contador; //Mostrar el resultado Console.WriteLine("El promedio de los datos ingresados es: "+promedio); } //fin del Main }//fin de la clase Promedios2</p> <p>2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4 3 5</p> <p>casidiablo@punko:~/c#&gt; mcs Promedios2.cs casidiablo@punko:~/c#&gt; mono Promedios2.exe Digite el dato nmero 1: (-1 para detener el ciclo) 32 Digite el dato nmero 2: (-1 para detener el ciclo) 23 Digite el dato nmero 3: (-1 para detener el ciclo) 54 Digite el dato nmero 4: (-1 para detener el ciclo) 32 Digite el dato nmero 5: (-1 para detener el ciclo) 25 Digite el dato nmero 6: (-1 para detener el ciclo) 36 Digite el dato nmero 7: (-1 para detener el ciclo) -1 El promedio de los datos ingresados es: 28 Descargar cdigo fuente</p> <p>Anlisis de Resultados de Examenes? 0 using System; 1 0 class Analisis 2</p> <p>0{ 3 static void Main( string[] args ) 0 4 { 0 int bien = 0, // numero de 5 fallas = 0, // numero de fallas estudiantes = 1, // contador de estudiantes 0 resultado; // resultado de los examenes 6 // procesar 10 estudiantes; loop controlado por contador 0 while ( estudiantes mcs Analisis.cs casidiablo@punko:~/c#&gt; mono Analisis.exe Digite los resultados (1=pas, 2=fall): 1 Digite los resultados (1=pas, 2=fall): 2 Digite los resultados (1=pas, 2=fall): 1 Digite los resultados (1=pas, 2=fall): 2 Digite los resultados (1=pas, 2=fall): 1 Digite los resultados (1=pas, 2=fall): 2 Digite los resultados (1=pas, 2=fall): 1 Digite los resultados (1=pas, 2=fall): 2 Digite los resultados (1=pas, 2=fall): 2 Digite los resultados (1=pas, 2=fall): 1 Pasaron: 5 Fallaron: 5 Descargar cdigo fuente</p> <p>Preincremento y postincremento? 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1using System; class Incremento { static void Main( string[] args ) { int c; c = 5; Console.WriteLine( c ); // Console.WriteLine( c++ ); // postincremento Console.WriteLine( c ); // Console.WriteLine(); // c = 5; Console.WriteLine( c ); // Console.WriteLine( ++c ); // imprimir 6 Console.WriteLine( c ); // } // fin del mtodo method Main } // fin de la clase Incremento</p> <p>imprimir 5 imprimir 5 entonces imprimir 6 saltar una lnea imprimir 5 preincremento, entonces imprimir 6</p> <p>4 1 5 1 6 1 7</p> <p>casidiablo@punko:~/c#&gt; mcs Incremento.cs casidiablo@punko:~/c#&gt; mono Incremento.exe 5 5 6 5 6 6 Descargar cdigo fuenteLos ejercicios utilizados en este post estn basados en ejemplos del libro C# How to Program de Deitel. Se pone a disposicin la descargar del programa original, desarrollado para trabajar sobre Visual Studio de Microsoft en plataformas Windows, y se encuentra en ingls. La versin simplificada est basada en la original, pero sin cdigo basura insertado por Visual Studio, se encuentra en espaol y ha sido probada sobre Gnu/Linux usando Mono.</p> <p>41 Comentarios | deja el tuyo</p> <p>do (Referencia de C#)Visual Studio 2005 Otras versiones</p> <p>Visual Studio 2010 Visual Studio 2008</p> <p>La instruccin do ejecuta una instruccin o un bloque de instrucciones entre {} repetidamente hasta que una expresin especificada se evale como false. En el ejemplo siguiente las instrucciones de bucle do-while se ejecutan con la condicin de que la variable y sea menor que 5.Ejemplo</p> <p>Copiar// statements_do.cs using System; public class TestDoWhile { public static void Main () { int x = 0; do { Console.WriteLine(x); x++; } while (x &lt; 5); } }</p> <p>Resultados</p> <p>Copiar0 1 2 3 4</p> <p>Comentarios</p> <p>A diferencia de la instruccin while, un bucle do-while se ejecuta una vez antes de que se evale la expresin condicional. En cualquier punto dentro del bloque do-while, puede salir del bucle utilizando la instruccin break. Puede pasar directamente a la instruccin de evaluacin de expresin while utilizando la instruccin continue; si la expresin se evala como true, la ejecucin contina en la primera instruccin del bucle. Si la expresin se evala como false, la ejecucin contina en la primera instruccin detrs del bucle do-while. Tambin se puede salir de un bucle do-while mediante las instrucciones goto, return o throw.Especificacin del lenguaje C#</p> <p>Para obtener ms informacin, vea las secciones siguientes de Especificacin del lenguaje C#. 5.3.3.8 Instrucciones Do</p> <p>8.8.2 La instruccin do</p> <p>Vea tambin</p> <p>Referencia Palabras clave de C# The do-while Statement (C++) Instrucciones de iteracin (Referencia de C#) Conceptos Gua de programacin de C# Otros recursos Referencia de C#</p> <p>Instruccin do...whileLa instruccin do...while es una variante del while que se usa as: do while(); La nica diferencia del significado de do...while respecto al de while es que en vez de evaluar primero la condicin y ejecutar slo si es cierta, do...while primero ejecuta las y luego mira la para ver si se ha de repetir la ejecucin de las mismas. Por lo dems ambas instrucciones son iguales, e incluso tambin puede incluirse break; y continue; entre las del do...while. do ... while est especialmente destinado para los casos en los que haya que ejecutar las al menos una vez an cuando la condicin sea falsa desde el principio., como ocurre en el siguiente ejemplo: using System; class HolaMundoDoWhile { public static void Main() { String ledo; do {</p> <p>Console.WriteLine(Clave: ); ledo = Console.ReadLine(); } while (ledo != Jos); Console.WriteLine(Hola Jos); } } Este programa pregunta al usuario una clave y mientras no introduzca la correcta (Jos) no continuar ejecutndose. Una vez que introducida correctamente dar un mensaje de bienvenida al usuario.</p> <p>Foros de Electrnica &gt; Diseo digital &gt; Interfaces y Programacin</p> <p>Principio del formulario</p> <p>Usuario Contrase a</p> <p>No mb r e d e</p> <p>No cerrar sesinIniciar Sesin</p> <p>a103932df79d15</p> <p>guest</p> <p>login</p> <p>Final del formulario</p> <p>Olvi daste Regis tu trars contr e ase a? Enla ces a la Com unid ad Grup os Soci ales</p> <p>A y u d a</p> <p>Comu nidad</p> <p>Buscar</p> <p>Buscar en los ForosPrincipio del formulario</p> <p>process</p> <p>1</p> <p>1</p> <p>1</p> <p>a103932df79d15</p> <p>guest</p> <p>Ir</p> <p>Mostrar Temas Bsqueda Avanzada Ir a la Pgina...</p> <p>Mostrar MensajesFinal del formulario</p> <p>Principio del formulario</p> <p>Final del formulario</p> <p>Programacin: cuantos pares e impares ingreso el usuarioDiscusiones similares Contador Nmeros pares 0-14 Impares 1-15 Sobre Generadores de Armonicos Impares (Auravox ?) ingreso de numero en contador Escribir en posiciones impares de EEPROM Contador Pares/Impares #1 Programacin: cuantos pares e impares ingreso el usuario En visual c++ se requiere hacer un programa donde el usuario ingrese cierta cantidad de numeros y este pueda contar cuantos pares e impares ingreso el usuario gracias por la colaboracion</p> <p>11-mar-2008 jimmy</p> <p>Fecha de Ingreso: noviembre2007 Ubicacin:</p> <p>colombia Mensajes: 2 Citar</p> <p>11-mar-2008 sp_27 Aqui te envio un codigo en "C" que acabo de hacer, espero te sirva: Cdigo:#include #include #include #include long int num; float numero, A, C; int B, pares=0, impares=0; char continuar='s';</p> <p>#2</p> <p>Fecha de Ingreso: marzo2007 Ubicacin: Venezuela Mensajes: 138</p> <p>int main() { while (continuar=='s'||continuar=='S') { system("CLS"); /*Borra pantalla*/ printf("\nAlgoritmo que cuenta la cantidad de numeros pares e impares ingresados\n\n"); printf("Ingrese un numero \n"); scanf("%ld", &amp;num); /*Lee el numero como entero*/ numero=num; /*Se almacena el valor entero en una variable decimal*/ A=numero/2; /*Division entre dos*/ B=A; /*Se toma la parte entera de la division*/ C=A-B; /*Se resta para obtener el residuo de la division*/ if (C==0) /*Se prueba si hay residuo*/ { pares++; } else { impares++; } getchar(); /*Para que la</p> <p>condicion lo lea la barra de intro*/ printf("\nDesea ingresar otro numero?\n"); /*Al ser 's' o 'S' continua el ciclo, sino se sale*/ continuar=getchar(); } system("CLS"); /*Borra pantalla*/ printf("\nCantidad de numeros Pares = %i", pares); printf("\nCantidad de numneros Impares = %i\n\n", impares); system("PAUSE"); /*Detiene el programa para mostrar los resultados*/ }</p> <p>Tambien lo envio adjunto: Archivos Adjuntos numeros_108.c (1,4 KB (Kilobytes), 10 visitas)</p> <p>Citar</p> <p>17-mar-2008 eliben sp_27 Puedes examinar si el numero es par mucho mas simplemente. int num; if (num % 2 == 0) { // par } else { // impar } No tieles las complicaciones del "floats"</p> <p>#3</p> <p>Fecha de Ingreso: octubre-2007 Ubicacin: Israel Mensajes: 8</p> <p>Citar</p> <p>10-abr-2008 jimmy #include using namespace std; int main()</p> <p>#4</p> <p>Fecha de Ingreso: noviembre2007 Ubicacin: colombia Mensajes: 2</p> <p>{ int cantida=10; int A[10],par=0,impar=0,i,j; for (i=0;i</p>