Scientific Programming with Python

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

PROGRAMACIÓN UNIDADES

Descripción y Contenido del Curso. Programación C++ Capacity Academy.

DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA

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

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

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

TEMA 2 Introducción a C# ANÁLISIS Y DESARROLLO DE APLICACIONES INFORMÁTICAS Curso 2010/2011

Algoritmos y programas. Algoritmos y Estructuras de Datos I

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

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

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

PROGRAMA INSTRUCCIONAL

Actividad de Evaluación Brandon Emmanuelle Cuevas Rangel GPO: 303 Carrera: Informática 3er Semestre Joel Rocha Barocio Cienega de Flores N.L.

CURSO PROFESIONAL DE PYTHON MÁSTER EN DESARROLLO DE APLICACIONES WEB CON JAVA ENTERPRISE EDITION

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Introducción a los Computadores (CNM-130) Estructuras selectivas en Matlab

1. Computadores y programación

Funciones & Estructuras de control

MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5

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

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

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

EXAMEN EXTRAORDINARIO Informática y Computación IV

Programación I: Matrices - Arreglos bidimensionales

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

PROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I

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

Estructuras de control

Estructuras en LabVIEW.

Introducción a la Programación

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

Nano Taller de Python

Presentación del curso

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.

Manual de turbo pascal

Programación Estructurada

Programación con Visual C#

Resultado de Aprendizaje:

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

PROGRAMACIÓN EN PYTHON 2. Clara Higuera Laboratorio Integrado de Biofísica y Bioinformática Nov-2015

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

2.2 Nombres, Ligado y Ámbito

Capítulo 7 OPERADORES Y EXPRESIONES. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

ESCUELA DE INFORMÁTICA

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

Aprender a desarrollar con JavaScript

Curso Querying Microsoft SQL Server 2014 (20461)

Tema V Generación de Código

Programación Orientada a Objetos

Estructuras de Control

Herramientas computacionales para la matemática MATLAB: Estructuras de control

Tema 7.- Fundamentos de la Programación Orientada a Objetos

GUÍA BÁSICA DE SCHEME v.4

POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015 HORAS POR SEMANA DEL LABORATORIO: DIAS QUE SE IMPARTE EL LABORATORIO:

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.

ESCUELA SUPERIOR POLITECNICA DEL LITORAL PROGRAMA DE ESTUDIOS

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

MS_10266 Programming in C# with Microsoft Visual Studio 2010

Introducción a la Programación en MATLAB

ALGORITMOS, ESTRUCTURAS Y PROGRAMACION

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Operadores y Expresiones

JAVA 7 Los fundamentos del lenguaje Java

Principios de Computadoras II

Elementos de un programa en C

5. Sentencias selectivas o condicionales

AREA A LA QUE PERTENECE: 103 Matemática Básica 2 34 créditos POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015

El lenguaje C. 1. Identificadores, constantes y variables

TEMA 2. CONCEPTOS BÁSICOS DE ALGORÍTMICA

FUNDAMENTOS DE PROGRAMACION

ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA

Introducción. Universidad de Concepción, Chile Departamento de Geofísica Programación Científica con Software libre.

Fundamentos de programación y Bases de Datos

C# para no Programadores

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

MANUAL DE USUARIO PYTHON-PROYECTO: BOLICHE INDICE DESCRIPCIÓN DEL PROGRAMA

SENA Distrito Capital Centro de Electricidad, Electrónica y Telecomunicaciones ADSI - Ing. Espec. Javier Vaquiro

la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación.

SOLUCIONES FORMATIVAS EN ECONOMÍA Y FINANZAS. Modelización Financiera con Python

INSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS " GONZALO VAZQUEZ VELA "

03 Cadenas en Python 3. Diego Andrés Alvarez Marín Profesor Asociado Universidad Nacional de Colombia Sede Manizales

Herramientas computacionales para la matemática MATLAB: Cómo guardar el trabajo?

C.I.F.: B Inscrita en el Registro Mercantil de Madrid, Tomo Libro 0, Folio 135, Sección 8. Hoja M Inscripción 1ª

Algoritmos y Programas

GUIA No 5. CREACIÓN DE SubVI s

INTRODUCCIÓN A LA PROGRAMACIÓN EN FORTRAN. Métodos Numéricos Carlos Zotelo

JAVA -INTRODUCCIÓN AL LENGUAJE

Programación de los problemas de Física en.

Lenguaje de programación con JAVA

Modulo 1 El lenguaje Java

Transcripción:

Scientific Programming with Python Felipe Zapata Reactivity and Molecular Structure Group of the University of Alcala 9 de marzo, 2011

Contenido Porque que programar? Introducción a Python Características y herramientas en python Programación orientada a objetos Conclusiones

Programación Los ordenadores realizan operaciones específicas en tiempo muy cortos. No todas las herramientas necesarias están desarrolladas. La implementación de las metodologías de resolución de problemas no es un paso trivial. Diseñas tus propias herramientas.

Que es un programa? Secuencia de instrucciones que especifican como llevar a cabo una labor, como por ejemplo resolver una ecuación diferencial o buscar y editar texto en un documento. Input : ingresar datos. Output: desplegar datos Math: realizar operaciones. Conditional: comparación de condiciones. Repetition: operaciones iterativas.

Python Lenguaje de alto nivel, con interpetración al vuelo. No más compilación. Fácil de programar, toma menos tiempo escribir un programa y los programas resultantes son más cortos y fáciles de leer. El interpretador funciona de manera interactiva o en modo script.

Modos Modo interactivo. El compilador permite ejecutar directamente en la shell una secuencia de comandos luego de invocar a Python. Modo script

Herramientas en Python Modulos: Math. Funciones matematicas básicas. Numpy. Numerical Python, algebra matricial. SciPy. open-source software for math, science, and engineering. Otras. Random, OS, etc. Mytools. Herramientas que crea el usuario.

Variables Nombres prohíbidos

Expresiones La prioridad de los operadores es (),**, *, /, +, -. El simbolo # se usa para comentar. Las expresiones inician en la primera columna.

Laziness Una manera práctica de programar es repetir la menor cantidad de código, en la medida que sea posible. El programa se debe estructurar de tal forma que en el esquema principal del programa solo aparezcan las operaciones fundamentales. Los detalles de cálculo se deben cargar sobre funciones.

Funciones Indentación de 4 espacios!! Para invocar las funciones se escribe el nombre de la función con sus respectivos parametros. Las variables al interior de la función son variables locales.

Condicionales Una expresiones booleana es una expresión que al comparar valores arroja verdadero o falso. X == Y es X igual a Y X!= Y es X diferente de Y X > Y es X mayor que y X < Y es X menor que Y X >= Y es X mayor o igual que Y X <= Y es X menor o igual que Y

Condicionales e iteración While and if En Python toda expresión no vacia tiene por defecto valor true, es decir lo unico falso en python es

For Statment La declaración for itera sobre cualquier secuencia de items que pueda ser iterable.

Strings Es una secuencia de caracteres inmutables, que puede ser accesible a través del operador bracket. Existen diversidad de métodos para operar con los strings.

Lists Una lista es una secuencia de valores de cualquier tipo: enteros, float, caracteres, otras lista, otro tipo de secuencia. Son la principal herramienta para manejar secuencias de valores. Gran número de métodos que permite su manipulación.

List Comprehensions List comprehensions. Provee un esquema conciso para generar listas. [expresion for var in range]

List, files and strings Como leer un archivo?

Dictionary Un diccionario es como un tipo de lista, pero más general. Existe una relación entre los indices, que pueden ser casi cualquier tipo, denominados keys y los valores a los que llevan estas keys. Element = {1.:'H',6.:'C',7.:'N',8.:'O'}

Histogramas

Tuples Una tupla es una secuencia de valores de cualquier tipo, que estan indexados por enteros y son inmutables. Las tuplas son el output de diferentes métodos.

NUMPY

Objetos Un objeto es una entidad abstracta que intenta representar un objeto real que tiene una serie de atributos. Existen tres razones principales para usar objetos en programación: Encapsulación. Polimorfismo. Herencia.

Encapsulación y herencia La encapsulación es esconder del flujo general del programa los detalles innecesarios para que el flujo sea comprensible. La herencia es una manera de hacer que las funciones y métodos hereden características funcionales de métodos ya programados.

Polimorfismo Independiente de la clase a la que pertenezca el objeto es posible realizar operaciones sobre el objeto cuyo resultado dependera del tipo de objeto que se tiene.

para que sirven los objetos? Molecular System Atoms Vel-Verlet1 Xi(t), Vxi(t/2) Transformation qi(t) Force field Vel-Verlet2 F = - Gx =Bt(Hq(qi-qo)) Vxi(t)

abstracción Las moléculas están formadas por átomos. Los átomos tienen coordenas espaciales, velocidades, masas y están en un campo de fuerzas. Luego existe un una colección de objetos pertenecientes a la clase átomos, cuyos atributos son mass, velocidad, cordenadas y fuerza.

Implementación Verlet1(atomos[i]) ==>Xi(t) + Vxi(t/2) transformation(xi(t)) ==> qi potential(qi) ==> Force field Verlet2(Force field) == > Vxi(t) Python permite definir funciones y métodos que hacen la implementación transparente

Conclusiones Python es un lenguaje de programación interactivo e interpretativo. Python combina una sintaxis clara con una gran poder de manipulación de datos. Los modulos de programación científica facilitan el trabajo enormemente.