You are on page 1of 16
Capitulo 4 Estructura Selectiva Multiple Introduccién Sabor que on Ia actualidad tienes muchne haneae financiarne qua nfeecen prietamne con candicinnec iferentes, usted al solictar un préstamo, tiene que evaluar diversas alternativas y decidir por una d= elias. Einlus lengucjes ue programocitny se cuenta con une implementackin similar, lamada estructura selective rmiltiple que permite evaluar varias alternativas y realizar el proceso si cumple con la condicién elegida. ‘Muchas veces para solucionar este tipo de problemas se utiliza estructuras selectivas dobles anidadas (en cascada}, dando una solucion muy complicada y contusa para analiza es recomendable que cuando «2 tenga que evaluar varias alternativas se utilice estructuras selectiva miltinles por ser la més legible, cficiente y facil de interpretar. Estructura selectiva multiple Permite comparar un valor con diversas alternativas, sila comparacién tiene éxito se ejecuta el grupo de instrucci6n que contenga la alternativa seleccionada y luego sale de la estructura ‘Muchas se pueden implementar en forma opcional una alternativa por defecto, es decir al comparar con ‘todes las alternativas propuestas no se tiene éxito con ninguna, entonces se ejecuta la alternativa por efecto. ss Tay - = Case velurt as Lf vatert }¢ 2 caso Tastrucciones }—» +{vators |“ saat F lt Tnstrucciones Fin Caso {waives F Tnetrueciones: —— ‘intaxis 1 UF ewiteh () ( case Valorl: ; bieak, case Valor2: ; Lieck, case Valor3: ; bieak, Bn Caso que sea Caso Valori gate eRONRER =I vale 2, Caso Valor? vai Teatcanionss || ie SiNO a Fin casa Instrucciones oJ Sintaxis 2 CH switch () { case Valorl: aTapteaeet same break; case Valor2: ; break; default: “Inctruccionce>y break; Estructura selectiva nuilliple usando rangos La estructura selectiva multiple permite comparar un valor (igualdad), pero cuando se requiere manejar rangos (+= V <=), s0 puede usar una estructura calartiva milripla cimilar a la estructura selectiva doble anidada Si Entonces eo i SiNoSi Entonces [zestrocciones }> simusi Entonces ® | [rastriestones g sino. [Gnetzuccionse } Tastrucciones Sintaxis CH Gf () ( ; jeise af () { «Instrucaiones>: Jelse if () { ; jelses : Problema 26 Enunciado: A ingresar un niimero entre 1 y 4 devolver la estacién del ao de acuerdo a la siguiente tabla. ‘Numero Estacion 2 Verano. 2 Otofio 3 Invierno a Primavera ‘Andlisis: Para la solucién de este problema, se req ‘lates realice el procazo para develver la ectacién, Entrada Salida + Namero (n) * Estacién (e). fe que el usuario ingrese un numero entero y el om ees -o)| Algoritmo: scl wit f/Variebles & Risers ni: Entero //Bntreda as 7] //Proceso: a eu — @ — “oTono” bf a Ye » ne Becribir o Codificaci usiig systeny class Problema2é { static void Main(string[] args) ‘ /Plarlables int nr string a="; //entrada Console.Write (Numero: “); nm = int,Parse(Console.ReadLine(}1; J {Proceso switch (n) “ case 1: © = “VERANO”; break; case 2 = *orono”: break; case 2: @ = “INVIERNO"; breaks PRIMAVERA"; : break; //saliaa Console. Weiterine (%); Console.WriteLine("Estacion: ~ + €); Console ReadLine () Problema 27 Enunciado: Dado un niimero entero de un digito (0 al 9), devolver el ntimera en letras, Anélisis: Para la solucién de este problema, se req re que el usuario ingrese un ndmero entero y el sistema verifica y devuelve ol nimero en letras. Entrada fa © Namero (n) © Resultado (r) Disefio: Intertaz de Usuario Diagrama de Flujo BT Estero Lt cadena Teer A ie"ernco" 1. neers" L-"ocHO" 1 NUEVE" Algoritmo Pseudocodigo Inicio /Naziables sntero 1 + cadena //entrada Leer n (fexoveso En Caso que n Sea caso 0 1 = SCHRO” caso 1 = vuNo” caso 2 1 = nos caso 3 Je SBS" caso 4 1 = “CUATRO” cane § 1 = “cINCO" caso 6 1 = “sErs” caso 7 a= “sere” case & 1 = *ocHo” caso 7 1 ~ “NUEVE" rin caso J {Salida Escribir 1 Fin ~ Codifieacién, using Syeteny \ tlaes Problena2? ‘ Bs gtetic void Main (string!) aras) f Livariables inten a string i="; ~ jfantrada Consoie.Wirite (*umero: ™); 2 n= int.Parse (Console. ReadLine ()}7 es /fProceso Seiten fn) case 0 es 1 = “CERO”; Becaky es case 1: 1 sono", if break; pase 7 i: v2 »pos"; Break LE case 3: 2 = “URES”; e break; case 4 “i 1 = “CUATRO” break; iB case 5! 1 = scrnco"; = Break; case 6: ca a= santo, break; fay ass 7 1 = “SIETE"; = Ieeales case 6 A = “acHo"; beaks 4 case. 2 = “NEVE”; H break; ' 2 (eyauiaa s Conscle.writeLine(™”); Guisule:WelteLine (Letra: * + 1); cs , Gonsale:Readbine (7 ~. 2 Problema 28 _ Ehunciady; Dady dos nameres enteros y un operador +, ~ * y /, devolver fa operacion de los dos ‘nimeros segun el operador ingresado, considere que si el segundo nimero es cero v el operador es /, no ~_esdivisible con el primer niimero, entonces devolver como resultado 0. Andlisis: Para la solucién de este problema, se requiere que el usuario ingrese un operador y dos ~ _niimmeros y el sistema verifica que operacién debe realizar y devuelve el resultado de la operacién. entrada + Operader (op), + Ndmero (ni y n2). Dire’ Salida = Retultade (+) Interfaz de Usuario Diagrama de Flujo op + Garacter n2, x: Entero (eer ob) By 8 Gs) Algoritmo Pseudocodigo Inicio /Waxiables op : Caracter nl, n2, r : Entero (/Buteeda Leer op, ni, n2 J/Proceso En Caso gue op Soa caso ‘+ renl+n2 caso‘! megan — il caso ‘* real *n2 caso ‘/* Si n2 <> 0 Entonces ren +n2 siNo r-o Fin Sin Fin Caso / [Salida Rscribir Fin Codificacién: ubing System) class Fropienaze ce static void Main(stringl| args) ( (Mariables int nl, 92, r= 02 char op; //Bntrada Console Write (“Operacion: *); op = char. Parse (Console.ReadLine()}; Console.Write ("Numero 1: “); nl = int.Parse(Console,ReadLine()); Console.Write ("Numero 2: %): 1? = int Parse (Pananie Reali ine ()) 7 / {Proceso if (op = *4") ( rend + n2; } else if (op == %=/) rent = ne: else if (op -= **") { rem * nz; ) alse if (op ey if (n2 != 0) rent / nd; else E07 ) Salida Console.WriteLine(™”); Console. friteLine(*Resultado: * + 1); Console ReadLine() + Problema 29 Enunciado. Dado una letia deter i Analisis; Para la solucién de este problema, se requiere que el usuario ingrese una letra |, luego el sistema analiza y determine si es une voce Entrada Salida + Letra (I) + Resultado (1 Disefio: Diagrama de Flujo Gnicio) 1 Garac ri Cadena fr-rno Es vorat"| Algoritmo, Pseudocodigo inicio /WNariables 1: Caracter 2: Cadena /fentrada Leer 1 //Px0ceso $i 1 = ‘a’ 01 = ‘A’ Entonces r ~ YES VOCAL” siNosi 1 = ‘e! 0.1 = ‘E! Entonccs r+ “ES VOCAL” SiNoSi 1 = ‘i’ 0.1 = ‘I’ Entonces r «YES VOCAL” einige 1 - tof 0.1 ~ ‘0 Entencce r ~ “ES VOCAL” SiNoSi 1 = ‘u’ 01 r+ "ES VOCAL” sino r = NO ES VOCAL” Fin si ‘a’ Entonces J/saiida Escribir x rin icacién: - using system; class Problema29 on A static void Main(string!] ards) { i fvariables es char 1: string © a //antrada Console,Write(*Letra: “); 1 = char. Parse (Console. ReadLine()); : //Peoceso if qa a else if (1 == Tt y= "ES VOCAL else if (1 == 14" a x = “ES VOCAL”; A ease le (1 == cy? |) P07) x = “ES VOCAL"; A else if (1 == ‘uy’ |/ A y= "HS VOUAL"; else 5 x = *NO ES VOCAL"; E (Salida Console .tiritebine(**); Uonsole.ritenine(~Kesuitado: ~ + 1); rn Console.ReadLine() Tt ) : Problema 30 ~ Enunciado: Al ingresar el ndmero de un mes, devolver la estacién del afio de acuerdo a la siguiente tabla, i Mes Estacion, a 123 Verano 456 Otohio 7 789) Invierno a 10,11,12 Primavera Andi el sistema verifica y determine la estacién. Entrada Salida = Mes (m). + Estacién (e). Disefto: Interfaz de Usuario Pe 51>) Algoritmo @ : Cadena //Naxiables m: Entero Lama @ + Cadena = J /antzede aati. Leer m “vERaNO” |————n //2roceso a En Cao que m Soa an-6}Y Caso 1,2,3 1 © + “VERANO” eee Caso 4,5,6 a ©. “orono” 78,9} Caso 7,8,9 ~ “INVIERNO” (aso 10, 11,12 a 2 — “PRIMAVERA” fon aay linia le [e-*pRrmavera” | +) //salida Racribir e Escribir e mat Pera la solucidn de este problema, se vequicre yue el usuatiy ingest el dinery del mie, luego ~ ~Godificaciin > using Systear 7 igints Brotlienass i - static void Main (string[] args) - dfyaviavies She ms string e =“; (fentrade Gonsole.Write ("Mes: *); mt int :Parse (Console -Aeadbine ()); /fPxoseso - switch (m) t r case 1: case 2 ms case ‘© = “VERANO”; break; case 4: a case 5: case 6: a ‘e = “oTono”; break; ease T case + case 9: © — “INVIERNO"; break; zm vase 10. base 11: a case 12 @ = “PRIMAVERA? n Dieak; ) Salida ConsvdesWeiLeplae(""); Console WriteLine(*Estacion: “ + e a Console ReadLine () + ~ Problema 31 ~ Enunciado: Dado la nota promedio de un alumno, ebtencr le eategoria, segin la siguiente table - Promedio Categoria a Entre 05 Pésimo a Entre 6 ¥ 10) Malo) r Entre 11¥ 14 Regular 4 Entre 15 ¥ 17 Bueno 7 Entre 18 y 20 Excelente ‘Analisis: Para la solucion de este problema, se requlere que el usuario ingrese el promedio, Iuego el ~ Sistema verifique y dewuelva la categoria Entrada * Promedio (). Disefio: Salida + Categoria (c). Interfaz de Usuario Diagrama de Flujo Pp: Céracter 5: Cadena Pseudocodigo ((vartapies Po: Entera © : Cadena (/antrada leer p //Proceso SL p = 01 p< 5 Mulvuces c + “BESINO” SiNoSi p >= 6 Y p <= 10 Entonces c+ “MALO” SiNoSi p >= 11 ¥ p © 14 Bntonces c + “REGULAR” SiNoSi p >= 15 Y p cc ~ “BUENO” SANGO’ p >= 10 ¥ p< 20 Entonces © + “EXCELENTE” Fin Si 17 Entonces (Jsalida Escribir ¢ vin ~ Codificacién: using System class vroblema3i static void Main(string[] args) { /fMexiables int pr string ¢ = "77 j/entrada Console.Wrate (*Promedio: “); p ~ int.Parse(Console.ReadLine()}; Liprocese Af (p >= 0 && p <= 5) { ¢ = *PRSINO"; ) else if (p 11 as pce 1a) 2 = “RECUEAR”; else Lt (p 15 4 p = 17) © = “BUENO”; dise if (p >> 38 eo p & 20) c= “EXCELENTE”; (Salida Console.Writebine(™”); Console WriteLine(*Cateqoria: “ + 0); Console. ReadLine(); Problema 32 Enunciado: Al ingresar el dia y el numero de un mes, devolver la estacién del afto de acuerdo a la siguiente tabla, Estacién Tiempo Verano Del 21 de Diciembre al 20 de Marzo toro Del 21 de Marzo al 23 de Junio Tnvierno Del 22 de Junio al 22 de Septiembre Primavera ‘Del 23 de Septiembre al 20 de Diciembre ‘Analisis: Para la suludon Ue este prubleine, 9 eyuiere que el usuario ingrese el die y el mes, luego el sistema verifica y devuelve la estacién. Entrada = Dia(d). © Mes (m). Disefi Salida + Estacion (e) Interfaz de Usuario

You might also like