clase 6 - instrucciones alternativas - dobles (1)

19
ALGORITMOS Y MÉTODOS NUMÉRICOS Clase 6 – Instrucciones Alternativas Dobles y múltiples

Upload: theingenieriacivil2

Post on 30-Jul-2015

137 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Clase 6 - Instrucciones Alternativas - Dobles (1)

ALGORITMOS Y MÉTODOS NUMÉRICOS

Clase 6 – Instrucciones Alternativas Dobles y múltiples

Page 2: Clase 6 - Instrucciones Alternativas - Dobles (1)

Instrucción Alternativa Dobles en Pseudocódigo

Si ( <expresión_lógica> )

<bloque_de_instrucciones_1>

Sino

<bloque_de_instrucciones_2>

Fin-si

A la <expresión_lógica> de una instrucción alternativa doble también se le denomina condición. Para que se ejecute el <bloque_de_instrucciones_1>, la condición tiene que ser verdadera. Por el contrario, si la condición es falsa, se ejecutará el <bloque_de_instrucciones_2>

Page 3: Clase 6 - Instrucciones Alternativas - Dobles (1)

Instrucción Alternativa Doble en Pseudocódigo

Ejemplos

Se quiere diseñar el algoritmo de un programa que:

1. Pida por teclado la nota (dato real) de una asignatura.2. Muestre por pantalla: "APROBADO", en el caso de que la nota

sea mayor o igual que 3.0, o “SUSPENDIDO” en otro caso.

Digite la Nota (Numero Real) : 4 . 0

APROBADO

Digite la Nota (Numero Real) : 2 . 4

SUSPENDIDO

Declaraciones Variables Real NotaF-Declaraciones

INICIOEscribir (“Digite la Nota (Numero Real) :”)Leer (Nota) Si (Nota >= 3.0 ) Escribir (“APROBADO”) Sino Escribir (“SUSPENDIDO”) F-Si FIN

Page 4: Clase 6 - Instrucciones Alternativas - Dobles (1)

Instrucción Alternativa Doble en Ordinogramas

Page 5: Clase 6 - Instrucciones Alternativas - Dobles (1)

Instrucción Alternativa Doble en Ordinogramas

Ejemplos

Se quiere diseñar el algoritmo de un programa que:

1. Pida por teclado la nota (dato real) de una asignatura.2. Muestre por pantalla: "APROBADO", en el caso de que la nota

sea mayor o igual que 3.0, o “SUSPENDIDO” en otro caso.

Inicio

Fin

Escribir (“Digite la Nota (Numero Real) :”)

Leer (Nota)

Nota >= 3.0

Escribir (“APROBADO”)

SI NO

Escribir (“SUSPENDIDO”)

Page 6: Clase 6 - Instrucciones Alternativas - Dobles (1)

Instrucción Alternativa DobleEJERCICIO 1

Diseñe el algoritmo (en pseudocódigo) de un programa que:

1. Pida por teclado dos números (datos enteros).2. Calcule la suma de los números introducidos por el usuario.3. Muestre por pantalla:

"LA SUMA SÍ ES MAYOR QUE CERO.", en el caso de que sí lo sea. "LA SUMA NO ES MAYOR QUE CERO.", en el caso de que no lo sea.

Introduzca primer número (entero): 14Introduzca segundo número (entero): -17LA SUMA NO ES MAYOR QUE CERO.

Page 7: Clase 6 - Instrucciones Alternativas - Dobles (1)

Instrucción Alternativa DobleEJERCICIO 2

Diseñe el algoritmo (en pseudocódigo) de un programa que:

1. Pida por teclado dos números (datos enteros).2. Muestre por pantalla los números escritos de mayor a

menor

Introduzca primer número (entero): 4Introduzca segundo número (entero): 77 , 4

Introduzca primer número (entero): 16Introduzca segundo número (entero): 816 , 8

Page 8: Clase 6 - Instrucciones Alternativas - Dobles (1)

Instrucción Alternativa DobleEJERCICIO 3

Diseñe el algoritmo (en pseudocódigo) de un programa que:

1º) Pida por teclado tres números (datos enteros): <numero1>, <numero2> y <numero3>.2º) Muestre por pantalla que relación guarda el <numero2> con los otros números:

• <numero2> SI ES MENOR QUE <numero3> Y MAYOR QUE <numero1>, en el caso de que sí lo sea.

• <numero2> NO ES MENOR QUE <numero3> NI MAYOR QUE <numero1>, en el caso de que no lo sea.

Introduzca primer número (entero): 6Introduzca segundo número (entero): 9Introduzca tercer número (entero): 229 SÍ ES MENOR QUE 22 Y MAYOR QUE 6

Introduzca primer número (entero): 15Introduzca segundo número (entero): 7Introduzca tercer número (entero): 57 NO ES MENOR QUE 5 Y MAYOR QUE 15

Page 9: Clase 6 - Instrucciones Alternativas - Dobles (1)

Instrucción Alternativa Múltiples en Pseudocódigo

Según_sea (<expresión> )

<lista_de_valores_1> : <instrucciones_1>

<lista_de_valores_2> : <instrucciones_2>

...

<lista_de_valores_n> : <instrucciones_n>

[ sino : <bloque_de_instrucciones_n+1> ]

Fin-Según_sea

Una instrucción alternativa múltiple permite seleccionar, por medio de una expresión, el siguiente bloque de instrucciones a ejecutar de entre varios posibles. En pseudocódigo, para escribir una alternativa múltiple se utiliza la sintaxis:

Page 10: Clase 6 - Instrucciones Alternativas - Dobles (1)

Instrucción Alternativa Múltiples en Pseudocódigo

El resultado de evaluar la <expresión> debe ser un valor perteneciente a un tipo de dato finito y ordenado, es decir, entero, lógico, carácter o Real

Dependiendo del valor obtenido al evaluar la <expresión>, se ejecutará un bloque de instrucciones u otro. En las listas de valores se deben escribir los valores que determinan el bloque de instrucciones a ejecutar, teniendo en cuenta que, un valor sólo puede aparecer en una lista de valores.

Opcionalmente, se puede escribir un <bloque_de_instrucciones_n+1> después de sino :. Este bloque de instrucciones se ejecutará en el caso de que el valor obtenido al evaluar la <expresión>, no se encuentre en ninguna de las listas de valores especificadas.

Page 11: Clase 6 - Instrucciones Alternativas - Dobles (1)

Instrucción Alternativa Múltiples en Pseudocódigo

Ejemplos

Se quiere diseñar el algoritmo de un programa que:

1. Pida por teclado el número (dato entero) de un día de la semana.2. Muestre por pantalla el nombre (dato cadena) correspondiente a dicho día.

Nota: Si el número de día introducido es menor que 1 ó mayor que 7, se mostrará el mensaje: "ERROR: ”,Numero,” es un numero de día incorrecto.".

Digite día de la semana: 4

Jueves

Digite día de la semana: 9

ERROR: 9 es un numero de día incorrecto.

Page 12: Clase 6 - Instrucciones Alternativas - Dobles (1)

Declaraciones Variables Entero DiaF-Declaraciones

INICIOEscribir (“Digite día de la semana: ”)Leer (Dia) Según_sea(Dia) 1 : Escribir (“Lunes”) 2 : Escribir (“Martes”) 3 : Escribir (“Miércoles”) 4 : Escribir (“Jueves”) 5 : Escribir (“Viernes”) 6 : Escribir (“Sábado”) 7 : Escribir (“Domingo”) sino : Escribir (“ERROR:”, Dia, “es un numero de día incorrecto”) Fin_Según_seaFIN

Page 13: Clase 6 - Instrucciones Alternativas - Dobles (1)

Instrucción Alternativa Múltiples en Pseudocódigo

Ejemplo 2

En la siguiente tabla se muestran las categorías a las que pertenecen los signos del zodíaco:

Se quiere diseñar el algoritmo que:

1. Muestre el listado de los signos del zodíaco, con sus números asociados.2. Pida por teclado un número (dato entero) asociado a un signo del zodíaco.3. Muestre la categoría a la que pertenece el signo del zodíaco seleccionado.

No Signo Categoría No Signo Categoría No Signo Categoría

1 Aries Fuego 5 Leo Fuego 9 Sagitario Fuego

2 Tauro Tierra 6 Virgo Tierra 10 Capricornio Tierra

3 Géminis Aire 7 Libra Aire 11 Acuario Aire

4 Cáncer Agua 8 Escorpión Agua 12 Piscis Agua

Page 14: Clase 6 - Instrucciones Alternativas - Dobles (1)

Declaraciones Variables Entero SignoF-Declaraciones

INICIOEscribir( "Listado de signos del zodíaco:" )Escribir( "1. Aries" )Escribir( "2. Tauro" )Escribir( "3. Géminis" )Escribir( "4. Cáncer" )Escribir( "5. Leo" )Escribir( "6. Virgo" )Escribir( "7. Libra" )Escribir( "8. Escorpio" )Escribir( "9. Sagitario" )Escribir( "10. Capricornio" )Escribir( "11. Acuario" )Escribir( "12. Piscis" )Escribir( "Introduzca número de signo: " )Leer ( Signo )Según_sea( Signo ) 1 , 5, 9 : Escribir (“Es un signo de Fuego”) 2 , 6, 10 : Escribir (“Es un signo de Tierra”) 3 , 7, 11 : Escribir (“Es un signo de Aire”) 4 , 8, 12 : Escribir (“Es un signo de Agua”) Sino : Escribir (“Error: ”, signo, “no esta asociado a ningún signo”);Fin_Según_seaFIN

Page 15: Clase 6 - Instrucciones Alternativas - Dobles (1)

Instrucción Alternativa Múltiples en Ordinograma

Page 16: Clase 6 - Instrucciones Alternativas - Dobles (1)

Instrucción Alternativa Múltiples en Ordinograma

Ejemplos

Se quiere diseñar el algoritmo de un programa que:

1. Pida por teclado el número (dato entero) de un día de la semana.2. Muestre por pantalla el nombre (dato cadena) correspondiente a dicho día.

Nota: Si el número de día introducido es menor que 1 ó mayor que 7, se mostrará el mensaje: "ERROR: ”,Numero,” es un numero de día incorrecto.".

Digite día de la semana: 4

Jueves

Digite día de la semana: 9

ERROR: 9 es un numero de día incorrecto.

Page 17: Clase 6 - Instrucciones Alternativas - Dobles (1)

Inicio

Fin

Escribir (“Digite día de la semana:”)

Leer (Dia)

Dia

Escribir (“Lunes”)

1 SINO

Escribir (“Error: Dia Incorrecto”)

2

Escribir (“Martes”)

Escribir (“Miercoles”)

3

Escribir (“Jueves”)

4

Page 18: Clase 6 - Instrucciones Alternativas - Dobles (1)

Instrucción Alternativa Múltiples EJERCICIO 1

Diseñe el algoritmo (en pseudocódigo) que:

1. Pida por teclado el resultado (dato entero) obtenido al lanzar un dado de seis caras.2. Muestre por pantalla el número en letras (dato cadena) de la cara opuesta al

resultado obtenido.

Nota 1: En las caras opuestas de un dado de seis caras están los números: 1-6, 2-5 y 3-4.

Introduzca número del dado: 5En la cara opuesta está el "dos".

Introduzca número del dado: 8ERROR: Número incorrecto.

Page 19: Clase 6 - Instrucciones Alternativas - Dobles (1)

Instrucción Alternativa Múltiples EJERCICIO 2

En la siguiente tabla se muestra el número de camas de las habitaciones de una casa rural, además de la planta donde está ubicada cada una de ellas:

Diseñe el algoritmo (en pseudocódigo) que:

1. Muestre el listado de las habitaciones de la casa rural.2. Pida por teclado el número (dato entero) asociado a una

habitación.3. Muestre por pantalla la planta y el número de camas de

la habitación seleccionada.

Nota: Si el número introducido por el usuario, no está asociado a ninguna habitación, se mostrará el mensaje: "ERROR: <número> no está asociado a ninguna habitación."

Habitación Camas Planta

1. Azul 2 Primera

2. Roja 1 Primera

3. Verde 3 Segunda

4. Rosa 2 Segunda

5. Gris 1 Tercera

Listado de habitaciones:

1. Azul2. Roja3. Verde4. Rosa5. Gris

Introduzca número de habitación: 3 La Verde tiene 3 cama/s y está en la segunda planta.