Tema: Estructuras de Selección en C#.

Documentos relacionados
Tema: Estructuras de Selección en C#.

Tema: Estructuras de Selección en C#.

Tema: Estructuras de Selección en C#

Tema: Estructuras de Selección en C#

Tema: Estructuras de Repetición en C# [While y Dowhile].

Tema: Estructuras de Repetición en C#.

Tema: Funciones y Procedimientos en C#.

Tema: Estructuras de Repetición en C#.

Tema: Estructuras de Repetición en C# [For].

Tema: Funciones, Procedimientos y Recursividad en C#.

Tema: Estructuras de Repetición en C# [While y Dowhile]

Guia#9: Punteros en C#.

Tema: Funciones, Procedimientos y Recursividad en C#.

Tema: Funciones, Procedimientos y Recursividad en C#.

Tema: Estructuras de Repetición en C# [For].

Tema: Cadenas en C#.

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa

Tema: Estructuras en C#.

Tema: Entorno a C# y Estructuras Secuenciales.

Tema: Estructuras en C#.

Guia#11: Tema: Estructuras en C#.

Tema: Vectores en C#.

Tema: Vectores en C#

Tema: Entorno a C# En el primer ejercicio se inicia el entorno de programación de Visual Studio.NET y se enseña a crear una aplicación en consola.

Tema: Entorno a C# Objetivos. Introducción. Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación Estructurada

Tema: Matrices y Cadenas en C#.

Tema: Matrices en C#.

Tema 4. Control de flujo. Programación Programación - Tema 4: Control de Flujo

GUÍA DE TRABAJO N 1 C# Ing. Néstor Raúl Suarez Perpiñan Página 1 de 13

Tema: Entorno a C# y Estructuras Secuenciales.

Tema: Entorno a C# En el primer ejercicio se inicia el entorno de programación de Visual Studio.NET y se enseña a crear una aplicación en consola.

Tema: Arreglos en C#.

Tema: Entorno a C# y Estructuras Secuenciales.

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

Curso Informática Lección 4. Instrucciones de control

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

5. Sentencias selectivas o condicionales

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina

Operadores. Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.

Tema: Funciones, Procedimientos y Recursividad en C#.

Introducción a Java. Introducción a Java. Programación I

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Operadores aritméticos

Programación en JAVA. Ejercicios de SELECCIÓN

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS COORDINACION DE COMPUTACION

Guia#12: Tema: Archivos en C#.

PYTHON. Programación estructurada

Programación Orientada Objetos. Estructuras de control if, If else, switch

FACULTAD DE INGENIERÍA

Lección 3 Sentencias de control

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

GUÍA DE LABORATORIO #3 ESTRUCTURAS ALGORÍTMICAS CONDICIONALES SIMPLES, DOBLES Y MÚLTIPLES

Tipos de Datos de python (2ª parte):

Repaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

FUNDAMENTOS DE INFORMÁTICA

Lenguaje de Programación MSc. Daniel Alejandro Yucra Sotomayor

Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN

Estructuras de control selectivas

Fundamentos de Programación

Tema 3. Estructuras de control

NOTA: Un algoritmo o programa de computadoras está estructurado si en su diseño se hace uso de los siguientes tres métodos o estructuras de control:

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Informática I para Bachillerato

GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS

Primeros pasos programando en Python

Capítulo 4. Control de flujo. Continuar

Capítulo 3. Sentencias condicionales

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

ESTRUCTURAS DE CONTROL

GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo:

Aprender los conceptos, manejo, usos y aplicación de heaps a fin de utilizarlos para el desarrollo de aplicaciones

Programación Estructurada

4. Operadores Operador asignación

Elabore el análisis, diseño orientado a objetos e implementación de una aplicación de consola que resuelva las siguientes situaciones:

Práctica #4: Uso de control de flujo

Dobles: Es el caso de la instrucción if-else (punto 1.2).

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Bloque II. Elementos del lenguaje de programación Java

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Características de JavaScript

Introducción a C++ Algoritmos y Estructuras de datos II Dra. Carmen Mezura Godoy. Febrero 2009

Transcripción:

Programación I, Guía 3 1 Tema: Estructuras de Selección en C#. Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación I Objetivos 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. Introducción 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). 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.

2 Programación I, Guía 3 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. 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.

Programación I. Guía 3 3 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. Caracteres ASCII utilizados: ALT + 92 = \ ALT + 91 = [ ALT + 93 = ] ALT + 35 = # ALT + 94 = ^ ALT + 123 = ALT + 125 = ALT +124 = ALT + 33 =! Material y Equipo Guía de laboratorio No. 3. Computadora con Visual Studio 2013 o superior. Dispositivo de almacenamiento (USB). Procedimiento Crear una carpeta con el nombre Practica4 para guardar los ejemplos y ejercicios, en el escritorio de su computadora. Guía4 Ejemplo1 Realizar un programa que permita saber cuál es el número mayor entre 2 números. 1 static void Main(string[] args) 2 3 // este programa fue hecho por: Pepito Picaflor 4 Console.Title = " El mayor de dos numeros"; 5 Int32 x, y; 6 Console.WriteLine("Digitar el primer numero del 1 al 1000"); 7 x = Int32.Parse(Console.ReadLine()); 8 Console.WriteLine("Digitar el segundo numero del 1 al 1000"); 9 y = Int32.Parse(Console.ReadLine()); 10 if (x>y) 11 12 Console.WriteLine("\nEl numero 0 es mayor que 1", x, y); // v 13 14 else 15 16 Console.WriteLine("\nEl numero 0 es mayor que 1", y, x); // f 17 18 Console.WriteLine("\n\n"); 19 Console.WriteLine("\n----->Fin del programa"); 20 Console.ReadKey(); 21

4 Programación I, Guía 3 Guía4 Ejemplo2 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]. 1 static void Main(string[] args) 2 3 int Numero; 4 Console.Title = "VERIFICANDO NUMEROS PARES"; 5 Console.Write("\nIngrese un numero:"); 6 Numero = int.parse(console.readline()); 7 if (Numero < 0) 8 9 Console.Write("\n\tNumero Negativo...Ingrese un numero positivo"); 10 11 else if (Numero % 2 == 0) 12 13 Console.Write("\n\tEl numero (" + Numero + ") es par."); 14 if (Numero >= 10 && Numero <= 100) 15 16 Console.Write("\n\tEl numero (" + Numero + ") se encuentra en el rango [10-100]"); 17 18 else 19 20 Console.Write("\n\tEl numero (" + Numero + ") NO esta en el rango [10-00]"); 21 22 23 else 24 25 Console.Write("\n\tEl numero ingresado es impar..."); 26 27 Console.ReadKey(); 28 29 30 Corrida del ejercicio:

Programación I. Guía 3 5 Guía4 Ejemplo3 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. 1 static void Main(string[] args) 2 3 Double x, y, z, w; 4 Console.Title = "CONDICIONALES"; 5 Console.WriteLine("\tDigitar primer numero:"); 6 x = Double.Parse(Console.ReadLine()); 7 Console.WriteLine("\tDigitar segundo numero:"); 8 y = Double.Parse(Console.ReadLine()); 9 if (x > y) 10 11 z = x + y; 12 w = x - y; 13 Console.WriteLine("\tMOSTRANDO RESULTADOS"); 14 Console.WriteLine("\tSUMA: " + z); 15 Console.WriteLine("\tRESTA: " + w); 16 17 else 18 19 z = x * y; 20 if (y == 0) 21 22 Console.WriteLine("\tNo se puede dividir entre CERO"); 23 24 else 25 26 w = x / y; 27 Console.WriteLine("\tMOSTRANDO RESULTADOS"); 28 Console.WriteLine("\tMULTIPLICACION: " + z); 29 Console.WriteLine("\tDIVISION: " + w); 30 31 32 Console.ReadKey(); 33 34 35 Corrida del ejercicio:

6 Programación I, Guía 3 Guía4 Ejemplo4 Realice un programa que solicite el nombre de una persona, su edad y su sexo si el sexo es masculi no 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 static void Main(string[] args) 2 3 // este programa fue hecho por: Pepito Picaflor 4 Console.Title = " El sexo de una persona"; 5 Int32 edad; 6 String nombre, sexo; 7 Console.WriteLine("Digitar tu nombre"); 8 nombre = Console.ReadLine(); 9 Console.WriteLine("Digitar tu edad"); 10 edad = Int32.Parse(Console.ReadLine()); 11 Console.WriteLine("Digitar tu sexo ( Hombre=M y Mujer=F )"); 12 sexo = Console.ReadLine(); 13 if (sexo == "M" sexo == "m") // instruccion lógica OR 14 15 Console.WriteLine("\nEl Sr 0 ha sido registrado", nombre); // v 16 17 else 18 19 Console.WriteLine("\nLa Sra 0 ha sido registrada", nombre); // f 20 21 Console.WriteLine("\n\n"); 22 Console.WriteLine("\n----->Fin del programa"); 23 Console.ReadKey(); 24 Instrucción 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 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: Programación I. Guía 3 7 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ía4Ejemplo5 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. 1 static void Main(string[] args) 2 3 int op; 4 Double x, y, z; 5 Console.WriteLine("\nDigitar el primer numero:"); 6 x = Double.Parse(Console.ReadLine()); 7 Console.WriteLine("\nDigitar el segundo numero:"); 8 y = Double.Parse(Console.ReadLine()); 9 Console.Title = "SWITCH CASE"; 10 Console.WriteLine("\n\tOPERACIONES MATEMATICAS"); 11 Console.WriteLine("\n\t1. SUMAR"); 12 Console.WriteLine("\n\t2. RESTAR"); 13 Console.WriteLine("\n\t3. MULTIPLICAR"); 14 Console.WriteLine("\n\t4. DIVIDIR"); 15 Console.WriteLine("\n\t5. RAIZ CUADRADA"); 16 Console.WriteLine("\n\t6. POTENCIACION"); 17 Console.WriteLine("\n\t7. SALIR DEL PROGRAMA"); 18 Console.WriteLine("\n\n\t Digite su opcion: "); 19 op = int.parse(console.readline()); 20 switch (op) 21

8 Programación I, Guía 3 22 case 1: 23 z = x + y; 24 Console.WriteLine("\t El resultado de la suma es: " + z); 25 break; 26 case 2: 27 z = x - y; 28 Console.WriteLine("\t El resultado de la resta es: " + z); 29 break; 30 case 3: 31 z = x * y; 32 Console.WriteLine("\t El resultado de la multiplicacion es: " + z); 33 break; 34 case 4: 35 if ( y == 0 ) 36 37 Console.WriteLine("\t Division Invalida..."); 38 39 else 40 41 z = x / y; 42 Console.WriteLine("\t El resultado de la division es: " + z); 43 44 break; 45 case 5: 46 z = Math.Sqrt(x); 47 Console.WriteLine("\t La raiz cuadrada del primer numero es " + z); 48 break; 49 case 6: 50 z = Math.Pow(y,2); 51 Console.WriteLine("\t El cuadrado del segundo numero es " + z); 52 break; 53 case 7: 54 Environment.Exit(0); 55 break; 56 default: 57 Console.WriteLine("\t Opcion no definida.. intente de nuevo"); 58 break; 59 60 Console.ReadKey(); 61 62 63

Corrida del ejercicio: Programación I. Guía 3 9 NOTA: Siempre hay que utilizar las validaciones para que las operaciones matemáticas tengan el resultado correcto.

10 Programación I, Guía 3 Análisis de Resultados 1. 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%. 2. Las raíces reales de la expresión ax 2 + 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: Investigación Complementaria 1. Cree un programa que pida 3 números al usuario y determine cuál de ellos es el mayor. 2. Cree un programa que pida 3 números al usuario y determine cuál de ellos es el menor. 3. Cree un programa que pida 2 números al usuario y determine si el primer número es múltiplo del segundo. 4. 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. 5. 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. Bibliografía Deitel, Harvey M. y Paul J. Deitel, Cómo Programar en C#, Segunda Edición, México, 2007. Anotaciones