sesión 11: python (2) – estructura secuencial. 2009/1 circuitos digitales iii 2010/1 circuitos...

32
Informática I Sesión 11: Python (2) – Estructura Secuencial

Upload: monica-ortiz-segura

Post on 24-Jan-2016

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

Informática ISesión 11: Python (2) – Estructura Secuencial

Page 2: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Ejemplos

Entrada y Salida de datos

Estructura Secuencial

RepasoRepaso

A continuación…A continuación…

Page 3: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia3

Computador de escritorio

Sistema operativo

Interprete / Compilador

IDEs

¿Qué se necesita para programar en Python?

¿Qué se necesita para programar en Python?

Page 4: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia4

Tipos

Locales Online Portables

Entornos de desarrollo PythonEntornos de desarrollo Python

Page 5: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia5

Consultar: http://www.learnpython.org/en/Variables_and_Types

http://www.tutorialspoint.com/python/python_quick_guide.htm

Variables (objetos)Variables (objetos)

Page 6: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia6

Palabras reservadas: Lista de palabras propias del lenguaje que no pueden ser usadas como identificadores de variables o constantes.

and exec not

assert finally or

break for pass

class from print

continue global raise

def if return

del import try

elif in while

else is with

except lambda yield

Palabras reservadasPalabras reservadas

Page 7: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

EjemploEjemplo

7

Ejercicio de repaso:El objetivo de este ejercicio es crear un string, un entero y un numero flotante. El string deberá ser llamado Mystring y contendrá la palabra “hello”, el número flotante deberá ser llamado myfloat y contendrá el numero 10, y el entero será llamado myint y deberá contener el numero 20.

Se recomienda mirar la siguiente pagina:http://www.learnpython.org/en/Variables_and_Types

Page 8: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Ejemplos

Entrada y Salida de datos

Estructura Secuencial

Repaso

Estructura Secuencial

A continuación…A continuación…

Page 9: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

La estructura de control secuencial es la más sencilla y es inherente al Software. También se conoce como estructura lineal.

Se compone de instrucciones que deben ejecutarse en forma consecutiva, una tras otra, siguiendo UNA Y SOLO UNA línea de flujo.

Problemas muy sencillos pueden resolverse haciendo uso únicamente de esta estructura.

Estructura SecuencialEstructura Secuencial

Page 10: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Una estructura de control secuencial puede contener cualquiera de las siguientes instrucciones:

• Asignación de valores• Entrada de datos• Procesamiento de datos (operaciones)• Reporte de resultados

Hay que determinar el orden de ejecución de las instrucciones (posición) ya que la conmutatividad NO es una propiedad aplicable a los algoritmos.

Estructura SecuencialEstructura Secuencial

Page 11: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

•Operadores y expresiones:AsignaciónAritméticosRelacionales.Lógicos.

• Cuando concurren en una misma expresión diferentes tipos de operadores se dan las reglas de prioridad y asociatividad.

Expresiones y operadoresExpresiones y operadores

Page 12: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

AsignaciónAsignación

Operador de asignación (=) La variable que tomará el nuevo valor siempre debe ir a

la izquierda de la expresión.

Sintaxis:Variable = expresión

Ejemplos: • a = b*n• c = c + 1• d = d%3• e = 14

Page 13: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

AritméticosAritméticos Operadores aritméticos

De dos operandos:

Operación Operador Ejemplo Resultado

Potenciación ** 3**2 9

Multiplicación * 2*34 68

División / 21/2 10.5

División entera // 21//2 10

Módulo % 7 % 3 1

Suma + 3+4 7

Resta - 5-2 3

Asignación = X=3 -

Page 14: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

En una instrucción los operadores se ejecutan en un orden Predeterminado.

1. Paréntesis (se ejecutan primero los más internos)2. Signo 3. Potencia4. Productos y Divisiones ( *, / y %)5. Sumas y Restas (+ y -)6. …

AritméticosAritméticos

Page 15: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

De asignación aritmética: Es una abreviatura de las expresiones de

asignación:

OPERACIÓN OPERADOR EJEMPLO SIGNIFICADO

Suma += c += 7 c = c + 7

Resta -= d -= 4 d = d – 4

Multiplicación *= e *= 5 e = e * 5

División /= f /= 3 f = f / 3

Módulo %= g %=9 g = g % 9

Potenciación **= h **= 2 h = h**2

Incrementales y DecrementalesIncrementales y Decrementales

Page 16: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

RelacionalesRelacionales

Operadores Relacionales Sintaxis:

operador_1 operador_relacional operador_2

OPERACIÓN OPERADOR EJEMPLO SIGNIFICADO

Igualdad == x == y ¿x es igual a y?

Diferente != x != y ¿x no es igual a y?

Mayor > x < y ¿x es mayor que y?

Menor < x > y ¿x es menor que y?

Mayor Igual >= x <= y ¿x es mayor o igual que y?

menor Igual <= x >= y ¿x es menor o igual que y?

Page 17: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

RelacionalesRelacionales Nota: Es importante que se diferenciemos el

operador de asignación y el operador de igualdad (relacional)

Asignación = Este operador le lleva el valor correspondiente a la

variable que se encuentre a la izquierda• X= 3 // a X le asigna el valor de 3.

Igualdad == Este operador pregunta si los operadores de la

izquierda y de la derecha son iguales. Si son iguales resulta 1. Si son diferentes resulta 0.• X==3 //¿X es igual a 3?

Page 18: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

LógicosLógicos

Operadores Lógicos

OPERACIÓN OPERADOR EJEMPLO SIGNIFICADO

Negación not not(m) No m (inverso de m)

Y and m>3 and m<5 m mayor a 3 y menor que 5

O or m>3 or m<5 m mayor a 3 o menor que 5

Page 19: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Ejemplos

Entrada y Salida de datos

Estructura Secuencial

Repaso

Entrada y Salida de datos

A continuación…A continuación…

Page 20: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Salida/Ingreso de informaciónSalida/Ingreso de información

20

Page 21: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Salida de datosSalida de datos Salida de datos:

Escribir: Para mostrar información en la pantalla en Diagramas de flujo utilizábamos:

Ahora en Python reemplazaremos dicha estructura por la función print:

El mensaje posee la siguiente sintaxis diferentes formatos de salida

Mensaje

print (“mensaje”, variables);

Page 22: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Formato de salidaFormato de salida• El objetivo dar formato es hacer la salida mas agradable.• Formas vistas hasta el momento:

• Para profundizar mas puede consultar en: http://www.python-course.eu/python3_formatted_output.php

22

Empleando coma (,)

Empleando el signo mas (+)

>>> print("Articulo: %d, precio: %f" % (5, 1850.25))Articulo: 5, precio: 1850.25

Empleando tipos (%)

Page 23: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Formato de salidaFormato de salida

23

• Python nos permite indicar el formato de visualizacion de una variable mediante un indicativo.

• Los formatos más utilizados son:

Formato Significado

d (i) Entero decimal

u Entero decimal sin signo

o Octatal sin signo

x Hexadecimal sin signo

f Flotante (real)

c Un solo carácter

s Cadena de caracteres

Page 24: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Sobre las secuencias de escapeSobre las secuencias de escape

24

• Python cuenta con un carácter especial conocido como carácter de escape (\).

• Cuando un carácter de escape es usado en un String, el carácter siguiente es tratado de una forma diferente a la normal

• Secuencia de escape = Carácter de escape + Carácter siguiente.

Secuencia de escape

Nombre Ejemplo Salida

\n Nueva línea print('Hola \n Mundo') Hola Mundo

\t Tabulación horizontal print('3\t4\t5') 3 4 5

\\ Carácter backslash print('\\') \

\‘ Carácter comilla sencilla print('don\'t') don't

\“ Carácter comilla doble print("He says, \"hi\".") He says, "hi".

Page 25: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Formato separación empleando comas: Permite mostrar en pantalla un texto (cadena), y variables.

El mensaje posee la siguiente sintaxis:“texto1”,variable1,“texto2 ”, variable2,“texto3 ”,formato3,…

• Mensaje: Contiene el texto que deseamos imprimir en pantalla y las variables separadas con comas. El texto siempre va entre comillas (simple o dobles).

– Texto: Es la cadena de palabras que aparecen de manera literal.– variable: Son los nombres de las Variables que ver su valor.

Salida de datos recomendadaSalida de datos recomendada

Page 26: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Entrada de datosEntrada de datos Entrada y salida de datos:

Leer: Para la entrada de datos por parte del usuario.

Ahora en Python reemplazaremos dicha estructura por la función input.

Variables

vble = tipo(input(“mensaje”))

Page 27: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Descripción: Permite ingresar los datos mediante el teclado. Sintaxis:

• vble: es la variable que se le asignará un valor por teclado.• tipo: se debe indicar el tipo de dato que deseamos recibir:

– int: entero– float: real– bool: booleano– Sin tipo: cadena

• Mensaje: El mensaje es opcional, y es el texto que se mostraría antes de ingresar la variable.

vble = tipo(input(“mensaje”))

Entrada de datosEntrada de datos

Page 28: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

EjemploEjemplo

Para capturar datos que el usuario quiera ingresar al programa…

28

name = input('Ingrese su nombre:') print('¡Buenos dias',name,'!')

print('Ingrese su edad:')age = int(input())print('su edad es:', age)print('El proximo año sera:', age+1)

print('Ingrese su promedio:')promedio = float(input())print('su pormedio es:', promedio)

Page 29: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

Ejemplos

Entrada y Salida de datos

Estructura Secuencial

Repaso

Ejemplos

A continuación…A continuación…

Page 30: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

EjemplosEjemplos Ejemplo 1: Hacer un algoritmo que calcule el área de un cuadrado

30

Page 31: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

EjemplosEjemplos Ejemplo 2: Hacer un algoritmo que calcule el área de un cuadrado

31

Page 32: Sesión 11: Python (2) – Estructura Secuencial. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática

2009/1Circuitos Digitales III 2010/1Circuitos Digitales III 2010/1Circuitos Digitales IIICircuitos Digitales III 2010/1Informática I Universidad de Antioquia

GRACIAS POR SU ATENCIÓN