2
Programación I
Programación I. Guía 4 3
Tema: “Estructuras de Selección en C#”.
 Utilizar las instrucciones de selección if e if..else para elegir una de varias acciones
alternativas.
 Conocer la sintaxis de C# para las instrucciones condicionales simples, dobles y múltiples, así
como también la utilidad en la programación.
 Aprender a utilizar la estructura y sintaxis del switch-case para la evaluación de condiciones
múltiples.
Por lo general, las instrucciones en una aplicación se ejecutan una después de la otra, en el orden en
que se escriben. A este proceso se le conoce como ejecución secuencial. Varias instrucciones de
C# le permiten especificar que la siguiente instrucción a ejecutar no es necesariamente la siguiente
en la secuencia.
A este se le conoce como transferencia de control.
Estructuras de Selección en C#
C# cuenta con tres tipos de estructuras de selección, que de aquí en adelante denominaremos
instrucciones de selección. La instrucción if realiza (selecciona) una acción si una condición es
verdadera, o ignora la acción si la condición es falsa. La instrucción if…else realiza una acción si una
condición es verdadera o realiza una acción distinta si la condición es falsa. La instrucción switch
realiza una de varias acciones distintas, dependiendo del valor de una expresión (expresión de
control).
A la instrucción if se le llama instrucción de selección simple, debido a que selecciona o ignora una
acción individual. A la instrucción if...else se le llama instrucción de selección doble, debido a que
selecciona una de dos acciones distintas (o grupos de acciones). A la instrucción switch se le llama
instrucción de selección múltiple, debido a que selecciona una de varias acciones distintas (o grupo
de acciones).
Facultad: Ingeniería
Escuela: Ingeniería en Computación
Asignatura: Programación I
Objetivos
Introducción
Programación I, Guía 44
Sintaxis de las Instrucciones Condicionales
Una instrucción if simple responde a la siguiente sintaxis:
if (expresión booleana)
{
Instrucción(es) de condición verdadera.
}
Advertencia:
Las llaves son opcionales si hay una sola acción. Normalmente, es aconsejable añadirlas de todas
formas. Su omisión puede ser causa de fallos inesperados.
La instrucción if solo garantiza la ejecución de determinadas acciones basándose en una condición
verdadera (true). Se ejecutan o no se ejecutan. Para controlar tanto la condición true como la falsa
(false) es necesario utilizar la instrucción if…else. Su sintaxis en la siguiente:
if (expresión booleana)
{
Instrucción(es) de condición verdadera.
}
else
{
Instrucción(es) de condición falsa.
}
Recordar:
La condición siempre se evalúa en el if. NUNCA se evaluará una condición después de la sentencia
else.
Muchas veces vamos a necesitar evaluar más de dos condiciones, por lo que nos encontramos con el
siguiente tipo de estructura, para el cual se muestra la sintaxis e interpretación:
if (condicion1)
{
Bloque de instrucciones que se ejecutan si la condición 1 es verdadera.
}
else if(condicion2)
{
Bloque de código que se ejecuta si la condición 2 es verdadera.
}
Programación I. Guía 4 5
else if(condicion n)
{
Bloque de código se la siguiente condición n es verdadera.
}
else
{
Bloque de código que se ejecuta si ninguna de las condiciones previas fue verdadera.
}
Operadores Lógicos
Los operadores lógicos producen un resultado booleano (verdadero o falso) y sus operandos son
también valores lógicos. Nos permiten formular condiciones complejas a partir de condiciones simples.
A continuación se muestra una tabla con las tres compuertas lógicas básicas que nos servirán como
operadores lógicos:
OPERADOR C# SINTAXIS COMENTARIO
AND && Exp_Lógica && Exp_Lógica
Devuelve verdaderos si se cumplen ambas
condiciones.
OR || Exp_Lógica || Exp_Lógica
Devuelve verdaderos si se cumple al
menos una de las condiciones.
NOT ! ! Niega la condición.
Nota:
 La operación x && y corresponde a la operación x & y, excepto que y se evalúa solamente
si x es true.
 La operación x || y corresponde a la operación x | y, excepto que y se evalúa solamente
si x es false.
 Guía de laboratorio No. 4.
 Computadora con Visual Studio 2013 o superior.
 Dispositivo de almacenamiento (USB).
Crear una carpeta con el nombre Práctica_4_Progra_I para guardar los ejemplos y ejercicios.
Material y Equipo
Procedimiento
Programación I, Guía 46
Guía_4_Ejemplo_1
Desarrollar un programa que solicite al usuario un número y determine si dicha cantidad es par o
impar, en caso de que el número sea par, el programa deberá verificar si el número está entre el rango
[10 - 100].
Guía_4_Ejemplo_2
Desarrollar un programa en C# que lea desde teclado dos números. Si el primero es mayor que el
segundo se deberá mostrar la suma y la diferencia de dichas cantidades, en caso contrario se deberá
mostrar el producto y la división del primero respecto al segundo.
Programación I. Guía 4 7
Instrucciones switch
Cuando hay muchas condiciones a evaluar, la instrucción if…else puede resultar demasiado compleja
de manejar. Una solución mucho más limpia en estos casos consiste en usar la instrucción switch. La
Programación I, Guía 48
instrucción switch permite cualquier valor entero o de cadena con múltiples valores. Cuando se
produce una coincidencia se ejecutan todas las instrucciones asociadas con ella.
Esta estructura es muy utilizada a la hora de trabajar con menú dentro de las aplicaciones. La sintaxis
es la siguiente:
switch(expresión_de_control) ----------------- Puede ser int o string
{
case<literal-1>:
Instrucción(es)
break;
.
.
.
case<literal-n>:
Instrucción(es)
break;
default:
Instrucción(es)
}
Guía_4_Ejemplo_3
Se necesita un programa que muestre un menú con las siguientes opciones:
1. Suma.
2. Resta.
3. Multiplicación.
4. División.
5. Raíz Cuadrada.
6. Exponenciación.
7. Salir del programa.
Programación I. Guía 4 9
Programación I, Guía 410
NOTA: Siempre hay que utilizar las validaciones para que las operaciones matemáticas tengan el
resultado correcto.
1. Cree un programa que pida 3 números al usuario y determine cuál de ellos es el mayor.
2. Un postulante a un empleo, realiza un test de capacitación. Se obtuvo la siguiente información:
cantidad total de preguntas que se realizaron y la cantidad de preguntas que contestó
correctamente. Se pide desarrollar un programa que ingrese los datos por teclado e informe
el nivel del mismo según el porcentaje de respuestas correctas que ha tenido y sabiendo que:
 Nivel máximo ---------------------------------- Porcentaje >= 90.
 Nivel medio ------------------------------------ Porcentaje >= 75% y < 90%.
 Nivel regular ----------------------------------- Porcentaje >= 50% y < 75%.
 Fuera de nivel --------------------------------- Porcentaje < 50%.
Análisis de Resultados
Programación I. Guía 4 11
3. Las raíces reales de la expresión ax2 + bx + c = 0. Desarrollar un programa para encontrar las
raíces de la ecuación cuadrática sabiendo que la fórmula a utilizar es:
𝑥 =
−𝑏 ± √𝑏2 − 4𝑎𝑐
2𝑎
1. Desarrollar un programa en C# que acepte las fechas escritas de modo usual y las visualice
como números. Por ejemplo, la entrada: 20, agosto, 2015 debe mostrar una salida así: 20,
08, 2015.
2. Se requiere calcular la edad de un individuo; para ello se va a tener como entrada dos fechas
en el formato día (1 a 31), mes (1 a 12) y un año (entero de cuatro dígitos), correspondientes
a la fecha de nacimiento y la fecha actual, respectivamente. Escriba un programa que calcule
y muestre la edad del individuo. Si es la fecha de un bebé (menos de un año de edad), la edad
se debe dar en meses y días; en caso contrario, la edad se calculará en años.
 Deitel, Harvey M. y Paul J. Deitel, Cómo Programar en C#, Segunda Edición, México, 2007.
Investigación Complementaria
Bibliografía

Guia 4

  • 1.
  • 2.
    Programación I. Guía4 3 Tema: “Estructuras de Selección en C#”.  Utilizar las instrucciones de selección if e if..else para elegir una de varias acciones alternativas.  Conocer la sintaxis de C# para las instrucciones condicionales simples, dobles y múltiples, así como también la utilidad en la programación.  Aprender a utilizar la estructura y sintaxis del switch-case para la evaluación de condiciones múltiples. Por lo general, las instrucciones en una aplicación se ejecutan una después de la otra, en el orden en que se escriben. A este proceso se le conoce como ejecución secuencial. Varias instrucciones de C# le permiten especificar que la siguiente instrucción a ejecutar no es necesariamente la siguiente en la secuencia. A este se le conoce como transferencia de control. Estructuras de Selección en C# C# cuenta con tres tipos de estructuras de selección, que de aquí en adelante denominaremos instrucciones de selección. La instrucción if realiza (selecciona) una acción si una condición es verdadera, o ignora la acción si la condición es falsa. La instrucción if…else realiza una acción si una condición es verdadera o realiza una acción distinta si la condición es falsa. La instrucción switch realiza una de varias acciones distintas, dependiendo del valor de una expresión (expresión de control). A la instrucción if se le llama instrucción de selección simple, debido a que selecciona o ignora una acción individual. A la instrucción if...else se le llama instrucción de selección doble, debido a que selecciona una de dos acciones distintas (o grupos de acciones). A la instrucción switch se le llama instrucción de selección múltiple, debido a que selecciona una de varias acciones distintas (o grupo de acciones). Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación I Objetivos Introducción
  • 3.
    Programación I, Guía44 Sintaxis de las Instrucciones Condicionales Una instrucción if simple responde a la siguiente sintaxis: if (expresión booleana) { Instrucción(es) de condición verdadera. } Advertencia: Las llaves son opcionales si hay una sola acción. Normalmente, es aconsejable añadirlas de todas formas. Su omisión puede ser causa de fallos inesperados. La instrucción if solo garantiza la ejecución de determinadas acciones basándose en una condición verdadera (true). Se ejecutan o no se ejecutan. Para controlar tanto la condición true como la falsa (false) es necesario utilizar la instrucción if…else. Su sintaxis en la siguiente: if (expresión booleana) { Instrucción(es) de condición verdadera. } else { Instrucción(es) de condición falsa. } Recordar: La condición siempre se evalúa en el if. NUNCA se evaluará una condición después de la sentencia else. Muchas veces vamos a necesitar evaluar más de dos condiciones, por lo que nos encontramos con el siguiente tipo de estructura, para el cual se muestra la sintaxis e interpretación: if (condicion1) { Bloque de instrucciones que se ejecutan si la condición 1 es verdadera. } else if(condicion2) { Bloque de código que se ejecuta si la condición 2 es verdadera. }
  • 4.
    Programación I. Guía4 5 else if(condicion n) { Bloque de código se la siguiente condición n es verdadera. } else { Bloque de código que se ejecuta si ninguna de las condiciones previas fue verdadera. } Operadores Lógicos Los operadores lógicos producen un resultado booleano (verdadero o falso) y sus operandos son también valores lógicos. Nos permiten formular condiciones complejas a partir de condiciones simples. A continuación se muestra una tabla con las tres compuertas lógicas básicas que nos servirán como operadores lógicos: OPERADOR C# SINTAXIS COMENTARIO AND && Exp_Lógica && Exp_Lógica Devuelve verdaderos si se cumplen ambas condiciones. OR || Exp_Lógica || Exp_Lógica Devuelve verdaderos si se cumple al menos una de las condiciones. NOT ! ! Niega la condición. Nota:  La operación x && y corresponde a la operación x & y, excepto que y se evalúa solamente si x es true.  La operación x || y corresponde a la operación x | y, excepto que y se evalúa solamente si x es false.  Guía de laboratorio No. 4.  Computadora con Visual Studio 2013 o superior.  Dispositivo de almacenamiento (USB). Crear una carpeta con el nombre Práctica_4_Progra_I para guardar los ejemplos y ejercicios. Material y Equipo Procedimiento
  • 5.
    Programación I, Guía46 Guía_4_Ejemplo_1 Desarrollar un programa que solicite al usuario un número y determine si dicha cantidad es par o impar, en caso de que el número sea par, el programa deberá verificar si el número está entre el rango [10 - 100]. Guía_4_Ejemplo_2 Desarrollar un programa en C# que lea desde teclado dos números. Si el primero es mayor que el segundo se deberá mostrar la suma y la diferencia de dichas cantidades, en caso contrario se deberá mostrar el producto y la división del primero respecto al segundo.
  • 6.
    Programación I. Guía4 7 Instrucciones switch Cuando hay muchas condiciones a evaluar, la instrucción if…else puede resultar demasiado compleja de manejar. Una solución mucho más limpia en estos casos consiste en usar la instrucción switch. La
  • 7.
    Programación I, Guía48 instrucción switch permite cualquier valor entero o de cadena con múltiples valores. Cuando se produce una coincidencia se ejecutan todas las instrucciones asociadas con ella. Esta estructura es muy utilizada a la hora de trabajar con menú dentro de las aplicaciones. La sintaxis es la siguiente: switch(expresión_de_control) ----------------- Puede ser int o string { case<literal-1>: Instrucción(es) break; . . . case<literal-n>: Instrucción(es) break; default: Instrucción(es) } Guía_4_Ejemplo_3 Se necesita un programa que muestre un menú con las siguientes opciones: 1. Suma. 2. Resta. 3. Multiplicación. 4. División. 5. Raíz Cuadrada. 6. Exponenciación. 7. Salir del programa.
  • 8.
  • 9.
    Programación I, Guía410 NOTA: Siempre hay que utilizar las validaciones para que las operaciones matemáticas tengan el resultado correcto. 1. Cree un programa que pida 3 números al usuario y determine cuál de ellos es el mayor. 2. Un postulante a un empleo, realiza un test de capacitación. Se obtuvo la siguiente información: cantidad total de preguntas que se realizaron y la cantidad de preguntas que contestó correctamente. Se pide desarrollar un programa que ingrese los datos por teclado e informe el nivel del mismo según el porcentaje de respuestas correctas que ha tenido y sabiendo que:  Nivel máximo ---------------------------------- Porcentaje >= 90.  Nivel medio ------------------------------------ Porcentaje >= 75% y < 90%.  Nivel regular ----------------------------------- Porcentaje >= 50% y < 75%.  Fuera de nivel --------------------------------- Porcentaje < 50%. Análisis de Resultados
  • 10.
    Programación I. Guía4 11 3. Las raíces reales de la expresión ax2 + bx + c = 0. Desarrollar un programa para encontrar las raíces de la ecuación cuadrática sabiendo que la fórmula a utilizar es: 𝑥 = −𝑏 ± √𝑏2 − 4𝑎𝑐 2𝑎 1. Desarrollar un programa en C# que acepte las fechas escritas de modo usual y las visualice como números. Por ejemplo, la entrada: 20, agosto, 2015 debe mostrar una salida así: 20, 08, 2015. 2. Se requiere calcular la edad de un individuo; para ello se va a tener como entrada dos fechas en el formato día (1 a 31), mes (1 a 12) y un año (entero de cuatro dígitos), correspondientes a la fecha de nacimiento y la fecha actual, respectivamente. Escriba un programa que calcule y muestre la edad del individuo. Si es la fecha de un bebé (menos de un año de edad), la edad se debe dar en meses y días; en caso contrario, la edad se calculará en años.  Deitel, Harvey M. y Paul J. Deitel, Cómo Programar en C#, Segunda Edición, México, 2007. Investigación Complementaria Bibliografía