Introducción a la Computación. Python avanzado. Maximiliano Geier. Facultad de Ciencias Exactas y Naturales, UBA 24/06/2015

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

Download "Introducción a la Computación. Python avanzado. Maximiliano Geier. Facultad de Ciencias Exactas y Naturales, UBA 24/06/2015"

Transcripción

1 Introducción a la Computación Python avanzado Maximiliano Geier Facultad de Ciencias Exactas y Naturales, UBA 24/06/2015 Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

2 Programando a lo Python Cada lenguaje de programación tiene múltiples formas de escribir las mismas cosas. Recursión for, while Clases Estructuras de datos Ciertas construcciones son más comunes que otras, se habla de idioms. En Python el código idiomático se lo conoce como pythónico 1. Lo que se intenta es mejorar la legibilidad del código. No necesariamente más ĺıneas (ni menos) implica más legible, el criterio depende mucho del lenguaje. Vamos a ver algunos ejemplos de idioms en Python (y otros truquitos varios). 1 Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

3 Manejo de strings tradicional Python es muy cómodo para procesar cadenas de caracteres. Algunos ejemplos de cosas que se pueden hacer: Construir una lista separando una cadena por algún separador: >>> e.jem.plo.split(. ) [ e, jem, plo ] Volver a armarla: >>> -.join( e.jem.plo.split(. )) e-jem-plo Particionar por un separador: >>> primero:segundo:tercero.partition( : ) ( primero, :, segundo:tercero ) Separar el nombre de un archivo: >>> /home/mgeier/laberinto.txt.rpartition( / ) ( /home/mgeier, /, laberinto.txt ) Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

4 Manejo de strings tradicional (continuación) Reemplazar texto: >>> sarasa.replace( s, z ) zaraza Prefijo: >>> preprefijo.startswith( pre ) True >>> preprefijo.startswith( prefi ) False Eliminar un final de ĺınea: >>> ejemplo\n.rstrip( \n ) ejemplo Espacios delante y detrás: >>> muchos espacios.strip() muchos espacios Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

5 Context managers Podemos separar en un bloque con with el código que hace uso de un recurso, como ser un archivo. with open( ejemplo_tp.txt, r ) as f: dim = f.readline() cargardimension(dim) laberinto = f.readlines() cargarlaberinto(laberinto) Al salir del bloque with, el archivo f quedó cerrado (no hace falta llamar a f.close() expĺıcitamente). Podemos definir nuestros propios context managers en una clase: enter (self) end (self) Los objetos que definen sus propios context managers son en general los que modelan recursos que se piden y liberan (un archivo, una conexión de red, etc). Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

6 Listas por comprensión Es una construcción que permite aplicar una función a cada elemento de una lista y almacenar su resultado en una lista nueva todo en una sola ĺınea. a = [fn(x) for x in lista] Esto es equivalente al siguiente código: a = [] for x in lista: a.append(fn(x)) Un uso interesante es anidarlas : with open( tp_ej1.txt, r ) as f: puntos = [tuple(float(y) for y in x.split()) for x in f] O filtrar elementos ( los x de lista tales que sean pares ): pares = [x for x in lista if x % 2 == 0] Ojo con la legibilidad: a = [(float(x), float(y)) for x, y in [( {:.4f}.format( \ random.random()*10), {:.4f}.format( \ random.random()*10)) for _ in range(10)]] Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

7 Regular expressions Regular expressions (o regexp) es la forma moderna de procesar cadenas de caracteres. Usamos un lenguaje muy sucinto para describir patrones en las cadenas de caracteres. Cada lenguaje de programación tiene su variante de lenguaje para describir expresiones regulares, pero son bastante parecidos entre sí. En Python esto está implementado en el módulo re. Podemos dar una definición recursiva de expresiones regulares: Un símbolo (que puede ser una letra, número o signo) es una expresión regular. Los caracteres especiales se escapan con una barra invertida (\). Los símbolos ^ y $ corresponden a principio y final de ĺınea respectivamente. El punto. es una expresión regular que corresponde a cualquier caracter. [c 1 c 2 c 3 ] es una expresión regular ( cualquier caracter que sea c 1, c 2 o c 3 ). \d [0-9] [ ] (cualquier dígito decimal). [^\d] corresponde a cualquier caracter que no sea un dígito decimal. \w [a-za-z] (cualquier letra). Si a y b son expresiones regulares, ab es una expresión regular. ( a y después b ). a b es una expresión regular ( a o b ). a* es una expresión regular ( a repetido 0 o más veces ). a+ es una expresión regular ( a repetido 1 o más veces ). Podemos capturar en grupos partes del match usando los paréntesis. Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

8 Regular expressions (ejemplos) Para procesar un timestamp: >>> re.match( (\d{4})-(\d{2})-(\d{2})t(\d{2}):(\d{2}):(\d{2}), \ T10:56:04 ).groups() ( 2015, 05, 06, 10, 56, 04 ) Para procesar el laberinto: with open( laberinto.txt, r ) as f: dim = [int(x) for x in re.match( Dim\((\d+),(\d+)\), \ f.readline()).groups()] # dim = [4, 4] grid = [] for linea in f: grid.append([[bool(int(y)) for y in x.split(, )] for x in \ [x for x in re.split( [\[\]], linea.rstrip( \n )) \ if len(x) > 0]]) # grid[0] = [[True,True,False,False],[False,True,True,False], \ # [True,True,False,True],[False,True,False,True]] Buscar todos los números decimales truncando hasta un dígito fraccionario: >>> s = {2, [4, 5]; 6; { }} >>> re.findall( ([^\d] ^)((\- )\d+(\.\d )), s) [( {, 2,, ),( [, 4,, ),(, 5,, ),(, 6,, ), ( {, 3.1,,.1 ),(, -0.3, -,.3 )] Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

9 Ordenamiento Python incluye un algoritmo de ordenamiento que es una variante del mergesort. Para usarlo existen dos formas: Sobre la misma lista (in place): >>> a = [1,5,7,23,0,-4,3,7,4,4,2] >>> a.sort() >>> a [-4, 0, 1, 2, 3, 4, 4, 5, 7, 7, 23] En una lista nueva: >>> a = [1,5,7,23,0,-4,3,7,4,4,2] >>> b = sorted(a) >>> b [-4, 0, 1, 2, 3, 4, 4, 5, 7, 7, 23] >>> a [1, 5, 7, 23, 0, -4, 3, 7, 4, 4, 2] Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

10 Formas de iterar listas Con range (iterar los índices): for i in range(len(a)): print(a[i]) Con in lista (iterar los elementos): for x in a: print(x) Esta forma funciona con cualquier iterable (cualquier estructura que uno pueda recorrer) Se puede definir cómo funciona el in para tipos propios definiendo el método especial iter (self) enumerate (índices y elementos al mismo tiempo): for i, x in enumerate(a): print(i, x) Dos (o más) listas al mismo tiempo (ojo con las longitudes de a y de b): for x, y in zip(a, b): print(x, y) Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

11 Definiendo nuestro iter Recorrer filas y columnas en un tablero de ajedrez: class Celda(object): def init (self): self.c = False class Tablero(object): def init (self, n): self.tab = [[Celda() for _ in range(n)] for _ in range(n)] def iter (self): for f in self.tab: for c in f: yield c Luego, recorremos con for celda in Tablero(n). Árbol Binario: class ArbolBinario(object):... def iter (self): for r in self.inorder(): yield r Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

12 Otras formas de iterar Recorrer en orden inverso: >>> for x in reversed(a):... print(x, end= ) Recorrer una lista de forma ascendente en los índices pares y luego descendente en los impares: def asc_desc(a): r = [] for n, x in enumerate(a): if n % 2 == 1: r.append(x) else: yield x for x in reversed(r): yield x Luego recorremos con un for normal: >>> a = [1, 4, 8, 3, 7, 0] >>> for x in asc_desc(a):... print(x, end= ) Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

13 itertools Hay muchas formas de iterar ya definidas en el módulo itertools 2 : >>> [.join(x) for x in itertools.permutations( HOLA, 2)] [ HO, HL, HA, OH, OL, OA, LH, LO, LA, AH, AO, AL ] Los iteradores se pueden componer: >>> a = [1, 4, 8, 3, 7, 0] >>> list(itertools.chain(itertools.islice(a, 0, None, 2), \... reversed(a[1::2]))) [1, 8, 7, 0, 3, 4] Ojo con la legibilidad (bis): for n, elem in enumerate(lst): for comb in itertools.imap(lambda x: (elem,) + x, \ itertools.combinations(itertools.compress(lst, \ repeat_except(1, size, 0, n)), r_tail)): yield comb 2 Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

14 Formas de iterar diccionarios También podemos usar el for variable in para iterar diccionarios: >>> d = {1: Esteban, 2: Maria Elena, 3: Maximiliano, 4: Zombie } >>> for k in d:... print(k, end= ) >>> for v in d.values():... print(v, end= ) Esteban Maria Elena Maximiliano Zombie >>> for t in d.items():... print(t, end= ) (1, Esteban ) (2, Maria Elena ) (3, Maximiliano ) (4, Zombie ) Cada contenedor en Python (listas, tuplas, diccionarios, etc.) tiene definida su forma de recorrerse. El uso del for nos abstrae esta noción sin que tengamos que preocuparnos por qué estamos recorriendo. Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

15 Otros métodos especiales Además de init, enter, leave y iter, otros métodos con nombres especiales permiten definir cómo funcionan ciertas operaciones entre objetos de esa clase. eq (self, b): igualdad entre self y b (devuelve un booleano). del (self): destructor de la clase (no devuelve nada). str (self): conversión de self a string (devuelve una cadena de caracteres). Ejemplo: str (self) para ArbolBinario. def str (self): return,.join(self.inorder()) Uso: >>> print(ab) 1, 3, 2 repr (self): representación textual para self. def repr (self): return str(self) Uso: >>> print([ab]) [ 1, 3, 2 ] Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

16 Equivalencias entre formas de iterar a lo Python y el while for x in obj: try: i = iter(obj) while True: x = next(i) # hago algo except StopIteration: pass Para que esto funcione, tiene que estar definido iter (self) para el tipo de obj. if x in obj: try: found = False i = iter(obj) while not next(i) == x: pass except StopIteration: pass else: found = True if found: # hago algo Este if requiere además que esté definido eq (self, b) para el tipo de x. Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

17 Tuple unpacking Pasar tuplas como listas de argumentos a funciones: def f(x1, x2, x3): return x1 + x2 + x3 x = (4, 5, 6) print(f(*x)) También permite asignar los elementos de una tupla a variables separadas en una ĺınea: x1, x2, x3 = x Swap: >>> a = 1; b = 2 >>> b, a = a, b >>> print(a, b) 2 1 Trasponer una matriz: >>> a = [[0,4], [1,-1], [2,5], [3,0]] >>> print(list(zip(*a))) [(0, 1, 2, 3), (4, -1, 5, 0)] Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

18 Keyword arguments Permite identificar parámetros de funciones por nombre en lugar de por su posición. De esta manera algún argumento (o muchos o todos) podrían ser opcionales. Se pueden mezclar con argumentos posicionales. Los keyword arguments se acceden como un diccionario, donde la clave es el nombre del parámetro. def fn(*args, **kwargs): if arg1 in kwargs: print( me pasaron el argumento arg1 ) fn2(kwargs[ arg1 ], args[0]) else: fn3(**kwargs) Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

19 Funciones como parámetros de otras funciones Las funciones en Python también son objetos (de la clase function), y como tales tienen sus propios atributos y se los puede pasar como parámetro a otras funciones. Factorización de código: def tomartiempos(fn, *args, **kwargs): inicio = time.time() res = fn(*args, **kwargs) fin = time.time() print( función: {0} tiempo: {1}.format(fn. name, fin-inicio)) return res # llama a mitp(param1, param2, param3) tomartiempos(mitp, param1, param2, param3) Funciones anónimas: >>> a = [(2, segundo ),(3, tercero ),(4, cuarto ),(1, primero )] >>> sorted(a, key=lambda x: x[0]) [(1, primero ), (2, segundo ), (3, tercero ), (4, cuarto )] >>> sorted(a, key=lambda x: x[1]) [(4, cuarto ), (1, primero ), (2, segundo ), (3, tercero )] Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

20 Funciones como parámetros de otras funciones (continuación) Decorators: def tomartiempos(fn): def f(*args, **kwargs): inicio = time.time() res = fn(*args, **kwargs) fin = time.time() print( función: {0} tiempo: {1}.format(fn. name, fin-inicio)) return res return def mitp(param1, param2): # hacer el TP return 0 Notar el def anidado. Llamar a mitp definido con el decorator es equivalente al siguiente código: f = tomartiempos(mitp) f(param1, param2) # f va a llamar a mitp Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

21 Esquemas de recursión Muchos programas recursivos tienen estructuras parecidas. Utilizando alto orden (funciones como parámetro), se pueden generalizar ciertas funciones recursivas para que sean más fáciles de escribir y de entender. Los tres esquemas de recursión que trae Python son map, filter y reduce. 3 map(fn, lista): devuelve una lista como resultado de aplicar la función fn a cada elemento de lista. def map(fn, a): if len(a) == 0: return [] else: return [fn(a[0])] + map(fn, a[1:]) 3 Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

22 Esquemas de recursión (continuación) filter(fn, a): devuelve una lista con todos los elementos de lista donde la función fn devuelva True. def filter(fn, a): if len(a) == 0: return [] else: if fn(a[0]): return [a[0]] + filter(fn, a[1:]) else: return filter(fn, a[1:]) reduce(fn, a): aplica una función fn de dos parámetros a cada elemento de a y el resultado de reducir el resto de la lista. def reduce(fn, a): if len(a) == 1: return a[0] else: return fn(a[0], reduce(fn, a[1:])) Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

23 Esquemas de recursión (ejemplos) Lista con los cuadrados de cada elemento: def cuadrados(a): return map(lambda x: x**2, a) Lista de valores absolutos: def listadeabs(a): return map(abs, a) Buscar y eliminar: def buscaryeliminar(a, x): return filter(lambda y: y!= x, a) Suma de todos los elementos de a: def suma(a): return reduce(lambda x, y: x + y, a) Cantidad de apariciones: def cantidadapariciones(a, x): return suma(map(lambda w: 1 if w == x else 0, a)) Todos los elementos de a son True: def todostrue(a): return reduce(lambda x, y: x and y, a) Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

24 Esquemas de recursión (más ejemplos) Todos pares: def todospares(a): return todostrue(map(lambda x: x % 2 == 0, a)) Máximo de una lista: def maximo(a): return reduce(lambda x, y: x if x > y else y, a) Suma de los valores absolutos de cada elemento de a: def sumaabsolutos(a): return suma(listadeabs(a)) Nota de implementación: en Python 3 map y filter no devuelven listas sino generadores. Los generadores son estructuras iterables (con for), pero su ventaja es que no se construyen los resultados hasta que se intenta acceder a ellos, mientras que su desventaja es que no vamos a obtener todos los elementos hasta que no hagamos un for. Para lograr este efecto hay que usar listas por comprensión. Finalmente, para usar reduce hay que importarla del módulo functools. Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

25 MapReduce El concepto de map se aplica a la programación paralela para resolver problemas del tipo embarrassingly parallel. Map, combinado con los pasos de shuffle y reduce, inspiraron un modelo de cómputo para procesar distribuidamente grandes volúmenes de datos que se llama MapReduce 4. Este modelo, sumado a un filesystem distribuido para obtener los datos, permite utilizar clusters para procesar enormes cantidades de datos en poco tiempo. Hadoop es una plataforma libre de MapReduce muy utilizada. Hay aplicaciones de MapReduce para Hadoop en múltiples campos del conocimiento 5, siempre que se necesite procesar muchos datos. Si bien Hadoop es una plataforma escrita en Java, los mappers y reducers de una aplicación los podemos escribir en Python Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

26 Equivalencia entre listas por comprensión y esquemas recursivos map: [fn(x) for x in a] map(fn, a) filter: [x for x in a if fn(x)] filter(fn, a) reduce no tiene una equivalencia en listas por comprensión: # versión Pythónica acc = a[0] for x in a[1:]: acc = fn(acc, x) # reduce acc = reduce(fn, a) La forma preferida del creador de Python es el uso de listas por comprensión, o for expĺıcitos en caso de que no se pueda. Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

27 Duck Typing When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck. James Whitcomb Riley ( ). El sistema de tipos de Python permite que una función pensada para operar con un tipo de datos en particular, pueda funcionar con otro diferente siempre y cuando las operaciones que dicha función tiene que hacer sobre los operandos estén soportadas por ambos tipos de datos. Estas reglas sobre los tipos se las conoce como Duck Typing. En lenguajes que no hacen uso de Duck Typing, es necesario establecer otro tipo de mecanismos para que objetos de diferentes clases puedan funcionar como parámetros de una misma función. class Pato(object): def quack(): return Cuac class Persona(object): def quack(): return Imito a un pato def duckify(d): return d.quack() >>> p1 = Persona() >>> p2 = Pato() >>> duckify(p1) Imito a un pato >>> duckify(p2) Cuac Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

28 Introspection A diferencia de ciertos lenguajes, Python nos permite pedir información del sistema de tipos a los objetos del lenguaje: isinstance(obj, cls): devuelve True si obj es una instancia de la clase cls (o de alguna de sus subclases). >>> l = Laberinto() >>> isinstance(l, object) True issubclass(subcls, cls): devuelve True si subcls es una subclase de cls. >>> issubclass(typeerror, Exception) True getattr(obj, s): devuelve el atributo o el método del objeto obj con nombre s: >>> m = getattr(l, resuelto ) >>> m <bound method Laberinto.resuelto of <Laberinto object at 0x7f23a7f217f0>> >>> m() False setattr(obj, k, v): define un atributo de nombre k en obj, con el valor v: >>> setattr(obj, resuelto, lambda: True) >>> obj.resuelto() True Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

29 Evaluación de código definido en runtime eval ejecuta código definido en una cadena de caracteres (no se pueden asignar variables nuevas): >>> a = " import ( time ).time()" >>> eval(a) >>> import ( time ).time() >>> eval( 2**4 ) 16 >>> eval( r = 2**4 ) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1 r = 2**4 ^ SyntaxError: invalid syntax El código se evalúa como una cadena de texto, así que podría venir de cualquier lado: la consola, un archivo, Internet. Ojo si no se tiene control de qué ejecutamos: >>> eval( import ("os").system("rm -rf /") ) Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

30 Ejecutando programas externos Podemos utilizar Python para sistematizar la ejecución de experimentos computacionales, es decir, una serie de comandos tediosos y repetitivos que tenemos que ejecutar secuencialmente para obtener nuestro resultado. Estas funciones están incluidas en el módulo subprocess. Para ejecutar programas y capturar su salida: >>> subprocess.check_output( echo Hello, world!, shell=true) b Hello, world!\n También podemos usar programas interactivos: >>> with subprocess.popen(shlex.split( mkpasswd -s ), \... stdin=subprocess.pipe, stdout=subprocess.pipe) as p:... password, err = p.communicate(b hola\n )... >>> password b m11/.t/.ugjjy\n Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

31 Pidiendo ayuda dir(obj): devuelve una lista con todos los métodos o atributos que tiene definido el objeto obj. >>> l = Laberinto() >>> dir(l) [ class, delattr, dict, dir, doc, eq, format, ge, getattribute, gt, hash, init, le, lt, module, ne, new, reduce, reduce_ex, repr, setattr, sizeof, str, subclasshook, weakref, cargar, esposicionqueso, esposicionrata, get, getinfocelda, getposicionqueso, getposicionrata, parent, resetear, resolver, resuelto ] También se puede usar la tecla Tab para autocompletar nombres de métodos o clases desde el intérprete de Python (no funciona en Python 2). help(obj): muestra en un formato amigable el texto escrito en obj. doc. Ejecutando desde la terminal pydoc3 -b, se abre un browser con la documentación de los help de cada módulo que haya instalado en el sistema (incluyendo los de la carpeta desde la que se ejecutó pydoc), vistos como una página web. Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

32 Terminando >>> import hello Hello world! >>> import antigravity >>> import this The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren t special enough to break the rules. Although practicality beats purity. If the implementation is hard to explain, it s a bad idea. If the implementation is easy to explain, it may be a good idea. Maximiliano Geier (UBA) Python avanzado 24/06/ / 32

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

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

Introducción a la Programación en MATLAB

Introducción a la Programación en MATLAB Introducción a la Programación en MATLAB La programación en MATLAB se realiza básicamente sobre archivos M, o M-Files. Se los denomina de esta forma debido a su extensión.m. Estos archivos son simple archivos

Más detalles

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo. CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia

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

Álgebra y Matemática Discreta Sesión de Prácticas 1

Álgebra y Matemática Discreta Sesión de Prácticas 1 Álgebra y Matemática Discreta Sesión de Prácticas 1 (c) 2013 Leandro Marín, Francisco J. Vera, Gema M. Díaz 16 Sep 2013-22 Sep 2013 Estructuras Algebraicas La Estructura como Variable Tenemos una gran

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

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) APRENDERAPROGRAMAR.COM GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I

Más detalles

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro USAR MYSQL EN PHP PHP tiene una librería de funciones nativas para conectarse a las base de datos MySQL. Por un lado reconoce la librería mysql y por otro mysqli. Se recomienda el uso de mysqli dado que

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

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B) APRENDERAPROGRAMAR.COM OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde cero

Más detalles

Curso de Python Inicial

Curso de Python Inicial Logo IAA-CSIC Curso organizado por el Gabinete de Formación del CSIC Curso de Python Inicial Clases Contenidos 1. Paradigmas de la Programación 2. Programación Orientada a objetos 3. Clases 4. Objetos

Más detalles

Programación estructurada

Programación estructurada 3. Funciones Programación estructurada Cuando un programa crece: Es importante mantenerlo ordenado No repetir código Agrupar el código según su función Dar nombre a las operaciones comunes var cantidad

Más detalles

Tema 7: Programación con Matlab

Tema 7: Programación con Matlab Tema 7: Programación con Matlab 1. Introducción Matlab puede utilizarse como un lenguaje de programación que incluye todos los elementos necesarios. Añade la gran ventaja de poder incorporar a los programas

Más detalles

La ventana de Microsoft Excel

La ventana de Microsoft Excel Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft

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

UNIDAD 1. LOS NÚMEROS ENTEROS.

UNIDAD 1. LOS NÚMEROS ENTEROS. UNIDAD 1. LOS NÚMEROS ENTEROS. Al final deberás haber aprendido... Interpretar y expresar números enteros. Representar números enteros en la recta numérica. Comparar y ordenar números enteros. Realizar

Más detalles

TUTORIAL DE PHP. M. en C. Erika Vilches. Parte 2. http://www.erikavilches.com

TUTORIAL DE PHP. M. en C. Erika Vilches. Parte 2. http://www.erikavilches.com TUTORIAL DE PHP M. en C. Erika Vilches Parte 2 http://www.erikavilches.com Enunciados Condicionales Inicia con la palabra clave if seguida de una condición entre paréntesis $number = 5; if ($number < 10)

Más detalles

Programación: QBASIC

Programación: QBASIC 1. QBASIC Programación: QBASIC Guía del alumno Qbasic es una versión moderna del lenguaje BASIC. Se trata de un lenguaje de alto nivel. En un lenguaje de alto nivel las instrucciones tienen un formato

Más detalles

Programación I: Funciones y módulos

Programación I: Funciones y módulos Programación I: Funciones y módulos Esteban De La Fuente Rubio 2 de abril de 23 Índice. Funciones.. Definición y llamado de funciones............................................. 2.2. Parámetros por omisión..................................................

Más detalles

Herramientas computacionales para la matemática MATLAB: Funciones definidas por el usuario (parte II)

Herramientas computacionales para la matemática MATLAB: Funciones definidas por el usuario (parte II) Herramientas computacionales para la matemática MATLAB: Funciones definidas por el usuario (parte II) Verónica Borja Macías Mayo 2012 1 La línea H1 y las líneas de texto de ayuda La línea H1 y las líneas

Más detalles

Capítulo 12: Indexación y asociación

Capítulo 12: Indexación y asociación Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación

Más detalles

Nota 2. Luis Sierra. Marzo del 2010

Nota 2. Luis Sierra. Marzo del 2010 Nota 2 Luis Sierra Marzo del 2010 Cada mecanismo de definición de conjuntos que hemos comentado sugiere mecanismos para definir funciones y probar propiedades. Recordemos brevemente qué son las funciones

Más detalles

Matemática de redes Representación binaria de datos Bits y bytes

Matemática de redes Representación binaria de datos Bits y bytes Matemática de redes Representación binaria de datos Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo pueden entender

Más detalles

Tema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código

Tema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código Tema 6 Reutilización de código Programación 2015-2016 Programación - Tema 6: Reutilización de código 1 Tema 6. Reutilización de código Modularidad. Implementación de métodos. Uso de métodos. Programación

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

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Fundamentos de la informática 2. Algoritmos, diagramas de flujo y pseudocódigo Contenido Algoritmos Diagramas de flujo

Más detalles

1. DML. Las subconsultas

1. DML. Las subconsultas 1.1 Introducción 1. DML. Las subconsultas Una subconsulta es una consulta que aparece dentro de otra consulta o subconsulta en la lista de selección, en la cláusula WHERE o HAVING, originalmente no se

Más detalles

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES CASO PRÁCTICO DISTRIBUCIÓN DE COSTES Nuestra empresa tiene centros de distribución en tres ciudades europeas: Zaragoza, Milán y Burdeos. Hemos solicitado a los responsables de cada uno de los centros que

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

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

UNIDADES DE ALMACENAMIENTO DE DATOS

UNIDADES DE ALMACENAMIENTO DE DATOS 1.2 MATÉMATICAS DE REDES 1.2.1 REPRESENTACIÓN BINARIA DE DATOS Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo

Más detalles

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda: Apuntes de ACCESS Campos de Búsqueda: Los campos de búsqueda permiten seleccionar el valor de un campo de una lista desplegable en lugar de tener que escribirlos. El usuario sólo tiene que elegir un valor

Más detalles

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Competencias IIC1103 Introducción a la Programación (I/2010) Interrogación 1 13 de Abril de 2010

Más detalles

2.3 El Mundo de Tarski. http://cursos.clavijero.edu.mx/cursos/007_cp/modulo2/contenidos/documentos/tarski.zip

2.3 El Mundo de Tarski. http://cursos.clavijero.edu.mx/cursos/007_cp/modulo2/contenidos/documentos/tarski.zip 2.3 El Mundo de Tarski El mundo de Tarski es una herramienta de software desarrollada expresamente para enseñar y mejorar la capacidad del estudiante para describir situaciones en un mundo simple utilizando

Más detalles

Sistemas de Numeración

Sistemas de Numeración Sistemas de Numeración Objetivo: Conoce los sistemas de numeración diferentes al decimal Ser capaces de transformar una cifra de un sistema a otro 1 Introducción El sistema de numeración usado de forma

Más detalles

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios. Álgebra y Matemática Discreta - 2012 Sesión de Prácticas 1

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios. Álgebra y Matemática Discreta - 2012 Sesión de Prácticas 1 Álgebra y Matemática Discreta - 2012 Sesión de Prácticas 1 Leandro Marín Dpto. de Matemática Aplicada Facultad de Informática 2012 1 Estructuras Algebraicas 2 Listas 3 Los Números Enteros 4 Polinomios

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

LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS

LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS ESTRUCTURA DE COMPUTADORES Pag. 8.1 LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS 1. Circuitos de multiplicación La operación de multiplicar es mas compleja que la suma y por tanto se

Más detalles

Capítulo 9. Archivos de sintaxis

Capítulo 9. Archivos de sintaxis Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta

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

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

SOLUCIÓN CASO GESTIÓN DE COMPRAS

SOLUCIÓN CASO GESTIÓN DE COMPRAS SOLUCIÓN CASO GESTIÓN DE COMPRAS Comenzamos por abrir un libro de trabajo y lo guardaremos con el nombre Compras. 1) En primer lugar resolveremos el primer apartado en la hoja 1 del libro de trabajo procediendo

Más detalles

ESTRUCTURA DE DATOS: ARREGLOS

ESTRUCTURA DE DATOS: ARREGLOS ESTRUCTURA DE DATOS: ARREGLOS 1. Introduccion 2. Arreglos - Concepto - Caracteristicas 3. Arreglos Unidimensionales 4. Arreglos Bidimensionales 5. Ventajas del uso de arreglos 6. Ejemplo 1. Introducción

Más detalles

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

PROGRAMACIÓN EN PYTHON 2. Clara Higuera Laboratorio Integrado de Biofísica y Bioinformática Nov-2015 PROGRAMACIÓN EN PYTHON 2 Clara Higuera Laboratorio Integrado de Biofísica y Bioinformática Nov-2015 Funciones funcion print Esta es mi función x y funcion z w funcion w Funciones Las funciones sirven para

Más detalles

CAPÍTULO 2 INTERFASE VISUAL BASIC 6.0

CAPÍTULO 2 INTERFASE VISUAL BASIC 6.0 CAPÍTULO 2 INTERFASE VISUAL BASIC 6.0 El dispositivo que mide el nivel del agua necesita una interfase sencilla para el usuario, amigable y sin rutinas difíciles de entender, haciendo de esta manera una

Más detalles

Clase 4: Un poco más de Python

Clase 4: Un poco más de Python Año 2012 Tipos de Datos Definción Definición Un Tipo de Datos define el rango de valores que puede tomar una variable y el conjunto de operaciones que pueden aplicarse sobre la misma. Algunos lenguajes,

Más detalles

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta Conciliación bancaria en CheqPAQ Cargado de estado de cuenta Introducción Con la finalidad de mantenerte informado respecto a todos los cambios y mejoras de los productos de CONTPAQ i, ponemos a tu disposición

Más detalles

promedio = nint((notas(1) + notas(2) + notas(3) + & notas(4) + notas(5) + notas(6)) / 6.0) print *, 'Su promedio es', promedio

promedio = nint((notas(1) + notas(2) + notas(3) + & notas(4) + notas(5) + notas(6)) / 6.0) print *, 'Su promedio es', promedio Arreglos Un arreglo es un tipo de datos que contiene varios elementos de un mismo tipo. Cada elemento tiene asociado un índice, y puede ser tratado como si fuera una variable. La cantidad de elementos

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

SOLUCION PARCIAL TASK SCHEDULER. Task Scheduler

SOLUCION PARCIAL TASK SCHEDULER. Task Scheduler Task Scheduler Se necesita modelar una aplicación que permita definir tareas y ejecutarlas en forma programada. Las tareas pueden ser: La ejecución de programa cualquiera o comando del sistema operativo,

Más detalles

Introducción a la Computación. Testing en Python. Maximiliano Geier. Facultad de Ciencias Exactas y Naturales, UBA 17/06/2014

Introducción a la Computación. Testing en Python. Maximiliano Geier. Facultad de Ciencias Exactas y Naturales, UBA 17/06/2014 Introducción a la Computación Testing en Python Maximiliano Geier Facultad de Ciencias Exactas y Naturales, UBA 17/06/2014 Maximiliano Geier (UBA) Clase 25: Testing en Python 17/06/2014 1 / 13 Qué era

Más detalles

LABORATORIO Nº 3 PRÁCTICA DE FUNCIONES EN MICROSOFT EXCEL

LABORATORIO Nº 3 PRÁCTICA DE FUNCIONES EN MICROSOFT EXCEL OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar funciones en Microsoft Excel 2010. 1) LA FUNCIÓN SI EN EXCEL La función SI en Excel es parte del grupo

Más detalles

Colegio Salesiano Don Bosco Academia Reparación Y Soporte Técnico V Bachillerato Autor: Luis Orozco. Subneteo

Colegio Salesiano Don Bosco Academia Reparación Y Soporte Técnico V Bachillerato Autor: Luis Orozco. Subneteo Subneteo La función del Subneteo o Subnetting es dividir una red IP física en subredes lógicas (redes más pequeñas) para que cada una de estas trabajen a nivel envío y recepción de paquetes como una red

Más detalles

Proyecto de Innovación Docente: Guía multimedia para la elaboración de un modelo econométrico.

Proyecto de Innovación Docente: Guía multimedia para la elaboración de un modelo econométrico. 1 Primeros pasos en R. Al iniciarse R (ver Figura 16), R espera la entrada de órdenes y presenta un símbolo para indicarlo. El símbolo asignado, como puede observarse al final, es > Figura 16. Pantalla

Más detalles

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos

Más detalles

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016! INFORMÁTICA Práctica4. ProgramaciónbásicaenC. GradoenIngenieríaenElectrónicayAutomáticaIndustrial Curso2015H2016 v2.1(18.09.2015) A continuación figuran una serie de ejercicios propuestos, agrupados por

Más detalles

Ejemplos de conversión de reales a enteros

Ejemplos de conversión de reales a enteros Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print

Más detalles

Centro de Capacitación en Informática

Centro de Capacitación en Informática Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.

Más detalles

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS Una subconsulta es una consulta que aparece dentro de otra consulta o subconsultas, en

Más detalles

Capítulo 4. Vectores y matrices. 4.1 Declaración de tablas. 4.2 Declaración estática de tablas

Capítulo 4. Vectores y matrices. 4.1 Declaración de tablas. 4.2 Declaración estática de tablas Capítulo 4 Vectores y matrices En FORTRAN se puede utilizar un tipo especial de variable que sirve, en particular, para almacenar vectores y matrices. De esta forma, se utiliza un sólo nombre para referirse

Más detalles

TALLER #5 ACCESS CONSULTAS. objeto Consulta en la vista lateral izquierda de la ventana Base de datos. Aparece esta ventana.

TALLER #5 ACCESS CONSULTAS. objeto Consulta en la vista lateral izquierda de la ventana Base de datos. Aparece esta ventana. TALLER #5 ACCESS CONSULTAS Las consultas son los objetos de una base de datos que permiten recuperar datos de una tabla, modificarlos e incluso almacenar el resultado en otra tabla. TIPOS DE CONSULTAS

Más detalles

Informática Bioingeniería

Informática Bioingeniería Informática Bioingeniería Representación Números Negativos En matemáticas, los números negativos en cualquier base se representan del modo habitual, precediéndolos con un signo. Sin embargo, en una computadora,

Más detalles

TEMA 5. INTRODUCCIÓN AL MANEJO DE ORIGIN 6.1

TEMA 5. INTRODUCCIÓN AL MANEJO DE ORIGIN 6.1 TEMA 5. INTRODUCCIÓN AL MANEJO DE ORIGIN 6.1!"# 1. Introducción En muchos aspectos, el Origin es muy similar a Excel. Y lo es, más que en su apariencia, en la versatilidad y en las funciones que permite

Más detalles

Manual del Protocolo XML-RPC de Mensajería Negocios

Manual del Protocolo XML-RPC de Mensajería Negocios Manual del Protocolo XML-RPC de Mensajería Negocios Índice de contenidos 1 INTRODUCCIÓN... 3 2 FUNCIONALIDADES DEL API DE COMUNICACIÓN XML-RPC... 4 2.1 Envío Libre... 4 2.2 Envío a Grupo de Contactos...

Más detalles

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA INGENIERIA EN COMUNICACIONES Y ELECTRÓNICA ACADEMIA DE COMPUTACIÓN

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA INGENIERIA EN COMUNICACIONES Y ELECTRÓNICA ACADEMIA DE COMPUTACIÓN I. P. N. ESIME Unidad Culhuacan INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA UNIDAD CULHUACAN INGENIERIA EN COMUNICACIONES Y ELECTRÓNICA ACADEMIA DE COMPUTACIÓN LABORATORIO

Más detalles

Hoja1!C4. Hoja1!$C$4. Fila

Hoja1!C4. Hoja1!$C$4. Fila CAPÍTULO 6......... Cálculo y funciones con Excel 2000 6.1.- Referencias De Celdas Como vimos con anterioridad en Excel 2000 se referencian las celdas por la fila y la columna en la que están. Además como

Más detalles

Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos.

Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos. Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos. Qué es PHP? PHP (Hypertext Preprocessor). Es un lenguaje de programación: De código

Más detalles

8. Sentencia return y métodos

8. Sentencia return y métodos 92 A. García-Beltrán y J.M. Arranz 8. Sentencia return y métodos Objetivos: a) Describir el funcionamiento de la sentencia return b) Interpretar el resultado de una sentencia return en el código fuente

Más detalles

CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS

CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS 4.1 Antecedentes históricos El lenguaje de programación BASIC (Beginner's All purpose Symbolic Instruction Code)

Más detalles

Estructuras de Datos y Algoritmos. Árboles de Expresión

Estructuras de Datos y Algoritmos. Árboles de Expresión Estructuras de Datos y Algoritmos Árboles de Expresión Año 2014 Introducción Los avances tecnológicos producen día a día una gran cantidad de información que debe ser almacenada y procesada en forma eficiente.

Más detalles

UNIDAD Nº 1: 1. SISTEMAS DE NUMERACION. Formalizado este concepto, se dirá que un número X viene representado por una cadena de dígitos:

UNIDAD Nº 1: 1. SISTEMAS DE NUMERACION. Formalizado este concepto, se dirá que un número X viene representado por una cadena de dígitos: UNIDAD Nº 1: TECNICATURA EN INFORMATICA UNLAR - CHEPES 1.1. INTRODUCCION 1. SISTEMAS DE NUMERACION El mundo del computador es un mundo binario. Por el contrario, el mundo de la información, manejada por

Más detalles

Manual Consultas Web - PC Sistel Ver 486R4+ - USUARIO JEFATURA

Manual Consultas Web - PC Sistel Ver 486R4+ - USUARIO JEFATURA PCSISTEL Ver 486R4+ Diseñado y Desarrollado por Visual Soft S.A.C. Todos los Derechos reservados. 2006 Este producto y su respectiva documentación así como el nombre PCSISTEL se encuentra debidamente registradas

Más detalles

Tutorial: Python + Soap Web Service. Daniel Montenegro Cordero

Tutorial: Python + Soap Web Service. Daniel Montenegro Cordero Tutorial: Python + Soap Web Service Daniel Montenegro Cordero Python - Lenguaje de programación interpretado. - Filosofia código legible. - Permite programación orientada a objetos, imperativa y funcional.

Más detalles

Clase 3: Archivos (texto, csv, dbf, Excel)

Clase 3: Archivos (texto, csv, dbf, Excel) Archivos Clase 3: Archivos (texto, csv, dbf, Excel) En líneas generales los archivos se leen y se escriben en 3 pasos: Lectura: 1. Abrir (open) 2. Leer (read, readlines, readline) 3. Cerrar (close) Escritura:

Más detalles

PROCEDIMIENTOS Y FUNCIONES DE LA PROGRAMACIÓN (VISUAL BASIC)

PROCEDIMIENTOS Y FUNCIONES DE LA PROGRAMACIÓN (VISUAL BASIC) PROCEDIMIENTOS Y FUNCIONES DE LA PROGRAMACIÓN (VISUAL BASIC) REPASO (CLASES Y OBJETOS): Un objeto es una combinación de código y datos que puede tratarse como una unidad. Un objeto puede ser una porción

Más detalles

MATEMÁTICAS CON LA HOJA DE CÁLCULO

MATEMÁTICAS CON LA HOJA DE CÁLCULO MATEMÁTICAS CON LA HOJA DE CÁLCULO Podemos dar a esta aplicación un uso práctico en el aula de Matemáticas en varios sentidos: Como potente calculadora: sucesiones, límites, tablas estadísticas, parámetros

Más detalles

11. Algunas clases estándar de Java (II)

11. Algunas clases estándar de Java (II) 122 A. García-Beltrán y J.M. Arranz 11. Algunas clases estándar de Java (II) Objetivos: a) Presentar la clase predefinida en Java para trabajar con arrays b) Interpretar el código fuente de una aplicación

Más detalles

Ecuaciones de primer grado con dos incógnitas

Ecuaciones de primer grado con dos incógnitas Ecuaciones de primer grado con dos incógnitas Si decimos: "las edades de mis padres suman 120 años", podemos expresar esta frase algebraicamente de la siguiente forma: Entonces, Denominamos x a la edad

Más detalles

ARREGLOS DEFINICION GENERAL DE ARREGLO

ARREGLOS DEFINICION GENERAL DE ARREGLO ARREGLOS DEFINICION GENERAL DE ARREGLO Conjunto de cantidades o valores homogéneos, que por su naturaleza se comportan de idéntica forma y deben de ser tratados en forma similar. Se les debe de dar un

Más detalles

MF0952_2: Publicación de páginas web

MF0952_2: Publicación de páginas web MF0952_2: Publicación de páginas web TEMA 1. Características de seguridad en la publicación de páginas web TEMA 2. Herramientas de transferencia de archivos TEMA 3. Publicación de páginas web TEMA 4. Pruebas

Más detalles

MACROS. Automatizar tareas a través del uso de las macros.

MACROS. Automatizar tareas a través del uso de las macros. OBJETIVOS MACROS Definiciones Automatizar tareas a través del uso de las macros. Grabar Ejecutar Manipular macros. Tipos de Macros en Excel Introducción Las operaciones tradicionales que se pueden realizar

Más detalles

! Una variable declarada con final no puede volver a ser reinicializada. numero = 2;! ! Para definir constantes

! Una variable declarada con final no puede volver a ser reinicializada. numero = 2;! ! Para definir constantes Modificador final Introducción a la Programación IV Curso de Programación en Java Luis Guerra l.guerra@upm.es Enero 2012 Una variable declarada con final no puede volver a ser reinicializada final int

Más detalles

Tecnologías en la Educación Matemática. Expresiones. Datos. Expresiones Aritméticas. Expresiones Aritméticas 19/08/2014

Tecnologías en la Educación Matemática. Expresiones. Datos. Expresiones Aritméticas. Expresiones Aritméticas 19/08/2014 Tecnologías en la Educación Matemática jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR 1 Datos Los algoritmos combinan datos con acciones. Los datos de entrada

Más detalles

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la

Más detalles

TEMA 2: Representación de la Información en las computadoras

TEMA 2: Representación de la Información en las computadoras TEMA 2: Representación de la Información en las computadoras Introducción Una computadora es una máquina que procesa información y ejecuta programas. Para que la computadora ejecute un programa, es necesario

Más detalles

FICHERO DE AYUDA DEL PROGRAMA MEGAEURO

FICHERO DE AYUDA DEL PROGRAMA MEGAEURO FICHERO DE AYUDA DEL PROGRAMA MEGAEURO Versión MEGAEURO : 1.0 Fecha : 02/10/2010 1. INFORMACION GENERAL Versión completamente gratuita. Entre otras muchas opciones, el programa permite seleccionar cualquier

Más detalles

Figura 1.1. Figura 1.2

Figura 1.1. Figura 1.2 Array Un array es una colección de datos todos ellos del mismo tipo. Puede tener una o más dimensiones y hasta 2 elementos por dimensión, según la memoria disponible. Un array puede ser de cualquier tipo

Más detalles

Estructuras de Control - Diagrama de Flujo

Estructuras de Control - Diagrama de Flujo RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS Ingeniería en Computación Ingeniería en Informática UNIVERSIDAD NACIONAL DE SAN LUIS DEPARTAMENTO DE INFORMÁTICA AÑO 2015 Índice 1. Programación estructurada 2 1.1.

Más detalles

Sistemas de numeración

Sistemas de numeración Sistemas de numeración Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. Los sistemas de numeración actuales son sistemas posicionales, que se caracterizan

Más detalles

Introducción a la Estadística con Excel

Introducción a la Estadística con Excel Introducción a la Estadística con Excel En el siguiente guión vamos a introducir el software Excel 2007 y la manera de trabajar con Estadística Descriptiva. Cargar o importar datos En Excel 2007 podemos

Más detalles

Estructuras de datos: Proyecto 2

Estructuras de datos: Proyecto 2 Estructuras de datos: Proyecto 2 28 de mayo de 2013 Instrucciones Enviar las soluciones por email a los ayudantes, con copia a la profesora. Plazo de entrega: 16 de junio (durante todo el día). Se debe

Más detalles

SIIGO Pyme. Templates. Cartilla I

SIIGO Pyme. Templates. Cartilla I SIIGO Pyme Templates Cartilla I Tabla de Contenido 1. Presentación 2. Qué es un Template? 3. Qué Aspectos se Deben Tener en Cuenta Antes de Diseñar o Modificar un Template? 4. Cuáles son las Formas que

Más detalles

ARCHIVOS CON SERIES DEL BOLETÍN ESTADÍSTICO Manual de Usuario

ARCHIVOS CON SERIES DEL BOLETÍN ESTADÍSTICO Manual de Usuario Dirección General del Servicio de Estudios 04.09.2007 ARCHIVOS CON SERIES DEL BOLETÍN ESTADÍSTICO Manual de Usuario Departamento de Estadística Hoja de Control Título Autor Versión Fecha Registro de Cambios

Más detalles

Tema 3 Cuestiones avanzadas

Tema 3 Cuestiones avanzadas Tema 3 Cuestiones avanzadas Curso de Python Avanzado Juan Pedro Boĺıvar Puente Instituto de Astrofísica de Andalucía Mayo de 2011 Juan Pedro Boĺıvar Puente (Instituto de Astrofísica de Tema Andalucía)

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

Índice Introducción Números Polinomios Funciones y su Representación. Curso 0: Matemáticas y sus Aplicaciones Tema 1. Números, Polinomios y Funciones

Índice Introducción Números Polinomios Funciones y su Representación. Curso 0: Matemáticas y sus Aplicaciones Tema 1. Números, Polinomios y Funciones Curso 0: Matemáticas y sus Aplicaciones Tema 1. Números, Polinomios y Funciones Leandro Marín Dpto. de Matemática Aplicada Universidad de Murcia 2012 1 Números 2 Polinomios 3 Funciones y su Representación

Más detalles

Creación y administración de grupos de dominio

Creación y administración de grupos de dominio Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia

Más detalles

Tutorial de Subneteo Clase A, B, C - Ejercicios de Subnetting CCNA 1

Tutorial de Subneteo Clase A, B, C - Ejercicios de Subnetting CCNA 1 Tutorial de Subneteo Clase A, B, C - Ejercicios de Subnetting CCNA 1 La función del Subneteo o Subnetting es dividir una red IP física en subredes lógicas (redes más pequeñas) para que cada una de estas

Más detalles

Introducción a la Firma Electrónica en MIDAS

Introducción a la Firma Electrónica en MIDAS Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento

Más detalles