Lenguaje de Programación: Go

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

Download "Lenguaje de Programación: Go"

Transcripción

1 Centro de Investigación y de Estudios Avanzados del I.P.N 9 de Noviembre de 2011

2 Go Es un lenguaje de programación de propósito general que es promovido por: Rob Pike, Robert Griesemer, Ken Thompson, Russ Cox, Ian Lance Taylor. Todos ellos de Google Go tiene las siguientes características: Lenguaje compilado Tipado estático Rápido Soporte de concurrencia Open Source Página web:

3 Go Existen dos compiladores para Go: Gccgo - Basado en GCC Suite 6g, 8g, etc. (Dependiendo de la arquitectura)

4 Hello world! Cada código fuente declara el paquete al que pertenece (main), además de los paquetes a usar (fmt) Funciones se declaran con func Comentarios: /* comentario multilínea */ // comentario una línea El punto y coma (;) es opcional package main import " fmt " func main ( ) { fmt. P r i n t f (" H e l l o world ")

5 Declaraciones Se utiliza la palabra reservada var El tipo de dato se pone al final v a r x, y, z i n t

6 Asignación múltiple Go permite hacer asignación múltiple Dichas asignaciones se realizan en paralelo i, j = j, i // i n t e r c a m b i a i con j

7 Funciones El tipo se pone después del nombre de la variable Cuando dos o más parámetros son del mismo tipo solo es necesario el tipo en el último parámetro func add ( x i n t, y i n t ) i n t { r e t u r n x + y func add ( x, y i n t ) i n t { r e t u r n x + y

8 Funciones Una función puede regresar cualquier número de resultados func swap ( x, y s t r i n g ) ( s t r i n g, s t r i n g ) { r e t u r n y, x

9 Asignación corta Dentro de una función, se puede usar := en lugar de var x := 1 y, z := 2, 3

10 Constantes Se utiliza la palabra reservada const. Pueden ser string, booleanos o numéricos. El tipo de la constante puede obtenerse del contexto c o n s t Pi f l o a t 6 4 = 3.14 c o n s t cadena = " Hola mundo"

11 For Solo existe una estructura para los ciclos en Go (for). No se usan paréntesis y las llaves son obligatorias. f o r i := 0 ; i < 1 0 ; i++ { sum += i f o r sum < 1000 { // w h i l e sum += sum f o r { // i n f i n i t o

12 If No se usan paréntesis y las llaves son obligatorias. También puede agregarse una sentencia antes de la condición x = 10 i f x < 0 { fmt. P r i n t l n (" x es menor que 0") i f v := 5 ; x < v { fmt. P r i n t l n (" x es menor que v ")

13 Defer Defer ejecuta una función cuando la función que la encierra regresa Se utiliza una pila para para resolver el orden de varios defer Útil para cerrar archivos func f ( ) { f o r i := 0 ; i < 5 ; i++ { d e f e r fmt. P r i n t f (" %d ", i )

14 Ejercicio: Defer Cuál es la salida? func t r a c e ( s s t r i n g ) { fmt. P r i n t l n (" e n t e r i n g : ", s ) func u n t r a c e ( s s t r i n g ) { fmt. P r i n t l n (" l e a v i n g : ", s ) func a ( ) { t r a c e (" a ") d e f e r u n t r a c e (" a ") fmt. P r i n t l n (" i n a ") func b ( ) { t r a c e (" b ") d e f e r u n t r a c e (" b ") fmt. P r i n t l n (" i n b ") a ( ) func main ( ) { b ( )

15 Structs Es una colección de datos Cada dato se puede acceder con un punto type V e r t e x s t r u c t { X i n t Y i n t v := V e r t e x {1, 2 v. X = 4

16 Structs Se puede asignar un subconjunto de campos usando la notación campo:valor El prefijo & construye un puntero a la estructura v a r ( p = V e r t e x {1, 2 // t i p o V e r t e x q = &V e r t e x {1, 2 // t i p o V e r t e x r = V e r t e x {X : 1 // Y: 0 es i m p l i c i t o s = V e r t e x { // X: 0 and Y: 0 )

17 New La expresión new(vertex) asigna memoria para Vertex y regresa un puntero a esta No existe un delete o free. Go tiene un garbage collector type V e r t e x s t r u c t { X, Y i n t func main ( ) { v a r v V e r t e x = new ( V e r t e x ) v := new ( V e r t e x )

18 Arreglos Los arreglos son valores y no punteros como en C. Entonces, el asignar un arreglo a otro copia todos sus elementos v a r i n t A r r a y [ 3 ] i n t i n t A r r a y 2 := [ 3 ] i n t {1, 2, 3 i n t A r r a y 3 := [... ] i n t {4, 5, 6

19 Arreglos Si pasamos un arreglo a una función, este recibe una copia del arreglo y no un puntero a este. Sin embargo, también podemos usar la dirección de memoria del arreglo. func f ( a [ 3 ] i n t ) { a [0]=10 func f p ( a [ 3 ] i n t ) { a [0]=10 func main ( ) { v a r a r [ 3 ] i n t f ( a r ) fmt. P r i n t l n ( a r ) f p (& a r ) fmt. P r i n t l n ( a r )

20 Ejercicio: Invertir un arreglo Implemente una función que invierta un arreglo Utilice la asignación múltiple

21 Ejercicio: Invertir un arreglo Implemente una función que invierta un arreglo Utilice la asignación múltiple func r e v e r s e A r r a y ( a [ 1 0 ] i n t ) [ 1 0 ] i n t { f o r i, j := 0, l e n ( a ) 1; i < j ; i, j = i +1, j 1 { a [ i ], a [ j ] = a [ j ], a [ i ] r e t u r n a

22 Slices Los slices son una rebanada de un arreglo (una referencia a estos). Los slices son referencias. Por lo tanto, si asignamos un slice a otro, ambos se refieren al mismo arreglo. v a r a r r [ 3 ] i n t a r r = [ 3 ] i n t {1,2,3 v a r s l i c e [ ] i n t s l i c e = a r r [ 0 : 2 ]

23 Make Make sirve para crear slices, maps, y channels. Estos tres tipos en realidad refieren a una estructura interna Make inicializa dicha estructura interna y crea la nueva estructura (slice, map, o channel) v a r v [ ] i n t = make ( [ ] i n t, 100) p := make ( [ ] i n t, 100)

24 Volviendo a Slices Un slice tiene largo y capacidad La capacidad de un slice es el máximo tamaño que esta puede crecer La capacidad se puede indicar con un tercer parámetro en make b := make ( [ ] i n t, 0, 5) // l e n ( b)=0, cap ( b)=5 fmt. P r i n t l n ( l e n ( b ), cap ( b ) )

25 Maps Mapean una llave a un valor Deben ser creados con make m = make (map [ s t r i n g ] V e r t e x ) m[ " B e l l Labs " ] = V e r t e x { , , fmt. P r i n t l n (m[ " B e l l Labs " ] )

26 Maps Para probar si una llave esta presente en un mapa se usa una asignación múltiple m = map [ s t r i n g ] f l o a t 6 4 { " 1 " : 1, " p i " : v a r v a l u e f l o a t 6 4 v a r p r e s e n t b o o l value, ok := m[ " 2 " ]

27 Function full closures Un closure es una función que incluye el contexto en el que fue definida. Por ende, puede referenciar variables de dicho contexto

28 Function full closures func adder ( ) func ( i n t ) i n t { sum := 0 r e t u r n func ( x i n t ) i n t { sum += x r e t u r n sum func main ( ) { pos, neg := adder ( ), adder ( ) f o r i := 0 ; i < 1 0 ; i++ { fmt. P r i n t l n ( pos ( i ), neg( 2 i ) )

29 Ejercicio: Fibonacci closure Utilizando closures implemente una función que obtenga una serie de números Fibonacci

30 Ejercicio: Fibonacci closure Utilizando closures implemente una función que obtenga una serie de números Fibonacci func f i b ( ) func ( ) i n t { a, b := 0, 1 r e t u r n func ( ) i n t { a, b = b, a + b r e t u r n a f := f i b ( ) f o r i := 0 ; i < 10 ; i ++ { fmt. P r i n t l n ( f ( ) )

31 Range Un ciclo for (de tipo range) puede usarse para iterar sobre un slice o un map Se puede ignorar la llave o el valor usando _ v a r pow = [ ] i n t {1, 2, 4, 8, 16, 32, 64, 128 f o r i, v := range pow { fmt. P r i n t f ("2 %d = % d\n ", i, v ) f o r _, v := range pow { fmt. P r i n t f (" %d\n ", v a l u e )

32 Switch Cada caso se interrumpe ( breaks ) automáticamente a menos que termine con la palabra clave fallthrough s w i t c h os := runtime.goos; os { c a s e " darwin " : fmt. P r i n t l n ("OS X. " ) c a s e " l i n u x " : fmt. P r i n t l n (" Linux. " ) d e f a u l t : fmt. P r i n t f (" %s. ", os )

33 Métodos Go no tienes clases, pero se pueden definir métodos en tipos A p se le conoce como el receptor type V e r t e x s t r u c t { X, Y f l o a t 6 4 func ( p V e r t e x ) Sum ( ) f l o a t 6 4 { r e t u r n p. X + p. Y func main ( ) { p := new ( V e r t e x ) p. X = 3 ; p. Y=4 fmt. P r i n t l n ( p. Sum ( ) )

34 Métodos También el receptor puede ser un valor y no un puntero Usar un puntero sin embargo, evita copiar el valor entero y permite modificar el valor que el receptor apunta. type V e r t e x s t r u c t { X, Y f l o a t 6 4 func ( p V e r t e x ) Sum( ) f l o a t 6 4 { r e t u r n p. X + p. Y func main ( ) { p := new ( V e r t e x ) p. X = 3 ; p. Y=4 fmt. P r i n t l n ( p. Sum ( ) )

35 Goroutines Una gorutina es un hilo ( thread ) que ejecuta en paralelo con otras gorutinas Anteponer la palabra go a una función para correr esa función en una nueva gorutina

36 Channels Los canales son un conducto por el cual se puede enviar y recibir valores usando el operador canal (<-) Los datos van en la dirección de la flecha Un canal es creado usando make Envíos y recepciones se bloquean hasta que el otro lado está listo ch := make ( chan i n t ) //un c a n a l de e n t e r o s ch < v // e n v i a r v a l c a n a l ch v := < ch // r e c i b e d e l c a n a l ch y a s i g n a e l v a l o r

37 Buffered channels Un canal puede tener un buffer. Los envíos en un canal con buffer solo se bloquean si el buffer está lleno Las recepciones se bloquean cuando el buffer está vacío ch := make ( chan i n t, 100)

38 Range y Close El que envía puede cerrar un canal para indicar que no enviará más valores Usar range permite recibir valores del canal hasta que este sea cerrado f o r i := range ch

39 Criba de números primos Implementar la criba de Eratóstenes para obtener los números primos haciendo uso de gorutinas y canales

40 Criba de números primos Implementar la criba de Eratóstenes para obtener los números primos haciendo uso de gorutinas y canales f u n c g e n e r a r ( ) chan i n t { ch := make ( chan i n t ) go f u n c ( ) { f o r i :=2 ; ; i++ { ch< i ( ) r e t u r n ch f u n c f i l t r a r ( i n chan i n t, prime i n t ) chan i n t { out := make ( chan i n t ) go f u n c ( ) { f o r { i f i := < i n ; i % prime!= 0 { out< i ( ) r e t u r n out

41 Go web program Hello world from my Go program! Nos ayudaremos del paquete http

42 Herramienta: gofmt Permite formatear programas en Go Se le pasa el archivo a formatear como parámetro La bandera -w permite escribir el resultado en el archivo

43 Herramienta: gomake La versión de make en go es gomake Se requieren los archivos: include ${GO_HOME/go/src/Make.inc include ${GO_HOME/go/src/Make.cmd

44 Gracias!!!

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

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

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

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

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

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */ Principios de Programación El lenguaje C 1. Variables locales y globales 1.1. Variables locales Las funciones permiten al programador modularizar un programa. Todas las variables declaradas en las definiciones

Más detalles

Creación y administración de grupos locales

Creación y administración de grupos locales Creación y administración de grupos locales Contenido Descripción general 1 Introducción a los grupos de Windows 2000 2 Grupos locales 5 Grupos locales integrados 7 Estrategia para utilizar grupos locales

Más detalles

MEJORAR EL RENDIMIENTO DEL EXPLORADOR DE INTERNET

MEJORAR EL RENDIMIENTO DEL EXPLORADOR DE INTERNET MEJORAR EL RENDIMIENTO DEL EXPLORADOR DE INTERNET Internet Explorer almacena en archivos temporales las páginas Web y sus archivos relacionados que carga de Internet, lo que significa que la primera vez

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

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

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 1 SQL Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 2 SQL + Procedural La mayoría de los DBMS actuales permiten extensiones de SQL para la creación de bloques

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

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

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

4. Programación Paralela

4. Programación Paralela 4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios

Más detalles

Tema: Arreglos de Objetos en C++.

Tema: Arreglos de Objetos en C++. Programación II. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Arreglos de Objetos en C++. Objetivos Específicos Describir la implementación de arreglos de Objetos.

Más detalles

Clases y Objetos. Informática II Ingeniería Electrónica

Clases y Objetos. Informática II Ingeniería Electrónica Clases y Objetos Informática II Ingeniería Electrónica Los Tipos de Datos Hasta ahora, en un programa podemos usar para representar variables a: Tipos fundamentales : enteros (int), caracteres (char),

Más detalles

Se guardan en archivos con extencion c y los cabezales con extension h

Se guardan en archivos con extencion c y los cabezales con extension h Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767

Más detalles

Introducción a la programación orientada a objetos

Introducción a la programación orientada a objetos Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la 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

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

Programación Genética

Programación Genética Programación Genética Programación Genética consiste en la evolución automática de programas usando ideas basadas en la selección natural (Darwin). No sólo se ha utilizado para generar programas, sino

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

Olimpiada Internacional de Informática 2011 22 29 Julio de 2011, Ciudad de Pattaya, Tailandia Tareas de la Competencia Día 2 [COL] Español 1.0.

Olimpiada Internacional de Informática 2011 22 29 Julio de 2011, Ciudad de Pattaya, Tailandia Tareas de la Competencia Día 2 [COL] Español 1.0. Loros Yanee es una admiradora de aves. Desde que leyó sobre IP over Avian Carriers (IPoAC), ella ha pasado mucho tiempo entrenando una bandada de loros inteligentes para enviar mensajes a largas distancias.

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

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

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases El UML está compuesto por diversos elementos gráficos que se combinan para conformar diagramas. Debido a que el UML es un lenguaje, cuenta con reglas para combinar tales elementos. La finalidad de los

Más detalles

7.- Seleccionando funciones friend o funciones miembro para sobrecarga de operadores.

7.- Seleccionando funciones friend o funciones miembro para sobrecarga de operadores. 7.- Seleccionando funciones friend o funciones miembro para sobrecarga de operadores. En muchas situaciones se obtienen resultados equivalentes si se usa tanto una función friend o una función miembro

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

Desarrollo de Aplicaciones Web Por César Bustamante Gutiérrez. Módulo I: Conceptos Básicos Tema 1: Concepto iniciales. www.librosdigitales.

Desarrollo de Aplicaciones Web Por César Bustamante Gutiérrez. Módulo I: Conceptos Básicos Tema 1: Concepto iniciales. www.librosdigitales. 1 Arquitectura de una Aplicación Android Para empezar con el desarrollo de aplicaciones en Android es importante conocer cómo está estructurado este sistema operativo. A esto le llamamos arquitectura y

Más detalles

App para realizar consultas al Sistema de Información Estadística de Castilla y León

App para realizar consultas al Sistema de Información Estadística de Castilla y León App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez rodrodje@jcyl.es Dirección General de Presupuestos y Estadística Consejería de Hacienda

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

Definición de clases: Herencia, polimorfismo, ligadura dinámica

Definición de clases: Herencia, polimorfismo, ligadura dinámica Tema 7 Definición de clases: Herencia, polimorfismo, ligadura dinámica Con alguna frecuencia es necesario definir clases de objetos entre las cuales hay elementos comunes. En una aplicación en la cual

Más detalles

Introducción al tipo de dato ARRAY

Introducción al tipo de dato ARRAY CONTENIDOS. Introducción al tipo de dato ARRAY. Definición, Características, Declaración, Acceso e Inicialización.. Arrays multidimensionales Definición, Declaración, Acceso e Inicialización. Introducción

Más detalles

Capítulo 1 Documentos HTML5

Capítulo 1 Documentos HTML5 Capítulo 1 Documentos HTML5 1.1 Componentes básicos HTML5 provee básicamente tres características: estructura, estilo y funcionalidad. Nunca fue declarado oficialmente pero, incluso cuando algunas APIs

Más detalles

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1. Partes de un programa en Java A. Ejemplo de un Programa en Java /* class Ejemplo1 { //comienza la clase Ejemplo1. public static void main(string[] args) { // comienza el método main. JFrame miventana;

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

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

Sistemas Operativos Práctica 4

Sistemas Operativos Práctica 4 Sistemas Operativos Práctica 4 Ing. Andrés Bustamante afbustamanteg@unal.edu.co Ingeniería de Sistemas Facultad de Ingeniería Universidad de la Amazonia 2009 1. Objetivo El objetivo de la práctica es que

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

MICQ. Trabajo Práctico Final Seminario de Ingeniería en Informática I 75.35. Facultad de Ingeniería, UBA. Junio 2002. Cátedra: Pablo Cosso

MICQ. Trabajo Práctico Final Seminario de Ingeniería en Informática I 75.35. Facultad de Ingeniería, UBA. Junio 2002. Cátedra: Pablo Cosso MICQ Facultad de Ingeniería, UBA. Junio 2002 Trabajo Práctico Final Seminario de Ingeniería en Informática I 75.35 Cátedra: Pablo Cosso Alumno: Diego Fernando Montaldo 75.300 1 de 1 Introducción Este documento

Más detalles

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX En este manual se presenta el proceso de configuración de una Maquina Virtual en VirtualBox, que será utilizada para instalar un Servidor

Más detalles

INSTITUTO TECNOLOGICO de la laguna Programación Orientada a Objetos en C++

INSTITUTO TECNOLOGICO de la laguna Programación Orientada a Objetos en C++ 5.- Herencia Múltiple. Un hecho natural es que una persona tenga más de un pariente mayor, esta situación también se puede dar en la herencia de clases, naturalmente este tipo de herencia involucra un

Más detalles

Manual del Investigador de OpenClinica

Manual del Investigador de OpenClinica Manual del Investigador de OpenClinica Índice de Contenidos 1. Introducción... 3 2. Login en OpenClinica... 3 3. Entrada de Datos... 4 3.1. Añadir Pacientes... 4 3.2. Entrada de Datos de las Visitas...

Más detalles

Ejemplos básicos de webmathematica para profesores

Ejemplos básicos de webmathematica para profesores Ejemplos básicos de webmathematica para profesores Cualquier cálculo hecho dentro Mathematica puede ser realizado usando webmathematica con dos limitaciones significativas. Primero, al usar webmathematica,

Más detalles

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows Qué es Recuperación? Recuperación del Panel de control proporciona varias opciones que pueden ayudarle a recuperar el equipo de un error grave. Nota Antes de usar Recuperación, puede probar primero uno

Más detalles

Capítulo 3 Usando GUIDE. 3.1 Acerca de GUIDE

Capítulo 3 Usando GUIDE. 3.1 Acerca de GUIDE Capítulo 3 Usando GUIDE 3.1 Acerca de GUIDE Las interfaces gráficas de usuario (GUI - Graphical User Interface en inglés), es la forma en que el usuario interactúa con el programa o el sistema operativo

Más detalles

Unicenter Service Desk r11.1. Guía para el Usuario Final de Service Desk

Unicenter Service Desk r11.1. Guía para el Usuario Final de Service Desk Unicenter Service Desk r11.1 Guía para el Usuario Final de Service Desk Índice Página Tema 3...Guía Para Usuario Final 3 Ingreso al Sistema 4.....Ventana de Inicio 4... Anuncios de Soporte Técnico 5...

Más detalles

Proyecto Help Desk en plataforma SOA Alcance del Sistema Versión 1.2. Historia de revisiones

Proyecto Help Desk en plataforma SOA Alcance del Sistema Versión 1.2. Historia de revisiones Proyecto Help Desk en plataforma SOA Alcance del Sistema Versión 1.2 Historia de revisiones Fecha Versión Descripción Autor 27/08/05 1.1 Definimos el Alcance del Sistema, en una primera instancia, priorizando

Más detalles

Punteros. Definición Un puntero es un dato que contiene una dirección de memoria.

Punteros. Definición Un puntero es un dato que contiene una dirección de memoria. Punteros Definición Un puntero es un dato que contiene una dirección de memoria. NOTA: Existe una dirección especial que se representa por medio de la constante NULL (definida en ) y se emplea

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

El lenguaje de Programación C. Fernando J. Pereda <ferdy@gentoo.org>

El lenguaje de Programación C. Fernando J. Pereda <ferdy@gentoo.org> El lenguaje de Programación C Fernando J. Pereda Por qué aprender C? Portable y muy extendido Estándar (C89, C99) El lenguaje de los sistemas Un lenguaje fácil (no, no es broma) Por

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

Manual del usuario USO DEL MERCADO

Manual del usuario USO DEL MERCADO Manual del usuario USO DEL MERCADO Pagina El mercado...1 El área de trabajo...1 Colocación de sus productos...2 Encontrando ofertas y demandas...3 Haciendo y recibiendo propuestas...4 Aceptando una propuesta...5

Más detalles

LiLa Portal Guía para profesores

LiLa Portal Guía para profesores Library of Labs Lecturer s Guide LiLa Portal Guía para profesores Se espera que los profesores se encarguen de gestionar el aprendizaje de los alumnos, por lo que su objetivo es seleccionar de la lista

Más detalles

Autores en Web of Science y ResearcherID

Autores en Web of Science y ResearcherID Autores en Web of Science y ResearcherID Biblioteca Universitaria Grupo de apoyo al aprendizaje y la investigación Web of Science y ResearcherID * Se pueden unificar los nombres de autor en Web of Science?

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

FACULTAD DE INGENIERÍA, U.B.A. Seminario de Sistemas Embebidos TRABAJO PRÁCTICO 0

FACULTAD DE INGENIERÍA, U.B.A. Seminario de Sistemas Embebidos TRABAJO PRÁCTICO 0 1 er Cuatrimestre de 2011 FACULTAD DE INGENIERÍA, U.B.A. Seminario de Sistemas Embebidos TRABAJO PRÁCTICO 0 Índice 1. Objetivo 2 2. Preparación del software 2 2.1. Instalación.......................................

Más detalles

Kepler 8.0 USO DEL ERP

Kepler 8.0 USO DEL ERP Kepler 8.0 USO DEL ERP CONTENIDO 1. Introducción... 3 2. Inicio del sistema... 3 3. Pantalla inicial... 4 4. Barra de menús... 5 a) Menú archivo... 5 b) Menú edición... 6 c) Menú Ver... 6 5. Ayuda... 8

Más detalles

Procedimiento para realizar la configuración de Internet Explorer y usar el Sistema de reservaciones Go! Res versión 4.x

Procedimiento para realizar la configuración de Internet Explorer y usar el Sistema de reservaciones Go! Res versión 4.x Procedimiento para realizar la configuración de Internet Explorer y usar el Sistema de reservaciones Go! Res versión 4.x Ayuda en línea: http://globallearningcenter.wspan.com/méxico/pdfs/documentation/configuración%20internet%2

Más detalles

Modelo de Objetos Distribuidos

Modelo de Objetos Distribuidos Remote Method Invocation Modelo de Objetos Distribuidos Un objeto remoto es un objeto cuyos métodos pueden ser invocados desde otra máquina virtual de java, potencialmente en un host diferente. Modelo

Más detalles

GENERACIÓN DE CÓDIGO

GENERACIÓN DE CÓDIGO GENERACIÓN DE CÓDIGO INTRODUCCION La generación de código es la fase más compleja de un compilador, puesto que no sólo depende de las características del lenguaje fuente sino también de contar con información

Más detalles

10 requisitos para una publicidad efectiva

10 requisitos para una publicidad efectiva From: CN Crece Negocios.com 10 requisitos para una publicidad efectiva Estos son los 10 requisitos que toda publicidad debe tener para que sea efectiva, es decir, para que cumpla con los objetivos propuestos

Más detalles

Interoperabilidad de Fieldbus

Interoperabilidad de Fieldbus 2002 Emerson Process Management. Todos los derechos reservados. Vea este y otros cursos en línea en www.plantwebuniversity.com. Fieldbus 201 Interoperabilidad de Fieldbus Generalidades Qué es interoperabilidad?

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

Gestión de incidencias

Gestión de incidencias Gestión de incidencias Manual de Uso Marzo de 2013 Ibai Sistemas Índice Objetivo del Manual... 3 Para que sirve la aplicación de gestión de incidencias de Ibai Sistemas S.A.... 3 Acceso a la aplicación...

Más detalles

Estructuras de Sistemas Operativos

Estructuras de Sistemas Operativos Estructuras de Sistemas Operativos Definicion de Sistema Operativos Un sistema operativo es un programa que actua como inter entre el usuario y el hardware de un computador y su proposito es proporcionar

Más detalles

Roles y Características

Roles y Características dominio Roles y Características Una vez instalado Windows Server 2008 y configuradas algunas opciones básicas de Windows Server 2008 desde el Panel de Control o desde el Administrador del Servidor, las

Más detalles

Operación de Microsoft Word

Operación de Microsoft Word Generalidades y conceptos Combinar correspondencia Word, a través de la herramienta combinar correspondencia, permite combinar un documento el que puede ser una carta con el texto que se pretende hacer

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 8 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante ÍNDICE ÍNDICE... 1 1. INTRODUCCIÓN... 1 1.1 EJERCICIO 1: HERENCIA Y POLIMORFISMO I... 1 1.2 EJERCICIO

Más detalles

PROGRAMA PARA LA RECEPCIÓN VALIDACIÓN Y RESGUARDO DE DOCUMENTOS FISCALES VERSIÓN 1.00 MANUAL DE OPERACIÓN

PROGRAMA PARA LA RECEPCIÓN VALIDACIÓN Y RESGUARDO DE DOCUMENTOS FISCALES VERSIÓN 1.00 MANUAL DE OPERACIÓN PROGRAMA PARA LA RECEPCIÓN VALIDACIÓN Y RESGUARDO DE DOCUMENTOS FISCALES VERSIÓN 1.00 MANUAL DE OPERACIÓN ENERO 2014 Versión 1.00 Página 1 de 12 CONTENIDO 1.- Introducción 2.- Entrar y Salir del Programa

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

Guía Corta: Alcance y Asociaciones. 1. Preliminares: Nombres y Asociaciones

Guía Corta: Alcance y Asociaciones. 1. Preliminares: Nombres y Asociaciones Universidad Simón Bolívar Departamento de Computación y Tecnología de la Información CI3641 Lenguajes de Programación I Guía Corta: Alcance y Asociaciones Esta guía presenta algunos conceptos básicos y

Más detalles

JavaScript toma su sintaxis de los lenguajes de programación más conocidos, fundamentalmente C/C++, aunque también algo de Pascal.

JavaScript toma su sintaxis de los lenguajes de programación más conocidos, fundamentalmente C/C++, aunque también algo de Pascal. 1 JavaScript 1.1 Qué es JavaScript? JavaScript es un lenguaje interpretado. Es idóneo para trabajar en Web, ya que son los navegadores que utilizamos los que interpretan (y por tanto ejecutan) los programas

Más detalles

Base de datos en Excel

Base de datos en Excel Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de

Más detalles

Access Control. Manual de Usuario

Access Control. Manual de Usuario Access Control Manual de Usuario Contenido Login... 3 Pantalla Principal... 3 Registro de Acceso... 4 Catálogos... 5 Empleados... 5 Departamentos... 8 Puestos... 9 Perfiles... 9 Usuarios... 11 Horarios...

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

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

SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para. Empresas en Crecimiento

SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para. Empresas en Crecimiento SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para Empresas en Crecimiento Portfolio SAP BusinessObjects Soluciones SAP para Empresas en Crecimiento Resumen Ejecutivo Inteligencia

Más detalles

PowerPoint 2010 Modificar el diseño de las diapositivas

PowerPoint 2010 Modificar el diseño de las diapositivas PowerPoint 2010 Modificar el diseño de las diapositivas Contenido CONTENIDO... 1 MODIFICAR EL DISEÑO DE LAS DIAPOSITIVAS... 2 DISEÑO DE DIAPOSITIVAS EN POWERPOINT WEB APP... 13 1 Modificar el diseño de

Más detalles

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.

Más detalles

Visual Studio Team System 2010

Visual Studio Team System 2010 Visual Studio Team System 2010 5. Pruebas Automatizadas con Visual Studio 6. Pruebas codificadas de interfaz de usuario 7. Pruebas Web de desempeño Identificación de candidatos para la automatización Visual

Más detalles

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar CAPITULO 4 Requerimientos, Análisis y Diseño El presente capítulo explica los pasos que se realizaron antes de implementar el sistema. Para esto, primero se explicarán los requerimientos que fueron solicitados

Más detalles

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online Guías _SGO Gestione administradores, usuarios y grupos de su empresa Sistema de Gestión Online Índice General 1. Parámetros Generales... 4 1.1 Qué es?... 4 1.2 Consumo por Cuentas... 6 1.3 Días Feriados...

Más detalles

Workflow, BPM y Java Resumen de la presentación de Tom Baeyens

Workflow, BPM y Java Resumen de la presentación de Tom Baeyens Workflow, BPM y Java Resumen de la presentación de Tom Baeyens Workflow, BPM y Java Página 1 de 11 1. Introducción Tom Baeyens es el fundador y arquitecto del proyecto de JBoss jbpm, la máquina de workflow

Más detalles

Pasos para Realizar un Programa de lenguaje C en modo Consola en Visual Studio 2008 INDICE

Pasos para Realizar un Programa de lenguaje C en modo Consola en Visual Studio 2008 INDICE Pasos para Realizar un Programa de lenguaje C en modo Consola en Visual Studio 2008 Ignacio Alvarez García Septiembre 2012 INDICE 1. Preparar el proyecto para el programa... 1 1.1. Abrir Visual Studio

Más detalles

FACULTAD DE INGENIERÍA

FACULTAD DE INGENIERÍA NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Operadores y Expresiones PRÁCTICA NÚM. [ 3 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje

Más detalles

Prácticas de programación en C con MinGW Developer Studio

Prácticas de programación en C con MinGW Developer Studio Prácticas de programación en C con MinGW Developer Studio MinGW Developer Studio es un entorno de desarrollo integrado (IDE) para la programación en lenguaje C gratuito y cómodo de usar. Se ejecuta en

Más detalles

Instalación del programa PSPP y obtención de una distribución de frecuencias.

Instalación del programa PSPP y obtención de una distribución de frecuencias. Práctica 2. Instalación del programa PSPP y obtención de una distribución de frecuencias. Con esta práctica instalaremos el programa PSPP. El programa es un software específico para el análisis estadístico

Más detalles

COMO CREAR UN DIAGRAMA DE FLUJO

COMO CREAR UN DIAGRAMA DE FLUJO COMO CREAR UN DIAGRAMA DE FLUJO Los diagramas de flujo son una manera de representar visualmente el flujo de datos a través de sistemas de tratamiento de información. Los diagramas de flujo describen qué

Más detalles

5.1.1 Sumadores con anticipación de Acarreo. g i = a i b i. c i = c i-1 p i + g i s i = p i + c i-1. c 0 = g 0 + c -1 p 0

5.1.1 Sumadores con anticipación de Acarreo. g i = a i b i. c i = c i-1 p i + g i s i = p i + c i-1. c 0 = g 0 + c -1 p 0 5.1.1 Sumadores con anticipación de Acarreo. El sumador paralelo de n bits que se ha mostrado hasta ahora, tiene un nivel de retardo de 2*n puertas, pues necesita 2*n etapas de puertas lógicas para que

Más detalles

Mantenimiento Limpieza

Mantenimiento Limpieza Mantenimiento Limpieza El programa nos permite decidir qué tipo de limpieza queremos hacer. Si queremos una limpieza diaria, tipo Hotel, en el que se realizan todos los servicios en la habitación cada

Más detalles

Capitulo 5. Implementación del sistema MDM

Capitulo 5. Implementación del sistema MDM Capitulo 5. Implementación del sistema MDM Una vez que se concluyeron las actividades de análisis y diseño se comenzó la implementación del sistema MDM (Manejador de Documentos de MoProSoft). En este capitulo

Más detalles

myappgen Usted Construye la aplicación mientras la ejecuta http://www.myappgen.com info@myappgen.com

myappgen Usted Construye la aplicación mientras la ejecuta http://www.myappgen.com info@myappgen.com myappgen Usted Construye la aplicación mientras la ejecuta http://www.myappgen.com info@myappgen.com Tutorial 8 - Process En este tutorial le mostraremos como utilizar el modelo de programa del tipo Process,

Más detalles

GUÍA DE USUARIO: GOOGLE DRIVE

GUÍA DE USUARIO: GOOGLE DRIVE GUÍA DE USUARIO: GOOGLE DRIVE Google Drive es una herramienta telemática de la web 2.0 que permite el trabajo virtual de forma colaborativa. En Google Drive podemos encontrar una barra de navegación en

Más detalles

www.android-spa.com Android Creación de una aplicación sencilla: Forwarding - Página 1 -

www.android-spa.com Android Creación de una aplicación sencilla: Forwarding - Página 1 - Android Creación de una aplicación sencilla: Forwarding - Página 1 - Realización de la aplicación Forwarding en Android Este es un pequeño tutorial con el que se realizará un pequeño programa para Android

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

Introducción a los sitios de SharePoint en Office 365

Introducción a los sitios de SharePoint en Office 365 Introducción a los sitios de SharePoint en Office 365 Universidad Central del Este Contenido 1. QUÉ ES UN SITIO SHAREPOINT?... 3 2. CÓMO INGRESAR AL ÁREA DE SITIOS?... 3 3. DESCRIPCIÓN GENERAL DEL ÁREA

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

Concurrencia. Primitivas IPC con bloqueo

Concurrencia. Primitivas IPC con bloqueo Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región

Más detalles