Primeros Pasos en Python 3

Documentos relacionados
Estructuras de datos, vectores y matrices. Introducción a la programación

Recursividad. Introducción a la programación

Introducción a Python. Cecilia Manzino

ESTRUCTURA DE ASIGNACIÓN

Programación MODULAR: Subalgoritmos - funciones y procedimientos

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Tema 2 Introducción a la Programación en C.

Métodos que devuelven valor Dado el siguiente triángulo rectángulo:

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos

Programación Estructurada

Tema: Funciones, Procedimientos y Recursividad en C#.

Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

La resolución de un problema

Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.

Componentes Básicos. InCo. InCo Componentes Básicos 1 / 28

Tema 2. Concepto de Algoritmo

Introducción a la programación

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

FUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B)

Tipos de datos y Operadores Básicos

Tema: Funciones, Procedimientos y Recursividad en C#.

GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo:

Algoritmos y solución de problemas. Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal

[TEMA #2. ETAPAS Y TÉCNICAS PARA EL DESARROLLO DE PROBLEMAS CON AYUDA DEL COMPUTADOR.]

Guía práctica de estudio 05: Diagramas de flujo

Guía práctica de estudio 05: Pseudocódigo

Programación Orientada a Objetos en C++

PRÁCTICA FUNDAMENTOS DE ALGORITMOS I. Objetivos

2.3 DEFINICIÓN DE LENGUAJES ALGORÍTMICOS

FUNDAMENTOS DE INFORMÁTICA

Tema: Clases y Objetos en C#. Parte II.

Evolución del software y su situación actual

2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje.

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

Escribir programas a partir de un diagrama de flujo

PRÁCTICA FUNDAMENTOS DE ALGORITMOS (Estructuras de Repetición II) Objetivos

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

C# para no Programadores

Programación de Ordenadores

Agosto de 2012 TUTORIAL PSEINT. Servicio Nacional de Aprendizaje SENA Jordan Angulo Canabal

Diagramas. En computación existen básicamente dos tipos de diagramas: diagramas de entradaproceso salida

Introducción a la programación: Algoritmos

Fundamentos de Programación Visual Basic

Subrutinas. Subrutinas. Erwin Meza Vega

Sistema Operativo Linux

Desarrollo de Programas. Prof. Lisbeth C. Pérez Rivas

INTRODUCCIÓN A LA PROGRAMACIÓN Segundo Parcial - Marzo 19 de Consideraciones Generales

Shell Script Sistemas Operativos III - ITS EMT - CETP

Introducción a la programación: Contenido. Introducción

Curso de Java Introducción a la Programación I

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

Programación Estructurada

C1 INTRODUCCIÓN AL LENGUAJE C. Fundamentos de Informática Departamento de Ingeniería de Sistemas y Automática. EII. Universidad de Valladolid

Metodología de Desarrollo de Programas

Herramientas de Programación. M.C. Juan Carlos Olivares Rojas

TUTORIAL PSEINT. Ing. Ronald Rentería Ayquipa. Fundamentos de Programación

Algoritmos y Lenguajes de Programación

TEMA 3: El proceso de compilación, del código fuente al código máquina

Tema 01: Algoritmia y diagramas de flujo. Estructuras de datos (Prof. Edgardo A. Franco)

Tema: Análisis Léxico

Conceptos y definiciones básicos en computación

GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos.

Tema II: Metodología para la construcción de programas. Profesora: Nelly García Mora

PROCESADORES DE LENGUAJE. Hoja de ejercicios de FLEX

Comunicación entre objetos

Principios de Computadoras II

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR

Principios de Computadoras II

8.1.- FUNCIONES Y PROCEDIMIENTOS DEFINIDOS POR EL USUARIO EN TURBO PASCAL.

Programación en java. Estructuras algorítmicas

Área: INFORMÁTICA. Saber- Saber: Identificar DFD como herramienta para escribir los algoritmos de forma lógica.

Técnicas de Programación

PARADIGMA y LENGUAJES DE PROGRAMACIÓN

Lenguaje de programación C. Introducción

Y alternativamente se presentarán soluciones de problemas donde se utilicen:

TEMA 1: Algoritmos y programas

Compiladores: Análisis Semántico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inès Alvarez V.

Introducción a los Algoritmos. Mtro. Manuel Suárez Gutiérrez

Programación Estructurada

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Taller de Resolución de Problemas Computacionales

Tema 6: Clases. Índice

Es un lenguaje estructurado, tiene una abundante cantidad de operadores y tipos de datos.

LABORATORIO 3. PROGRAMACIÓN CON EL LENGUAJE JAVA

Estructuras de control

MODULO SOBRE PROGRAMACION MATLAB

Diagramas de secuencia

07 Variables. 7.1 Variables globales Definición

FUNDAMENTOS DE PROGRAMACIÓN ESTRUCTURADA

Transcripción:

Primeros Pasos en Python 3 Introducción a la programación I semestre, 2016 1

Escribir Programas en Python Un programador debe utilizar expresiones, funciones y métodos de forma combinada para obtener soluciones a problemas. Un programa en Python: Archivo con extensión.py (ejemplo: circulo.py) Archivo C o C++ compilados Un módulo cargado dinámicamente (import) Interprete Python

Escribir Programas en Python #!/usr/bin/python3 #Archivo: area-circulo.py #Calcular área de un circulo # A = Pi * r **2 radio = 10 area = 3.141516 * radio ** 2 print(area) y si después quiero volver a calcular el área de un circulo?

Definición de una función Una mejor forma para escribir programas es por medio de funciones. def nombre_función(argumentos): Cuerpo de la función def: es una palabra reservada de python. Nombre de la función es un identificador válido de python (usar un nombre significativo). Los argumentos son las entradas que recibe el programa. Se presentan como nombres simbólicos o identificadores internos que serán sustituidos. Cuerpo de la función: lógica de la solución. Expresiones, combinaciones de estructuras permitidas, podría contener invocaciones a otras funciones. Notas de Sintaxis: dos puntos ( : ) e identación. y las salidas? y las restricciones?

Invocar funciones Las funciones pueden ejecutarse directamente desde el intérprete o desde otro programa. Sintaxis para la ejecución desde el intérprete: >>> nombre_función(valores_argumentos) Resultado (si lo hubiera) Los argumentos son los valores de entrada que serán asociados a los nombres simbólicos (identificadores internos que definimos) La invocación de funciones dentro de otro programa se realiza igual, pero el resultado no se presentará en el intérprete sino que estará a disposición de quien invocó la función.

Escribir Programas en Python (nivel 2) #!/usr/bin/python3 #archivo: area-circulo2-v2.py #Calcular área de un circulo # A = Pi * r **2 def area_circulo(radio): area = 3.141516 * radio ** 2 return area resultado = area_circulo(10) print(resultado)

Escribir Programas en Python (v2) #!/usr/bin/python3 #Archivo: area-circulo2-v2.py #Calcular área de un circulo # A = Pi * r **2 def area_circulo(radio): area = 3.141516 * radio ** 2 return area Variable local Únicamente es conocida dentro del ámbito de la función en la cual está definida. Fuera de la función area no existe. resultado = area_circulo(10) print(resultado)

Documentación interna del código En Python tenemos dos formas de escribir comentarios en el código fuente: De una línea: se utiliza el símbolo # Multilínea: se definen con tres comillas dobles #!/usr/bin/python3 # Archivo: area-circulo2-v3.py # Función que calcula el área de un circulo # Entradas: radio. # Salidas: área del circulo # Restricciones: el radio debe ser mayor que cero def area_circulo(radio): area = 3.141516 * radio ** 2 # Formula: A = Pi * r **2 return area

Documentación interna del código En Python tenemos dos formas de escribir comentarios en el código fuente: De una línea: se utiliza el símbolo # Multilínea: se definen con tres comillas (docstrings) #!/usr/bin/python3 ''' Función que calcula el área de un circulo Entradas: radio. Salidas: área del circulo Restricciones: el radio debe ser mayor que cero ''' def area_circulo(radio):

Documentación interna del código (print doc) #!/usr/bin/python3 def area_circulo(radio): ''' Función que calcula el área de un circulo Entradas: radio. Salidas: área del circulo Restricciones: el radio debe ser mayor que cero ''' return 3.141516 * radio ** 2 # Formula: A = Pi * r **2 >>> print(area_circulo. doc )

Ejercicio: Área y Perímetro de un rectángulo Escriba un programa de python que contenga dos funciones para operar con rectángulos: Área = Base * Altura Perímetro = Base + Base + Altura + Altura Entender el problema Pensar un algoritmo Código Pruebas Entradas Salidas Restricciones Diagrama de flujo Comentarios Utilice return para retornar el valor resultante de las operaciones. Asegúrese de hacer pruebas de su programa (diseñe un plan de pruebas).

Errores... (pulgas o bugs) Dos tipos de errores: Sintácticos: se da por incumplimiento de las reglas definidas para el lenguaje. Semánticos: se dan en tiempo de ejecución y representar fallos en la lógica del programa. Si hay resultados pero no son los esperados.

Ejercicio: Conversión de grados Escriba dos funciones, bien documentas, para convertir grados centígrados a farenheit. Formulas: Farenheit = 9 /5 * centígrados + 32 Centígrados: ( Farenheit 32 ) / 1,8 Más práctica: Construya una función para cada una de las conversiones que aparecen en esta tabla: http://es.wikipedia.org/wiki/grado_fahrenheit#conversi.c3.b3n_a_otras_unidades

Más Información Funciones: http://docs.python.org/release/3.1.3/tutorial/controlflow.html#defining-functions Errores: http://docs.python.org/release/3.1.3/tutorial/errors.html

Referencias y Lecturas Complementarias Material suministrado por el profesor Jeff Schmidt, Instituto Tecnológico de Costa Rica. I semestre 2011.

Las presentaciones para el curso IC-1800: "Introducción a la Programación" por Ing. En Computación Alajuela se distribuyen bajo una Licencia Creative Commons Atribución-Compartir Igual 3.0 Costa Rica. 22 http://creativecommons.org/licenses/by-sa/3.0/cr/ http://creativecommons.org/licenses/by-sa/3.0/cr/ *La licencia de la presentación no cubre las imágenes utilizadas*

Primeros Pasos en Python 3 Introducción a la programación I semestre, 2016 1

Escribir Programas en Python Un programador debe utilizar expresiones, funciones y métodos de forma combinada para obtener soluciones a problemas. Un programa en Python: Archivo con extensión.py (ejemplo: circulo.py) Archivo C o C++ compilados Un módulo cargado dinámicamente (import) Interprete Python Expresiones: combinaciones de operadores, métodos, funciones, datos Formular del área: A = pi * r2 Con los conocimientos adquiridos hasta ahora: cómo podemos escribir un programa de Python que nos permita calcular el área de un círculo?.

Escribir Programas en Python #!/usr/bin/python3 #Archivo: area-circulo.py #Calcular área de un circulo # A = Pi * r **2 radio = 10 area = 3.141516 * radio ** 2 print(area) y si después quiero volver a calcular el área de un circulo? OJO: Este ejemplo es antes de utilizar funciones. Aprovechar para explicar que si bien esta es una forma de solucionar el problema, es poco reutilizable porque para cada vez que quiero utilizarla necesito cambiar la codificación del programa. La primera línea es para indicarle al sistema operativo cual python debe utilizar. - De modo que yo podría utilizar el programa como un script que ejecuta directamente el S.O. $chmod z+x NOMBRE_PROGRAMA esto para hacerlo ejecutable $./NOMBRE_PROGRAMA lo ejecuto.

Definición de una función Una mejor forma para escribir programas es por medio de funciones. def nombre_función(argumentos): Cuerpo de la función def: es una palabra reservada de python. Nombre de la función es un identificador válido de python (usar un nombre significativo). Los argumentos son las entradas que recibe el programa. Se presentan como nombres simbólicos o identificadores internos que serán sustituidos. Cuerpo de la función: lógica de la solución. Expresiones, combinaciones de estructuras permitidas, podría contener invocaciones a otras funciones. Notas de Sintaxis: dos puntos ( : ) e identación. y las salidas? y las restricciones? Las salidas usualmente son dadas con un return, para que otra parte del programa pueda utilizar esos valores. ( return ) Las restricciones, utilizamos comentarios para indicarle al programados de éstas y validaciones para hacer que el programa se asegure que los datos de entrada cumplen con las restricciones. Los argumentos en otros lenguajes se les conoce como parámetros. Ojo con los argumentos: Python permite una funciones con un número de argumentos variable, o argumentos por omisión (predeterminados). Revisen eso... Ojo que en python no se define el tipo de valor que se retornará, inclusive podría ser que para el programador no retorne nada, en esos casos Python retorna None.

Invocar funciones Las funciones pueden ejecutarse directamente desde el intérprete o desde otro programa. Sintaxis para la ejecución desde el intérprete: >>> nombre_función(valores_argumentos) Resultado (si lo hubiera) Los argumentos son los valores de entrada que serán asociados a los nombres simbólicos (identificadores internos que definimos) La invocación de funciones dentro de otro programa se realiza igual, pero el resultado no se presentará en el intérprete sino que estará a disposición de quien invocó la función.

Escribir Programas en Python (nivel 2) #!/usr/bin/python3 #archivo: area-circulo2-v2.py #Calcular área de un circulo # A = Pi * r **2 def area_circulo(radio): area = 3.141516 * radio ** 2 return area resultado = area_circulo(10) print(resultado) de dónde a donde va la función? Incluye únicamente la línea que comienza con def, la instanciación de la variable y el return. Lo demás es para ejecutar la función con un argumento particular, pero podría hacer lo mismo usando el shell de python.

Escribir Programas en Python (v2) #!/usr/bin/python3 #Archivo: area-circulo2-v2.py #Calcular área de un circulo # A = Pi * r **2 def area_circulo(radio): area = 3.141516 * radio ** 2 return area Variable local Únicamente es conocida dentro del ámbito de la función en la cual está definida. Fuera de la función area no existe. resultado = area_circulo(10) print(resultado) de dónde a donde va la función? Incluye únicamente la línea que comienza con def, la instanciación de la variable y el return. Lo demás es para ejecutar la función con un argumento particular, pero podría hacer lo mismo usando el shell de python. Explicar el concepto de variable local, acá área es una variable local que únicamente será válida dentro del cuerpo del programa.

Documentación interna del código En Python tenemos dos formas de escribir comentarios en el código fuente: De una línea: se utiliza el símbolo # Multilínea: se definen con tres comillas dobles #!/usr/bin/python3 # Archivo: area-circulo2-v3.py # Función que calcula el área de un circulo # Entradas: radio. # Salidas: área del circulo # Restricciones: el radio debe ser mayor que cero def area_circulo(radio): area = 3.141516 * radio ** 2 # Formula: A = Pi * r **2 return area La primera línea del comentario es para indicarle al SO qué versión de python debe utilizar. (buena práctica) La segunda línea es para identificar el nombre del archivo. se podría agregar la fecha y el nombre del autor. Obligatoriamente utilizaremos: - descripción (se omite decirlo explícito) - entradas, salidas, restricciones

Documentación interna del código En Python tenemos dos formas de escribir comentarios en el código fuente: De una línea: se utiliza el símbolo # Multilínea: se definen con tres comillas (docstrings) #!/usr/bin/python3 ''' Función que calcula el área de un circulo Entradas: radio. Salidas: área del circulo Restricciones: el radio debe ser mayor que cero ''' def area_circulo(radio): Acá no hay identación en el comentario multliinea porque se asume que está encima de la función y no adentro.

Documentación interna del código (print doc) #!/usr/bin/python3 def area_circulo(radio): ''' Función que calcula el área de un circulo Entradas: radio. Salidas: área del circulo Restricciones: el radio debe ser mayor que cero ''' return 3.141516 * radio ** 2 # Formula: A = Pi * r **2 >>> print(area_circulo. doc ) Acá hay una identación en el comentario interno de la función porque sino hay un error. Si se hace un programa así: #!/usr/bin/python3 #Filename: area-circulo.py ''' Este programa es tuanis! ''' >>> print( doc )

Ejercicio: Área y Perímetro de un rectángulo Escriba un programa de python que contenga dos funciones para operar con rectángulos: Área = Base * Altura Perímetro = Base + Base + Altura + Altura Entender el problema Pensar un algoritmo Código Pruebas Entradas Salidas Restricciones Diagrama de flujo Comentarios Utilice return para retornar el valor resultante de las operaciones. Asegúrese de hacer pruebas de su programa (diseñe un plan de pruebas). las funciones input y print, para solicitar los parámetros y para imprimir el resultado de los cálculos en pantalla. La solución en python necesitaría hacer algo como: 1. recibir argumentos 2. validarlos (contra las restricciones) en caso de error indicarlo. 3. generar las salidas

Errores... (pulgas o bugs) Dos tipos de errores: Sintácticos: se da por incumplimiento de las reglas definidas para el lenguaje. Semánticos: se dan en tiempo de ejecución y representar fallos en la lógica del programa. Si hay resultados pero no son los esperados. Herramientas para corrección de errores: depurador o debugger El depurador no solo es utilizado ante la presencia de errores, también cuando queremos mejorara la eficiencia de un programa. El depurador se puede utilizar de forma gráfica o utilizando funciones del módulo pdb o el módulo trace.

Ejercicio: Conversión de grados Escriba dos funciones, bien documentas, para convertir grados centígrados a farenheit. Formulas: Farenheit = 9 /5 * centígrados + 32 Centígrados: ( Farenheit 32 ) / 1,8 Más práctica: Construya una función para cada una de las conversiones que aparecen en esta tabla: http://es.wikipedia.org/wiki/grado_fahrenheit#conversi.c3.b3n_a_otras_unidades

Más Información Funciones: http://docs.python.org/release/3.1.3/tutorial/controlflow.html#defining-functions Errores: http://docs.python.org/release/3.1.3/tutorial/errors.html

Referencias y Lecturas Complementarias Material suministrado por el profesor Jeff Schmidt, Instituto Tecnológico de Costa Rica. I semestre 2011.

Las presentaciones para el curso IC-1800: "Introducción a la Programación" por Ing. En Computación Alajuela se distribuyen bajo una Licencia Creative Commons Atribución-Compartir Igual 3.0 Costa Rica. 22 http://creativecommons.org/licenses/by-sa/3.0/cr/ *La licencia de la presentación no cubre las imágenes utilizadas*