composición secuencial composición alternativarobert/teaching/eebe/ferrantran... · 2020. 10....
TRANSCRIPT
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?
sí
no
sí
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)