Unmsm05 2008

533 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
533
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
451
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Unmsm05 2008

  1. 1. FACULTAD DE INGENIERÍA INDUSTRIAL <br />INFORMÁTICA<br /> Ing. Mónica Díaz Reátegui CIP. 63424<br /> monicdre@yahoo.com<br />
  2. 2. CONTENIDO<br />ESTRUCTURA <br />SELECTIVAS MÚLTIPLES<br />
  3. 3. ESTRUCTURA SELECTIVAS MÚLTIPLES<br />ESTRUCTURA SELECTIVA MÚLTIPLE<br />En la solución de problemas existe casos en que más de dos instrucciones tienen que ser ejecutadas en función al resultado de evaluar una condición en una estructura selectiva. Una primera forma de afrontarlo es a través de if anidados, pero existe otra forma de organizarlos en forma más ordenada.<br />Esta estructura es: En Caso ….. Sea…… Hacer<br /> <br />
  4. 4. ESTRUCTURA SELECTIVAS MÚLTIPLES<br />En C++ la forma de afrontar esta estructura tiene una variación con respecto a las estructuras en otros lenguajes. <br /> <br />En C ++ la estructura se aborda evaluando cada caso con un valor ordinal es decir un carácter o entero.<br /> <br />
  5. 5. ESTRUCTURA SELECTIVAS MÚLTIPLES<br />Representación de la estructuras En caso con las diferentes herramientas para construir algoritmos:<br /> <br />En un diagrama de flujo:<br />Donde:<br />id es el nombre de una variable de tipo ordinal (entero o carácter)<br />vi es una constante de tipo ordinal.<br />
  6. 6. ESTRUCTURA SELECTIVAS MÚLTIPLES<br />En una carta N-S<br />
  7. 7. ESTRUCTURA SELECTIVAS MÚLTIPLES<br />En Pseudo código<br /> <br />En Caso N<br /> <br />Sea 1 : Instrucción [ Salir]<br />Sea 2 : Instrucción [ Salir]<br />Sea 3 : Instrucción [ Salir]<br /> <br /> <br />O si no : <br />Instrucción<br /> <br />Fin del En caso <br />
  8. 8. ESTRUCTURA SELECTIVAS MÚLTIPLES<br />Estructura &quot;switch&quot; <br />La estructura switch es una estructura de control selectiva múltiple que tienes por función transferir el flujo de ejecución por las diferentes entradas que proporciona la palabra reservada case y a partir de allí ejecuta las instrucciones hasta el final del bloque salvo que encuentre la instrucción de corte break.<br />
  9. 9. ESTRUCTURA SELECTIVAS MÚLTIPLES<br />Sintaxis:<br />Cuando se usa la estructura &quot;switch&quot; el control se transfiere al punto etiquetado con el &quot;case&quot; cuya expresión constante coincida con el valor de la variable del &quot;switch&quot;. A partir de ese punto todas las instrucciones serán ejecutadas hasta el final del &quot;switch&quot;, es decir hasta llegar al &quot;}&quot;. <br />
  10. 10. ESTRUCTURA SELECTIVAS MÚLTIPLES<br />Esto es así porque las etiquetas sólo marcan los puntos de entrada después de una ruptura de la secuencia de ejecución, pero no marcan las salidas. <br />Esta característica nos permite ejecutar las mismas instrucciones para varias etiquetas distintas, y se puede eludir usando la sentencia de ruptura &quot;break&quot; al final de las sentencias incluidas en cada &quot;case&quot;. <br />Si no se satisface ningún &quot;case&quot;, el control parará a la siguiente sentencia después de la etiqueta &quot;default&quot;. Esta etiqueta es opcional y si no aparece se abandonará el &quot;switch&quot;. <br />
  11. 11. ESTRUCTURA SELECTIVAS MÚLTIPLES<br />COMPORTAMIENTO DEL switch CON EL break<br />El siguiente fragmento de programa esta presentado de cuatro formas diferentes :<br />
  12. 12. ESTRUCTURA SELECTIVAS MÚLTIPLES<br />
  13. 13. ESTRUCTURA SELECTIVAS MÚLTIPLES<br />
  14. 14. ESTRUCTURA SELECTIVAS MÚLTIPLES<br />Ejemplo 1<br />A partir de una nota vigesimal mostrar su equivalente a caracteres<br />
  15. 15. ESTRUCTURA SELECTIVAS MÚLTIPLES<br />Análisis<br />
  16. 16. ESTRUCTURA SELECTIVAS MÚLTIPLES<br />Algoritmo : Diagrama de flujo<br />
  17. 17. ESTRUCTURA SELECTIVAS MÚLTIPLES<br /> En código C++<br /> #include &lt;iostream&gt;<br />using namespace std;<br />int main() {<br />int N;<br />cout &lt;&lt; “Ingreseuna nota”;<br />cin&gt;&gt;N,T;<br /> switch (N) {<br /> case 18:<br /> case 19:<br /> case 20: T=”A”; break;<br /> case 15: case 16: case 17: T=”B”; break;<br /> case 11: case 12: case 13: case 14: T=”C”; break;<br /> case 6: case 7: case 8: case 9: case 10: T=”D”; break;<br /> case 0: case 1: case 2: case 3: case 4: case 5: T=”E”; <br />}<br />cout&lt;&lt; T;<br />return 0;<br />}<br />
  18. 18. ESTRUCTURA SELECTIVAS MÚLTIPLES<br />Ejemplo 2<br /> <br />En este ejemplo letra es una variable de tipo &quot;char&quot;. Si el valor de entrada en el &quot;switch&quot; corresponde a una vocal, Se mostrará el mensaje “Es vocal abierta”,o “Es vocal cerrada”, en caso contrario, saldrá un mensaje “Es consonante”. <br />
  19. 19. ESTRUCTURA SELECTIVAS MÚLTIPLES<br />Algoritmo: Cartas N-S<br />
  20. 20. ESTRUCTURA SELECTIVAS MÚLTIPLES<br />En código C++<br /> #include &lt;iostream&gt;<br />using namespace std;<br />int main() {<br />int N;<br />cout &lt;&lt; “Ingreseuna nota”;<br />cin&gt;&gt;N;<br /> switch(letra) { case &apos;a&apos;: case ‘A’: <br /> case &apos;e&apos;: case ‘E’: <br /> case &apos;o&apos;: case ‘O’: cout&lt;&lt; “Es vocal abierta”; break; <br /> case &apos;i&apos;: case ‘I’: <br /> case &apos;u&apos;: case ‘U’: <br />cout&lt;&lt; “Es vocal cerrada”; break;<br />default: <br />cout&lt;&lt; “es una consonante”; } <br />return 0;<br />}<br />
  21. 21. ESTRUCTURA SELECTIVAS MÚLTIPLES<br />El ejemplo ilustra el uso del &quot;break&quot;, si letra es &apos;a&apos;, se cumple el primer &quot;case&quot;, y la ejecución continúa en la siguiente sentencia, ignorando el resto de los &quot;case&quot; hasta el &quot;break&quot;.<br />Ejemplo 3<br />En este ejemplo num es un entero y va ha mostrar el texto correspondiente al día de la semana, debe validar los días válidos.<br /> <br />
  22. 22. ESTRUCTURA SELECTIVAS MÚLTIPLES<br />Algoritmo: Pseudocódigo<br /> Inicio<br />Leer num<br />Si (num&gt;=1 Y num&lt;=7)<br /> <br /> En caso (num)<br /> Sea 1: Escribir “Domingo” , Salir<br /> Sea 2: Escribir “Lunes” , Salir<br /> Sea 3: Escribir “Martes” , Salir<br /> Sea 4: Escribir “Miércoles” , Salir<br /> Sea 5: Escribir “Jueves” , Salir<br /> Sea 6: Escribir “Viernes” , Salir<br /> Sea 7: Escribir “Sábado” , <br /> Fin del en caso<br /> O si no<br /> Escribir “No es un número válido”<br /> Fin del si <br />Fin<br />
  23. 23. ESTRUCTURA SELECTIVAS MÚLTIPLES<br />En código C++<br /> #include &lt;iostream&gt;<br />using namespace std;<br />intmain() {<br />int N;<br />cout &lt;&lt; “Ingrese una nota”;<br />cin&gt;&gt;num;<br />
  24. 24. ESTRUCTURA SELECTIVAS MÚLTIPLES<br />En código C++<br />if(num&gt;=1 && num&lt;=7)<br />switch(num) <br /> { <br />case 1: cout&lt;&lt; “Domingo”; break; <br />case 2: cout&lt;&lt; “Lunes”; break; <br />case 3: cout&lt;&lt; “Martes”; break; <br />case 4: cout&lt;&lt; “Miercoles”; break; <br />case 5: cout&lt;&lt; “Jueves”; break; <br />case 6: cout&lt;&lt; “Viernes”; break; <br />case 7: cout&lt;&lt; “Sabado”; <br />} <br />else<br />cout&lt;&lt; “No es un número válido”;<br />return 0; <br />
  25. 25. ESTRUCTURA SELECTIVAS MÚLTIPLES<br />#include &lt;iostream&gt;<br />#include &lt;stdlib.h&gt;<br />using namespace std;<br />int main()<br />{<br />float CON, DES=0,MON;<br /> cout &lt;&lt; &quot;Ingreseconsumo&quot;;<br />cin&gt;&gt; CON;<br />if ( CON&gt;50)<br /> DES=CON*0.05;<br /> MON=CON-DES;<br />cout&lt;&lt;&quot;El monto a pagar es &quot;&lt;&lt;MON&lt;&lt;endl;<br /> <br />system(&quot;PAUSE&quot;);<br /> return 0;<br />}<br />

×