SlideShare uma empresa Scribd logo
1 de 4
Documento de estudio – Programación 3 (Profesor Miguel Ángel Villelli)
[Año
]
Las estructuras de control
Las estructuras de control permiten modificar el orden de ejecución de las instrucciones
en su código. Hay dos tipos de estructuras disponibles:
• Las estructuras de decisión: orientarán la ejecución de su código en función de
los valores que pueda tener una expresión de test.
• Las estructuras de bucle: harán ejecutar una porción de su código un cierto
número de veces hasta que se cumpla una condición o mientras una condición
sea cumplida.
1. Estructuras de decisión
Hay dos tipos de estructuras de decisión:
a. Estructura if
Cuatro sintaxis están a su disposición para la instrucción If.
if (condición) instrucción;
Si la condición es verdadera, entonces la instrucción se ejecuta; en este caso,
«condición» debe ser una expresión que, una vez evaluada, debe devolver una
booleana true o false. Con esta sintaxis, sólo la instrucción colocada después del if,
se ejecutará si la condición es verdadera.
Para poder ejecutar varias instrucciones en función de una condición, la sintaxis que
hay que utilizar es:
if (condición)
{Instrucción 1;
...
Instrucción n;}
En este caso, el grupo de instrucciones ubicado en las llaves será ejecutado si la condición es
verdadera.
También puede especificar una o varias instrucciones que se ejecutarán si la condición
es falsa.
if (condición)
{Instrucción 1;
...
Instrucción n;}
else
{Instrucción 1;
...
Instrucción n;}
b. Estructura switch
La estructura switch permite un funcionamiento equivalente, pero ofrece una mejor
legibilidad del código. La sintaxis es la siguiente:
switch (variable)
{case valor1:
Bloque de código 1
case valor2:
Bloque de código 2
case valor3:
Bloque de código 3
Documento de estudio – Programación 3 (Profesor Miguel Ángel Villelli)
[Año
]
default:
Bloque de código 4
}
El valor de la variable se evalúa al principio de la estructura (por el switch). Luego el
valor obtenido se compara con el valor especificado en el primer case (valor1).
Si los dos valores son iguales, entonces el bloque de código 1 se ejecuta.
Si no, el valor obtenido se compara con el valor del case siguiente; si hay
correspondencia, el bloque de código se ejecuta y así sucesivamente hasta el último
case.
Si ningún valor concordante se encuentra en los diferentes case, entonces el bloque
de código especificado en el default se ejecuta. Cada uno de los bloques debe
terminarse con la instrucción break.
El valor que hay que probar puede estar contenido en una variable, pero también
puede ser el resultado de un cálculo. En este caso, el cálculo sólo se efectúa una vez
al principio del switch. El tipo del valor probado puede ser numérico o cadena de
caracteres. El tipo de la variable probada debe corresponder por supuesto al tipo de
los valores en los diferentes case.
String respuesta;
Console.WriteLine("¿su respuesta?");
respuesta=Console.ReadLine();
switch (respuesta)
{
case "si":
Console.WriteLine("respuesta positiva");
break;
case "no":
Console.WriteLine("respuesta negativa");
break;
default:
Console.WriteLine("respuesta de gallego");
break;
}
2. Las estructuras de bucle
Cuatro estructuras están a nuestra disposición:
while
do ... while
for
foreach
Todas tienen como objetivo ejecutar un bloque de código cierto número de veces en
función de una condición.
a. Estructura while
Documento de estudio – Programación 3 (Profesor Miguel Ángel Villelli)
[Año
]
while (condición) {Bloque de código}
Esta sintaxis permite ejecutar el bloque de código mientras la condición es verdadera.
Se evalúa la condición incluso antes del primer paso en el bucle. Por lo tanto, el
bloque de código podrá no ejecutarse nunca si la condición es falsa desde el principio.
En caso de que la condición sea verdadera en el primer paso, el bloque de código se
ejecuta. La condición se prueba otra vez y, si es verdadera, se vuelve a ejecutar el
bloque de código. En el caso contrario, la próxima instrucción ejecutada será la que
sigue al bloque de código. Sin embargo es posible prever una salida «prematura» del
bucle utilizando la instrucción break. La ejecución se retoma, por lo tanto, en la línea
que sigue inmediatamente al bloque de código.
b. Estructura do ... while
La estructura do while utiliza la sintaxis siguiente:
do {Bloque de código} while (condition);
Esta sintaxis nos permite garantizar que el bloque de código se ejecutará al menos
una vez, ya que la condición se probará al final del bloque de código.
c. Estructura for
Cuando conoce el número de iteraciones que se deben realizar en un bucle, es
preferible utilizar la estructura for. Para poder utilizar esta instrucción, debe declarar
previamente una variable que actúe de contador.
Esta variable puede declarase en la estructura for o fuera. En este caso, se debe
declarar antes de la estructura for.
La sintaxis general es la siguiente:
for(inicialización del contador ;condición ;instrucción de iteración)
{
Bloque de código
}
La parte de inicialización se ejecuta una sola vez en el momento de la entrada en el
bucle. La parte de condición se evalúa en el momento de entrar en el bucle, y luego
en cada iteración. El resultado de la evaluación de la condición determina si el bloque
de código se ejecuta. Para ello, hace falta que la condición sea evaluada como true.
Después de la ejecución del bloque de código se ejecuta a su vez la instrucción de
iteración. Luego se prueba de nuevo la condición, y así sucesivamente hasta que la
condición se evalúa como false.
A continuación, dos bucles for en acción para visualizar una tabla de multiplicar.
int k;
for(k=1;k<10;k++)
{
for (int l = 1; l < 10; l++)
{
Console.Write(k * l + "t");
}
Console.WriteLine();
}
Obtenemos el siguiente resultado:
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
Documento de estudio – Programación 3 (Profesor Miguel Ángel Villelli)
[Año
]
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
La instrucción break puede utilizarse para provocar una salida prematura del bucle. La
instrucción continue permite volver immediatamente a la evaluación de la condición.
Por supuesto, se deben ejecutar estas dos instrucciones de manera condicional; si no,
las líneas de código ubicadas después no se ejecutarán nunca.
d. Estructura foreach
Otra sintaxis del bucle for permite ejecutar un bloque de código para cada elemento
contenido en una matriz o en una colección. La sintaxis general de esta instrucción es
la siguiente:
foreach (elemento in matriz)
{Bloque de código}
No hay noción de contador en esta estructura, ya que efectúa ella misma las
iteraciones en todos los elementos presentes en la matriz o la colección.
La variable elemento sirve para extraer los elementos de la matriz o de la colección
para que el bloque pueda manejarla. El tipo de la variable element debe ser
compatible con el tipo de elementos almacenados en la matriz o la colección. Por el
contrario, no debe preocuparse del número de elementos, ya que la instrucción
foreach es capaz de gestionar ella misma el desplazamiento en la matriz o la
colección. ¡A continuación se muestra un ejemplo para aclarar la situación!
Con un bucle clásico:
string[] matriz={"rojo","verde","azul","blanco"};
int contador;
for (contador = 0; contador < matriz.Length; contador++)
{
Console.WriteLine(matriz[contador]);
}
Con el bucle for each:
string[] matriz={"rojo","verde","azul","blanco"};
foreach (string s in matriz)
{
Console.WriteLine(s);
}
La variable utilizada para recorrer la matriz debe ser declarada obligatoriamente en la
instrucción foreach, y no fuera.

Mais conteúdo relacionado

Mais procurados

Certificación java 6 cap 5
Certificación java 6 cap 5Certificación java 6 cap 5
Certificación java 6 cap 5
srBichoRaro
 
Comenzando a programar
Comenzando a programarComenzando a programar
Comenzando a programar
Rubén Loredo
 
Matlab 2
Matlab 2Matlab 2
Matlab 2
jmh700
 
Elementos BáSicos Del Lenguaje Java Alumno
Elementos BáSicos Del Lenguaje Java AlumnoElementos BáSicos Del Lenguaje Java Alumno
Elementos BáSicos Del Lenguaje Java Alumno
mtemarialuisa
 
ESTRUCTURA DE CONTROLYoselyn garcia trabajo
ESTRUCTURA DE CONTROLYoselyn garcia trabajoESTRUCTURA DE CONTROLYoselyn garcia trabajo
ESTRUCTURA DE CONTROLYoselyn garcia trabajo
DANNYOSE
 
La estructura basica_para_c_
La estructura basica_para_c_La estructura basica_para_c_
La estructura basica_para_c_
GamePlayer35
 

Mais procurados (20)

Certificación java 6 cap 5
Certificación java 6 cap 5Certificación java 6 cap 5
Certificación java 6 cap 5
 
Comenzando a programar
Comenzando a programarComenzando a programar
Comenzando a programar
 
Instrucciones(raptor, java, c#)
Instrucciones(raptor, java, c#)Instrucciones(raptor, java, c#)
Instrucciones(raptor, java, c#)
 
Comandos de raptor c# y java
Comandos de raptor c# y javaComandos de raptor c# y java
Comandos de raptor c# y java
 
Comandos de Raptor, Java y C# Sharp
Comandos de Raptor, Java y C# SharpComandos de Raptor, Java y C# Sharp
Comandos de Raptor, Java y C# Sharp
 
comandos
comandoscomandos
comandos
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Js control de flujo
Js control de flujoJs control de flujo
Js control de flujo
 
Matlab 2
Matlab 2Matlab 2
Matlab 2
 
Lista de raptor sus comandos y su función
Lista de raptor sus comandos y su funciónLista de raptor sus comandos y su función
Lista de raptor sus comandos y su función
 
Video2
Video2Video2
Video2
 
Articulo
ArticuloArticulo
Articulo
 
Elementos BáSicos Del Lenguaje Java Alumno
Elementos BáSicos Del Lenguaje Java AlumnoElementos BáSicos Del Lenguaje Java Alumno
Elementos BáSicos Del Lenguaje Java Alumno
 
Video
VideoVideo
Video
 
05 - Funciones en lenguaje C
05 - Funciones en lenguaje C05 - Funciones en lenguaje C
05 - Funciones en lenguaje C
 
Conceptos Generales
Conceptos GeneralesConceptos Generales
Conceptos Generales
 
ESTRUCTURA DE CONTROLYoselyn garcia trabajo
ESTRUCTURA DE CONTROLYoselyn garcia trabajoESTRUCTURA DE CONTROLYoselyn garcia trabajo
ESTRUCTURA DE CONTROLYoselyn garcia trabajo
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
La estructura basica_para_c_
La estructura basica_para_c_La estructura basica_para_c_
La estructura basica_para_c_
 
Sintaxis Básica de Java
Sintaxis Básica de JavaSintaxis Básica de Java
Sintaxis Básica de Java
 

Destaque (9)

Análisis de la situación Módulo de gestión de usuarios
Análisis de la situación Módulo de gestión de usuariosAnálisis de la situación Módulo de gestión de usuarios
Análisis de la situación Módulo de gestión de usuarios
 
Manejo de excepciones C-SHARP
Manejo de excepciones C-SHARPManejo de excepciones C-SHARP
Manejo de excepciones C-SHARP
 
Procedimiento básico de interacción con una base de datos
Procedimiento básico de interacción con una base de datosProcedimiento básico de interacción con una base de datos
Procedimiento básico de interacción con una base de datos
 
Ejecución de instrucción T-Sql usando Visual Studio y C SHARP
Ejecución de instrucción T-Sql usando Visual Studio y C SHARPEjecución de instrucción T-Sql usando Visual Studio y C SHARP
Ejecución de instrucción T-Sql usando Visual Studio y C SHARP
 
Módulo gestión de usuarios
Módulo gestión de usuariosMódulo gestión de usuarios
Módulo gestión de usuarios
 
Descubrimiento de entorno
Descubrimiento de entornoDescubrimiento de entorno
Descubrimiento de entorno
 
Introducción a la programación visual
Introducción a la programación visualIntroducción a la programación visual
Introducción a la programación visual
 
Organización de una aplicación proyectos
Organización de una aplicación proyectosOrganización de una aplicación proyectos
Organización de una aplicación proyectos
 
Arquitectura en capas
Arquitectura en capasArquitectura en capas
Arquitectura en capas
 

Semelhante a Las estructuras de control

3 java sesin 3 pps
3 java sesin 3 pps3 java sesin 3 pps
3 java sesin 3 pps
ajplbe
 
DAW-Estructuras de control
DAW-Estructuras de controlDAW-Estructuras de control
DAW-Estructuras de control
vay82
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
quesada_diego
 
Semana 05 - Estructuras repetitivas (1).pptx
Semana 05 - Estructuras repetitivas (1).pptxSemana 05 - Estructuras repetitivas (1).pptx
Semana 05 - Estructuras repetitivas (1).pptx
Carlos Díaz Sánchez
 

Semelhante a Las estructuras de control (20)

Estructura de control en la Programación. Luis Rondón
Estructura de control en la Programación. Luis RondónEstructura de control en la Programación. Luis Rondón
Estructura de control en la Programación. Luis Rondón
 
3 java sesin 3 pps
3 java sesin 3 pps3 java sesin 3 pps
3 java sesin 3 pps
 
Case for ymas
Case for ymasCase for ymas
Case for ymas
 
ESTRUCTURAS DE CONTROL
ESTRUCTURAS DE CONTROLESTRUCTURAS DE CONTROL
ESTRUCTURAS DE CONTROL
 
ESTRUCTURA DE CONTROL
ESTRUCTURA DE CONTROLESTRUCTURA DE CONTROL
ESTRUCTURA DE CONTROL
 
Presentacion
PresentacionPresentacion
Presentacion
 
DAW-Estructuras de control
DAW-Estructuras de controlDAW-Estructuras de control
DAW-Estructuras de control
 
Diapositivas grupo 8
Diapositivas grupo 8Diapositivas grupo 8
Diapositivas grupo 8
 
Estructura de control repetitivo diapositivas
Estructura de control repetitivo diapositivasEstructura de control repetitivo diapositivas
Estructura de control repetitivo diapositivas
 
Estructuras selectivas.pptx
Estructuras selectivas.pptxEstructuras selectivas.pptx
Estructuras selectivas.pptx
 
Estructuras selectivas.pptx
Estructuras selectivas.pptxEstructuras selectivas.pptx
Estructuras selectivas.pptx
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
 
Estructura de control
Estructura de controlEstructura de control
Estructura de control
 
Presentacion semana numero_14
Presentacion semana numero_14Presentacion semana numero_14
Presentacion semana numero_14
 
Clase 3 Unidad 2 Parte 2
Clase 3 Unidad 2 Parte 2Clase 3 Unidad 2 Parte 2
Clase 3 Unidad 2 Parte 2
 
Estructuras de wps office
Estructuras de wps officeEstructuras de wps office
Estructuras de wps office
 
Estructura de control repetitiva
Estructura de control repetitivaEstructura de control repetitiva
Estructura de control repetitiva
 
Manual
ManualManual
Manual
 
Semana 05 - Estructuras repetitivas (1).pptx
Semana 05 - Estructuras repetitivas (1).pptxSemana 05 - Estructuras repetitivas (1).pptx
Semana 05 - Estructuras repetitivas (1).pptx
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 

Último

Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Francisco158360
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
lupitavic
 

Último (20)

Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 

Las estructuras de control

  • 1. Documento de estudio – Programación 3 (Profesor Miguel Ángel Villelli) [Año ] Las estructuras de control Las estructuras de control permiten modificar el orden de ejecución de las instrucciones en su código. Hay dos tipos de estructuras disponibles: • Las estructuras de decisión: orientarán la ejecución de su código en función de los valores que pueda tener una expresión de test. • Las estructuras de bucle: harán ejecutar una porción de su código un cierto número de veces hasta que se cumpla una condición o mientras una condición sea cumplida. 1. Estructuras de decisión Hay dos tipos de estructuras de decisión: a. Estructura if Cuatro sintaxis están a su disposición para la instrucción If. if (condición) instrucción; Si la condición es verdadera, entonces la instrucción se ejecuta; en este caso, «condición» debe ser una expresión que, una vez evaluada, debe devolver una booleana true o false. Con esta sintaxis, sólo la instrucción colocada después del if, se ejecutará si la condición es verdadera. Para poder ejecutar varias instrucciones en función de una condición, la sintaxis que hay que utilizar es: if (condición) {Instrucción 1; ... Instrucción n;} En este caso, el grupo de instrucciones ubicado en las llaves será ejecutado si la condición es verdadera. También puede especificar una o varias instrucciones que se ejecutarán si la condición es falsa. if (condición) {Instrucción 1; ... Instrucción n;} else {Instrucción 1; ... Instrucción n;} b. Estructura switch La estructura switch permite un funcionamiento equivalente, pero ofrece una mejor legibilidad del código. La sintaxis es la siguiente: switch (variable) {case valor1: Bloque de código 1 case valor2: Bloque de código 2 case valor3: Bloque de código 3
  • 2. Documento de estudio – Programación 3 (Profesor Miguel Ángel Villelli) [Año ] default: Bloque de código 4 } El valor de la variable se evalúa al principio de la estructura (por el switch). Luego el valor obtenido se compara con el valor especificado en el primer case (valor1). Si los dos valores son iguales, entonces el bloque de código 1 se ejecuta. Si no, el valor obtenido se compara con el valor del case siguiente; si hay correspondencia, el bloque de código se ejecuta y así sucesivamente hasta el último case. Si ningún valor concordante se encuentra en los diferentes case, entonces el bloque de código especificado en el default se ejecuta. Cada uno de los bloques debe terminarse con la instrucción break. El valor que hay que probar puede estar contenido en una variable, pero también puede ser el resultado de un cálculo. En este caso, el cálculo sólo se efectúa una vez al principio del switch. El tipo del valor probado puede ser numérico o cadena de caracteres. El tipo de la variable probada debe corresponder por supuesto al tipo de los valores en los diferentes case. String respuesta; Console.WriteLine("¿su respuesta?"); respuesta=Console.ReadLine(); switch (respuesta) { case "si": Console.WriteLine("respuesta positiva"); break; case "no": Console.WriteLine("respuesta negativa"); break; default: Console.WriteLine("respuesta de gallego"); break; } 2. Las estructuras de bucle Cuatro estructuras están a nuestra disposición: while do ... while for foreach Todas tienen como objetivo ejecutar un bloque de código cierto número de veces en función de una condición. a. Estructura while
  • 3. Documento de estudio – Programación 3 (Profesor Miguel Ángel Villelli) [Año ] while (condición) {Bloque de código} Esta sintaxis permite ejecutar el bloque de código mientras la condición es verdadera. Se evalúa la condición incluso antes del primer paso en el bucle. Por lo tanto, el bloque de código podrá no ejecutarse nunca si la condición es falsa desde el principio. En caso de que la condición sea verdadera en el primer paso, el bloque de código se ejecuta. La condición se prueba otra vez y, si es verdadera, se vuelve a ejecutar el bloque de código. En el caso contrario, la próxima instrucción ejecutada será la que sigue al bloque de código. Sin embargo es posible prever una salida «prematura» del bucle utilizando la instrucción break. La ejecución se retoma, por lo tanto, en la línea que sigue inmediatamente al bloque de código. b. Estructura do ... while La estructura do while utiliza la sintaxis siguiente: do {Bloque de código} while (condition); Esta sintaxis nos permite garantizar que el bloque de código se ejecutará al menos una vez, ya que la condición se probará al final del bloque de código. c. Estructura for Cuando conoce el número de iteraciones que se deben realizar en un bucle, es preferible utilizar la estructura for. Para poder utilizar esta instrucción, debe declarar previamente una variable que actúe de contador. Esta variable puede declarase en la estructura for o fuera. En este caso, se debe declarar antes de la estructura for. La sintaxis general es la siguiente: for(inicialización del contador ;condición ;instrucción de iteración) { Bloque de código } La parte de inicialización se ejecuta una sola vez en el momento de la entrada en el bucle. La parte de condición se evalúa en el momento de entrar en el bucle, y luego en cada iteración. El resultado de la evaluación de la condición determina si el bloque de código se ejecuta. Para ello, hace falta que la condición sea evaluada como true. Después de la ejecución del bloque de código se ejecuta a su vez la instrucción de iteración. Luego se prueba de nuevo la condición, y así sucesivamente hasta que la condición se evalúa como false. A continuación, dos bucles for en acción para visualizar una tabla de multiplicar. int k; for(k=1;k<10;k++) { for (int l = 1; l < 10; l++) { Console.Write(k * l + "t"); } Console.WriteLine(); } Obtenemos el siguiente resultado: 1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36
  • 4. Documento de estudio – Programación 3 (Profesor Miguel Ángel Villelli) [Año ] 5 10 15 20 25 30 35 40 45 6 12 18 24 30 36 42 48 54 7 14 21 28 35 42 49 56 63 8 16 24 32 40 48 56 64 72 9 18 27 36 45 54 63 72 81 La instrucción break puede utilizarse para provocar una salida prematura del bucle. La instrucción continue permite volver immediatamente a la evaluación de la condición. Por supuesto, se deben ejecutar estas dos instrucciones de manera condicional; si no, las líneas de código ubicadas después no se ejecutarán nunca. d. Estructura foreach Otra sintaxis del bucle for permite ejecutar un bloque de código para cada elemento contenido en una matriz o en una colección. La sintaxis general de esta instrucción es la siguiente: foreach (elemento in matriz) {Bloque de código} No hay noción de contador en esta estructura, ya que efectúa ella misma las iteraciones en todos los elementos presentes en la matriz o la colección. La variable elemento sirve para extraer los elementos de la matriz o de la colección para que el bloque pueda manejarla. El tipo de la variable element debe ser compatible con el tipo de elementos almacenados en la matriz o la colección. Por el contrario, no debe preocuparse del número de elementos, ya que la instrucción foreach es capaz de gestionar ella misma el desplazamiento en la matriz o la colección. ¡A continuación se muestra un ejemplo para aclarar la situación! Con un bucle clásico: string[] matriz={"rojo","verde","azul","blanco"}; int contador; for (contador = 0; contador < matriz.Length; contador++) { Console.WriteLine(matriz[contador]); } Con el bucle for each: string[] matriz={"rojo","verde","azul","blanco"}; foreach (string s in matriz) { Console.WriteLine(s); } La variable utilizada para recorrer la matriz debe ser declarada obligatoriamente en la instrucción foreach, y no fuera.