Python Training Course

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Python Training Course"

Transcripción

1 Wilderman Ceren Ingeniero de Sistemas Especialista en Telecomunicaciones Consultor y experto en soluciones informáticas basadas en software libre

2 Perfil profesional (Unix/POSIX) Desarrollo de Software LAMP, Python (Bindings),PERL, BASH, Fortran, algo de C,C++,Java,Tomcat,XML, webservices (SOAP, XML-RPC). BD> MySQL, PostgreSQL, sqlite, BerkeleyDB Redes Enrutamiento, Interoperabilidad entre dispositivos propietarios y libres, sistemas embebidos, firewalls, IDS. Sistemas distribuidos Implementación de clusters de alto rendimiento (HPC) y alta disponibilidad (HA).

3 Perfil profesional (Unix/POSIX) Administración de servidores y recursos GNU/Linux (debian, gentoo, RHEL, ubuntu, otros) FreeBSD, OpenBSD & NetBSD. Seguridad en Embebidos: m0n0wall, pfsense Seguridad OpenLDAP, Kerberos,OpenVPN, FreeRADIUS

4 Contenido 1. Que puedo hacer con Python? 2. Puntos técnicos fuertes 3. El intérprete 4. Implementación alternativa 1. Cpython 2.Jython 3.IronPython 5. Corriendo programas en Python

5 Contenido 6.Tipos de Objetos Integrados (built-in) Numeros Cadenas Listas Diccionarios Tuplas Archivos Otros

6 Contenido 7. Números Literales numericos Operadores Variables y Expresiones basicas Formatos de visualiz. Numerico Division (classic y floor) Operaciones Bitwise Entero Largo Número complejo

7 Contenido 8.Números Otros tipos numericos 9.Cadenas Decimales Sets Booleans Extensiones de terceros Literales Operaciones Basicas

8 Contenido Indexado y Cortado (indexing and slicing) Herram. De Conversion Formateo de Cadenas Métodos Categorias de tipo general 10.Listas Operaciones basicas Indexado, Cortado y Matrices Mutabilidad

9 Contenido 11.Diccionarios Operaciones basicas Mutabilidad Usos 12.Tuplas Sintaxis Conversiones e inmutabilidad Por que Listas y Tuplas?

10 Contenido 13.Archivos Objetos en archivos Pickle Otras herramientas de archivo Tipos de Categoria Jerarquia de Tipos Otros tipos Tipos Built-in

11 Contenido 14. Sentencias en Python Sintaxis a partir de sangrías Casos especiales 15. Loops interactivos Manejo de errores con entrada de texto Manejo de errores con sentencias try 16. Sentencias de asignación

12 Contenido Asignando en secuencia Asignación múltiple Asignación aumentada Reglas para nombrar variables Sentencias en expresiones Cambios en el mismo lugar 17. Sentencias print Redirigiendo el flujo de salida

13 Contenido 18. Sentencias if Ejemplo basico Multi-ramificación con if elif Reglas para sintaxis python Delimitadores de bloque Delimitadores en sentencias Casos especiales Tests de verdad Expresion ternaria (if/else)

14 Contenido 19. Loops while y for break, continue, pass, break y else Iterators Iterators a nivel de archivo Otros iterators embebidos (built-in) & user-defined Técnicas para codificar loops Usos de range, zip y map Generación de offsets e items con enumerate

15 Contenido 20. Comprensión de lista En archivos Sintaxis extendida 21. Documentación del código fuente comentarios (#) función dir Docstrings: doc definido por el usuario estandar integrado

16 Contenido PyDoc: Función de ayuda 22. Funciones Para que utilizar funciones? Codificación de una función Sentencia def Definición Llamadas Polimorfismo en Python Variables locales

17 Contenido 23. Alcance y argumentos Reglas en el alcance (scope) Conceptos Básicos del alcance Ejemplos Alcance integrado La sentencia global Minimizar uso de variables globales Minimizar cambios en archivo cruzado Otras formas de accesar globalmente Alcances y funciones anidadas

18 Contenido Pasando argumentos Argumentos y referencias compartidas Evitando los cambios mutables en argumentos Simulando parámetros de salida Modos de concordancia de argumentos Valores default y keyword Argumentos arbitrarios Combinando keywords y default Ejemplo general de uso de funciones

19 Contenido 24.Funciones Avanzadas Funciones anónimas: lambda Expresiones lambda Por que usar lambda? lambdas anidados y alcances Aplicando funciones a argumentos comando apply Sintaxis de llamada similar a apply Mapeando funciones sobre secuencias: map Uso de filter y reduce

20 Contenido Comprensión de lista: Mappings Conceptos básicos Añadiendo tests y loops anidados Comprensión de lista y matrices Iterators: Generators Protocolo Función Generator Extendida: send y next Iteratores y tipos de datos integrados Alternativas en la coordinación en iteraciónes Conceptos en el diseño de funciones Funciones son objetos: llamadas indirectas Tips en Funciones (Para tener en cuenta)

21 Contenido Nombres locales detectado estáticamente Objetos default y mutables Funciones sin retorno alguno 25. Módulos Por que utilizar módulos? Arquitectura de un programa en Python Cómo estructurar un programa Imports y Atributos Módulos de la libreria estándar Cómo trabaja import

22 Contenido Programar un módulo Creación Uso (import, from) Namespaces Recargar un módulo Paquetes Import Por que utilizar import de paquete? Conceptos Avanzados en módulos Ocultando datos Habilitando futuras caracteristicas Mezclando modos de uso Import Relativo Conceptos en diseño de módulos Gotchas

23 Contenido 26. Clases y POO Generalidades Programando clases Programando clases II Sentencia Clase Métodos Herencia Operador de Sobrecarga Iteraciónes definida por el usuario Privacidad para los atributos en instancias

24 Contenido Namespaces Diseño con clases Python y POO Clases como registros POO y herencia: relaciones Is-a POO y composición: relaciones Has-a POO y delegación Herencia múltiple Clases son objetos: Generic Factories Métodos son objetos: Bound o unbound Revisión a la Docmentación con Strings

25 Contenido Diseño con clases Clases Vs Modulos Topicos avanzados en clases Extendiendo tipos de datos Built-in Atributos para clase seudoprivada Nuevo estilo para clases Static y métodos de clase Función decorators Gotchas (Tips)

26 Contenido 27. Excepciones y Tools Conceptos básicos Por que las excepciones (roles) Manejo de Excepciones Sentencia try/except/else Sentencia try/finally Unificado try/except Sentencia raise Sentencia assert Objetos Exception Excepciones basadas en String

27 Contenido Objetos Exception Excepcion basada en clase formas y sentencias generales raise Diseño con Excepciones Excepciones anidadas (nesting exception) Lenguajes en excepciones Tips para diseño de Excepciones Gotchas Resumen del Core Python Toolset Desarrollo de Tools para proyectos grandes

28 Introducción Por que la gente usa Python Calidad del Software * Productividad ** Portabilidad Librerias de soporte Integración de componentes Se disfruta!

29 Google Quienes usan Python? YouTube BitTorrent Intel, Cisco, HP, Seagate, Qualcomm Pixar Nasa ESRI (GIS) NSA OLPC

30 1. Que puedo hacer con Python? Scripting y software standalone Lenguaje de Propósito General Web, Juegos, Robótica, Aeronáutica Programación a nivel de SO. GUIs (Tkinter, wxpython) PythonCard Dabo Otros GUIs: Qt, GTK, MFC, Swing Jython & servicios Python CGI

31 1. Que puedo hacer con Python? Internet Scripting Integración de componentes (C,C++, COM (MSWin), Jython,.NET (IronPython), CORBA) Base de Datos (Sybase, Oracle, Informix, ODBC, MySQL, PostgreSQL, SQLite, BDB, Firebird) Rápido en Prototipos hacia C/C++ Programación Numérica y Científica (Numpy) Juegos, Imagenes, AI, XML, Robotica... y más!

32 2. Puntos técnicos fuertes Orientado a Objetos Polimorfismo, Sobrecarga, multi herencia POO es una opción (no es mandatoria) Es libre de usar, distribuir y es soportado! Es portable Linux/Unix, Windows/DOS, Mac OS X, BeOS, OS/2 Sistemas de Tiempo Real (VxWorks) Cray IBM mainframes PDAs, Celulares con Symbian/Windows Mobile Consolas de juego, ipods y mas...

33 2. Puntos técnicos fuertes Es poderoso Híbrido (se integra con lenguajes scripting Perl,TCL y tradicionales como C/C++) Tipificación dinámica (no declaración previa) Manejo automático de memoria Se programa en proyectos largos y complejos (uso de módulos, clases y excepciones) Objeto tipos Built-in Tools Built-in Utilidades desde terceros

34 2. Puntos técnicos fuertes Es mezclable con otros lenguajes Python API permite a rutinas C ser llamadas desde python mismo. Se puede prototipear en Python y luego llevarlo a C/ C++ una vez al tiempo. Facilidad de uso codificalo y correlo de una! Fácil de aprender Su nombre viene de Monty Python's Flying Circus

35 3. El intérprete Es una clase de programa que invoca otro programa. Es la capa lógica de software entre el código y el hw de computadora. Auto-Instala en Windows (Click->Siguiente) Linux/Mac OS X preinstalado?, compilan fuente o packs RPM/DEB Disponibilidad: ipod, consolas de juego, celulares

36 3. El intérprete Ejecución de programa Archivo de texto simple con sentencias: print 'hola mundo' print 2 ** 100 Generar con cualquier editor de texto Extensión.py > Python script1.py hola mundo

37 3. El intérprete Ejecución vista desde Python: Archivo Texto Fuente -> Intérprete -> byte code -> maquina virtual Extension.pyc : archivo byte code (binario) Python Virtual Machine (PVM): Es un big loop ke interactua entre las instr. bytecode Es sólo una parte del sistema ke conforma python.

38 3. El intérprete Implicaciones en el rendimiento C/C++ mas eficientes en la corrida o ejecución Bytecode es una represent. python no código maquina Código se ejecuta a medida. que se escribe Bytecode sigue interpret. Y requiere mas CPU Implicaciones en el desarrollo Entorno Desarrollo & Ejecución son iguales Compilador presente en runtime No Compilar -> Enlazar, solo haga y ejecute! Todo sucede cuando se ejecuta el code

39 4. Implementaciones Alternativas 1.Cpython Portar código Python a C ANSI (ActivePython distro) Implementación estandar de referencia del lenguaje 2. Jython Integración con Java (scripts corren como java apps) Clases Java que portan el código python a la JVM.

40 4. Implementaciones Alternativas 3. IronPython Permite a scripts python integrarse con aplicaciones codificadas para correr sobre.net Framework Actúa como componente cliente/servidor para ser invocado por otros lenguajes.net Desarrollado por Microsoft (propietario de.net)

41 5. Ejecutando Python scripts: Modo Interactivo Despues de estar instalado apropiadamente ejecutar desde el prompt (w32 o unix): python Si deseas ejecutarlo desde cualquier sitio, agregarlo a la variable de entorno PATH (unix) /usr/bin/python o PATH (w32) asi C:\Python25\python Prompt: >>> {command line}

42 5. Ejecutando Python scripts: Modo Interactivo >>> print 'Hola mundo!' Hola mundo! >>> print 2**8 256 Para salir del interprete: unix -> CTRL+D, w32 -> CTRL+Z Para saber valor de variables no es necesario utilizar print Ejecuta instrucción a instrucción y no necesita cargar script completo.

43 5. Ejecutando Python scripts: Modo Interactivo Sirve para experimentar el lenguaje y utilizarlo para comprobar porciones de código Escriba solo comandos No utilice sangrado en este modo

44 5. Ejecutando Python Scripts: Archivos y Linea de Comandos Guardar permanentemente el código en archivos (módulos) Modulos => programas? Scripts => conjunto de módulos que corren directamente. Prueba: Crear fichero spam.py y ejecutarlo print 2 ** 8 # exponencial print 'El lado brillante' + 'de la vida' python spam.py 256 El lado brillante de la vida #concatenar

45 5. Ejecutando Python Scripts: Archivos y Linea de Comandos w32: Al editar asocie el archivo a guardar con extensión.py w32: deshabilite del sistema la opción de ocultar extensiones Utilice nombre+extension al ejecutar: python spam.py y no python spam Al importar módulo, no es obligado utilizar extensión: import spam Utilice sentencia print en scripts para resultados

46 5. Ejecutando Python Scripts: Unix scripting 1era linea de código: #!/usr/bin/python Aplicar privilegio de ejecutable: chmod +x file.py scripts no requieren obligatoriamente extension.py (contrario a w32) En algunos unix: Es probable evitar en cabecera el python full path usando env asi: #!/usr/bin/env python

47 5. Ejecutando Python Scripts: Cliqueando Iconos bajo Windows Asocia los.py para que se ejecuten con el IDLE (intérp. del lenguaje) con un simple doble click. unix: toca asociar los.py con el explorador de archivos empleado. Utilice al final raw_input() de truco para poder pausar el script al ejecutarlo con doble click clickear script, impide ver mensajes de error. Mejor use linea de comandos o IDLE. Mejor clickear scripts cuando ya estén depurados. Use.pyw para construcciones especiales w32 y evitar que aparezca la consola

48 5. Ejecutando Python Scripts: Importar módulos y recargarlos Cada fichero.py viene siendo un módulo. Use import para acceder a los items definidos en un módulo. El modelo de servicios basado en módulos participa dentro del core como arquitectura de un programa en python. El módulo principal o de más alto nivel es el único ke es lanzado para iniciar el programa entero. import tambien ejecuta un script (solo una vez en la misma sesión IDLE): reload, permite ejecutar muchas veces el mismo script previamente cargado (importado) en la misma sesión Python Training Course

49 5. Ejecutando Python Scripts: Atributos Un módulo es un paquete de nombres de variables conocido como namespaces. Cada nombre dentro de ese paquete es un atributo. Un atributo es un nombre de variable unido a un objeto. Ejemplo: crear.py, defina una variab y luego desde el IDLE importelo e imprima el valor de esa variable (atributo). Utilice import y from / import Utilice dir() para listar los atributos de un módulo: >>> dir(threenames) [' builtins ', ' doc ', ' file ', ' name ', 'a', 'b', 'c']

50 5. Ejecutando Python Scripts: Interfaz de usuario (IDLE) Le permite editar, correr, visualizar y depurar programas python. Portable, basado en TKInter GUI Toolkit w32: es fácil de interactuar con el Siempre agregue a los archivos extension.py Ejecute los scripts desde el menu (Run->Run module) Es necesario recargar módulos anidados desde el módulo principal. No existe un limpiar pantalla TKInter no responde ante el tratamiento de hilos (threads) Depura con sólo clickear el script.-

51 5. Ejecutando Python Scripts: IDE's alternativos Eclipse + pydev (libre) Komodo (comercial) PythonWin (ActiveState) Otros: WingIDE, pycard

52 5. Ejecutando Python Scripts: Python embebido Se aplica en dominios especializados. Embebido = ejecutado por otro programa Es posible correr código python dentro de un programa C (integración Python/C) include <Python.h>... Py_Initialize(); PyRun_SimpleString( x = brave + sir + robin );

53 5. Ejecutando Python Scripts: binario ejecutable Byte code + intérprete => binario ejecutable Como despliegue de producto final, asemeja a una aplicación convencional (click a iconos, linea de comandos)

54 6. Tipos de Objetos Incorporados Built-In Si está hecho un procedimiento, para ke rediseñarlo? Hace fácil la escritura de programas Componentes de extensiones => clases python o interfaces C Son mas eficientes ke estructuras personalizadas Hacen parte del estándar del lenguaje

55 6. Tipos de Objetos Tipo de datos esenciales Números: 1234, , 999L, 3+4j Cadenas: 'spam', abcd's Listas: [ 1, [ 2, 'three' ], 4 ] Diccionarios: { 'food' : 'spam', 'taste' : 'yum' } Tuplas: ( 1, 'spam', 4, 'U' ) Archivos: myfile = open( 'eggs', 'r' ) Otros: sets, types, None, Booleans Declarados dinámicante. Fuerte en las operaciones válidas que correspondan con la naturaleza del objeto.

56 6. Tipos de Objetos Números Enteros (integers): >>> Punto flotante (float): >>> 1.5 * 4 Ilimitada-precision (long integer con parte imaginaria): >>> 2 ** L Decimal de precisión flexible Sets

57 6. Tipos de Objetos Números math: módulo con colección matemática! >>> import math >>> math.pi >>> math.sqrt(85) random: módulo aleatorio >>> import random >>> random.random( ) >>> random.choice([1, 2, 3, 4]) 1

58 6. Tipos de Objetos Strings Guardan información textual o una arbitraria colección de bytes. Una secuencia de un caracter Operaciones con strings: >>> S = 'Spam' >>> len(s) 4 >>> S[0] 'S' >>> S[1] 'p'

59 6. Tipos de Objetos Strings El 1er item está en la posición 0 y el ultimo en len(s)-1 Indice negativo va a relación de der. a izq: S[-1] => 's' Corte en la secuencia (slice): >>> S 'Spam' >>> S[1:3] 'pa'

60 6. Tipos de Objetos Strings Cortado (slice): >>> S[1:] 'pam' >>> S 'Spam' >>> S[0:3] 'Spa' >>> S[:3] 'Spa' >>> S[:-1] 'Spa' >>> S[:] 'Spam'

61 6. Tipos de Objetos Strings Concatenación: >>> S 'Spam' >>> S + 'xyz' 'Spamxyz' >>> S * 3 'SpamSpamSpam' + => Suma numérica o concatenar cadenas (polimorfismo) Strings son inmutables: S[0] = 'z' Error! Pero: >>> S = 'z' + S[1:] >>> S 'zpam' #correr expresion para crear nuevo objeto

62 6. Tipos de Objetos Strings Algunos métodos específicos: >>> S.find('pa') #encuentra offset 1 >>> S.replace('pa','XYZ') 'sxyzm' >>> line = 'aaa,bbb,ccccc,dd' >>> line.split(',') ['aaa', 'bbb', 'ccccc', 'dd'] >>> S='spam' >>> S.upper() 'SPAM' Ayuda en linea: para conocer métodos y atributos de una instancia utilice dir(s),help(s.{method})

63 6. Tipos de Objetos Strings Multilinea: >>> msg = aaaaaaa bbb'''bbbbbb Patterns: >>> import re >>> match = re.match('hello[\t]*(.*)world', 'Hello Python World') >>> match.group(1) 'Python '

64 6. Tipos de Objetos Listas Secuencia mas general del lenguaje. Colección ordenada de distintos objetos arbitrarios y sin tamaño predefinido Mutable (modificable) Operaciones: >>> L = [123, 'spam', 1.23] >>> len(l) 3

65 >>> L[0] 123 >>> L[:-1] [ 123, 'spam' ] >>> L + [4, 5, 6] [ 123, 'spam', 1.23, 4, 5, 6 ] >>> L [ 123, 'spam', 1.23 ] Algunas operaciones típicas: >>> L.append('NI') >>> L [ 123, 'spam', 1.23, 'NI' ] >>> L.pop(1.23) >>> L [ 123, 'spam', 'NI'] Pruebe métodos insert, remove

66 Sort: >>> M = ['bb', 'aa', 'cc'] >>> M.sort( ) >>> M ['aa', 'bb', 'cc'] Reverse: >>> M.reverse( ) >>> M ['cc', 'bb', 'aa'] Chequeo de Saltos: >>> L [123, 'spam', 'NI'] >>> L[99]...error text omitted... IndexError: list index out of range >>> L[99] = 1...error text omitted... IndexError: list assignment index out of range Para incrementar una lista utilice metodo L.append()

67 Anidamiento (Nesting): >>> M = [[1, 2, 3], # Una matriz 3 x 3 matrix, como listas anidada [4, 5, 6], [7, 8, 9]] >>> M [[1, 2, 3], [4, 5, 6], [7, 8, 9]] >>> M[1] # valor en fila 2 [4, 5, 6] >>> M[1][2] #ubica fila 2, entonces extrae item 3 dentro de esa fila 6 Comprensión de listas: Procesar estructuras de listas >>> col2 = [row[1] for row in M] # recuperar items en columna 2 >>> col2 [2, 5, 8] >>> M # La matriz no ha cambiado [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

68 6. Tipos de Objetos Diccionarios No son secuencias, sino conocidos como mapeos. Igualmente son colecciones de otros objetos. Mutables! Codificados entre corchetes >>> D = {'food': 'Spam', 'quantity': 4, 'color': 'pink'} >>> D['food'] # captura valor de llave 'food' 'Spam' >>> D['quantity'] += 1 # Agrega 1 a valor 'quantity' >>> D {'food': 'Spam', 'color': 'pink', 'quantity': 5}

69 Construcción de diccionario: >>> D = {} >>> D['name'] = 'Bob' # Crear llave por asignación >>> D['job'] = 'dev' >>> D['age'] = 40 >>> D{'age': 40, 'job': 'dev', 'name': 'Bob'} >>> print D['name'] Bob Anidamiento en diccionario: rec = {'name': {'first': 'Bob', 'last': 'Smith'}, 'job': ['dev', 'mgr'],'age': 40.5} >>> rec['name'] # 'Name' es un diccionario anidado {'last': 'Smith', 'first': 'Bob'} >>> rec['name']['last'] # valor del indice last en el dicc anidado 'Smith' >>> rec['job'] # 'Job' is a nested list ['dev', 'mgr'] >>> rec['job'][-1] # Index the nested list 'mgr' >>> rec['job'].append('janitor') # aumenta para Bob en job descripción >>> rec {'age': 40.5, 'job': ['dev', 'mgr', 'janitor'], 'name': {'last': 'Smith', 'first':'bob'}}

70 Limpiar la memoria de una variable (diccionario), actualmente (garbage collector) >>> rec = 0 # con esto, el espacio de objeto es reclamado. Ordenamiento de diccionarios: >>> D = {'a': 1, 'b': 2, 'c': 3} >>> D {'a': 1, 'c': 3, 'b': 2} Utilizando estructura loop podemos ordenar el diccionario: >>> Ks = D.keys( ) # lista de llaves desordenada >>> Ks ['a', 'c', 'b'] >>> Ks.sort( ) # lista de llaves ordenada >>> Ks ['a', 'b', 'c'] >>> for key in Ks: # Iterar dentro though sorted keys print key, '=>', D[key] a => 1 b => 2 c => 3

71 Ordenamiento, utilizando función sorted >>> D {'a': 1, 'c': 3, 'b': 2} >>> for key in sorted(d): print key, '=>', D[key] a => 1 b => 2 c => 3 Optimización en la iteración (protocolo de iteración): >>> squares = [x ** 2 for x in [1, 2, 3, 4, 5]] >>> squares [1, 4, 9, 16, 25] Utilizando loop for: >>> squares = [] >>> for x in [1, 2, 3, 4, 5]: squares.append(x ** 2) >>> squares [1, 4, 9, 16, 25]

72 6. Tipos de Objetos Tuplas Secuencia similar a una lista pero inmutable como los strings. Operaciones básicas: >>> T = (1, 2, 3, 4) # A 4-item tuple >>> len(t) # Tamaño 4 >> T + (5, 6) # Concatenación (1, 2, 3, 4, 5, 6) >>> T[0] # Indexado, cortado y mas 1 Por que tuplas: Por la facilidad de uso en usar una especie de lista pero donde sus valores sean inmutables.

73 6. Tipos de Objetos Archivos Principal interface para el acceso a archivos externos! Escritura >>> f = open('data.txt', 'w') # Crea un nuevo archivo de escritura >>> f.write('hello\n') # Escribe las cadenas a disco >>> f.write('world\n') >>> f.close( ) # Cierra el buffer de escritura Lectura de archivo: >>> f = open('data.txt') # 'r' is the default processing mode >>> bytes = f.read( ) # Read entire file into a string >>> bytes 'Hello\nworld\n' >>> print bytes # Imprime caracteres de control Hello world >>> bytes.split( ) # Contenido de archivo es siempre una cadena ['Hello', 'world'] Otros tools similares a manejo de archivo: pipes, fifos, sockets, archivo de acceso por llaves, persistencia en objetos, basado en descriptores, relacional y base de datos de interfaz orientada a objetos.

74 6. Tipos de Objetos Otros tipos core Set: operaciones lógicas de conjuntos >>> X = set('spam') >>> Y = set(['h', 'a', 'm']) # 2 sets de secuencias >>> X, Y (set(['a', 'p', 's', 'm']), set(['a', 'h', 'm'])) >>> X & Y # Interseccion set(['a', 'm']) >>> X Y # Union set(['a', 'p', 's', 'h', 'm']) >>> X Y # Diferencia set(['p', 's'])

75 >>> import decimal # Decimales >>> d = decimal.decimal('3.141') >>> d + 1 Decimal("4.141") >>> 1 > 2, 1 < 2 # Booleanos (False, True) >>> bool('spam') True >>> X = None # None asignación >>> print X None >>> L = [None] * 100 # Inicializar una lista con 100 Nones >>> L [None, None, None, None, None, None, None, None, None, None, None, None, None,...a list of 100 Nones...] >>> type(l) # Tipos <type 'list'> >>> type(type(l)) # Incluso, types son objetos <type 'type'>

76 14. Sentencias en Python

77 14. Sentencias en Python

78 14. Sentencias en Python Formato general: Header line: Nested statement block Lo que python remueve: Los paréntesis son opcionales. Fin de linea es fin de sentencias (sin ;) Fin de Sangrado es fin de bloque

79 Casos especiales en sentencias a = 1; b = 2; print a + b # tres sentencias en una linea mlist = [111, 222, 333] X = (A + B + C + D) if (A == 1 and B == 2 and C == 3): print 'spam' * 3 X = A + B + \ C + D Caso especial de regla de Bloque: if x > y: print x

80 15. Sentencias en Python Loops interactivos Loop interactivo simple while True: reply = raw_input('enter text:') if reply == 'stop': break print reply.upper( ) Manejo de errores al testear entrada while True: reply = raw_input('enter text:') if reply == 'stop': break elif not reply.isdigit( ): print 'Bad!' * 8 else: print int(reply) ** 2 print 'Bye'

81 Manejo de errores usando setencia try while True: reply = raw_input('enter text:') if reply == 'stop': break try: num = int(reply) except: print 'Bad!' * 8 else: print int(reply) ** 2 print 'Bye'

82 16. Sentencias de asignación Asignación crea referencias a objeto Variables se crean al asignarse Nombres deben ser asignados antes de ser referenciados Asignaciones implicitas: import, from, def, class, function arguments

83 16. Sentencias de asignación Formas al asignar spam = 'Spam' [spam, ham] = ['yum', 'YUM'] a, b, c, d = 'spam' spam = ham = 'lunch' Spams += 42 >>> nudge = 1 >>> wink = 2 >>> A, B = nudge, wink # Tuple assignment >>> A, B # Like A = nudge; B = wink (1, 2) >>> [C, D] = [nudge, wink] # List assignment >>> C, D (1, 2) >>> nudge = 1 >>> wink = 2 >>> nudge, wink = wink, nudge # Tuples: swaps values >>> nudge, wink # Like T = nudge; nudge = wink; wink = T (2, 1)

84 16. Sentencias de asignación Asignación múltiple >>> a = b = c = 'spam' >>> a, b, c ('spam', 'spam', 'spam') >>> c = 'spam' >>> b = c >>> a = b

Este taller estará orientado a aquellas personas que no han visto jamás Python y también a aquellos que quieran pasar de Python 2 al 3

Este taller estará orientado a aquellas personas que no han visto jamás Python y también a aquellos que quieran pasar de Python 2 al 3 Introducción En este taller veremos las novedades sobre Python 3, que cosas nuevas e interesantes trae, que lo diferencia con Python 2, a demás conoceremos los depuradores que trae. Miraremos por arriba

Más detalles

ÍNDICE PRÓLOGO... XI. CAPÍTULO 2. ESTRUCTURAS Y TIPOS DE DATOS BÁSICOS... 23 Introducción... 23 Conceptos básicos... 23 Tipado dinámico...

ÍNDICE PRÓLOGO... XI. CAPÍTULO 2. ESTRUCTURAS Y TIPOS DE DATOS BÁSICOS... 23 Introducción... 23 Conceptos básicos... 23 Tipado dinámico... ÍNDICE PRÓLOGO... XI CAPÍTULO 1. PRIMEROS PASOS... 1 Introducción... 1 Qué es Python?... 1 Un poco de historia... 2 Principales características... 4 Instalación... 6 Windows 7... 7 Mac OS X... 10 Linux...

Más detalles

Informe de Segunda Presentación

Informe de Segunda Presentación UNIVERSIDAD DE TARAPACA ARICA Informe de Segunda Presentación Integrantes: José Báez Mª Francisca Chacana Carlos Galleguillos Pablo Vargas Introducción Python es un lenguaje de programación de alto nivel

Más detalles

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas Departamento de Informática PROGRAMACIÓN DIDÁCTICA Curso 11-12 1 CONSEJERÍA DE EDUCACIÓN I.E.S. NERVIÓN Departamento de Informática CICLO FORMATIVO: TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES MULTIPLATAFORMA.

Más detalles

Qué es Java? Introducción a Java. Lenguajes Orientados a Objetos. Qué es Java? Historia de Java. Objetivos de Java

Qué es Java? Introducción a Java. Lenguajes Orientados a Objetos. Qué es Java? Historia de Java. Objetivos de Java Qué es? Introducción a es Un lenguaje de programación Un entorno de desarrollo Un entorno de ejecución de aplicaciones Un entorno de despliegue de aplicaciones Utilizado para desarrollar, tanto applets

Más detalles

Desarrollo de un intérprete del lenguaje Python

Desarrollo de un intérprete del lenguaje Python Diseño de Compiladores 2015 Trabajo Obligatorio Desarrollo de un intérprete del lenguaje Python 1. Objetivos El objetivo de este trabajo obligatorio es la construcción de un intérprete de un subconjunto

Más detalles

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle: PL/SQL (Procedural Language/Structured Query Language) PL/SQL es el lenguaje de programación que proporciona Oracle para extender el SQL estándar con otro tipo de instrucciones y elementos propios de los

Más detalles

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK. Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de

Más detalles

PASCAL. Repaso de Pascal Introducción a Python. Pascal. Pascal - introducción. Pascal Declaraciones: Variables. Pascal Declaraciones: Tipos 07/04/2015

PASCAL. Repaso de Pascal Introducción a Python. Pascal. Pascal - introducción. Pascal Declaraciones: Variables. Pascal Declaraciones: Tipos 07/04/2015 Repaso de Pascal Introducción a Python Lenguajes de Programación 2015 PASCAL Pascal - introducción Pascal es un Lenguaje basado en el paradigma imperativo clasico Estructura la programación mediante Funciones

Más detalles

SAGE (ENTORNO DE CÁLCULOS MATEMÁTICOS)

SAGE (ENTORNO DE CÁLCULOS MATEMÁTICOS) SAGE (ENTORNO DE CÁLCULOS MATEMÁTICOS) PRESENTACIÓN El siguiente texto forma parte de una guía acerca del Programa SAGE que tiene por finalidad actuar como un material de asesoramiento en la instalación

Más detalles

CURSO DE PROGRAMACIÓN PHP MySQL

CURSO DE PROGRAMACIÓN PHP MySQL CURSO DE PROGRAMACIÓN PHP MySQL MASTER EN PHP MÓDULO NIVEL BASICO PRIMER MES Aprende a crear Sitios Web Dinámicos con PHP y MySQL 1. Introducción Qué es PHP? Historia Por qué PHP? Temas de instalación

Más detalles

Introducción a Python (3.x)

Introducción a Python (3.x) Introducción a Python (3.x) Introducción a la programación I semestre, 2016 1 Lenguaje de Programación Python Python: lenguaje de alto nivel Muy utilizado para aprender a programar. Breve Historia: 1990.

Más detalles

Lenguaje de Programación: Go

Lenguaje de Programación: Go Centro de Investigación y de Estudios Avanzados del I.P.N 9 de Noviembre de 2011 Go Es un lenguaje de programación de propósito general que es promovido por: Rob Pike, Robert Griesemer, Ken Thompson, Russ

Más detalles

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B)

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B) APRENDERAPROGRAMAR.COM INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha revisión:

Más detalles

CONCEPTOS BASICOS DEL LENGUAJE JAVA

CONCEPTOS BASICOS DEL LENGUAJE JAVA CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten

Más detalles

Curso Programación Orientada a Objectos con C# y Visual Studio 2010

Curso Programación Orientada a Objectos con C# y Visual Studio 2010 Curso Programación Orientada a Objectos con C# y Visual Studio 2010 Descripción: El lenguaje C# es uno de los lenguajes de programación más poderosos y flexibles que se emplean en la industria de software

Más detalles

Diplomado Programación Web con PHP, MySQL 5.0, Apache y Ajax

Diplomado Programación Web con PHP, MySQL 5.0, Apache y Ajax Diplomado Programación Web con PHP, MySQL 5.0, Apache y Ajax Actualmente ofrecemos entrenamiento en PHP 5.0 en conjunto con MySQL a través de nuestro Diplomado Programación Web con PHP, MySQL 5.0, Apache

Más detalles

TEMA 2. Agenda. Fundamentos de JAVA

TEMA 2. Agenda. Fundamentos de JAVA TEMA 2 Fundamentos de JAVA V1.3 Manuel Pereira González Agenda Introducción Historia de Java Características Principales Hello World Tipos Operadores Control de Flujo E/S básica Atributos y Métodos Resumen

Más detalles

Guía práctica PHP 6. (c) Francisco Charte Ojeda

Guía práctica PHP 6. (c) Francisco Charte Ojeda Guía práctica PHP 6 Agradecimientos Sobre el autor (c) Francisco Charte Ojeda Introducción Páginas de servidor PHP Creación de páginas PHP Cómo usar este libro Convenciones tipográficas 1. Instalación

Más detalles

Python 3 al descubierto. Arturo Fernández Montoro

Python 3 al descubierto. Arturo Fernández Montoro Python 3 al descubierto Arturo Fernández Montoro Python 3 al descubierto Arturo Fernández Montoro BIC: UMX ISBN: 978-84-939450-4-6 EAN: 9788493945046 Copyright 2012 RC Libros RC Libros es un sello y marca

Más detalles

Tema 1. Introducción a JAVA

Tema 1. Introducción a JAVA Tema 1. Introducción a JAVA Historia Características Plataforma Java Entorno de desarrollo Ejemplo: Hola mundo Estructura general de un programa Java 1 Historia de Java (i) Surge en 1991: Sun Microsystems

Más detalles

Scripting en el cliente: Javascript. Tecnologías Web

Scripting en el cliente: Javascript. Tecnologías Web Scripting en el cliente: Javascript Tecnologías Web Motivación Por qué usar JavaScript? Permite crear efectos atractivos visualmente Permite crear sitios WEB que se visualicen de la misma manera en distintos

Más detalles

PRÓLOGO... XVII CAPÍTULO 1. FASES EN EL DESARROLLO DE UN PROGRAMA...

PRÓLOGO... XVII CAPÍTULO 1. FASES EN EL DESARROLLO DE UN PROGRAMA... CONTENIDO PRÓLOGO... XVII CAPÍTULO 1. FASES EN EL DESARROLLO DE UN PROGRAMA... 1 QUÉ ES UN PROGRAMA... 1 QUÉ ES Visual Basic.NET... 2 REALIZACIÓN DE UN PROGRAMA EN Visual Basic.NET... 3 Cómo crear un programa...

Más detalles

CURSO INTERMEDIO DE PROGRAMACIÓN EN ANDROID

CURSO INTERMEDIO DE PROGRAMACIÓN EN ANDROID CURSO INTERMEDIO DE PROGRAMACIÓN EN ANDROID 1. Entorno de desarrollo y primera aplicación 1. El mundo Android 1.1 Android y las versiones 1.2 Personalizaciones del sistema operativo. 1.3 Dispositivos Android

Más detalles

mari_clau_18@hotmail.com Java es el lenguaje de programación que

mari_clau_18@hotmail.com Java es el lenguaje de programación que PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA Dra. Maricela Bravo mari_clau_18@hotmail.com JUSTIFICACIÓN Java es el lenguaje de programación que más impacto ha tenido en los últimos años, especialmente en

Más detalles

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012 Prácticas: Introducción a la programación en Java Informática (1º Ingeniería Civil) Índice Introducción a Java y al entorno de desarrollo NetBeans Estructura de un programa Tipos de datos Operadores Sentencias

Más detalles

PRÁCTICA No1 POO Estructuras de Control Parte I

PRÁCTICA No1 POO Estructuras de Control Parte I Objetivos El alumno conocerá los elementos básicos del lenguaje Java para la Programación Orientada a Objetos El alumno conocerá la estructura de control if else switch para la resolución de problemas

Más detalles

ORACLE DEVELOPER 10g

ORACLE DEVELOPER 10g Diplomado ORACLE DEVELOPER 10g INTRODUCCION En la era de los sistemas y la información es cada vez más imperioso presentar soluciones ajustadas a requerimientos determinados por los usuarios, con interfaces

Más detalles

Ficheros. fd = open(nombre, modo)

Ficheros. fd = open(nombre, modo) 1 Ficheros fd = open(nombre, modo) - ruta es una cadena de texto con el nombre del fichero - modo = r para sólo lectura - modo = w para sólo escritura (sobrescribe) - modo = a para añadir texto (append)

Más detalles

La Arquitectura de las Máquinas Virtuales.

La Arquitectura de las Máquinas Virtuales. La Arquitectura de las Máquinas Virtuales. La virtualización se ha convertido en una importante herramienta en el diseño de sistemas de computación, las máquinas virtuales (VMs) son usadas en varias subdiciplinas,

Más detalles

PHP 5.6 Desarrollar un sitio web dinámico e interactivo

PHP 5.6 Desarrollar un sitio web dinámico e interactivo Introducción 1. Objetivo del libro 9 2. Breve historia de PHP 10 3. Dónde conseguir PHP? 10 4. Convenciones de escritura 11 Información general sobre PHP 1. Qué es PHP? 13 2. Estructura básica de una página

Más detalles

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos.

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos. Contenidos Sistemas operativos Tema 3: Estructura del sistema operativo Componentes típicos del SO Servicios del SO Llamadas al sistema Programas del sistema El núcleo o kernel Modelos de diseño del SO

Más detalles

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System. CICLO: 01/2010 Universidad Don Bosco Materia: Lenguaje de Programación III Contenido: 1-Lectura de Datos de entrada. 2-Introduccion a JOPTIONPANE. 3-Estructuras de Control. ->LECTURA DE DATOS DE ENTRADA

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas

Más detalles

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1 BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1 1. Cuáles de los siguientes enunciados son declaraciones válidas? 2. Cuál de

Más detalles

MS_10264 Developing Web Applications with Microsoft Visual Studio 2010

MS_10264 Developing Web Applications with Microsoft Visual Studio 2010 Developing Web Applications with Microsoft Visual Studio 2010 www.ked.com.mx Av. Revolución No. 374 Col. San Pedro de los Pinos, C.P. 03800, México, D.F. Tel/Fax: 52785560 Introducción En este curso, los

Más detalles

[PROGRAMACIÓN ANDROID] Programación Android. Dv-Alpha Solutions TIC S.L. Carlos Acevedo. Curso de desarrollo de aplicaciones para dispositivos Android

[PROGRAMACIÓN ANDROID] Programación Android. Dv-Alpha Solutions TIC S.L. Carlos Acevedo. Curso de desarrollo de aplicaciones para dispositivos Android 2013 Programación Android Dv-Alpha Solutions TIC S.L. Carlos Acevedo [PROGRAMACIÓN ANDROID] Curso de desarrollo de aplicaciones para dispositivos Android www.dv-alpha.com Página 1 Modulo 1 El estándar

Más detalles

Introducción. El curso se compone de dos módulos:

Introducción. El curso se compone de dos módulos: Introducción El programa de certificación ORACLE en Java SE, ofrece el nivel de certificación Oracle Certified Professional, Java SE 7 Programmer y está diseñado para personas que poseen una base sólida

Más detalles

Tema: Introducción a Java y Netbeans

Tema: Introducción a Java y Netbeans 1 Tema: Introducción a Java y Netbeans Objetivo Especifico Conocer el uso básico del JDK para la compilación y ejecución de código java desde la linea de comando Conocer el entorno de desarrollo NetBeans

Más detalles

Tema 2. El lenguaje de programación Java (Parte 1)

Tema 2. El lenguaje de programación Java (Parte 1) Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de

Más detalles

Revista Digital Universitaria. 10 de agosto 2004 Volumen 5 Número 7 ISSN: 1067-6079

Revista Digital Universitaria. 10 de agosto 2004 Volumen 5 Número 7 ISSN: 1067-6079 Revista Digital Universitaria 10 de agosto 2004 Volumen 5 Número 7 ISSN: 1067-6079 JAVA o L.I. Anabell Comas Becaria de la Coordinación de Publicaciones Digitales anabell@alethia.dgsca.unam.mx o http://www.revista.unam.mx/vol.7/num12/art104/art104.htm

Más detalles

Diplomado Java. Descripción. Objetivo. A quien está dirigido. Requisitos. Beneficios

Diplomado Java. Descripción. Objetivo. A quien está dirigido. Requisitos. Beneficios Diplomado Java Descripción El lenguaje de programación Java es uno de los más utilizados hoy en día. Su potencia, simplicidad, funcionalidad y capacidad hacen que este lenguaje sea una de las herramientas

Más detalles

Ejercicios de evaluación de fundamentos de programación en Java

Ejercicios de evaluación de fundamentos de programación en Java Ejercicios de evaluación de fundamentos de programación en Java Jorge Martínez Ladrón de Guevara Editorial EME ISBN 978-84-96285-40-8 Contenido 1. Introducción a Java... 1 Test de evaluación...1 Ejercicios...4

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Paradigmas de programación 2 Paradigmas de programación Paradigma de programación estructurada Enfatiza la separación datos de un programa

Más detalles

Ubicación e historia

Ubicación e historia Introducción a Java Ubicación e historia http:// ://java.sun.com/ JDK (Java Development Kit) JDK 1.0, 1995 JDK 1.1, 1996. Modificación en manejo de eventos; nuevas bibliotecas (reflexión, métodos remotos,...)

Más detalles

INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA

INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Por qué Java? TIOBE Index for March 2015 Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Más detalles

Introducción a Matlab

Introducción a Matlab Introducción a Matlab Visión en Robótica 1er cuatrimestre de 2013 En este apunte veremos las operaciones más comunes del entorno de programación Matlab. Se aprerán a manejar los aspectos básicos como saltos

Más detalles

Centro de Capacitación en Tecnologías de la Información. Desarrollo de. diplomado

Centro de Capacitación en Tecnologías de la Información. Desarrollo de. diplomado Centro de Capacitación en Tecnologías de la Información Desarrollo de Objetivo Dotar al alumno de la metodología y los fundamentos de la programación en Java usando la plataforma J2SE (Java 2 Standard

Más detalles

Programando con Pl/Python

Programando con Pl/Python Programando con Ernesto Quiñones Azcárate ernesto@eqsoft.net 1/30 Que es? http://www.postgresql.org http://www.python.org http://www.postgresql.org/docs/9.2/static/plpython.html 2/30 Que es? Es un lenguaje

Más detalles

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 Introducción Java es un lenguaje basado en la programación orientada a objetos (POO), este tipo de programación va más allá del tipo de programación

Más detalles

CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE

CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE PRÓLOGO... 13 APECTOS BÁSICOS DE JAVA... 15 1.1. LA MÁQUINA VIRTUAL JAVA... 15 1.2. EDICIONES JAVA... 16 1.3. ESTRUCTURA DE UN PROGRAMA JAVA... 16 1.4. EL MÉTODO

Más detalles

INTRODUCCIÓN A JAVA. Índice

INTRODUCCIÓN A JAVA. Índice INTRODUCCIÓN A JAVA Índice Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador? Bibliografía 2 1 Qué es Java? La tecnología Java

Más detalles

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento Laboratorio Informix Stored Procedures Triggers Repaso A partir del ER, hicimos las tablas de la base de datos. Creamos en MySql las base de datos y las tablas Hicimos una aplicación que se comunica con

Más detalles

Server side processing: Introducción a PHP. Área de Ingeniería Telemática

Server side processing: Introducción a PHP. Área de Ingeniería Telemática Server side processing: Contenido HTML estático -> interactividad -> aplicación Web Server side processing en PHP Introducción Sintaxis básica Tipos Variables Operadores Estructuras de control Funciones

Más detalles

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 Módulo 1. Fundamentos de Computadores Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 1 CONTENIDO Tema 1. Introducción

Más detalles

Qué ofrece la programación en AutoCAD? Qué necesito para empezar a programar? Qué es C# y.net? Autor: Jorge A. Díez Pomares Laboratorio de C.A.D.

Qué ofrece la programación en AutoCAD? Qué necesito para empezar a programar? Qué es C# y.net? Autor: Jorge A. Díez Pomares Laboratorio de C.A.D. Qué ofrece la programación en AutoCAD? Qué necesito para empezar a programar? Qué es C# y.net? Laboratorio de C.A.D. UMH 1 1.1. INTRODUCCIÓN 1.2. SOFTWARE NECESARIO 1.3. CONFIGURACIÓN DEL PROYECTO EN VS2010

Más detalles

Laboratorio Informix. Stored Procedures Triggers

Laboratorio Informix. Stored Procedures Triggers Laboratorio Informix Stored Procedures Triggers Repaso A partir del ER, hicimos las tablas de la base de datos. Creamos en MySql las base de datos y las tablas Hicimos una aplicación que se comunica con

Más detalles

JAVA 8 Los fundamentos del lenguaje Java (con ejercicios prácticos corregidos)

JAVA 8 Los fundamentos del lenguaje Java (con ejercicios prácticos corregidos) Presentación 1. Historia 11 1.1 Por qué Java? 11 1.2 Objetivos del diseño de Java 12 1.3 Auge de Java 13 2. Características de Java 14 2.1 El lenguaje de programación Java 14 2.1.1 Sencillo 15 2.1.2 Orientado

Más detalles

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA PROGRAMACIÓN DIDACTICA ANUAL Parte específica del módulo: 0485. Programación Departamento de Familia Profesional de Informática Curso: 2014-15

Más detalles

INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA

INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA Introducción Qué es programar? Idear y ordenar las acciones necesarias para realizar un proyecto (R.A.E) En nuestro contexto: Resolver problemas, Automatizar

Más detalles

Repaso desarrollo de software Parte #1. Jorge Iván Meza Martínez jimezam@gmail.com

Repaso desarrollo de software Parte #1. Jorge Iván Meza Martínez jimezam@gmail.com Repaso desarrollo de software Parte #1 Jorge Iván Meza Martínez jimezam@gmail.com Especialización en Gestión de Redes de Datos Universidad Nacional de Colombia Sede Manizales 1/55 Contenido Concepto desarrollo

Más detalles

Introducción a la Programación en Java. Page 1

Introducción a la Programación en Java. Page 1 Introducción a la Programación en Java Page 1 Qué es Java? Java es un lenguaje de programación de propósito general, orientado a objetos que fue diseñado específicamente para tener tan pocas dependencias

Más detalles

ACCIÓN FORMATIVA FINANCIADA POR EL SERVICIO PÚBLICO DE EMPLEO ESTATAL

ACCIÓN FORMATIVA FINANCIADA POR EL SERVICIO PÚBLICO DE EMPLEO ESTATAL MF0491_3: PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE. (IFCD0210: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB) 180 HORAS PRESENCIALES Nº DE EXPEDIENTE: FC/2013/0064 ACCION 141 GRUPO 1 ACCIÓN FORMATIVA FINANCIADA

Más detalles

Entre los más conocidos editores con interfaz de desarrollo tenemos:

Entre los más conocidos editores con interfaz de desarrollo tenemos: Herramientas de programación Para poder programar en ensamblador se precisa de algunas herramientas básicas, como un editor para introducir el código, un ensamblador para traducir el código a lenguaje

Más detalles

Elementos léxicos del lenguaje de programación Java

Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores

Más detalles

Guía del Lenguaje de Programación PHP - CEF NAC

Guía del Lenguaje de Programación PHP - CEF NAC 1 Índice Prefacio... 4 Qué significa y cómo funciona PHP?... 5 Como instalar PHP en nuestra computadora.... 5 Capítulos de contenidos de la Guía... 10 1. Ejemplo de un programa básico de PHP para comenzar

Más detalles

Introducción a la Programación en Java

Introducción a la Programación en Java Contenido Introducción a la Programación en Java Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl! Generalidades de Java! Elementos

Más detalles

PROGRAMADOR ESPECIALISTA EN VISUAL STUDIO 2010 Y JAVA

PROGRAMADOR ESPECIALISTA EN VISUAL STUDIO 2010 Y JAVA PROGRAMADOR ESPECIALISTA EN VISUAL STUDIO 2010 Y JAVA OBJETIVOS GENERALES Conseguir un nivel de competencia técnico- profesional que capacite para desempeñar actividades profesionales relacionadas con

Más detalles

Módulo Profesional 01: Bases de datos (código: 0484).

Módulo Profesional 01: Bases de datos (código: 0484). Módulo Profesional 01: Bases de datos (código: 0484). Actividades de enseñanza-aprendizaje que permiten alcanzar los objetivos del módulo. Interpretar diseños lógicos de bases de datos. Realizar el diseño

Más detalles

Temario Iniciación a Java J2SE para web

Temario Iniciación a Java J2SE para web Temario Iniciación a Java J2SE para web 1 Introducción al entorno de Java 1 Qué es un programa? T 2 Los lenguajes de programación T 3 Qué es Java? T 4 Origen de Java T 5 Verdadero o falso vf 6 Características

Más detalles

JSP Básico. Índice. 2 Traducción de los JSP a servlets...2. 6 Acciones...8. 1 Introducción a JSP... 2

JSP Básico. Índice. 2 Traducción de los JSP a servlets...2. 6 Acciones...8. 1 Introducción a JSP... 2 Índice 1 Introducción a JSP... 2 2 Traducción de los JSP a servlets...2 3 Elementos de JSP...3 4 Inserción de código en páginas JSP... 4 4.1 Expresiones...4 4.2 Scriptlets...4 4.3 Declaraciones... 4 4.4

Más detalles

MODULO DE PROGRAMACION JAVA Nivel Básico-Intermedio

MODULO DE PROGRAMACION JAVA Nivel Básico-Intermedio MODULO DE PROGRAMACION JAVA Nivel Básico-Intermedio Objetivo general: Introducir al participante en los conceptos y herramientas más importantes del lenguaje javo para la programación de objetos. Duración

Más detalles

INDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25.

INDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25. INDICE Programación Introducción 706 Capitulo 21 BASIC 711 Introducción 711 Sintaxis 713 Procedimientos y control de flujo 713 Tipos de datos 714 Disponibilidad y variantes del dialecto 714 Capitulo 22.

Más detalles

UNIVERSIDAD AUTONOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES PRESENTACION

UNIVERSIDAD AUTONOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES PRESENTACION UNIVERSIDAD AUTONOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES Área de formación: Elección libre Unidad académica: Taller de Certificación Java Ubicación: Octavo Semestre. Clave: Horas semana-mes:

Más detalles

MAESTRO DE PHP PHP NIVEL 1

MAESTRO DE PHP PHP NIVEL 1 MAESTRO DE PHP MAESTRO DE PHP es el curso más completo diseñado para que aprendas desde 0 hasta poder desarrollar aplicaciones robustas utilizando Frameworks. Incluye los Cursos PHP Nivel 1 y PHP Avanzado

Más detalles

AcuSQL Pre-compilador de SQL Embebido

AcuSQL Pre-compilador de SQL Embebido AcuSQL Pre-compilador de SQL Embebido RESUMEN EJECUTIVO AcuSQL es una sencilla y rentable solución para aquellos que utilizan sentencias SQL embebidas en sus programas COBOL para acceder fuentes de datos

Más detalles

Programación shell en Unix/Linux sh, ksh, bash (con ejercicios corregidos) (3ª edición)

Programación shell en Unix/Linux sh, ksh, bash (con ejercicios corregidos) (3ª edición) Introducción 1. Definición del shell 19 2. Características de un intérprete de comandos 19 3. Intérpretes de comando (shells) 20 3.1 Historia 20 3.2 Con qué shell hay que programar? 21 3.2.1 Scripts de

Más detalles

Informática I. Código 2547100 Semestre 2014-2. Para Ingeniería Electrónica e Ingeniería de Telecomunicaciones Profesor: Sebastián Isaza

Informática I. Código 2547100 Semestre 2014-2. Para Ingeniería Electrónica e Ingeniería de Telecomunicaciones Profesor: Sebastián Isaza Informática I Código 2547100 Semestre 2014-2 Para Ingeniería Electrónica e Ingeniería de Telecomunicaciones Profesor: Sebastián Isaza Programming tools Editor de texto (gedit, kate, vim, wordpad, etc):

Más detalles

INTRODUCCION A LOS SGBD

INTRODUCCION A LOS SGBD Parte Primera: INTRODUCCION A LOS SGBD Sistemas de Gestión de Bases de Datos Tabla Tabla Type Fila Tabla Type Fila Tabla text Fila Type Fila Fila text Type Fila Tabla Tabla Fila text Fila text Fila Fila

Más detalles

EXPERTO EN DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MÓVILES

EXPERTO EN DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MÓVILES Instituto de Formación Profesional CBTech Estudie desde su hogar y obtenga un certificado universitario Formación a distancia de EXPERTO EN DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MÓVILES 1 Introducción

Más detalles

JavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet 2005-2006. DLSI - Universidad de Alicante 1

JavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet 2005-2006. DLSI - Universidad de Alicante 1 Departamento de Lenguajes y Sistemas Informáticos JavaScript Programación en Internet Curso 2005-2006 Contenidos Introducción El lenguaje Validación de formularios DLSI - Universidad de Alicante 1 Introducción

Más detalles

Interacción entre Aplicaciones: objetos distribuidos e invocación remota

Interacción entre Aplicaciones: objetos distribuidos e invocación remota Interacción entre Aplicaciones: objetos distribuidos e invocación remota En la anterior práctica se ha visto cómo extender la funcionalidad de un servidor web incorporando servlets que atienden peticiones

Más detalles

Lenguaje programación limbo

Lenguaje programación limbo José María Cañas Plaza gsyc-profes@gsyc.escet.urjc.es Octubre 2003 Índice 1 Índice Introducción Tipos de datos Estructuras de control Hebras Canales Introducción 2 Introducción similar a C en el flujo

Más detalles

DESARROLLO WEB INTENSIVO

DESARROLLO WEB INTENSIVO DESARROLLO WEB INTENSIVO Desarrollo Web con PHP 5.0 y MySQL- CURSO INTENSIVO Requerimientos para el Curso: Los participantes deben de contar con experiencia en programación y/o programación orientada a

Más detalles

Repaso de las características más importantes de la programación Java y su adaptación a Android

Repaso de las características más importantes de la programación Java y su adaptación a Android Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y

Más detalles

CARACTERISTICAS BASICAS DE LOS SMBD ORACLE

CARACTERISTICAS BASICAS DE LOS SMBD ORACLE Qué es una base de datos? Una base de datos es una herramienta para recopilar y organizar información. En las bases de datos, se puede almacenar información sobre personas, productos, pedidos, o cualquier

Más detalles

Lenguaje C. Tipos de Datos Simples y Estructuras de Control

Lenguaje C. Tipos de Datos Simples y Estructuras de Control Lenguaje C Tipos de Datos Simples y Estructuras de Control Lenguaje C C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje

Más detalles

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador).

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador). CAPÍTULO 4 Requerimientos de software Este capítulo presenta las herramientas necesarias para la construcción y ejecución de programas en el lenguaje de programación JAVA, los requerimientos mínimos de

Más detalles

Curso: Programación con JAVA SE Estándar Edition.

Curso: Programación con JAVA SE Estándar Edition. Curso: Programación con JAVA SE Estándar Edition. Código: 1062 Familia Profesional: Programación. Acreditación: Formación reconocida a través de vías no formales Modalidad: Distancia Duración: 150 horas

Más detalles

UNIDAD II Elementos de la programación orientada a objetos LSC. Natalia Rodríguez Castellón Estudio de un lenguaje de alto nivel Java es un lenguaje de programación de alto nivel, se comenzó a desarrollar

Más detalles

Tema 2: La Tecnología Java

Tema 2: La Tecnología Java Tema 2: La Tecnología Java 0 La Tecnología de Java Es : Un lenguaje de programación Similar a C/C++ sin los problemas de manejo de memoria. Un ambiente de desarrollo Compilador, intérprete, generados de

Más detalles

Aplicación Java para distribución de código en R

Aplicación Java para distribución de código en R rolgalan@gmail.com Huesca - 24 de noviembre de 2009 Implementación Descripción problema Existen muchos problemas, cuya resolución informática requiere de un enorme tiempo de cómputo. En la actualidad,

Más detalles

Entorno de Programación Visual Studio 6

Entorno de Programación Visual Studio 6 Entorno de Programación Visual Studio 6 Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Programación en C 1 Proceso de Programación Edición

Más detalles

James Gosling, creador de Java

James Gosling, creador de Java Lo que Java intenta hacer y lo hace con bastante éxito, es abarcar dominios diferentes. De esa forma le permite efectuar trabajos para de aplicaciones del lado del servidor, del lado del cliente, para

Más detalles

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

CURSO PROFESIONAL DE PYTHON MÁSTER EN DESARROLLO DE APLICACIONES WEB CON JAVA ENTERPRISE EDITION CURSO PROFESIONAL DE PYTHON MÁSTER EN DESARROLLO DE APLICACIONES WEB CON JAVA ENTERPRISE EDITION Precio: 450 Euros y Matrícula Gratis. Modalidad: Presencial en nuestras aulas. Valores añadidos: El curso

Más detalles

Proyectos profesionales con PHP 5 Francisco Charte Ojeda

Proyectos profesionales con PHP 5 Francisco Charte Ojeda Proyectos profesionales con PHP 5 Francisco Charte Ojeda Introducción Rápida historia de PHP Qué necesito para aprender a usar PHP? Estructura de este libro Tipografía y estilos Información de soporte

Más detalles

Algunas características de los lenguajes de programación orientados a objetos son:

Algunas características de los lenguajes de programación orientados a objetos son: Programación Orientada a Objetos (POO) La programación orientada a objetos es un paradigma de programación que, como su nombre lo indica, se basa en el uso de objetos estructuras de datos que consisten

Más detalles

La obra se proporciona bajo los términos de esta licencia pública de Sisoft de México

La obra se proporciona bajo los términos de esta licencia pública de Sisoft de México Licencia La obra se proporciona bajo los términos de esta licencia pública de Sisoft de México S. A de C.V., Está protegida por derechos de autor y / u otras leyes aplicables. Cualquier uso diferente a

Más detalles

Laboratorio de Sistemas Departamento de Ingeniería en Sistemas de Información Universidad Tecnológica Nacional Facultad Regional Córdoba. Porque PHP?

Laboratorio de Sistemas Departamento de Ingeniería en Sistemas de Información Universidad Tecnológica Nacional Facultad Regional Córdoba. Porque PHP? Porque PHP? PHP es un lenguaje de programación usado generalmente para la creación de contenido para sitios web. PHP es el (acrónimo recursivo de "PHP: Hypertext Preprocessor", inicialmente PHP Tools,

Más detalles

CAPITULO 3 ARQUITECTURA DE COMPONENTES GIS EN INTERNET

CAPITULO 3 ARQUITECTURA DE COMPONENTES GIS EN INTERNET CAPITULO 3 ARQUITECTURA DE COMPONENTES GIS EN INTERNET 3.1- ARQUITECTURA DE COMPONENTES GIS La presente tesis trata del diseño y desarrollo de una aplicación basado en el Web para servir datos geográficos

Más detalles