Académique Documents
Professionnel Documents
Culture Documents
Facultad: Ingeniera
Escuela: Ingeniera en Computacin
Asignatura: Programacin I
Utilizar las instrucciones de seleccin if e if..else para elegir una de varias acciones alternativas.
Conocer la sintaxis de C# para las instrucciones condicionales simples, dobles y mltiples, as como tambin la
utilidad en la programacin.
Aprender a utilizar la estructura y sintaxis del switch-case para la evaluacin de condiciones mltiples.
Introduccin
Por lo general, las instrucciones en una aplicacin se ejecutan una despus de la otra, en el orden en que se escriben.
A este proceso se le conoce como ejecucin secuencial. Varias instrucciones de C# le permiten especificar que la
siguiente instruccin a ejecutar no es necesariamente la siguiente en la secuencia.
A este se le conoce como transferencia de control.
Estructuras de Seleccin en C#
C# cuenta con tres tipos de estructuras de seleccin, que de aqu en adelante denominaremos instrucciones de
seleccin. La instruccin if realiza (selecciona) una accin si una condicin es verdadera, o ignora la accin si la
condicin es falsa. La instruccin ifelse realiza una accin si una condicin es verdadera o realiza una accin distinta
si la condicin es falsa. La instruccin switch realiza una de varias acciones distintas, dependiendo del valor de una
expresin (expresin de control).
A la instruccin if se le llama instruccin de seleccin simple, debido a que selecciona o ignora una accin individual.
A la instruccin if...else se le llama instruccin de seleccin doble, debido a que selecciona una de dos acciones
distintas (o grupos de acciones). A la instruccin switch se le llama instruccin de seleccin mltiple, debido a que
selecciona una de varias acciones distintas (o grupo de acciones).
Sintaxis de las Instrucciones Condicionales
Una instruccin if simple responde a la siguiente sintaxis:
if (expresin booleana)
{
Instruccin(es) de condicin verdadera.
}
Advertencia:
Las llaves son opcionales si hay una sola accin. Normalmente, es aconsejable aadirlas de todas formas. Su omisin
puede ser causa de fallos inesperados.
Programacin I, Gua 4
La instruccin if solo garantiza la ejecucin de determinadas acciones basndose en una condicin verdadera (true).
Se ejecutan o no se ejecutan. Para controlar tanto la condicin true como la falsa (false) es necesario utilizar la
instruccin ifelse. Su sintaxis en la siguiente:
if (expresin booleana)
{
Instruccin(es) de condicin verdadera.
}
else
{
Instruccin(es) de condicin falsa.
}
Recordar:
La condicin siempre se evala en el if. NUNCA se evaluar una condicin despus de la sentencia else.
Muchas veces vamos a necesitar evaluar ms de dos condiciones, por lo que nos encontramos con el siguiente tipo
de estructura, para el cual se muestra la sintaxis e interpretacin:
if (condicion1)
{
Bloque de instrucciones que se ejecutan si la condicin 1 es verdadera.
}
else if(condicion2)
{
Bloque de cdigo que se ejecuta si la condicin 2 es verdadera.
}
else if(condicion n)
{
Bloque de cdigo se la siguiente condicin n es verdadera.
}
else
{
Bloque de cdigo que se ejecuta si ninguna de las condiciones previas fue verdadera.
}
Operadores Lgicos
Los operadores lgicos producen un resultado booleano (verdadero o falso) y sus operandos son tambin valores
lgicos. Nos permiten formular condiciones complejas a partir de condiciones simples. A continuacin se muestra una
tabla con las tres compuertas lgicas bsicas que nos servirn como operadores lgicos:
OPERADOR
AND
OR
C#
SINTAXIS
COMENTARIO
&&
||
NOT
Programacin I. Gua 4
Nota:
La operacin x && y corresponde a la operacin x & y, excepto que y se evala solamente si x es true.
La operacin x || y corresponde a la operacin x | y, excepto que y se evala solamente si x es false.
Caracteres ASCII utilizados:
ALT + 92 = \
ALT + 94 = ^
ALT + 33 = !
ALT + 91 = [
ALT + 123 = {
ALT + 93 = ]
ALT + 125 = }
ALT + 35 = #
ALT +124 = |
Material y Equipo
Procedimiento
Crear una carpeta con el nombre Practica4 para guardar los ejemplos y ejercicios, en el escritorio de su computadora.
Gua4 Ejemplo1
Realizar un programa que permita saber cul es el nmero mayor entre 2 nmeros.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Programacin I, Gua 4
Gua4 Ejemplo2
Desarrollar un programa que solicite al usuario un nmero y determine si dicha cantidad es par o impar, en caso de
que el nmero sea par, el programa deber verificar si el nmero est entre el rango [10 - 100].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Programacin I. Gua 4
Gua4 Ejemplo3
Desarrollar un programa en C# que lea desde teclado dos nmeros. 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 divisin del
primero respecto al segundo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Programacin I, Gua 4
Gua4 Ejemplo4
Realice un programa que solicite el nombre de una persona, su edad y su sexo si el sexo es masculino que muestre
en pantalla el mensaje de El Sr. (nombre) ha sido registrado" y si el sexo es femenino que muestre el mensaje "La
Sra. (nombre) ha sido registrada".
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Instruccin Switch
Cuando hay muchas condiciones a evaluar, la instruccin ifelse puede resultar demasiado compleja de manejar.
Una solucin mucho ms limpia en estos casos consiste en usar la instruccin switch. La instruccin switch permite
cualquier valor entero o de cadena con mltiples 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.
Programacin I. Gua 4
La sintaxis es la siguiente:
switch(expresin_de_control) ----------------- Puede ser int o string
{
case<literal-1>:
Instruccin(es)
break;
.
.
.
case<literal-n>:
Instruccin(es)
break;
default:
Instruccin(es)
}
Gua4Ejemplo5
Se necesita un programa que muestre un men con las siguientes opciones:
1. Suma.
2. Resta.
3. Multiplicacin.
4. Divisin.
5. Raz Cuadrada.
6. Exponenciacin.
7. Salir del programa.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
8
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
Programacin I, Gua 4
case 1:
z = x + y;
Console.WriteLine("\t El resultado de la suma es: " + z);
break;
case 2:
z = x - y;
Console.WriteLine("\t El resultado de la resta es: " + z);
break;
case 3:
z = x * y;
Console.WriteLine("\t El resultado de la multiplicacion es: " + z);
break;
case 4:
if ( y == 0 )
{
Console.WriteLine("\t Division Invalida...");
}
else
{
z = x / y;
Console.WriteLine("\t El resultado de la division es: " + z);
}
break;
case 5:
z = Math.Sqrt(x);
Console.WriteLine("\t La raiz cuadrada del primer numero es " + z);
break;
case 6:
z = Math.Pow(y,2);
Console.WriteLine("\t El cuadrado del segundo numero es " + z);
break;
case 7:
Environment.Exit(0);
break;
default:
Console.WriteLine("\t Opcion no definida.. intente de nuevo");
break;
}
Console.ReadKey();
}
}
}
Programacin I. Gua 4
NOTA: Siempre hay que utilizar las validaciones para que las operaciones matemticas tengan el resultado correcto.
10
Programacin I, Gua 4
Anlisis de Resultados
1. Un postulante a un empleo, realiza un test de capacitacin. Se obtuvo la siguiente informacin: 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 segn el porcentaje de respuestas
correctas que ha tenido y sabiendo que:
Nivel mximo ---------------------------------- Porcentaje >= 90.
Nivel medio ------------------------------------ Porcentaje >= 75% y < 90%.
Nivel regular ----------------------------------- Porcentaje >= 50% y < 75%.
Fuera de nivel --------------------------------- Porcentaje < 50%.
2. Las races reales de la expresin ax2 + bx + c = 0.
Desarrollar un programa para encontrar las races de la ecuacin cuadrtica sabiendo que la frmula a utilizar es:
=
2 4
2
Investigacin Complementaria
1.
2.
3.
4.
Cree un programa que pida 3 nmeros al usuario y determine cul de ellos es el mayor.
Cree un programa que pida 3 nmeros al usuario y determine cul de ellos es el menor.
Cree un programa que pida 2 nmeros al usuario y determine si el primer nmero es mltiplo del segundo.
Desarrollar un programa en C# que acepte las fechas escritas de modo usual y las visualice como nmeros.
Por ejemplo, la entrada: 20, agosto, 2015 debe mostrar una salida as: 20, 08, 2015.
5. Se requiere calcular la edad de un individuo; para ello se va a tener como entrada dos fechas en el formato da
(1 a 31), mes (1 a 12) y un ao (entero de cuatro dgitos), 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 ao de edad), la edad se debe dar en meses y das; en caso contrario, la
edad se calcular en aos.
Bibliografa
Deitel, Harvey M. y Paul J. Deitel, Cmo Programar en C#, Segunda Edicin, Mxico, 2007.
Anotaciones