jairo bernardo viola villamizar lógica y...

49
Introducción a Python Jairo Bernardo Viola Villamizar Lógica y Algoritmia

Upload: phamthu

Post on 27-Sep-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

Introducción a Python

Jairo Bernardo Viola Villamizar

Lógica y Algoritmia

¿Qué es Python?

• Es un lenguaje de programación interpretado de propósito general de alto nivel.

• Su filosofía consiste en hacer que la sintaxis sea legible

• Es un lenguaje multi-paradigma: Programación estructurada, orientada a objetos, imperativa.

¿Qué es Python?

• Fue creado a finales de los 80 por Guido van Rossum en el centro para las matemáticas e informática de los países bajos.

• EL nombre Python le fue dado por el humorista británico Monty Python.

• En 1991 sale la primera versión de Python con capacidad de manejar clases y herencias.

Lenguaje interpretado vs lenguaje compilado

Lenguaje interpretado Lenguaje compilado

Lee línea a línea del código, la traduce y la ejecuta

Toma todo el código y lo traduce a lenguaje de maquina

Cada línea de código es convertida en una accion

El programa corre por sis solo ya que al ser compilado pasa al lenguaje de

maquina

Puede ser interpretado en cualquier plataforma o sistema operativo que tenga

el interprete

Solo funciona en la plataforma para lacual ha sido creado

Menor velocidad de ejecución 10 a 20 veces mas veloz que un lenguaje interpretado

Codigo fuente necesario en cada ejecucion

El ejecutable se puede correr en cualquier plataforma sin necesidad del código

fuente

Ventajas de Python• Lenguaje de programación multiparadigma

• Combinación de estructuras de alto nivel

• Compatibilidad con cualquier sistema operativo

• Facilita la programación modular

• Gran cantidad de compiladores

• Altamente flexible

• Codificación eficiente

• Aplicaciones en sistemas embebidos

• Sintaxis mas sencilla pero mas clara

Filosofía de Python

Bello es mejor que feo

Explicito es mejor que implícito

Simple es mejor que complejo

La legibilidad cuenta

Versiones de Python

• Python 0.90: de Python nacida en 1991 sucesor del lenguaje ABC y con capacidad de manejo de clases.

• Python 1.0 (1994) : Incluye herramientas para el manejo de programación funcional.

• Python 2.0 (2000): Incluye el manejo de listas y el recolector de basura para gestión de memoria.

• Python 3.0 (2008):

Interpretes de Python

• Python IDLE

• Ipython

• Bpython

• PyPy

Aplicaciones de Python

Calibre ebook reader

Python IDLE

• Es un entorno de desarrollo integrado (IDE) para el desarrollo de programas en Python

• Multiplataforma

• Permite trabajar multiples pestañas

• Resaltado de comandos especiales

• Autocompletado de comandos

Entorno de trabajo de IDLE

Editor

Consola

Crear un nuevo script

Click en file > new file

Estructura de un programa en Python

Declaración de librerías

• Declaración de variables

• Definición del tipo de datos

Programa principal

• Ingreso de datos

• Instrucciones que se van ha ejecutar

Funciones del programador

• Funciones de propósito especifico que define el programador

¿Qué es una librería?• Son un conjunto de códigos que realizan tareas comunes o

especiales y están disponibles para su ejecución en un programa.

• Ejemplos:

*leer el teclado*escribir en la pantalla

*Funciones matemáticas

• Se clasifican de acuerdo a la función que cumplen

• Existen muchas librerias en internet y cada una cumple una funcion especial

Librerías en Python• Os.py: maneja la comunicación entre el sistema operativo y el

programa

• Math.py: contiene todas las funciones matemáticas

• Fibo.py: Calcula la serie de Fibonacci para un numero n de elementos.

• Time: permite acceder a la hora del computador

• Urllib2: permite manejar la web desde Python para descargar archivos o manejar paginas web.

• Random: generación de números aleatorios teniendo en cuenta diferentes distribuciones de probabilidad

¿Qué es una Variable?

• Corresponde a un espacio en la memoria del computador que posee un nombre simbólico que lo representa.

• En dicho espacio se almacena una cantidad especifica de información conocida o desconocida.

• El nombre de la variable permite referirse a la información allí presente.

Clasificación de las variables

Variable global

• Posee el mismo valor durante todo el programa

• Puede ser accesadaen cualquier momento

Variablelocal

• Mantiene su valor solamente durante la ejecución de una subrutina o función

• Solo se puede accesardurante la rutina correspondiente.

Tipos de variables en Python

• Números

Dato Tipo Ejemplo

Int Entero 10100-784

Float Punto flotante 15,2032.2 e 1815 e -98

Long Entero de mas de 8 bits

5192436 L

Complex Complejos 3,14j1+10j

Operadores matemáticos

Operador Símbolo

Suma +

Resta -

Multiplicación *

División /

Residuo %

potencia **

Operadores de comparación

Operador Símbolo

Menor <

Mayor >

Menor Igual <=

Mayor Igual >=

Igual ==

Diferente !=

Ejemplo: imprimir un mensaje

La instrucción print permite imprimir unmensaje en la consola de python

Manejo del cursor

Cursor Descripción

\b Backspace

\v Retorno de carro

\t Tabulador

\n Nueva linea

\r Retorno de carro

\\ Carácter \

Compilación

Click enr Run->Run module o F5

Imprimir una variable

Ingreso de datos

Se coloca primero el tipo de datos que se

desea ingresar y luego el comando input

Funciones matemáticas

Docmath.py

Funciones trigonométricas

Se importa la librería math.py que contiene todas las funciones necesarias para trabajar cálculos

matemáticos

Ejercicios

1. Hacer un programa que dados el peso y la estaturacalcule el índice de masa corporal. El índice de masacorporal se define como:

2. Diseñar un algoritmo que dada la arista de un cubocalcule su área, perímetro y volumen.

3. Calcular la hipotenusa de un triangulo rectánguloingresando el valor de los catetos

Precedencia de las operaciones y uso de paréntesis

Orden Operación

1 Operaciones entre paréntesis

2 Exponenciación

3 Multiplicación y división, de izquierda a derecha

4 Suma y resta de izquierda a derecha

5 Operaciones de concatenación

• Ejemplo

Precedencia de las operaciones y uso de paréntesis

37/5

6/1024

-7.25

Estructura condicional IF

• Sentencia de bifurcación que permite la ejecución o no de una sentencia de acuerdo a una condición dada

A==BSi

No

Sintaxis del IF

If condición:instrucciones

else:instrucciones

Condición Símbolo

Mayor >

Menor <

Igual ==

Menor igual <=

Mayor igual >=

Diferente =!

Al escribir IF, se evalúa la condición propuesta.

Else representa a las acciones que se ejecutaran si no se cumple la

condición

Ejemplo

La sangría denota el bloque de instrucciones correspondientes

a la instrucción

Para continuar con el flujo normal del programa se colocan

las instrucciones sin sangría nuevamente

If-elif-else

• Permite evaluar una nueva condición si no se cumple la condición principal

• A diferencia del else, else if requiere una nueva condicion.

If condición:codigo

Elif condición:código

Elsecodigo

If-elif-else

La instrucción elif permite evaluar nuevas condiciones

cuando la primera no se cumple

Condicionales múltiples

Condición funcionamiento

And Si todas las condiciones se

cumplen

Or Si alguna de las condiciones se

cumple

Not Invierte el resultado de una

operacion

IF anidados

A>B

No A>C

Si

B<CB>C

C>A

Fin

A,B,C

Inicio

No

Si

No

Si

No

Si

No

Si

ABCACB

CABCBA

BAC BCA

Son una larga cadena de condicionales unidos que generan diferentes resultados

Ejemplo

En un IF anidado cada condición depende de la inmediatamente anterior

La condición anidada es una cadena serial de condiciones

Se debe respetar la sangría en cada condicion

Bucles de control

• Permiten la ejecución repetitiva de una secuencia de pasos

• Tiene una serie de condiciones especiales para su funcionamiento

• Uso de contadores, acumuladores o banderas

Contador

• Variable que cambia su valor a una razón constante.

• Puede ser creciente o decreciente

Contador= contador +1

Contador= contador -1

Contador++Contador--

Acumulador

• Es una variable que incrementa su valor constantemente.

• No tiene una razón fija de aumento

Acumulador=Acumulador + razón

Acumulador=Acumulador - razón

Bandera

• Variable que toma un valor determinado al cumplirse cierta condición.

• Dicho valor puede ser asignado por el usuario de acuerdo a la lógica de su programa

• Empleada como condición de salida o de ingreso a un ciclo repetitivo.

Bucle FOR

• Repite la condición un numero n de veces.

• Utiliza un contador para avanzar entre las condiciones.

• Tiene un punto de inicio y de finalización.

i in range(x):

Acciones

Ejemplo:Repetición de un mensaje

Se debe introducir la sangría para diferenciar los términos del for con

los del programa principal

Ejemplo: Sumatoria

Este algoritmo realiza la

operación:

Suma=suma+i

Ejemplo: factorial

Bucle While

• Repite la acción hasta que se cumpla la condición.

• La condición esta determinada por una bandera

Bandera==1

Acciones

Si

No

Ejemplo

Este programa emplea un ciclo while para ingresar e

imprimir números mientras que el numero

ingresado sea diferente de cero

Menú con Python