PDF de programación - Problemas de análisis de casos - Programación I

Imágen de pdf Problemas de análisis de casos - Programación I

Problemas de análisis de casos - Programación Igráfica de visualizaciones

Publicado el 17 de Agosto del 2019
139 visualizaciones desde el 17 de Agosto del 2019
70,0 KB
22 paginas
Creado hace 1a (26/09/2017)
Problemas de análisis

de casos

PROGRAMACION I

Grado en Matemáticas Informática

Programación I

Problemas de Análisis de casos

1

Índice

• Ruptura de control

• Sentencia if y sus variantes

• Sentencia switch

• Usos y estilo

Programación I

Problemas de Análisis de casos

2

RUPTURA DE CONTROL

• En un bloque, la ejecución es secuencial: una
orden detrás de otra según estén escritas de
arriba a abajo

• Los problemas de análisis de casos requieren

la ruptura del control secuencial

• Hay que elegir entre múltiples alternativas.
• Se ejecutará un código u otro en función de las

condiciones preestablecidas

Programación I

Problemas de Análisis de casos

3

SENTENCIA IF

Formato del if-then:

if (<<condición>>)

<<Bloque>>;

La condición es una expresión booleana
Si el bloque contiene más de una sentencia

debe encerrarse entre llaves

Programación I

Problemas de Análisis de casos

4

SENTENCIA IF
Funcionamiento del if-then:

• Si la condición se evalúa a true, se ejecuta
bloque y si no (si se evalúa a false) no se
ejecuta

Programación I

Problemas de Análisis de casos

5

SENTENCIA IF

Formato del if-then-else:

if (<<condición>>)
else

<<Bloque1>>;
<<Bloque2>>;

Programación I

Problemas de Análisis de casos

6

SENTENCIA IF

Funcionamiento del if-then-else:

• Si la condición se evalúa a true, se ejecuta
bloque1 y si no (si se evalúa a false) se
ejecuta bloque2

Programación I

Problemas de Análisis de casos

7

SENTENCIA IF

Anidamientos if-then-else:

if (<<condición1>>)

<<Bloque1>>;

else if (<<condición2>>)

<<Bloque2>>;

. . .
else

<<BloqueN>>;

Programación I

Problemas de Análisis de casos

8

SENTENCIA IF

Funcionamiento del if-then-else anidado:

• Si la condición1 se evalúa a true, se ejecuta
bloque1 y si no, si la condición2 se evalúa a
true se ejecuta bloque2 y así sucesivamente
con todas las ramas que haya. El bloqueN se
ejecutará solo si no se han satisfecho ninguna
de las condiciones precedentes

Programación I

Problemas de Análisis de casos

9

EJEMPLO DE USO

• Problema: “El mayor de tres números, todos

distintos”. Modelo Heavy

if ((x >= y) && (x >= z))

else if ((y >= x) && (y >= z))

else if ((z >= x) && (z >= y))

else // No hay nada qué hacer

return x;

return y;

return z;

return z;

Programación I

Problemas de Análisis de casos

10

EJEMPLO DE USO

• Problema: “El mayor de tres números, todos

distintos”. Modelo Hiper

if (x >= y)

if (x >= z)
return x;

else

return z;

else if (y >= z)

else

return y;

return z;

Programación I

Problemas de Análisis de casos

11

EJERCICIOS DE IF

• Ejercicio1: “El mayor de tres números, todos

distintos”. Especificación y realización

• Ejercicio2:”Valor absoluto de un número”.

Especificación y realización

Programación I

Problemas de Análisis de casos

12

EJERCICIOS DE IF

| x si (x >= y) /\ (x >= z)
POST: resultado = | y si (y >= y) /\ (y >= z)
| z si (z >= x) /\ (z >= y)

if ((x >= y) && (x >= z))

return x;

else if (y >= z)

else

return y;

return z;

Programación I

Problemas de Análisis de casos

13

EJERCICIOS DE IF

| x si x >= 0
POST: resultado = |

| -x e.o.c

if (x >= 0)
return x;

else

return -x;

Programación I

Problemas de Análisis de casos

14

SENTENCIA SWITCH

switch (<<expresión>>){

case <<valor1>> :

case <<valor2>> :

<<Bloque1>;
break;

<<Bloque2>;
break;

. . .
default

<<BloqueN>>;

}

Programación I

Problemas de Análisis de casos

15

SENTENCIA SWITCH
• La expresión puede ser int o char
• Los respectivos bloques no necesitan llaves.
• La cláusula default es opcional
• Una orden return equivale a un break.

Cuando exista la una, sobra la otra

Programación I

Problemas de Análisis de casos

16

SENTENCIA SWITCH

Funcionamiento:
Se evalúa la expresión.
Si ajusta con alguno de los valores, se ejecuta el

bloque correspondiente (explora de arriba
abajo).

Si no ajusta con ninguno, ejecuta el bloque de la
cláusula default.

Programación I

Problemas de Análisis de casos

17

EJEMPLOS DE SWITCH

• Problema: "Visualizar los nombres de los puntos

cardinales”

Se da nombre a cada punto:

final int norte = 1;
final int noreste = 2;
final int este = 3;
final int sureste = 4;
final int sur = 5;
final int suroeste = 6;
final int oeste = 7;
final int noroeste = 8;

Programación I

Problemas de Análisis de casos

18

EJEMPLOS DE switch

FUNCION verRumbo (Entero r) ---> Cadena
PRE: cierto
POST: res es la cadena de caracteres de la constante

Programación I

Problemas de Análisis de casos

19

relativa a "r"

String verRumbo (int r){

switch (r){

case 1 : return "Norte";
case 2 : return "Noreste";
case 3 : return "Este";
case 4 : return "Sureste";
case 5 : return "Sur";
case 6 : return "Suroeste";
case 7 : return "Oeste";
default : return "Noroeste";

EJERCICIOS DE Selección

Ejercicio3: “Girar un rumbo 90º”

Ejercicio4: “Girar un rumbo 45º”

Programación I

Problemas de Análisis de casos

20

EJERCICIOS DE Selección

FUNCION gira90 (Entero rumbo)  Entero
PRE: cierto
POST: resultado es la constante que se corresponde con avanzar

a la derecha 90 grados desde "rumbo".

int gira90 (int rumbo)
{

if (rumbo == oeste)
return norte;
else if (rumbo == noroeste)
return noreste;
else
Programación I
return rumbo + 2;

Problemas de Análisis de casos

21

EJERCICIOS DE Selección
FUNCION gira45 (Entero rumbo)  Entero
PRE: cierto
POST: resultado es la constante que se

corresponde con avanzar a la
derecha 45 grados desde "rumbo".

int gira45 (int rumbo)
{

return rumbo % 8 + 1;

}

Programación I

Problemas de Análisis de casos

22
  • Links de descarga
http://lwp-l.com/pdf16472

Comentarios de: Problemas de análisis de casos - Programación I (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

Revisar política de publicidad