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

Post on 21-Jan-2021

15 views 0 download

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

Ferran Juan BaruelCiències de la Computació / 2017

Informatica

Composición SecuencialComposición Alternativa

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)

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

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

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

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

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)

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

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)

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

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

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

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

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

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

Ferran Juan BaruelCiències de la Computació / 2017

Formato de salida

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

Ferran Juan BaruelCiències de la Computació / 2017

Ejemplos de estructura secuencial

Desglosar céntimos en monedas

Ferran Juan BaruelCiències de la Computació / 2017

Ejemplos de estructura secuencial

Desglosar segundos a horas, minutos y segundos

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.

Ferran Juan BaruelCiències de la Computació / 2017

Composición Alternativa

• Simple• Doble• Múltiple• Ejemplos

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

Ferran Juan BaruelCiències de la Computació / 2017

Alternativa Simple

Ferran Juan BaruelCiències de la Computació / 2017

Composición Alternativa

• Simple• Doble• Múltiple• Ejemplos

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

Ferran Juan BaruelCiències de la Computació / 2017

Alternativa Doble

Ferran Juan BaruelCiències de la Computació / 2017

Composición Alternativa

• Simple• Doble• Múltiple• Ejemplos

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)

Ferran Juan BaruelCiències de la Computació / 2017

Alternativa Múltiple

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

Ferran Juan BaruelCiències de la Computació / 2017

Alternativa Múltiple ( ejemplo de if anidado)

Ferran Juan BaruelCiències de la Computació / 2017

Alternativa Múltiple ( ejemplo de if anidado)