Está en la página 1de 17

31/03/2020 FECHA ENTREGA 31/03/2020 DURACION 4horas presenciales

5 horas Autónomas
ACTIVIDAD DOCENTE
ASIGNATURA POO 1 Condicionales Switch JULIO JEJEN
Conoce conceptos básicos y procedimientos relacionados con los principios de la programación orientado
a objetos.
OBJETIVO GENERAL

Definir los conceptos básicos de estructuras de control en java


OBJETIVOS ESPECIFICOS Describe y aplica las condicionales y la herramienta switch

MEDIO ENTREGA Documento escrito


COMPETENCIA A DESARROLLAR Categoriza y aplica las relaciones de las clases en la construcción de aplicaciones de software

CRITERIOS DE EVALUACIÓN
Combina distintos aspectos del modelamiento para describir integralmente una solución.

BIBLIOGRAFIA E INFOGRAFIA http://fpsalmon.usc.es/genp/doc/cursos/poo/clases.html

CONCEPTOS PREVIOS

Switch case
Switch case es una estructura de control empleada en programación, se utiliza para agilizar la
toma de decisiones múltiples, trabaja de la misma manera que lo harían sucesivos if , if
else o until anidados, así como combinaciones propias de determinados lenguajes de
programación.
El switch no es tan popular como el if, pero se utiliza con regularidad en la programación. En
principio la funcionalidad de un switch también se puede implementar con
múltiples ifs anidados. En el caso de que haya muchas acciones dependientes de muchos
valores iniciales, es recomendable su uso. El switch favorece la legibilidad y rapidez en la
programación.

1.1 La nomenclatura
switch( variable ){
case valor1: accion1; (*)
case valor2: accion2; (*)
case valor3: accion3; (*)
...
case valorN: accionN; (*)

default: accionD; (**)


}

 (**) La acción default es usada para los valores que no correspondieron en casos
anteriores, y puede aparecer sin "accionD()", e incluso, con el break al final.
 (*) En estos huecos, al final de las acciones acción1, acción2,... incluso después de la
accionD, normalmente se suele usar un break para salir del switch. Su uso, generalizado,
permite realizar programas que, por ejemplo, se comportan de diferente modo por cada
entrada:
Switch( número )
{
case 0: escribir("No hay elementos.");
break;
case 1: escribir("Hay solo un elemento.");
break;
default: escribir("Hay " número " elementos"); /* break; */
}

En ese ejemplo, es necesario el uso de los break, excepto el último (que está entre
comentarios y por lo tanto no se ejecutará) para el correcto funcionamiento del programa que
hemos realizado. Este lo que hace es, dependiendo si el número que llega por la
variable número es 0, 1 u otro cualquiera, escribir que No hay elementos, Hay solo un
elemento o Hay numero elementos respectivamente.

En cambio, el uso del switch puede ser interesante sin recurrir a los break al final de las
acciones, por ejemplo, en este otro programa:
Switch( paso )
{
case 1: escribir("Paso 1 (ponerse cómodo) sin finalizar. ");
case 2: escribir("Paso 2 (regular espejos) sin finalizar. ");
case 3: escribir("Paso 3 (abrochar cinturón) sin finalizar. ");
case 4: escribir("Paso 4 (arrancar motor) sin finalizar. ");
}

Este otro programa muestra por pantalla los pasos que aún faltan por realizar de una tarea
pre-programada. Por ejemplo, si estamos en el paso 1, todavía nos quedará terminar ese, el 2,
el 3 y el 4, por lo que mostrará desde el 1 en adelante. Pero si estamos en el paso 3, solo
mostrará que falta el Paso 3 y el Paso 4.
Por supuesto, el uso del break se puede usar en diferentes acciones, sin ser en todas o en
ninguna, por ejemplo, añadiendo un paso final al anterior programa:
Switch( paso ){
case 1: escribir("Paso 1 (ponerse cómodo) sin finalizar. ");
case 2: escribir("Paso 2 (regular espejos) sin finalizar. ");
case 3: escribir("Paso 3 (abrochar cinturón) sin finalizar. ");
case 4: escribir("Paso 4 (arrancar motor) sin finalizar. ");
'''break;'''

case 5: escribir("Tarea finalizada.");


}

De esta forma, el funcionamiento será igual que el anterior, salvo que si el paso es el 5, es
decir, que todas los pasos anteriores están finalizados, nos mostrará que "Tarea finalizada.";
en cambio, si el paso es anterior al 5, al mostrar el mensaje "(...) Paso 4 (arrancar motor) sin
finalizar." realizará el break y no mostrará, lógicamente, el mensaje del Paso 5, que no tendría
sentido.

1.2 Funcionamiento
El programa interpreta el valor de la variable almacenándolo en una zona de memoria
temporal (oculta). Después lo compara con el valor seguido de cada case, y si coincide,
realiza el flujo de acciones correspondientes, hasta encontrar un break, con el que finalizará
el Switch. Es muy importante saber que, en el momento en el que se realiza la accionI (para I
< N), se ejecutarán todas las acciones entre I y N mientras no se encuentre la
instrucción break.

1.3 Similitud
Con la nomenclatura anterior, el Switch se puede asemejar a este otro algoritmo basado
en if y for:
for( temporal = variable; true; break){
if( temporal == valor1 ) {accion1;}
if( temporal == valor1 or temporal == valor2 ) {accion2;}
if( cordero == temporal )
temporal++;
if( temporal == valor1 or temporal == valor2 or... or temporal ==
valorN ) {accionN;}
accionD;
}
En este caso, ocurre absolutamente lo mismo que en el Switch' de más arriba: todas las
acciones siguientes se realizarán después de la primera que se ejecute mientras no se llegue
al final del for (llegando al último break), o se encuentre algún break antes del último.

1.3.1.1 Sintaxis del switch.


La Sintaxis empleada por un switch es la siguiente:

switch (variable) {
case <posible valor> : Instrucciones :
break;
case <posible valor> : Instrucciones :
break;
case <posible valor> : Instrucciones :
break;
case <posible valor> : Instrucciones :
break;
case <posible valor> : Instrucciones :
break;
default : Instrucciones ;

 Dada una variable de entrada esta se define seguido del


vocablo switch.
 Se abre una llave para iniciar los posibles valores que pueda tomar
dicha variable.
 Los juegos de valores son iniciados con case seguido del posible
valor de la variable, posteriormente es definido un juego de
instrucciones que serán ejecutados en caso de corresponder con el
valor de la variable y finalmente (opcional) se utiliza
vocablo break para salir de ciclo case.
 Un valor opcional es la definición de la linea default, cuyas
instrucciones serán ejecutadas en caso que la variable
del switch no coincida con los valores definidos.
1.3.1.2 Código Fuente Meses.java
public class Meses {
public static void main(String[] args) {
int month = 8;
switch (month) {
case 1: System.out.println("Enero"); break;
case 2: System.out.println("Febrero");
break;
case 3: System.out.println("Marzo"); break;
case 4: System.out.println("Abril"); break;
case 5: System.out.println("Mayo"); break;
case 6: System.out.println("Junio"); break;
case 7: System.out.println("Julio"); break;
case 8: System.out.println("Agosto");
break;
case 9: System.out.println("Septiembre");
break;
case 10: System.out.println("Octubre");
break;
case 11: System.out.println("Noviembre");
break;
case 12: System.out.println("Diciembre");
break;
}
}
}

1.3.1.3 Clase Meses


 Se define un primitivo con valor de 8, el cual es utilizado como
variable para un switch.
 Dentro del switch son definidos valores del 1 al 12, los cuales
tienen como instrucción imprimir a pantalla el valor del mes
correspondiente.
Cuando se describió la Sintaxis de un switch se mencionó que el uso
de break al final de cada declaración (case) era opcional, esto se debe
a la posibilidad que exista más de un valor que deba ejecutar las
mismas instrucciones, a continuación se describe este caso:
1.3.1.4 Código Fuente Meses2.java

public class Meses2 {


public static void main(String[] args) {

int mes = 10;


int año = 2002;
int numDias = 0;

switch (mes) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
numDias = 31;
break;
case 4:
case 6:
case 9:
case 11:
numDias = 30;
break;
case 2:
if ( ((año % 4 == 0) && !(año % 100 == 0))
|| (año % 400 == 0) )
numDias = 29;
else
numDias = 28;
break;
}
System.out.println("Numero de Dias = " + numDias);
}
}

1.3.1.5 Clase Meses2


En esta Clase el uso de switch varía, ya que son agrupados distintos
valores, al omitir el uso del vocablobreak; el uso de break en
un switch es crítico ya que al no ser definido puede ocasionar un
comportamiento errático, ya que al no indicarse se continúan
evaluando los distintos valores restantes en un switch, posiblemente
causando un comportamiento no deseado.
Finalmente, vale mencionar que las datos que se puede evaluar a
través de un switch son solo primitivos, esto es, no se puede definir
un juego de String's y comparar sus valores, para este tipo de
situaciones (String u otro Objeto) se requiere usar
condicionales if/else anidadas.
1.3.2 estructuras de control if ,case,for,while y do
while

if ,case,for,while y do while en java

Hola a hora que ya conocemos que es java la forma de representar un algoritmo y los tipos de
dato y la declaración de variables estamos un paso más cerca de programar nuestra primera
aplicación en java, pero aun tenemos otros conceptos que tenemos que manejar antes de
sentarnos frente a una computadora.

Las estructuras de control son fundamentales a la hora de realizar un programa ya que son las que
nos dicen que comportamiento tienen los datos, existen 5 estructuras básicas que hay que aprender
a manejar las cuales son el if else, case,for,while y do while.

IF y ELSE

Básicamente un if funciona de 2 maneras la manera afirmativa y negativa ejemplo

if( a==4){ //si lo que contiene la variable 'a' es igual a 4 muestra "el número es un cuatro"//

System.out.println("el número es un cuatro");

else{ //si no entonces muestra "el numero es diferente de 4"//

System.out.println("el número es diferente de cuatro");

A grandes rasgos un if es una condición en la cual si esto se cumple desencadena una acción y en
caso de que no se cumpla la condición desencadenara una acción distinta.

el if no necesariamente tiene que ir acompañado de un else, si solo se desea hacer una validación
se puede utilizar un solo if
Ejemplo

if( a==4){ //si lo que contiene la variable a es igual a 4 muestra "el número es un cuatro"//

System.out.println("el número es un cuatro");

int b=0;
int valor=a+b;

System.out.println(valor);

En este caso tenemos el mismo if pero sin su respectivo else, quiere decir que en caso de que 'a'
sea igual a 4 se mostrara en pantalla el mensaje pero en dado caso que 'a' no contenga un 4 el
programa continuara su flujo normal y realizara la suma de a+b que se guarda en la variable
llamada "valor" y mostrara el contenido de valor en pantalla incluso si el contenido de 'a'' fuese
igual a 4 la suma se llevara a cabo ya que se encuentra fuera del if y el programa es interpretado
de manera descendente es decir de arriba asía abajo.

CASE

El case es una estructura muy utilizada en la elaboración de menús de opciones y toma de


decisiones donde se tienen bastantes número de opciones y se conoce la cantidad total de
opciones que puede haber.

La estructura del case es de la siguiente manera

int opcion;// variable que controla//

switch(opcion){// interruptor//

case 1://valor del interruptor o indice del caso//

//aquí escribimos el código de la tarea a realizar (lo que quieres que haga) //

break;//fin del caso//


case 2:

break;

case 3:

break;

default:// en caso de que la opción ingresada no sea ninguna de las anteriores//

break;

} //fin del switch//

es decir se tiene una variable la cual guardara el valor de la opción elegida por el usuario, después
se le indica al switch la variable que le va a decir que hacer en este caso la variable opción es la
encargada de decirle al switch que hacer una vez el switch recibe una orden este busca en sus
índices que van del 1 al 3 en este caso si opción contiene un 1 el switch llevara a cabo la tarea que
está dentro del case 1,pero en caso de que el usuario le dé un valor que no sea ninguno de los
indices dentro del switch realizara lo que se encuentre dentro de default el default es utilizado
para evitar la introducción de opciones no válidas.

FOR

El for es una estructura de repetición que nos permite realizar operaciones cuantas veces
necesitemos. El for consta de 3 partes para funcionar la variable de inicio la condición y el
incremento y su sintaxis es la siguiente.

Ejemplo

for(int i=0;i<=5;i++){ // variable de inicio =i, condición i menor igual a 5,incremento i++ es
igual que i+1//

Syste.out.println("hola");

//como resultado este for imprimiría 6 veces la palabra hola ya que en java el siclo for siempre
comienza en 0 así que si quisiéramos 10 repeticiones la condición debería de ser i<=9//
WHILE

El while al igual que el for es una estructura de repetición con la única diferencia de que el wile
no requiere una variable de control ni un incremento solo requiere de una condición para
funcionar el while analiza la condición si esta no se cumple realiza la acción y vuelve a
preguntar cuando la condición se cumpla el siclo parara y seguirá el flujo normal del programa;

Ejemplo

int A=0

int B=5

while(A > B) {//repetir hasta que a mayor que B//

A=A+1;

Este while se detendrá hasta que A sea meyor a B que vale 5 cada que el while hace un siclo A
se incrementa en 1 cuan A sea igual a 6 el while se detendra.

DO WHILE

El do while es una estructura de control que nos permite ir a una parte del código anterior en
caso de que se cumpla alguna condición que hayamos programado, en dado caso que la
condición se cumpla el programa volverá al punto en el cual se declaro el "do" la sintaxis es la
siguiente;

do{

// Código al cual se quiere retornar//

}while(condicion);
Ejemplo:

int x=5// el valor inicial de x es 5//

do {

System.out.println("x es " + x--);//la instrucción que se repetirá//

} while ( x > 0 ); //si x mayor que 0 entonces ir a donde esta do//

concatenacion

Explicación de la instrucción:

System.out.println("x es " + x--);

Las "" indican texto ósea letras el signo más + después de unas comillas
indica concatenación la concatenación es la unión de un texto con otro o
el contenido de una variable con un texto así como el ++ indica incremento
en 1 el -- indica decremento en 1

Ejemplo

String A="hola";

String B="juan";

int numero=3;

System.out.println(A+B+numero);// tendrá como resultado en pantalla


holajuan3//

System.out.println("el resultado es: "+numero);// en pantalla será el


resultado es: 3//
Menus iterativos
PROCEDIMIENTO

1. Realizar los ejemplos de esta guía.

PARA TODOS LOS EJERCICIOS CREARLOS EN UN MENU

2. Crear un programa que realice una simulación de una calculadora


utilizando operaciones de suma resta, multiplicación, división,
porcentaje, fracción, seno, coseno, exponente, volver al menú, salir
3. Calcular la suma de los cuadrados de los números pares entre el 0 y el 100.
4. Imprimir y contar los números que son múltiplos de 2 y 3 que hay del 1 al 100.
5. Introducir un número por teclado menor que 500. Imprimir, sumar y contar los
números que están separado entre sí 8 posiciones, desde ese número al 500.
6. Imprimir, contar y sumar los múltiplos de 2 hasta un número que introducimos
por teclado.

BIBLIOGRAFIA E INFOGRAFIA

http://fpsalmon.usc.es/genp/doc/cursos/poo/clases.html
http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=511:clases
-que-utilizan-objetos-relacion-de-uso-entre-clases-java-concepto-de-diagrama-de-
clases-cu00641b&catid=68:curso-aprender-programacion-java-desde-
cero&Itemid=188

También podría gustarte