Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10....

32
Ferran Juan Baruel Ciències de la Computació / 2017 Informatica Composición Secuencial Composición Alternativa

Transcript of Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10....

Page 1: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Informatica

Composición SecuencialComposición Alternativa

Page 2: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Composición Secuencial

• Concepto • Funciones de conversión de datos• Funciones de Entrada/Salida• Ejemplos de secuencias (cambio, seg a h,m,s)

Page 3: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Composición secuencial

• Una composición secuencial es una serie de acciones que se realizan en orden y una después de la otra.

• Freír un huevo, hacer un pastel o la fabricación de un producto cualquiera son un ejemplo de secuencia de acciones

• Las tareas se suceden de tal modo que la salida de una acción es el inicio de la siguiente, y así hasta acabar el proceso

Page 4: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Concepto de secuencia

• Las instrucciones no siempre son permutables, ya que la secuencia debe siempre mantener el orden para la realización correcta de las acciones – Por ejemplo, no podemos poner el tapón a una botella si

antes no la hemos llenado• Las Secuencias en informática siempre mantienen el

mismo orden: – Primero, se inicia con una adquisición de datos– Se sigue con la realización de cálculos – Y se concluye con la presentación de resultados

Page 5: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Concepto de secuencia

• Por ejemplo, para calcular el área de un triángulo:

Es evidente que si se permutan las instrucciones, la secuencia no realizará correctamente los cálculos.

Calcular área = base*altura/2

Adquirir los valores de Base y altura

Mostrar el valor del área

Fin

Inicio

Page 6: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Concepto de secuencia

• Una secuencia en Python: Importación de funciones externas no estándar

Comentarios en una línea

Realización de cálculos

Introducción de datos

Presentación/devolución de resultados

Page 7: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Composición secuencial

• Concepto de secuencia• Funciones de conversión de tipos• Funciones de Entrada/Salida• Ejemplos de secuencias (cambio, seg a h,m,s)

Page 8: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Funciones para el cambio del tipo de datos

• En Python, la asignación de un dato a una variable implica también la asignación del tipo a la misma.

• La función input() devuelve SIEMPRE una variable del tipo <‘str’> o tipo texto (‘string’)

• Existen funciones que nos permiten cambiar el tipo de las variables y adecuarlas a nuestras necesidades

type (var) indica el tipo de la variable varint (var) transforma var a tipo enterofloat (var) transforma var a tipo float o realstr (var) transforma var al tipo cadena o str

Page 9: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Composición secuencial

• Concepto de secuencia• Funciones de conversión de datos• Funciones de Entrada/Salida• Ejemplos de secuencias (cambio, seg a h,m,s)

Page 10: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Entrada de datos por teclado

• La entrada de datos por teclado se realiza a través de la función input(). Dicha función lee la secuencia de caracteres pulsados en el teclado y acabada por un “enter”. Esta función asocia dicha secuencia de caracteres a una variable. Ésta variable será siempre del tipo ‘str’ o cadena.

Variable = input(‘text’)• ‘text’ es un ‘prompt’o el mensaje que aparecerá en el terminal antes de

introducir los datos del teclado. El texto es opcional

Page 11: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Impresión por pantalla

• Para visualizar los datos en el terminal, utilizaremos la función print(*objects)

• Imprime objects en el terminal de texto• objects es cualquier valor (valores constantes, variables, texto,

funciones) que contengan un valor imprimible. Los diferentes objetos se separan con una coma.

• Una vez terminado, print() imprime por defecto un final de línea• Si se invoca la función print() sin objetos, se imprime sólo una línea

en blanco

Page 12: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Una versión ampliada de print()

• Podemos indicar a la función print() dos parámetros, el separador entre objetos y el carácter de finalprint(*objects[,sep='',end='\n']).

• Imprime objects en el terminal de texto, separados por sep y acabados por end.

• sep y end deben ser del tipo str o cadena; Si no se indican, sep es un espacio en blanco y end es un salto de línea

Page 13: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Formato de salida

• Caracteres especiales : la combinación de caracteres "\n" fuerza a un salto de línea antes de acabar con el print

Page 14: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Formato de salida

• Se puede utilizar el parámetro end=' ' como indicador de impresión SIN el salto de línea. De esta manera, las diferentes ordenes de print se muestran seguidas

Page 15: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Formato de salida

• Si queremos dar formato a los valores y controlar su visualización ( ancho, número de decimales en números del tipo float, cambios en la visualización, etc.) el uso de máscaras es lo más adecuado.

print(‘%anchotipo’ %(variables))• Donde ancho es el ancho de caracteres que tendrá el valor como mínimo (por

defecto, cero) y tipo es el tipo de variable que se va a representar

Caràcter Significadod Entero en decimal.f Número en coma flotante sin exponente.s Cadena str

Page 16: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Formato de salida

Page 17: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Composición secuencial

• Concepto de secuencia• Funciones de conversión de datos• Funciones de Entrada/Salida• Ejemplo

Page 18: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Ejemplos de estructura secuencial

Desglosar céntimos en monedas

Page 19: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Ejemplos de estructura secuencial

Desglosar segundos a horas, minutos y segundos

Page 20: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Estructura Alternativa • Concepto de composición alternativa

– En un momento de la secuencia de acciones, nos encontramos que debemos realizar diferentes acciones en función del resultado de una condición. La estructura alternativa realiza una consulta y ejecuta una acción dependiendo del resultado

consulta?

Bloque 1

nosí

Bloque 2

Salida

Entrada

• Existen tres tipos: Simple, Doble y Múltiple.

Page 21: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Composición Alternativa

• Simple• Doble• Múltiple• Ejemplos

Page 22: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

if <Condición Lógica> :

Alternativa Simple

Bloque1 Respetar la tabulación!

Bloque2 Recuperando la tabulación anterior se termina la estructura de if (como un end_if)

< Condición lógica>: Es cualquier variable, función o expresión lógica que retorne siempre un valor True o False. Bloque 1: Secuencia de instrucciones que se ejecutarán en caso de que la condición lógica retorne True, en caso contrario, dicho bloque no se ejecuta. Bloque 2: Secuencia de instrucciones que se ejecutarán una vez acabada la estructura if

Page 23: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Alternativa Simple

Page 24: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Composición Alternativa

• Simple• Doble• Múltiple• Ejemplos

Page 25: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

if <Condición Lógica> :Bloque1 Respetar la tabulación!

Bloque2

Recuperando la tabulación anterior se termina la estructura de if

AL igual que antes, si la condición lógica se cumple, se ejecutará la secuencia del Bloque1. Sin embargo, si la condición no se cumple, se ejecutará la secuencia del Bloque2. Al acabar, se ejecutará siempre el Bloque3 ya que se encuentra fuera de la estructura alternativa

else :Se mantiene la tabulación

If y else se colocan en la misma columna

Bloque3

Alternativa Doble

Page 26: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Alternativa Doble

Page 27: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Composición Alternativa

• Simple• Doble• Múltiple• Ejemplos

Page 28: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

• Evalúa la posibilidad de que exista más de una posibilidad (no solo dos). Normalmente dentro del bloque “else” se puede anidar un nuevo bloque “if” para evaluar nuevas opciones.

?no

Bloque1 Bloque2

Bloque _n?

no

Alternativa Múltiple ( if anidado)

Page 29: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Alternativa Múltiple

Page 30: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Python puede evaluar los “if” anidados conjuntamente con la orden “elif”. La orden “else” se coloca al final para evaluar cualquier caso en el que no se cumplan ninguna de las condiciones anteriores.

…If <Cond_1> :

Bloque 1elif <Cond_2>:

Bloque2…else :

BloqueN…

Alternativa Múltiple ( if anidado)

A tener en cuenta: El orden de las condiciones importante pues se ejecutan de forma secuencial Primero cond_1, si no es correcta, se comprueba la cond_2, etcAL final, BloqueN se ejecuta cuando todas las condiciones anteriores no se cumplen

Page 31: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Alternativa Múltiple ( ejemplo de if anidado)

Page 32: Composición Secuencial Composición Alternativarobert/teaching/EEBE/ferranTran... · 2020. 10. 5. · Composición secuencial • Una composición secuencial es una serie de acciones

Ferran Juan BaruelCiències de la Computació / 2017

Alternativa Múltiple ( ejemplo de if anidado)