Documentos de Académico
Documentos de Profesional
Documentos de Cultura
“PADRE ABAD”
Trabajo de Investigacion:
“ESTRUCTURA SWICHT”
CICLO : III
INTEGRANTES :
AGUAYTIA-PERÚ
2022
DEDICATORIA
ii
AGRADECIMIENTO
iii
ÌNDICE
DEDICATORIA................................................................................................................................ii
AGRADECIMIENTO......................................................................................................................iii
ÍNDICE.............................................................................................................................................iv
I. INTRODUCCIÓN.....................................................................................................................5
II. OBJETIVOS.............................................................................................................................5
V. ANEXO...................................................................................................................................19
VI. BIBLIOGRAFÍA.....................................................................................................................20
ÍNDICE
iv
I. INTRODUCCIÓN
Los programas definidos hasta este punto se ejecutan de modo secuencial, es
decir, una sentencia después de otra. La ejecución comienza con la primera
sentencia del programa y prosigue hasta la última sentencia, cada una de las
cuales se ejecuta una sola vez. Esta forma de programación es adecuada para
programas sencillos. Sin embargo, para la resolución de problemas de tipo general
se necesita la capacidad de controlar cuáles son las sentencias que se ejecutan, y
en qué momentos. Las estructuras de control o construcciones de control
controlan la secuencia o flujo de ejecución de las sentencias. Las estructuras de
control se dividen en tres grandes categorías en función del flujo de ejecución:
secuencia, selección e iteración.
Secuencia
Selección
Repetición
Este capitulo considera las estructuras selectivas o condicionales
Sentencias IF
Sentencias SWITCH
II. OBJETIVOS
II.1. Objetivo General
Desarrollar un informe detallado acerca de la estructura SWITCH.
5
III.EJECUCIÓN DEL TRABAJO
III.1.1. Funcionamiento
III.1.2. Similitud
Con la nomenclatura anterior, el Switch se puede asemejar a este otro algoritmo
basado en if y for:
'Variable de control': prácticamente un mandato impuesto por el uso habitual
es utilizar la letra i Iterador como variable de control, o bien sus sucesoras en
caso de bucles anidados. El uso de esta letra críptica quizás a primera vista es
sin embargo una excelente.
6
III.1.2.1. Consideraciones acerca del uso de la sentencia Switch
El valor de esta expresión puede ser de tipo INT o CHAR, pero no pude ser del
tipo float ni double.
case valor2:
accion2;
break;
case valorN:
acciónN;
break;
default: accionD;
}
7
Línea 1:Aquí, tenemos la declaración del condicional Switch, estamos diciendo
que lo que viene a continuación es esto, entre los paréntesis, el Switch recibe la
variable que vamos a usar para comparar en cada uno de los casos.
Línea 2: En la línea 2 tenemos una llave abriendo "{" lo cual como hemos visto en
secciones anteriores, indica que allí comienzan los bloques de instrucciones que
se ejecutarán para cada caso.
Línea 3:En esta línea tenemos una parte vital del condicional Switch, aquí
tenemos definido un caso posible que puede cumplir nuestra variable, la sintaxis
es simple, usamos la instrucción "case" para indicar que allí comienza un caso,
luego indicamos el valor que puede tomar la variable, puede ser un número, una
cadena de caracteres o lo que necesitemos, de esto se siguen dos puntos ":" y
después de estos ponemos la o las instrucciones a ejecutar para este caso, como
ejemplo, podríamos tener algo como esto : case "Hola": cout << "Usted ha escrito
Hola";.
Línea 4:Esta línea contiene la instrucción break, es una instrucción simple, pero
fundamental al interior del condicional Switch, esta instrucción indica que hasta allí
va el bloque de instrucciones del caso inmediatamente anterior a este, de este
modo evitamos que el algoritmo ejecute los demás casos, a modo de ejercicio,
podrías intentar ejecutar el código del ejemplo que veremos más adelante y quitar
las instrucciones break, con esto podrás comprobar que si el usuario ingresa por
ejemplo un 1, se ejecutarán todos los casos, es por esto que el break es
fundamental.
Línea 5 a 8:Estas líneas contienen una repetición de las instrucciones de las
líneas 3 y 4, evidentemente cada una contiene un caso distinto, ten en cuenta que
se pueden definir todos los casos que sean necesarios al interior del Switch.
8
Líneas 9, 10 y 12: Estas líneas como deberías saber ya, contienen diferentes
comentarios aclarativos sobre el código, en caso de que no comprendas
adecuadamente estas líneas, te recomiendo visitar la sección de comentarios.
Línea 11: Esta línea cambia un poco con respecto a las anteriores, sin embargo,
conserva la misma esencia, en vez de poner el comando "case", usamos el
comando "default", y luego los 2 puntos ":", notemos que no se pone ningún valor
a evaluar, pues esta es la acción que se ejecuta en caso de que no lleguemos a
entrar en ninguno de los casos.
Línea 13: En esta línea hacemos uso de la llave cerrando "}", una vez más como
seguramente ya sabrás esta nos indica que allí termina el bloque del condicional y
se dará por terminada la ejecución de este para continuar ejecutando el resto del
programa.
Dentro de cada case eres libre de poner varias líneas de código, incluso otras
estructuras como condicionales o ciclos. Sin embargo, es preferible mantener tu
código ordenado y no poner muchas. Recomendaría no poner más de 5 y
preferiblemente solo una. Si deseas hacer tareas complejas al interior de un case
de un Switch en C++, posiblemente sea mejor hacer esas tareas en una función y
llamar a esa función desde el case o simplemente usar un if-else.
10
Examinamos algunos ejemplos de la declaración del case en SQL. Antes de poder
continuar, tiene que crear una tabla de muestre e inserte algunos registros en esa
tabla.
11
III.1.4. Distintos formatos de declaraciones CASE
12
.
III.1.5. características de Switch
Switch es una sentencia C++ que se utiliza para seleccionar una de entre múltiples
alternativas. El estatuto Switch es especialmente útil cuando la selección se basa
en el valor de una variable simple o de una expresión simple denominada
expresión de control o selector.
Asociación
normal
Una asociación normal entre dos clases representa una relación
estructural entre sus objetos, lo que significa que ambas clases están
conceptualmente al mismo nivel, ninguna es más importante que la otra.
Se trata de una relación no muy fuerte.
1. Agregación
13
Una agregación sirve para modelar una relación “todo-parte”, lo que
significa que un objeto del todo tiene objetos de la parte. Podemos
distinguir:
Agregación normal
Una agregación normal se denota dibujando una línea con un rombo
sin rellenar al final de la misma del lado del todo (del lado de la clase
que contiene a la otra clase). También puede tener un nombre (con
dirección) y ser navegable, así como añadir roles en el lado de la
parte (lado de la clase contenida).
Una agregación normal es un caso especial de la multiplicidad de
una asociación, pues la cardinalidad del lado del todo sólo puede ser
uno.
Agregación compartida
Una agregación compartida es aquella en la que las partes pueden
ser partes en varios todos. Se representa de la misma forma que una
agregación normal. Para que una agregación se considere
compartida es necesario que la multiplicidad en el lado del todo sea
superior a uno.
Una agregación compartida es un caso especial de una agregación
normal.
Agregación de composición
Una agregación de composición se denota dibujando una línea con
un rombo relleno al final de la misma del lado del todo (del lado de la
clase que contiene a la otra clase). La multiplicidad en el lado del
todo puede ser uno (1) ó cero-auno (0..1), pero la multiplicidad en el
lado de la parte puede ser cualquier intervalo. Se trata de una
relación de pertenencia muy fuerte.
14
El diagrama que se muestra como ejemplo, describe la funcionalidad de
un Sistema Restaurante muy simple. Los casos de uso están representados por
elipses y los actores están, por ejemplo, los casos de uso se muestran como
parte del sistema que está siendo modelado, los actores no.
En este caso, podemos apreciar tanto declaraciones correctas como
incorrectas. El probar la comida y pagarla es un requerimiento funcional del
sistema, pero beber vino no lo es, por lo tanto, este caso de uso está incorrecto.
La interacción entre actores no se ve en el diagrama de casos de uso. Si esta
interacción es esencial para una descripción coherente del comportamiento
deseado, quizás los límites del sistema o del caso de uso deban de ser re-
examinados. Alternativamente, la interacción entre actores puede ser parte de
suposiciones usadas en el caso de uso. Sin embargo, los actores son una
especie de rol, un usuario humano u otra entidad externa puede jugar varios
papeles o roles. Así el Chef y el Cajero podrían ser realmente la misma
persona.
15
marketing, describir las interacciones típicas con su tecnología y aplicaciones o
analizar un flujo de trabajo complejo.
Por ejemplo, este diagrama de caso de uso, le da sentido al proceso
comúnmente caótico de gestionar un restaurante, con la gran cantidad de
partes móviles involucradas en crear una experiencia fluida y amena para los
comensales.
III.2.2. Los 4 componentes principales de un diagrama de casos de uso
Estos son los cuatro elementos de un diagrama de caso de uso:
Sistem
a
Actores
Casos
de uso
Relacio
nes
16
tenga sentido y que te permita ver de inmediato las conexiones que hay entre
ellos. Algunos diagramas de casos de uso definen ciertos pasos que podrían
ser parte de cada caso de uso o de solo algunos; y es común utilizar los
términos “incluir” o “extender” para ello, como muestra el siguiente ejemplo.
Extensión: Al describir un caso de uso de un cajero automático, se
utilizaría una línea de exclusión o se conectaría un escenario condicional,
por ejemplo, si un usuario no realiza operaciones bancarias con esa
institución normalmente y debe pagar una comisión para retirar efectivo.
Inclusión: En nuestro ejemplo de caso de uso de un cajero automático,
esto podría aplicar para un usuario que está colocando su tarjeta en la
máquina, introduce su PIN y se le muestra un menú.
En otras palabras, las interacciones que ocurren siempre, deberían ser
descritas con una nota de inclusión, mientras que aquellas que podrían ocurrir
bajo ciertas condiciones deberían ser descritas con una notación de extensión.
17
muchos más tipos de diagramas que podrían apoyar a una metodología basada
en UML.
Aquí tienes tan solo algunos de los tipos de diagramas posibles usando UML:
Diagramas estructurales de:
Clase Objeto
Componente Paquete
Estructura compuesta Perfil
Despliegue
Actividad Estado
Comunicaciones Tiempo
Resumen de interacción Caso de uso
Secuencia
18
III.2.7. Características
Describe el comportamiento de un sistema desde el punto de vista de un
usuario bajo la forma de acciones y reacciones.
Cada caso de uso es independiente de los demás
Permite definir los límites del sistema y las relaciones entre el sistema y
su entorno.
III.2.8. Ventajas
Expresar la intención que tiene el actor (usuario)
Extraer los requerimientos del usuario y del sistema
Centrar al analista en las tareas principales de usuario (describiendo los
casos de mayor importancia).
Tener en cuenta todos los usuarios evitando que las personas
especializadas en informática dirijan la funcionalidad del nuevo sistema
basándose solamente en criterios tecnológicos.
Lenguaje de comunicación entre usuarios y desarrolladores.
Comprensión detallada de la funcionalidad del sistema.
Acotación precisa de las habilitaciones de los usuarios.
Gestión de riesgo más eficiente para gobernar la complejidad.
III.2.9. Desventajas
No establecen los requisitos funcionales.
Tampoco permiten establecer los requisitos no funcionales.
Los casos de uso deben complementarse con información adicional
como:
Reglas de negocio.
Requisitos no funcionales.
Diccionario de datos que complementen los requerimientos del
sistema.
Cada caso crítico del uso debe tener un requisito no funcional centrado
en el funcionamiento asociado.
Los problemas grandes se complican debido a que el diagrama se
extiende demasiado.
La inclusión de estas relaciones hace que los diagramas sean más
difíciles de leer, sobre todo para los clientes.
19
IV. CONCLUSIÓN
20
V. ANEXO
Ejemplo de diagrama de casos de uso y diagrama de clases:
Software para graficación
Asociaciones normales
VI. BIBLIOGRAFÍA
https://es.venngage.com/blog/diagrama-de-caso-de-uso/
21
http://www.codecompiling.net/files/slides/
UML_clase_02_UML_casos_de_uso.pdf
https://es.m.wikipedia.org/wiki/Diagrama_de_casos_de_uso
https://ingenieriaensoftwarenathalyalava.wordpress.com/2015/06/01/
diagramas-de-casos-de-uso/
https://lsi.ugr.es/~mvega/docis/casos%20de%20uso.pdf
https://diagramasuml.com/diagrama-de-clases/
#Elementos_de_un_diagrama_de_clases
22