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

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

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

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

Í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

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor. Sesión 03: Lenguajes web del servidor Competencias a Conseguir: - Conocer el entorno de trabajo a nivel de servidores web. - Instalación del localhost (Servidor Local). - Repaso general de PHP y ejercicios

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

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

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

Preliminares. Tipos de variables y Expresiones

Preliminares. Tipos de variables y Expresiones Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un

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

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

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

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

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

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

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

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor. Procesamiento del lado del servidor La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante la interpretación de un script en el

Más detalles

PDF created with pdffactory Pro trial version www.pdffactory.com

PDF created with pdffactory Pro trial version www.pdffactory.com Este libro está diseñado y escrito para aquellas personas que, conociendo HTML y JavaScript, desean dar un salto cuantioso en la creación de sitios web, con la programación dinámica en el lado del servidor.

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

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

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Entidad Formadora: Plan Local De Formación Convocatoria 2010 Entidad Formadora: Enterprise Architect Comenzando Puede iniciar Enterprise Architect desde el ícono que se creó en su escritorio de Windows durante la instalación, o alternativamente: 1. Abrir el menú

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí

Más detalles

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable 1. Introducción. El Sistema de Administración de Información de un Negocio Franquiciable (SAINF)

Más detalles

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante Modulo 2. Inicio con Java Muchas veces encontramos en nuestro entorno referencias sobre Java, bien sea como lenguaje de programación o como plataforma, pero, que es en realidad Java?, cual es su historia?,

Más detalles

MANUAL DE USUARIO. Webservice simple para la exportación rápida de información proveniente de una base de datos. Versión 0,1,1

MANUAL DE USUARIO. Webservice simple para la exportación rápida de información proveniente de una base de datos. Versión 0,1,1 MANUAL DE USUARIO Webservice simple para la exportación rápida de información proveniente de una base de datos Versión 0,1,1 Jorge Iván Meza Martínez INTRODUCCIÓN Esta aplicación permite

Más detalles

Modulo 1 El lenguaje Java

Modulo 1 El lenguaje Java Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto

Más detalles

10550 Programming in Visual Basic with Microsoft Visual Studio 2010

10550 Programming in Visual Basic with Microsoft Visual Studio 2010 10550 Programming in Visual Basic with Microsoft Visual Studio 2010 Introducción Este curso le enseña sintaxis de lenguaje Visual Basic, estructura de programa e implementación al utilizar Microsoft Visual

Más detalles

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por

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

Programador en Plataforma Java y XML

Programador en Plataforma Java y XML Programador en Plataforma Java y XML Java Fundamentos Módulo 1: Java Básico Introducción En la presente unidad, se detalla los fundamentos de la tecnología Java, reconociendo las 3 plataformas que la conforman.

Más detalles

Introducción a la extensión de scripting en gvsig 2.0

Introducción a la extensión de scripting en gvsig 2.0 Introducción a la extensión de scripting en gvsig 2.0 2012 gvsig Association Este documento se distribuye con la licencia Creative Commons 1 2 Índice de contenido 1 Introducción... 3 Instalación de la

Más detalles

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y Capítulo VI Conclusiones En este capítulo abordaremos la comparación de las características principales y de las ventajas cada tecnología Web nos ofrece para el desarrollo de ciertas aplicaciones. También

Más detalles

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas.

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas. Contenido Sistema de archivos Operaciones sobre archivos Métodos de acceso a archivos Directorio Sistema de archivos por capas Espacio libre Sistema de archivos Proporciona el mecanismo para el almacenamiento

Más detalles

Manual de usuario de IBAI BackupRemoto

Manual de usuario de IBAI BackupRemoto Manual de usuario de IBAI BackupRemoto Índice Cliente de IBAI BackupRemoto... 3 Descarga del cliente de IBAI BackupRemoto... 4 Instalación del cliente de IBAI BackupRemoto... 5 Instalación sobre Microsoft

Más detalles

DEPARTAMENTO: Informática. MATERIA: Programación. NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma

DEPARTAMENTO: Informática. MATERIA: Programación. NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma DEPARTAMENTO: Informática MATERIA: Programación NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma 1. Objetivos. Competencias Profesionales, Personales y Sociales 1.1 Objetivos del ciclo formativo La

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

MySQL: Guía de Referencia

MySQL: Guía de Referencia Instituto Tecnologico Superior de Coatzacoalcos (ITESCO). MySQL: Guía de Referencia Farid Alfredo Bielma Lopez fbielma@fbielma.org http://fbielma.org/course/fbielma/curso_mysql.pdf Resumen del curso Algunas

Más detalles

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl Resumen demandas de almacenamiento y procesamiento de datos. Es el conjunto de estas dos capacidades

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

El Entorno Integrado de Desarrollo Dev-C++ (Ayuda básica para las primeras sesiones de prácticas)

El Entorno Integrado de Desarrollo Dev-C++ (Ayuda básica para las primeras sesiones de prácticas) El Entorno Integrado de Desarrollo Dev-C++ (Ayuda básica para las primeras sesiones de prácticas) Sobre Dev-C++ Dev-C++ es un Entorno Integrado de Desarrollo para el lenguaje de programación C/C++ que

Más detalles

CAPÍTULO 3 VISUAL BASIC

CAPÍTULO 3 VISUAL BASIC CAPÍTULO 3 VISUAL BASIC 3.1 Visual Basic Microsoft Visual Basic es la actual y mejor representación del viejo lenguaje BASIC, le proporciona un sistema completo para el desarrollo de aplicaciones para

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

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

JavaScript como Orientación a Objetos

JavaScript como Orientación a Objetos Gustavo Lacoste (gustavo@lacosox.org) October 2012 Resumen El objetivo de las siguientes notas es generar una estructura en JavaScript que nos permita reutilizar de manera limpia las funciones creadas

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

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

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

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

Tutorial para la comunicación TCP en el BMS Server

Tutorial para la comunicación TCP en el BMS Server Tutorial para la comunicación TCP en el BMS Server Contenido 1. Pasos iniciales para trabajar empleando conexión TCP... 2 2. Configuración de la conexión TCP... 4 2.1. Comprobación de la conexión TCP...

Más detalles

Introducción al lenguaje de programación java

Introducción al lenguaje de programación java Introducción al lenguaje de programación java Algoritmia y Programación Slide 1 LENGUAJES DE PROGRAMACION Un lenguaje de programación es un idioma artificial diseñado y creado para expresar algoritmos

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

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

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

Acronis License Server. Guía del usuario

Acronis License Server. Guía del usuario Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE

Más detalles

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente

Más detalles

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo. GLOSARIO Actor: Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor para el negocio.

Más detalles

Instalación, creación y configuración del servicio FTP

Instalación, creación y configuración del servicio FTP Instalación, creación y configuración del servicio OBJETIVOS Instalar el servicio de en Windows. Configurar y administrar el Servicio de en Windows. Prueba de acceso desde la LAN al servidor. Apertura

Más detalles

Tema 4. Gestión de entrada/salida

Tema 4. Gestión de entrada/salida Tema 4. Gestión de entrada/salida 1. Principios de la gestión de E/S. 1.Problemática de los dispositivos de E/S. 2.Objetivos generales del software de E/S. 3.Principios hardware de E/S. 1. E/S controlada

Más detalles

Edición de Ofertas Excel Manual de Usuario

Edición de Ofertas Excel Manual de Usuario Edición de Ofertas Excel Manual de Usuario Alfonso XI, 6 28014 Madrid F(+34) 91 524 03 96 www.omie.es Ref. MU_OfertasExcel.docx Versión 4.0 Fecha: 2012-11-26 ÍNDICE 1 INTRODUCCIÓN 3 2 CONSIDERACIONES DE

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

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

Clase Práctica Nº 1 ED 2015

Clase Práctica Nº 1 ED 2015 Clase Práctica Nº 1 ED 2015 Introducción La creación de una solución de software tiene varias etapas, por ejemplo: Diseño Implementación Testeo Y para cada etapa existen herramientas que nos ayudan. Introducción

Más detalles

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática Tema 1 Introducción. Arquitectura básica y Sistemas Operativos Fundamentos de Informática Índice Descripción de un ordenador Concepto básico de Sistema Operativo Codificación de la información 2 1 Descripción

Más detalles

Microsoft Office 2010 Illustrated. Tipos de Software

Microsoft Office 2010 Illustrated. Tipos de Software Microsoft Office 2010 Illustrated Tipos de Software SOFTWARE Conjunto de instrucciones que le indican a la computadora que hacer. Existen tres tipos de software: Sofware de Aplicacion Sofware de Programacion

Más detalles

Sintaxis y Convenciones de Java. M. en C. Erika Vilches

Sintaxis y Convenciones de Java. M. en C. Erika Vilches Sintaxis y Convenciones de Java M. en C. Erika Vilches Estructura del Código en Java Hay una clase en un archivo fuente Hay métodos en una clase Hay enunciados en un método Anatomía de una Clase Cuando

Más detalles

JAVA EE 5. Arquitectura, conceptos y ejemplos.

JAVA EE 5. Arquitectura, conceptos y ejemplos. JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones

Más detalles

Conociendo el ambiente de programación de Java. M. en C. Erika Vilches

Conociendo el ambiente de programación de Java. M. en C. Erika Vilches Conociendo el ambiente de programación de Java M. en C. Erika Vilches La variable PATH Una vez que se ha aceptado la licencia del JDK y que se ha instalado satisfactoriamente y antes de poder utilizarlo,

Más detalles

Introducción a PHP. * No es necesario declarar previamente las variables.

Introducción a PHP. * No es necesario declarar previamente las variables. Introducción a PHP La programación de sitios web cada día está más orientada al desarrollo de páginas dinámicas y aplicaciones, o sea sitios donde el usuario pueda interactuar con la web. Dentro de los

Más detalles

SoftXpand 2011 Guía de instalación rápida Página 1 SoftXpand 2011 Guía de instalación rápida

SoftXpand 2011 Guía de instalación rápida Página 1 SoftXpand 2011 Guía de instalación rápida SoftXpand 2011 Guía de instalación rápida Página 1 SoftXpand 2011 Guía de instalación rápida Recomendamos ampliamente seguir las instrucciones siguientes al instalar SoftXpand 2011. Instalación de SoftXpand

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

Nano Taller de Python

Nano Taller de Python Charla 5: Programación Funcional Royal Institute of Technology (KTH), Estocolmo, Suecia Grupo de Nanomateriales (GNM), Santiago, Chile 13 de enero 2009, de 13:00 a 14:00 Parte I Programación

Más detalles

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación. Descripción de la semántica de ALFA En esta descripción sólo se mencionarán los aspectos en los que el lenguaje de programación ALFA pueda diferir de otros lenguajes de programación de alto nivel. Se sobreentienden

Más detalles

1. Visualización de datos con Octave

1. Visualización de datos con Octave 1. Visualización de datos con Octave Versión final 1.0-19 agosto 2002 Octave es un poderoso software de cálculo numérico. En este documento explicamos un subconjunto realmente pequeño de sus comandos,

Más detalles

Java en 2 horas. Rodrigo Santamaría

Java en 2 horas. Rodrigo Santamaría + Java en 2 horas Rodrigo Santamaría + Generalidades 2 Desarrollado por Sun en 1995 Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión

Más detalles

Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario

Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario Empleo de módulos y Procedimientos Procedimientos definidos por el usuario Según lo que hemos visto hasta ahora, Visual Basic, almacena el código en módulos. Hay tres clases de módulos: formularios (.frm),

Más detalles

Creación de Funciones de Conducción

Creación de Funciones de Conducción Creación de Funciones de Conducción Requerimientos Para el desarrollo de esta actividad se requiere que: Contemos con un robot BoeBot armado con placa Arduino. Repetición En estos momentos habremos notado

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

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos

Más detalles

Curso PHP Módulo 1 R-Luis

Curso PHP Módulo 1 R-Luis Lenguaje PHP Introducción Archivos HTML y PHP: Crear un archivo php es tan sencillo como cambiarle la extensión a un archivo html, por ejemplo podemos pasar de index.html a index.php sin ningún inconveniente.

Más detalles

Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp...

Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp... Contenido Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp... 5 Introducción Es tiempo de hablar en detalle de lo que significa

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

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

1. Manejo de memoria estática 2. Manejo de memoria dinámica

1. Manejo de memoria estática 2. Manejo de memoria dinámica 1. Manejo de memoria estática 2. Manejo de memoria dinámica *La administración de memoria de una computadora es una tarea fundamental debido a que la cantidad de memoria es limitada. *El sistema operativo

Más detalles

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN 3.3 Aplicaciones Definición de Aplicación (Application). Programa informático que permite a un usuario utilizar una computadora con un fin específico. Las

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

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

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

Generación de código para Hibernate desde modelos UML

Generación de código para Hibernate desde modelos UML Generación de código para Hibernate desde modelos UML Alejandro Nogueiro Mariscal Ingeniería Técnica en Informática de Sistemas, Universidad de Cádiz 24 de Septiembre 2012 1 / 35 Índice 1 Motivación y

Más detalles

Guía de instalación y configuración de IBM SPSS Modeler Social Network Analysis 16

Guía de instalación y configuración de IBM SPSS Modeler Social Network Analysis 16 Guía de instalación y configuración de IBM SPSS Modeler Social Network Analysis 16 Contenido Capítulo 1. Introducción a IBM SPSS Modeler Social Network Analysis.... 1 Visión general de IBM SPSS Modeler

Más detalles

Seminario de Java. Contenido

Seminario de Java. Contenido Seminario de Java Programación Orientada a Objetos Curso 2006/2007 Contenido 1. Introducción 2. Primeros pasos con Java. El entorno Eclipse 3. La sintaxis del lenguaje Java 4. Clases y objetos 5. Cadenas

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

Prácticas con Elastix Asterisk - Lab. 3

Prácticas con Elastix Asterisk - Lab. 3 1-1-2015 Prácticas telefonía IP Prácticas con Elastix Asterisk - Lab. 3 Jesse Padilla Agudelo Adaptado por Ing. Pedro Alberto Arias Quintero SENA - CIMI Red de telefonía para práctica inicial a trabajar

Más detalles

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

Más detalles

ÍNDICE INTRODUCCIÓN...15

ÍNDICE INTRODUCCIÓN...15 ÍNDICE INTRODUCCIÓN...15 CAPÍTULO 1. LA ARQUITECTURA CLIENTE-SERVIDOR...19 1.1 LAS DIRECCIONES IP Y EL SERVICIO DNS...20 1.2 LOS PROTOCOLOS TCP/IP...23 1.2.1 Los paquetes...24 1.2.2 Los puertos...25 1.2.3

Más detalles

Programación Orientada a Objetos con Java

Programación Orientada a Objetos con Java Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la

Más detalles

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus Iniciando con Oracle Índice de contenido Ingresando a Oracle...1 Cambiando Su Contraseña...1 Ingresando un Comando SQL en SQL*Plus...2 Saliendo de SQL*Plus...2 Consiguiendo Ayuda...2 Creación de una Tabla...3

Más detalles

MS_10266 Programming in C# with Microsoft Visual Studio 2010

MS_10266 Programming in C# with Microsoft Visual Studio 2010 Programming in C# 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 Este curso se enfoca estructura

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

Descripción. Este Software cumple los siguientes hitos:

Descripción. Este Software cumple los siguientes hitos: WWWMONITORDBACOM Descripción Este Software cumple los siguientes hitos: a- Consola de Monitoreo b- Envío de Alertas (correo, SMS) c- Gestión de Eventos desatendidos (sea capaz ejecutar script de solución

Más detalles

2.1.- EJEMPLO DE UN PROGRAMA FORTRAN

2.1.- EJEMPLO DE UN PROGRAMA FORTRAN 2.1.- EJEMPLO DE UN PROGRAMA FORTRAN Con el presente apartado comenzaremos a conocer cómo se escribe un programa en lenguaje FORTRAN bajo el entorno de programación FORTRAN. En primer lugar conozcamos

Más detalles