SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
TRABAJO DE ELECTIVA LIBRE II
                LINUX




                  CASE




              MARTA DAVID


         JORGE ARMANDO YEPEZ




                 TUTOR:
           Juan Manuel Muskus




       UNIVERSIDAD DE CORDOBA
FACULTAD DE CIENCIAS BASICAS E INGENIERIA
        INGENIERIA DE SISTEMAS
                SAHAGUN
                  2011
INTRODUCCIÓN




Algunas veces resulta de gran ayuda, desde el punto de vista de eficiencias y
facilidad de lectura de un programa, tener alguna forma de expresar una
desviación del flujo de control hacia múltiples procesos en función del resultado
de la evaluación de un predicado; usualmente, a la estructura de control que
satisface el requerimiento anterior, se le denomina la estructura CASE. En
general, case se considera una evolución de if fi, ya que permite el mismo
resultado, escribiendo menos código.
Objetivos




•   Conocer la estructura y funcionamiento del case




•   Conocer las ventajas que ofrece esta sentencia selectiva.




•   saber manejar el control de flujo de nuestro algoritmo.
CASE



Es una estructura de control empleada en programación, a la que pertenecen
otras estructuras como el if, if else o until, entre otras, así como combinaciones
propias de determinados lenguajes de programación.

El case no es tan popular como el if, pero se utiliza con regularidad en la
programación. La estructura de evaluación múltiple (case) evaluara una
expresión que podrá tomar n valores distintos, 1,2...n según se elija uno de
estos valores en la condición, se realizara una de las n acciones o lo que es
igual, el flujo del algoritmo seguirá un determinado camino entre los n posibles

Esta forma es muy útil cuando se tiene que elegir entre más de dos opciones,
por lo que le llamaremos forma de selección múltiple.

En programación muchas veces es necesario comprobar el valor de una
variable con case y validar si coincide con algún valor ingresado. Esto es
posible solucionarlo con el if pero cuando son muchas posibles opciones a
evaluar es mejor la ayuda del case, evitando escribir tantos if

Por ejemplo, si es necesario ejecutar una de cien rutinas diferentes en función
del valor de un código de 2 dígitos, podemos representar este proceso
mediante 100 estructuras IF, sin embargo el sentido común nos induce a
pensar que no hay razón para adherirnos rígidamente a las tres estructuras
básicas de control y en lugar de 100 IF usaríamos la estructura CASE, esta
estructura utiliza el valor de una variable para determinar cual, de varias
rutinas, será ejecutada.



La siguiente figura representa la selección múltiple:
Su funcionamiento es el siguiente:


       •    Se mira si el valor del selector aparece en alguna de las listas de
            constantes.


       •    Si aparece, entonces se ejecuta la sentencia correspondiente



       •    Si no aparece el valor del selector entonces no se hace nada




Estructura de uso es la siguiente:

#bin/bin/bash

Case $nombre_variable in
 Valor_uno)
       Instrucción
       Instrucción
       ;;
  Valor_dos)
       Instrucción
       Instrucción
       ;;

  Valor_tres)
      Instrucción
      Instrucción
      ;;

  *)
           Instrucción
           Instrucción
           ;;
esac
•    En la línea 3 Case $nombre_variable in se evalúa dicha opción y
          dependiendo cual sea el caso ejecuta las instrucciones necesarias es
          cogiendo uno de los posibles valores en este caso los que aparecen en
          las siguientes líneas (4, 8,12).


     •    En la línea 15 la opción *) aparea con cualquier cadena, por lo que actúa
          como "en otro caso"; es útil para dar instrucciones sobre el uso del
          comando.

     •    El doble punto y coma (;;) se utiliza para indicar que hasta ahí llega una
          sentencia y da paso a la siguiente.

     •    El esac no es más que case escrito al revés y se utiliza para el cierre de
          la estructura y funciona como el ya reconocido (end.) en programación.




Para entender mejor el funcionamiento del case escribimos un script que
contiene una lista de opciones y dependiendo escogidas en el programa
ejecutara las instrucciones especificadas. El código del script es el siguiente:


#!/bin/bash

Echo “ MENU DE OPCIONES ”

Echo “ 1 abrir el editor de texto ”
Echo “ 2 listar ficheros del directorio actual ”
Echo “ 3 mostrar saludo de bienvenida ”
Echo “ 4 salir del programa ”

Echo “ selecciona una opción ”
Read op

Case $op

1)
         gedit
         exit 0
         ;;
2)
         ls-l
         exit 0
         ;;

3)
     Saludo.sh
exit 0
     ;;
4)
     exit 0
     ;;
*)
     echo “ No seleccionó ninguna opción ”
     exit 1
     ;;

esac


     •   Desde la línea dos hasta la ocho son comentarios que me mostrará la
         apariencia de nuestro programa cuando se ejecute.

     •   La línea 9 (read op), permite capturar el valor de la opción a evaluar en
         el case.

     •   En la línea 11 (case $op In), se evalúa dicha opción y dependiendo
         cual sea el caso que se quiere se ejecutara la instrucciones necesarias.

     •   Si se toma la opción 1 se ejecutara la líneas 13 y 14 y se abrirá el editor
         de texto del entorno genome.

     •   Si se toma la opción 2 se ejecutara las líneas 17 y 18 y se listaran los
         ficheros del directorio actual.

     •   Si se toma la opción 3 se ejecutara las líneas 21 y 22 se abre el
         programa saludo.sh (el cual es un script que ya debe de estar echo).

     •   Si se toma la opción 4 se ejecutara las líneas 25 y 26 y se sale del
         programa.

     •   Si no se escogió ninguna opción valida se ejecutara las líneas 28 y 29.
Ejercicio:
#!/bin/bash
case $# in #con este case validamos que el numero de parametros sea correcto

 2) #nos interesan dos casos que sean dos parametros o que no lo sean
   # Aquí vemos si el numero de parámetros es 2

         echo "digita dos valores";

         echo "presiona 1 para sumar";
         echo "presiona 2 para restar";
         echo "presiona 3 para multiplicar";
         echo "presiona 4 para dividir";
         echo "presiona 5 para obtener modulo o resto ";
         echo "presiona 6 para reiniciar";
         echo "presiona 7 para salir";

         read orden; # Aquí de damos la orden para que lea la opción desde el teclado

         case $orden in

             1)
             suma=`expr $1 + $2`
             echo "la suma es $suma"
             ;;
        2)
             resta=`expr $1 - $2`
             echo "la resta es $resta"
             ;;
       3)
             multiplicación=`expr $1 * $2`
             echo "la multiplicacion $multiplicacion"
             ;;
       4)
             dividir=`expr $1 / $2`
             echo "la division $dividir"
             ;;
       5)
             modulo=`expr $1 % $2`
             echo "el resto es $modulo"
             ;;

       6)
             echo "Reiniciando...."
             sleep 3
             ./prueba.sh
              ;;
       7)
           echo "Saliendo...."
           sleep 2
           exit 0
            ;;
       *) echo "No ha seleccionado nada"

       esac
   ;;
*) echo "parametros incorrectos" # vemos cualquier otro caso

Esac
BIBLIOGRAFIA

Más contenido relacionado

La actualidad más candente

Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de controlparada137
 
ESTRUCTURA DE CONTROLYoselyn garcia trabajo
ESTRUCTURA DE CONTROLYoselyn garcia trabajoESTRUCTURA DE CONTROLYoselyn garcia trabajo
ESTRUCTURA DE CONTROLYoselyn garcia trabajoDANNYOSE
 
Estructuras De Control
Estructuras De ControlEstructuras De Control
Estructuras De ControlUPS
 
Unidad 2
Unidad 2Unidad 2
Unidad 2UTP, TA
 
4. estructuras selectivas
4. estructuras selectivas4. estructuras selectivas
4. estructuras selectivasmartell024
 
Estructura de control for
Estructura de control  forEstructura de control  for
Estructura de control forGerado Vazquez
 
Instrucciones de control repetitivas
Instrucciones de control repetitivasInstrucciones de control repetitivas
Instrucciones de control repetitivasAbrirllave
 
Estructuras de repetición en programacion
Estructuras de repetición en programacionEstructuras de repetición en programacion
Estructuras de repetición en programacionSERCOMPFAST
 
Estructuras de seleccion anidadas
Estructuras de seleccion anidadasEstructuras de seleccion anidadas
Estructuras de seleccion anidadasUVM
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Javaquesada_diego
 
Curso php - capitulo 2
Curso php - capitulo 2Curso php - capitulo 2
Curso php - capitulo 2yanburbano
 
Sentencias de Programacion
Sentencias de ProgramacionSentencias de Programacion
Sentencias de Programacionaeroscar90
 
Ejemplo C++
Ejemplo C++Ejemplo C++
Ejemplo C++David
 
2,1 elementos de java script
2,1 elementos de java script2,1 elementos de java script
2,1 elementos de java scriptCronio Antmao
 
Estructuras Selectivas y Repetitivas en C++
Estructuras Selectivas y Repetitivas en C++Estructuras Selectivas y Repetitivas en C++
Estructuras Selectivas y Repetitivas en C++ncrmax
 

La actualidad más candente (20)

Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
ESTRUCTURA DE CONTROLYoselyn garcia trabajo
ESTRUCTURA DE CONTROLYoselyn garcia trabajoESTRUCTURA DE CONTROLYoselyn garcia trabajo
ESTRUCTURA DE CONTROLYoselyn garcia trabajo
 
Estructuras De Control
Estructuras De ControlEstructuras De Control
Estructuras De Control
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Diagramas De Flujo
Diagramas De FlujoDiagramas De Flujo
Diagramas De Flujo
 
Estructura switch case
Estructura switch caseEstructura switch case
Estructura switch case
 
4. estructuras selectivas
4. estructuras selectivas4. estructuras selectivas
4. estructuras selectivas
 
Los 100 fuegos
Los 100 fuegosLos 100 fuegos
Los 100 fuegos
 
Estructura de control for
Estructura de control  forEstructura de control  for
Estructura de control for
 
Instrucciones de control repetitivas
Instrucciones de control repetitivasInstrucciones de control repetitivas
Instrucciones de control repetitivas
 
Estructuras de repetición en programacion
Estructuras de repetición en programacionEstructuras de repetición en programacion
Estructuras de repetición en programacion
 
Estructuras de seleccion anidadas
Estructuras de seleccion anidadasEstructuras de seleccion anidadas
Estructuras de seleccion anidadas
 
Clase 6
Clase 6Clase 6
Clase 6
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
 
Curso php - capitulo 2
Curso php - capitulo 2Curso php - capitulo 2
Curso php - capitulo 2
 
Sentencias de Programacion
Sentencias de ProgramacionSentencias de Programacion
Sentencias de Programacion
 
Ejemplo C++
Ejemplo C++Ejemplo C++
Ejemplo C++
 
2,1 elementos de java script
2,1 elementos de java script2,1 elementos de java script
2,1 elementos de java script
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Estructuras Selectivas y Repetitivas en C++
Estructuras Selectivas y Repetitivas en C++Estructuras Selectivas y Repetitivas en C++
Estructuras Selectivas y Repetitivas en C++
 

Destacado

Dia del amor y la amistad
Dia del amor y la amistadDia del amor y la amistad
Dia del amor y la amistadgomezkevin
 
Cultura, sociedad y comunicación digital
Cultura, sociedad y comunicación digitalCultura, sociedad y comunicación digital
Cultura, sociedad y comunicación digitalTMSHADOW
 
Plataformas Educativas ULA
Plataformas Educativas ULAPlataformas Educativas ULA
Plataformas Educativas ULAsoniamogollon
 
Conclusiones concejo nacional ampliado
Conclusiones concejo nacional ampliadoConclusiones concejo nacional ampliado
Conclusiones concejo nacional ampliadovidasindical
 
PRESENTACION POWER POINT BONO DE RETIRO ASAMBLEA EXTRAORDINARIA ANEF 30 JULIO...
PRESENTACION POWER POINT BONO DE RETIRO ASAMBLEA EXTRAORDINARIA ANEF 30 JULIO...PRESENTACION POWER POINT BONO DE RETIRO ASAMBLEA EXTRAORDINARIA ANEF 30 JULIO...
PRESENTACION POWER POINT BONO DE RETIRO ASAMBLEA EXTRAORDINARIA ANEF 30 JULIO...vidasindical
 
LA ANEF Y LA REFORMA AL SISTEMA PREVISIONAL CHILENO
LA ANEF Y LA REFORMA AL SISTEMA PREVISIONAL CHILENOLA ANEF Y LA REFORMA AL SISTEMA PREVISIONAL CHILENO
LA ANEF Y LA REFORMA AL SISTEMA PREVISIONAL CHILENOvidasindical
 
Carta abierta al gobierno militares de chile
Carta abierta al gobierno militares de chileCarta abierta al gobierno militares de chile
Carta abierta al gobierno militares de chilecircochileno
 
Proyecto Mushroombar
Proyecto MushroombarProyecto Mushroombar
Proyecto MushroombarMushroombar
 
Oficio circular 02 (14.01.14)
Oficio circular 02 (14.01.14)Oficio circular 02 (14.01.14)
Oficio circular 02 (14.01.14)vidasindical
 
Programas dfd ejercicios clase
Programas dfd ejercicios claseProgramas dfd ejercicios clase
Programas dfd ejercicios claseAndres Felipe
 

Destacado (20)

Viaje masivo
Viaje masivoViaje masivo
Viaje masivo
 
Dia del amor y la amistad
Dia del amor y la amistadDia del amor y la amistad
Dia del amor y la amistad
 
Internet
InternetInternet
Internet
 
Cultura, sociedad y comunicación digital
Cultura, sociedad y comunicación digitalCultura, sociedad y comunicación digital
Cultura, sociedad y comunicación digital
 
Cómo crear contraseñas seguras
Cómo crear contraseñas segurasCómo crear contraseñas seguras
Cómo crear contraseñas seguras
 
Word
WordWord
Word
 
GLONASS versus GPS
GLONASS versus GPSGLONASS versus GPS
GLONASS versus GPS
 
Equipo grupo
Equipo grupoEquipo grupo
Equipo grupo
 
Plataformas Educativas ULA
Plataformas Educativas ULAPlataformas Educativas ULA
Plataformas Educativas ULA
 
Conclusiones concejo nacional ampliado
Conclusiones concejo nacional ampliadoConclusiones concejo nacional ampliado
Conclusiones concejo nacional ampliado
 
PRESENTACION POWER POINT BONO DE RETIRO ASAMBLEA EXTRAORDINARIA ANEF 30 JULIO...
PRESENTACION POWER POINT BONO DE RETIRO ASAMBLEA EXTRAORDINARIA ANEF 30 JULIO...PRESENTACION POWER POINT BONO DE RETIRO ASAMBLEA EXTRAORDINARIA ANEF 30 JULIO...
PRESENTACION POWER POINT BONO DE RETIRO ASAMBLEA EXTRAORDINARIA ANEF 30 JULIO...
 
LA ANEF Y LA REFORMA AL SISTEMA PREVISIONAL CHILENO
LA ANEF Y LA REFORMA AL SISTEMA PREVISIONAL CHILENOLA ANEF Y LA REFORMA AL SISTEMA PREVISIONAL CHILENO
LA ANEF Y LA REFORMA AL SISTEMA PREVISIONAL CHILENO
 
MediatónGDL: un maratón para desarrollar aplicaciones para periodistas
MediatónGDL: un maratón para desarrollar aplicaciones para periodistasMediatónGDL: un maratón para desarrollar aplicaciones para periodistas
MediatónGDL: un maratón para desarrollar aplicaciones para periodistas
 
Fondos de incentivo_cultural_2010
Fondos de incentivo_cultural_2010Fondos de incentivo_cultural_2010
Fondos de incentivo_cultural_2010
 
Carta abierta al gobierno militares de chile
Carta abierta al gobierno militares de chileCarta abierta al gobierno militares de chile
Carta abierta al gobierno militares de chile
 
Proyecto Mushroombar
Proyecto MushroombarProyecto Mushroombar
Proyecto Mushroombar
 
Oficio circular 02 (14.01.14)
Oficio circular 02 (14.01.14)Oficio circular 02 (14.01.14)
Oficio circular 02 (14.01.14)
 
Cristina laverdeee
Cristina laverdeeeCristina laverdeee
Cristina laverdeee
 
Programas dfd ejercicios clase
Programas dfd ejercicios claseProgramas dfd ejercicios clase
Programas dfd ejercicios clase
 
Afro en el Taller Mouret
Afro en el Taller MouretAfro en el Taller Mouret
Afro en el Taller Mouret
 

Similar a Case Linux optimizado para

Shell script
Shell scriptShell script
Shell scriptuniminuto
 
Administracion de-sistemas-operativos apuntes-v2-4
Administracion de-sistemas-operativos apuntes-v2-4Administracion de-sistemas-operativos apuntes-v2-4
Administracion de-sistemas-operativos apuntes-v2-4Juan Timoteo Cori
 
Creacion de scripts en linux
Creacion de scripts en linuxCreacion de scripts en linux
Creacion de scripts en linuxGabriel Calderon
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de controlFernando Solis
 
Jyoc java-cap21 jse avanzado
Jyoc java-cap21 jse avanzadoJyoc java-cap21 jse avanzado
Jyoc java-cap21 jse avanzadoJyoc X
 
Js control de flujo
Js control de flujoJs control de flujo
Js control de flujoFERNANDOZ9
 
Instrucciones basicas-para-c++
Instrucciones basicas-para-c++Instrucciones basicas-para-c++
Instrucciones basicas-para-c++andreadelacruz002
 
Instrucciones basicas-para-c-autoguardado
Instrucciones basicas-para-c-autoguardadoInstrucciones basicas-para-c-autoguardado
Instrucciones basicas-para-c-autoguardadoandreadelacruz002
 
Instrucciones C++
Instrucciones C++Instrucciones C++
Instrucciones C++grachika
 
Resumen Java Script
Resumen Java ScriptResumen Java Script
Resumen Java Scriptjlgomezri
 
Administración básica de ubuntu server parte 3
Administración básica de ubuntu server   parte 3Administración básica de ubuntu server   parte 3
Administración básica de ubuntu server parte 3Santiago Márquez Solís
 
Estructuras de control de flujo
Estructuras de control de flujoEstructuras de control de flujo
Estructuras de control de flujoAliandroMejias
 

Similar a Case Linux optimizado para (20)

4072954.ppt
4072954.ppt4072954.ppt
4072954.ppt
 
Shell script
Shell scriptShell script
Shell script
 
Administracion de-sistemas-operativos apuntes-v2-4
Administracion de-sistemas-operativos apuntes-v2-4Administracion de-sistemas-operativos apuntes-v2-4
Administracion de-sistemas-operativos apuntes-v2-4
 
Creacion de scripts en linux
Creacion de scripts en linuxCreacion de scripts en linux
Creacion de scripts en linux
 
Introducción a java
Introducción a javaIntroducción a java
Introducción a java
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Jyoc java-cap21 jse avanzado
Jyoc java-cap21 jse avanzadoJyoc java-cap21 jse avanzado
Jyoc java-cap21 jse avanzado
 
Js control de flujo
Js control de flujoJs control de flujo
Js control de flujo
 
Perl4 io
Perl4 ioPerl4 io
Perl4 io
 
Diapositiva
DiapositivaDiapositiva
Diapositiva
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
 
Documeto compilardorcontadorletras
Documeto compilardorcontadorletrasDocumeto compilardorcontadorletras
Documeto compilardorcontadorletras
 
Instrucciones basicas-para-c++
Instrucciones basicas-para-c++Instrucciones basicas-para-c++
Instrucciones basicas-para-c++
 
Instrucciones basicas-para-c-autoguardado
Instrucciones basicas-para-c-autoguardadoInstrucciones basicas-para-c-autoguardado
Instrucciones basicas-para-c-autoguardado
 
Instrucciones C++
Instrucciones C++Instrucciones C++
Instrucciones C++
 
Resumen Java Script
Resumen Java ScriptResumen Java Script
Resumen Java Script
 
Administración básica de ubuntu server parte 3
Administración básica de ubuntu server   parte 3Administración básica de ubuntu server   parte 3
Administración básica de ubuntu server parte 3
 
Estructuras de control de flujo
Estructuras de control de flujoEstructuras de control de flujo
Estructuras de control de flujo
 

Último

Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 

Último (20)

Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 

Case Linux optimizado para

  • 1. TRABAJO DE ELECTIVA LIBRE II LINUX CASE MARTA DAVID JORGE ARMANDO YEPEZ TUTOR: Juan Manuel Muskus UNIVERSIDAD DE CORDOBA FACULTAD DE CIENCIAS BASICAS E INGENIERIA INGENIERIA DE SISTEMAS SAHAGUN 2011
  • 2. INTRODUCCIÓN Algunas veces resulta de gran ayuda, desde el punto de vista de eficiencias y facilidad de lectura de un programa, tener alguna forma de expresar una desviación del flujo de control hacia múltiples procesos en función del resultado de la evaluación de un predicado; usualmente, a la estructura de control que satisface el requerimiento anterior, se le denomina la estructura CASE. En general, case se considera una evolución de if fi, ya que permite el mismo resultado, escribiendo menos código.
  • 3. Objetivos • Conocer la estructura y funcionamiento del case • Conocer las ventajas que ofrece esta sentencia selectiva. • saber manejar el control de flujo de nuestro algoritmo.
  • 4. CASE Es una estructura de control empleada en programación, a la que pertenecen otras estructuras como el if, if else o until, entre otras, así como combinaciones propias de determinados lenguajes de programación. El case no es tan popular como el if, pero se utiliza con regularidad en la programación. La estructura de evaluación múltiple (case) evaluara una expresión que podrá tomar n valores distintos, 1,2...n según se elija uno de estos valores en la condición, se realizara una de las n acciones o lo que es igual, el flujo del algoritmo seguirá un determinado camino entre los n posibles Esta forma es muy útil cuando se tiene que elegir entre más de dos opciones, por lo que le llamaremos forma de selección múltiple. En programación muchas veces es necesario comprobar el valor de una variable con case y validar si coincide con algún valor ingresado. Esto es posible solucionarlo con el if pero cuando son muchas posibles opciones a evaluar es mejor la ayuda del case, evitando escribir tantos if Por ejemplo, si es necesario ejecutar una de cien rutinas diferentes en función del valor de un código de 2 dígitos, podemos representar este proceso mediante 100 estructuras IF, sin embargo el sentido común nos induce a pensar que no hay razón para adherirnos rígidamente a las tres estructuras básicas de control y en lugar de 100 IF usaríamos la estructura CASE, esta estructura utiliza el valor de una variable para determinar cual, de varias rutinas, será ejecutada. La siguiente figura representa la selección múltiple:
  • 5. Su funcionamiento es el siguiente: • Se mira si el valor del selector aparece en alguna de las listas de constantes. • Si aparece, entonces se ejecuta la sentencia correspondiente • Si no aparece el valor del selector entonces no se hace nada Estructura de uso es la siguiente: #bin/bin/bash Case $nombre_variable in Valor_uno) Instrucción Instrucción ;; Valor_dos) Instrucción Instrucción ;; Valor_tres) Instrucción Instrucción ;; *) Instrucción Instrucción ;; esac
  • 6. En la línea 3 Case $nombre_variable in se evalúa dicha opción y dependiendo cual sea el caso ejecuta las instrucciones necesarias es cogiendo uno de los posibles valores en este caso los que aparecen en las siguientes líneas (4, 8,12). • En la línea 15 la opción *) aparea con cualquier cadena, por lo que actúa como "en otro caso"; es útil para dar instrucciones sobre el uso del comando. • El doble punto y coma (;;) se utiliza para indicar que hasta ahí llega una sentencia y da paso a la siguiente. • El esac no es más que case escrito al revés y se utiliza para el cierre de la estructura y funciona como el ya reconocido (end.) en programación. Para entender mejor el funcionamiento del case escribimos un script que contiene una lista de opciones y dependiendo escogidas en el programa ejecutara las instrucciones especificadas. El código del script es el siguiente: #!/bin/bash Echo “ MENU DE OPCIONES ” Echo “ 1 abrir el editor de texto ” Echo “ 2 listar ficheros del directorio actual ” Echo “ 3 mostrar saludo de bienvenida ” Echo “ 4 salir del programa ” Echo “ selecciona una opción ” Read op Case $op 1) gedit exit 0 ;; 2) ls-l exit 0 ;; 3) Saludo.sh
  • 7. exit 0 ;; 4) exit 0 ;; *) echo “ No seleccionó ninguna opción ” exit 1 ;; esac • Desde la línea dos hasta la ocho son comentarios que me mostrará la apariencia de nuestro programa cuando se ejecute. • La línea 9 (read op), permite capturar el valor de la opción a evaluar en el case. • En la línea 11 (case $op In), se evalúa dicha opción y dependiendo cual sea el caso que se quiere se ejecutara la instrucciones necesarias. • Si se toma la opción 1 se ejecutara la líneas 13 y 14 y se abrirá el editor de texto del entorno genome. • Si se toma la opción 2 se ejecutara las líneas 17 y 18 y se listaran los ficheros del directorio actual. • Si se toma la opción 3 se ejecutara las líneas 21 y 22 se abre el programa saludo.sh (el cual es un script que ya debe de estar echo). • Si se toma la opción 4 se ejecutara las líneas 25 y 26 y se sale del programa. • Si no se escogió ninguna opción valida se ejecutara las líneas 28 y 29.
  • 8.
  • 9. Ejercicio: #!/bin/bash case $# in #con este case validamos que el numero de parametros sea correcto 2) #nos interesan dos casos que sean dos parametros o que no lo sean # Aquí vemos si el numero de parámetros es 2 echo "digita dos valores"; echo "presiona 1 para sumar"; echo "presiona 2 para restar"; echo "presiona 3 para multiplicar"; echo "presiona 4 para dividir"; echo "presiona 5 para obtener modulo o resto "; echo "presiona 6 para reiniciar"; echo "presiona 7 para salir"; read orden; # Aquí de damos la orden para que lea la opción desde el teclado case $orden in 1) suma=`expr $1 + $2` echo "la suma es $suma" ;; 2) resta=`expr $1 - $2` echo "la resta es $resta" ;; 3) multiplicación=`expr $1 * $2` echo "la multiplicacion $multiplicacion" ;; 4) dividir=`expr $1 / $2` echo "la division $dividir" ;; 5) modulo=`expr $1 % $2` echo "el resto es $modulo" ;; 6) echo "Reiniciando...." sleep 3 ./prueba.sh ;; 7) echo "Saliendo...." sleep 2 exit 0 ;; *) echo "No ha seleccionado nada" esac ;; *) echo "parametros incorrectos" # vemos cualquier otro caso Esac