Una Solución (*) del Problema F Where Are My Genes
|
|
- Catalina Ortíz Torregrosa
- hace 8 años
- Vistas:
Transcripción
1 Una Solución (*) del Problema F Where Are My Genes Viktor Khlebnikov (vkhlebn@pucp.edu.pe) Enero de 2006 (*) Esta solución fue desarrollada sin conocimiento de la solución del autor del problema.
2 Comencemos a leer el enunciado: Tenemos: el nombre del archivo de programa: genes.c el archivo de entrada: genes.in el archivo de salida: genes.out Se trata de una comparación de cadenas? Seguimos con la lectura Se aplican unas inversiones de segmentos en un vector de datos: inversión(3,6) inversión(,3) The 2005 ACM-ICPC South America Regional outside Brazil, Problem F Solución de VK 2
3 Importante: No eresa el estado final de todo el vector (si el vector será nuestra estructura de datos) sino las posiciones finales de algunos de sus elementos después de aplicar varias inversiones. El ejemplo de entrada y su erpretación: 9 Caso : N = 9 (cantidad de elementos) ( N 50000) R = (cantidad de inversiones) (0 N 000) puede no haber inversiones 3 6 Inversión = (3, 6) 4 Q = 4 (cantidad de consultas) (0 Q 00) puede no haber consultas Dónde está el elemento que estaba inicialmente en la posición? 3 en la posición 3? 5 en la posición 5? en la posición? ( otra vez?) 5 Caso 2: N = 5 (cantidad de elementos) 2 R = 2 (cantidad de inversiones) 2 Inversión = (, 2) 5 Inversión 2 = (, 5) 2 Q = 2 (cantidad de consultas) 5 Dónde está el elemento que estaba inicialmente en la posición 5? 2 en la posición 2? 0 Fin de entrada: N = 0 Genome 6 4 Genome 2 5 The 2005 ACM-ICPC South America Regional outside Brazil, Problem F Solución de VK 3
4 Primero pensemos un poco Estamos en el momento de tomar una decisión. La más común y trivial es la de crear un vector con los valores iniciales y aplicar a él todas las inversiones de segmentos dados. Es decir, modelar en la computadora el mismo procedimiento de inversiones descritas y, al obtener el vector resultante, buscar en él el valor requerido. En este caso NO se requiere elaborar ningún algoritmo especial, simplemente se necesita conocer cómo se codifica este modelo en un lenguaje de programación particular. Podríamos decir que nosotros simulamos con nuestro programa todo lo que pasa en el vector y, ya después, pensamos cómo se obtiene el resultado pedido. En este caso el programa será la codificación de las mismas acciones que fueron descritos en el enunciado. Lo llamaremos a este enfoque primero simulamos, después pensamos. Llevaremos nuestra situación al caso extremo y exagerado. Si nuestro cliente dice que tiene un vector cuyos 50,000 valores corresponden al número de su posición (índice), y cada valor se duplica, entonces a nadie se le va ocurrir crear este vector para guardar todos los valores. Simplemente, el resultado puede ser calculado por la fórmula elemental el elemento x en la posición x cambiará su valor a 2x. Y esto es todo Si al vector [, 2, 3, 4, 5, 6, 7] se aplica primero la inversión (3,6) y después la inversión (,3), entonces responder a la pregunta sobre la nueva posición del elemento 7 es fácil este elemento se quedó en su posición inicial 7 porque no fue afectado por las inversiones aplicadas. Mientras que el elemento 6 será afectado por la primera inversión cambiando su posición a 3 que, a su vez, será afectada por la 2da inversión cambiándose a la posición. Entonces la idea es (aquí nosotros estamos creando el algoritmo de solución, en vez de codificar el enunciado) calcular las nuevas posiciones de los elementos consultados (y solamente consultados) según las inversiones que se aplican a partir de la posición inicial conocida. Podremos pasar a la codificación de nuestra idea (algoritmo). En este artículo el algoritmo se codificará en el lenguaje C, y el programa será desarrollado en Debian GNU/Linux 3.. Nota: siendo el profesor de un curso de programación, él que escribe propuso a sus alumnos resolver este problema en un examen. De los 25 estudiantes solamente uno optó por la solución no trivial. Con su permiso, su solución en Pascal se presenta al final de este artículo. El inicio de codificación $ cat genes.c exit(0); $ gcc genes.c o genes $./genes $ Es un buen inicio ya que vemos que nuestro ambiente de desarrollo funciona sin problemas. The 2005 ACM-ICPC South America Regional outside Brazil, Problem F Solución de VK 4
5 El enunciado dice que habrá varios casos de prueba. Cada caso comienza con la cantidad de elementos, y el valor 0 significa el fin de datos de entrada. Construiremos el bucle más externo: #include <stdio.h> n, test=; while() scanf("%d", &n); if (!n) break; prf("genome %d\n", test++); exit(0); La negación del cero se considerará como true y provocará la salida del bucle eterno gracias a break. El siguiente dato de entrada es la cantidad de inversiones que se aplicarán. Estas inversiones las almacenaremos en un vector para usarlas al momento de consultas. Puede haber hasta 000 inversiones, y cada inversión se indica con dos enteros: #include <stdio.h> n, test=, r, i, j, rev[2000]; while() scanf("%d", &n); if (!n) break; prf("genome %d\n", test++); scanf("%d", &r); i = 0; j = r; while (j--) scanf("%d %d", &rev[i<<], &rev[(i<<)+]); i++; exit(0); En el vector se almacena cada pareja de los límites de la inversión; en la posición par (0, 2, 4, ) se guarda el inicio del segmento de inversión, y en la posición impar (, 3, 5, ) se guarda el fin del segmento. En lugar de usar las expresiones 2*i y 2*i+, se da la preferencia al cálculo equivalente pero más rápido con el operador de corrimiento a la izquierda <<. The 2005 ACM-ICPC South America Regional outside Brazil, Problem F Solución de VK 5
6 Ahora se puede proceder con las consultas: #include <stdio.h> n, test=, r, i, j, q, qry, rev[2000]; while() scanf("%d", &n); if (!n) break; prf("genome %d\n", test++); scanf("%d", &r); i = 0; j = r; while (j--) scanf("%d %d", &rev[i<<], &rev[(i<<)+]); i++; scanf("%d", &q); while (q--) scanf("%d", &qry); /* aquí debe estar el cálculo de qry*/ prf("%d\n", qry); exit(0); Preparamos el archivo de entrada genes.in para probar nuestro programa. Ejecutemos el programa proporcionando como entrada el archivo de datos creado: $ cat genes.in $./genes <genes.in Genome Genome 2 The 2005 ACM-ICPC South America Regional outside Brazil, Problem F Solución de VK 6
7 $ Los valores de las posiciones consultadas aún no han sido calculados. Hay que hacerlo ahora. La implementación del algoritmo y la versión final del programa Si se aplica la inversión (i,j) y la posición k está fuera del segmento de inversión (k < i o j < k), entonces la posición no se modifica. Para el caso i k j, la posición se cambiará a i + (j k) (k estaba en la distancia j k de j, ahora estará en la misma distancia de i). j-k i k j j-k #include <stdio.h> n, test=, r, i, j, q, qry, rev[2000]; while() scanf("%d", &n); if (!n) break; prf("genome %d\n", test++); scanf("%d", &r); i = 0; j = r; while (j--) scanf("%d %d", &rev[i<<], &rev[(i<<)+]); i++; scanf("%d", &q); while (q--) scanf("%d", &qry); j = 0; /* ya tiene este valor después del while anterior */ while (j < r) if ( (rev[j<<] <= qry) && (qry <= rev[(j<<)+]) ) qry = rev[j<<] + (rev[(j<<)+] - qry); j++; prf("%d\n", qry); exit(0); Probemos la versión final del programa: The 2005 ACM-ICPC South America Regional outside Brazil, Problem F Solución de VK 7
8 $./genes <genes.in Genome 6 4 Genome 2 5 $ Los resultados coinciden con los del ejemplo dado en el enunciado. Hemos terminado el desarrollo del programa. Los datos de entrada, que fueron usados por los jueces en el concurso, están disponibles. Probaremos nuestro programa con estos datos. Son dos archivos, genes.in y genes.sol: $ ls l genes.in,sol -rw-r--r-- vkhlebn vkhlebn :36 genes.in -rw-r--r-- root root :36 genes.sol $ wc genes.in genes.in El archivo genes.in contiene 979 líneas, 3887 palabras y bytes. Aquí va la prueba final y la comparación de nuestro resultado con el resultado debido: $./genes <genes.in >genes.out $ cmp genes.out genes.sol $ El programa de comparación cmp no encuentra ninguna diferencia entre los archivos. Esto significa que nuestro programa será aceptado por los jueces. La versión trivial Para la comparación de las ideas, implementaremos la versión trivial que simulará la inversión de los elementos del vector, la del enfoque primero simulamos, después pensamos. Observación: en la versión anterior no nos eresó que en el lenguaje C los elementos del vector se numeran a partir de 0, mientras que los genes se numeran de a Porque nosotros nunca hemos almacenado los genes. Ahora reservaremos en la memoria el vector para 5000 elementos para quitar la diferencia en la base de numeración. $ cat genes-triv.c #include <stdio.h> void reversal(, ); gen[5000]; n, test=, r, i, j, q, qry; The 2005 ACM-ICPC South America Regional outside Brazil, Problem F Solución de VK 8
9 while () scanf("%d", &n); if (n==0) break; for (i = ; i <= n; i++) gen[i] = i; prf("genome %d\n", test++); scanf("%d", &r); while (r--) scanf("%d %d", &i, &j); reversal(i,j); scanf("%d", &q); while (q--) scanf("%d", &qry); i = ; while (qry!= gen[i]) i++; prf("%d\n", i); void reversal( i, j) temp; for ( ; i < j; i++, j--) temp = gen[i]; gen[i] = gen[j]; gen[j] = temp; return; La prueba muestra que la solución proporcionada por el programa es correcta: $ gcc genes-triv.c o genes-triv $./genes-triv <genes.in >genes.out $ cmp genes.out genes.sol $ Comparación de ambos programas Podremos medir el tiempo de ejecución de cada versión del programa: $ time./genes <genes.in >genes.out real user sys 0m0.028s 0m0.020s 0m0.000s $ time./genes-triv <genes.in >genes.out real user sys 0m2.507s 0m2.500s 0m0.000s Mientras que la primera versión del programa resuelve el problema en 28 ms, la segunda necesita más de 2 s (es decir, es 70 veces más lenta). Si los jueces establecen el límite de tiempo de ejecución en los 2 segundos, la segunda versión no será aceptada. The 2005 ACM-ICPC South America Regional outside Brazil, Problem F Solución de VK 9
10 Anexo Aquí se presenta un bosquejo de la solución del problema en Pascal desarrollado por un estudiante durante un examen (con su permiso otorgado): Autor: José G. Rosales Rojas Desarrollado durante el Examen Final de FP program P4; var... Fin := FALSE; Gen := ; Inicializa(A); while NOT Fin do Readln(N); if N = 0 then Fin := True else Readln(R); L := 0; for M := to R do Read(I); Readln(J); Inc(L); A[L] := I; A[L+] := J; Readln(QQ); if QQ <> 0 then Writeln('Genome ', Gen); for M := to QQ do Readln(Q); Pos := Busca_Pos_Final(A, Q); Writeln(Pos); Inc(Gen); Inicializa(A); function Busca_Pos_Final(var A: vector, Pos: Longword) var... M := ; while A[M] <> 0 do I := A[M]; J := A[M+]; if Pos in [I..J] then New_Pos := I + (J Pos); M := M + 2; Busca_Pos_Final := New_Pos; The 2005 ACM-ICPC South America Regional outside Brazil, Problem F Solución de VK 0
11 Solución en Pascal: program Genes; const MAXINV = 000; var nelem, ng, ninv, I, nq, Q : Integer; Invs : array[..2*maxinv] of Integer; function posg(q: Integer): Integer; var J : Integer; for J:= to ninv do if (Invs[(J SHL )-] <= Q) AND (Q <= Invs[J SHL ]) then Q:= Invs[(J SHL )-] + (Invs[J SHL ]-Q); posg:=q; ng := 0; while TRUE do Readln(nElem); if nelem = 0 then break; Inc(nG); Writeln('Genome ', ng); Readln(nInv); for I:= to ninv do Readln(Invs[(I SHL )-],Invs[I SHL ]); Readln(nQ); for I:= to nq do Readln(Q); Writeln(posG(Q)); end. The 2005 ACM-ICPC South America Regional outside Brazil, Problem F Solución de VK
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 detallesEjemplos 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 detallesAlgorítmica y Lenguajes de Programación. Ordenación (i)
Algorítmica y Lenguajes de Programación Ordenación (i) Ordenación. Introducción A lo largo del curso hemos visto distintas formas de almacenar datos: Vectores. Matrices. Ficheros Listas (pilas y colas)
Más detallesCreació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 detallesEcuaciones 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 detallesUnidad 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 detallesCómo?: Resolviendo el sistema lineal homógeneo que satisfacen las componentes de cualquier vector de S. x4 = x 1 x 3 = x 2 x 1
. ESPACIOS VECTORIALES Consideremos el siguiente subconjunto de R 4 : S = {(x, x 2, x 3, x 4 )/x x 4 = 0 x 2 x 4 = x 3 a. Comprobar que S es subespacio vectorial de R 4. Para demostrar que S es un subespacio
Más detallesProgramació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 detallesActividades con GeoGebra
Conectar Igualdad - "Netbooks Uno a Uno" Actividades con GeoGebra Nociones básicas, rectas Silvina Ponce Dawson Introducción. El GeoGeobra es un programa que permite explorar nociones matemáticas desde
Más detallesIntroducció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 detallesUNIDAD 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 detallesTABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.
TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.
Más detallesCLASE # 5 TÉCNICAS DE CAJA BLANCA
CLASE # 5 TÉCNICAS DE CAJA BLANCA 750105M - TÉCNICAS DE PRUEBAS DE SOFTWARE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DEL VALLE SEMESTRE 2013A - DOCENTE BEATRIZ FLORIAN GAVIRIA Basado Parcialmente
Más detalles1. 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 detallesEstructuras 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 detalles15 CORREO WEB CORREO WEB
CORREO WEB Anteriormente Hemos visto cómo funciona el correo electrónico, y cómo necesitábamos tener un programa cliente (Outlook Express) para gestionar los mensajes de correo electrónico. Sin embargo,
Más detallesLa nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx
La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx Resumen Se dan algunas definiciones básicas relacionadas con la divisibilidad
Más detallesQue 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 detallesAcademia técnica de computación A.T.C.
Academia técnica de computación A.T.C. Free Pascal (FPC) El Free Pascal es un compilador Pascal portable, libre y de código abierto, que representa una alternativa a los productos comerciales Turbo Pascal
Más detallesMetodología, Técnica Y Tecnología Para Solucionar Un Problema
La Esencia de la Lógica de Programación Omar Ivan Trejos Buriticá 89 Capítulo 6 Metodología, Técnica Y Tecnología Para Solucionar Un Problema Hasta este momento tenemos una metodología para solucionar
Más detallesAGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7
Tutoriales de ayuda e información para todos los niveles AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Como agregar a una red existente un equipo con Windows 7 y compartir sus archivos
Más detallesEn cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
Más detallesARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES
ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES Introducción al tema a. Formar grupos de 4 personas b. Tomar una hoja en blanco y una lapicera o lápiz c. En la hoja en blanco diseña un
Más detallesÁrboles AVL. Laboratorio de Programación II
Árboles AVL Laboratorio de Programación II Definición Un árbol AVL es un árbol binario de búsqueda que cumple con la condición de que la diferencia entre las alturas de los subárboles de cada uno de sus
Más detallesLa 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 detallesIntroduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia
Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por
Más detallesDatos del autor. Nombres y apellido: Germán Andrés Paz. Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina
Datos del autor Nombres y apellido: Germán Andrés Paz Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina Correo electrónico: germanpaz_ar@hotmail.com =========0========= Introducción
Más detallesEn el presente capítulo se describe la programación del instrumento virtual y cómo
Capítulo 6. Instrumentación virtual En el presente capítulo se describe la programación del instrumento virtual y cómo éste controla el circuito de captura de señales, la llamada telefónica y escribe los
Más detallesSelección de los puntos de montaje
PARTICIONES PARA LINUX Selección de los puntos de montaje Tanto para aquellos que vayan a instalar ahora, como para quienes quieran cambiar el tamaño de una partición o formatear este apunte (resumen de
Más detallesSitios remotos. Configurar un Sitio Remoto
Sitios remotos Definir un sitio remoto significa establecer una configuración de modo que Dreamweaver sea capaz de comunicarse directamente con un servidor en Internet (por eso se llama remoto) y así poder
Más detallesMANUAL DE AYUDA MODULO TALLAS Y COLORES
MANUAL DE AYUDA MODULO TALLAS Y COLORES Fecha última revisión: Enero 2010 Índice TALLAS Y COLORES... 3 1. Introducción... 3 CONFIGURACIÓN PARÁMETROS TC (Tallas y Colores)... 3 2. Módulos Visibles... 3
Más detallesNota 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 detallesCiclo de vida y Metodologías para el desarrollo de SW Definición de la metodología
Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto
Más detallesDESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO
I. SISTEMAS NUMÉRICOS DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO LIC. LEYDY ROXANA ZEPEDA RUIZ SEPTIEMBRE DICIEMBRE 2011 Ocosingo, Chis. 1.1Sistemas numéricos. Los números son los mismos en todos
Más detallesLAS 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 detallesPRACTICA 6. VECTORES Y MATRICES.
PRACTICA 6. VECTORES Y MATRICES. 1. Introducción. Los vectores y matrices son uno de los medios principales para el almacenamiento de los datos en un programa. En esta práctica veremos todos los conceptos
Más detallesVI Olimpiada de Informática del estado de Guanajuato Solución Examen Teórico
I.- En todos los problemas siguientes de esta sección, encuentra qué número (o números) debe seguir según la sucesión, y explica el por qué. 1) 1, 4, 27, 256,? (5 puntos) R = 3125 Observa que 1=1 1, 4=2
Más detallesFunciones, x, y, gráficos
Funciones, x, y, gráficos Vamos a ver los siguientes temas: funciones, definición, dominio, codominio, imágenes, gráficos, y algo más. Recordemos el concepto de función: Una función es una relación entre
Más detallesCapítulo 4 Procesos con estructuras de repetición
Estructura de contador Capítulo 4 Procesos con estructuras de repetición Esta es una operación que incrementa en una unidad el valor almacenado en la variable c, cada vez que el flujo del diagrama pasa
Más detallesOPERACIONES EN RÉGIMEN DE COMPUESTA
OPERACIONES EN RÉGIMEN DE COMPUESTA Las operaciones en régimen de compuesta se caracterizan porque los intereses, a diferencia de lo que ocurre en régimen de simple, a medida que se van generando pasan
Más detallesMANUAL DE FACTURACIÓN TOUCH SCREEN
MANUAL DE FACTURACIÓN TOUCH SCREEN Tabla de Contenido Contenido Pág. CAPITULO 1... 3 CARACTERÍSTICAS Y BENEFICIOS... 3 CAPITULO 2... 4 ENTRADAS Y SALIDAS DEL MODULO... 4 Visión general... 4 Contenido del
Más detallesTUTORIAL 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 detallesPreliminares. 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 detallesLección 24: Lenguaje algebraico y sustituciones
LECCIÓN Lección : Lenguaje algebraico y sustituciones En lecciones anteriores usted ya trabajó con ecuaciones. Las ecuaciones expresan una igualdad entre ciertas relaciones numéricas en las que se desconoce
Más detallesRoberto Quejido Cañamero
Crear un documento de texto con todas las preguntas y respuestas del tema. Tiene que aparecer en él todos los contenidos del tema. 1. Explica qué son los modos de presentación en Writer, cuáles hay y cómo
Más detallesCómo compilar y ejecutar programas en ĺınea de comandos
Cómo compilar y ejecutar programas en ĺınea de comandos Universidad Complutense de Madrid I.E.S. Antonio de Nebrija (Móstoles) http://www.programa-me.com 1 Cómo compilar y ejecutar programas en línea de
Más detallesA25. Informática aplicada a la gestión Curso 2005/2006 Excel Tema 7. Funciones avanzadas de Excel II
DEPARTAMENTO DE LENGUAJES Y SISTEMAS INFORMÁTICOS ESCUELA SUPERIOR DE TECNOLOGÍA Y CIENCIAS EXPERIMENTALES A.D.E.M. Segundo Curso A25. Informática aplicada a la gestión Curso 2005/2006 Excel Tema 7. Funciones
Más detallesServicios Educativos Del Estado De Chihuahua Sistema Integral de Presupuestos y Materiales. Indice. Introducción... 2. Barra de Herramientas...
Indice Página Introducción... 2 Acceso al Sistema... 3 Barra de Herramientas... 4 Menú Principal... 5 Operación Catálogos Reportes Consultas Entradas Por Orden de Compra... 6 Entradas Directas... 8 Salidas
Más detallesMANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO
MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO Fecha última revisión: Junio 2011 INDICE DE CONTENIDOS HERRAMIENTA DE APROVISIONAMIENTO... 3 1. QUÉ ES LA HERRAMIENTA DE APROVISIONAMIENTO... 3 HERRAMIENTA
Más detallesEduardo Kido 26-Mayo-2004 ANÁLISIS DE DATOS
ANÁLISIS DE DATOS Hoy día vamos a hablar de algunas medidas de resumen de datos: cómo resumir cuando tenemos una serie de datos numéricos, generalmente en variables intervalares. Cuando nosotros tenemos
Más detallesTutorial Básico de vbscript
Tutorial Básico de vbscript Bueno, primero aclarar que este tutorial, pretende explicar de manera básica las distintas instrucciones aplicadas en visual basic script (vbs de aquí en más), para que así
Más detallesTema 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 detallesManual SBR. Pero antes de explicar las actividades que principalmente podemos desarrollar vamos a dar una visión global de la aplicación.
Manual SBR Este proyecto consta de una herramienta denominada SBR mediante la cual el usuario podrá realizar principalmente las siguientes actividades: Crear un nuevo dominio. Modificar el dominio existente.
Más detallesBase 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 detallesDEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006
ARBOLES ESTRUCTURAS DE DATOS 2006 DEFINICION Un árbol (tree) es un conjunto finito de nodos. Es una estructura jerárquica aplicable sobre una colección de elementos u objetos llamados nodos; uno de los
Más detalles1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1
5.1.3 Multiplicación de números enteros. El algoritmo de la multiplicación tal y como se realizaría manualmente con operandos positivos de cuatro bits es el siguiente: 1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0
Más detallesCarrito de Compras. Esta opción dentro de Jazz la podremos utilizar como cualquier otro carrito de compras de una página de Internet.
Carrito de Compras Esta opción dentro de Jazz la podremos utilizar como cualquier otro carrito de compras de una página de Internet. La forma de utilizar el Carrito de Compras es desde los comprobantes
Más detallesModificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.
UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:
Más detallesLiderazgo se genera en el lenguaje
Liderazgo se genera en el lenguaje Para nosotros, un buen punto de partida para comprender el liderazgo está en el reconocimiento de que éste se da en el lenguaje. El liderazgo es un fenómeno producido
Más detallesUna vez que tengamos el padrón de un determinado tributo con todos sus datos actualizados, podemos generar los recibos de ese padrón.
11. RECIBOS. Desde esta opción de Menú vamos a completar el proceso de gestión de los diferentes tributos, generando recibos, informes de situación, impresiones, etc. 11.1. GENERACIÓN DE RECIBOS. Una vez
Más detallesby Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true
by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true I. FUNDAMENTOS 3. Representación de la información Introducción a la Informática Curso de Acceso a la Universidad
Más detallesObjetivos 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 detallesPREGUNTAS FRECUENTES DE ACL SCRIPTHUB
PREGUNTAS FRECUENTES DE ACL SCRIPTHUB Qué es ScriptHub? ACL estará ofreciendo más de cien scripts de "mejores prácticas" en ScriptHub través de una amplia gama de asuntos y materias. Siempre se puede iniciar
Más detallesManual de Usuario de Survey Móvil. Actualización Aplicación
Manual de Usuario de Survey Móvil Actualización Aplicación El presente manual lo ayudará a aprender a usar la aplicación SURVEY MOVIL, entre otras cosas podra crear, actualizar y descargar encuestas desde
Más detallesIntroducción a Moodle
Instituto la Américas de Nayarit Ing. Elías Portugal Luna Qué es Moodle? Moodle es una aplicación web de tipo Ambiente Educativo Virtual, un sistema de gestión de cursos, de distribución libre, que ayuda
Más detallesCapítulo 10. Estudio de un caso con parámetros reales: acuífero de Borden
Capítulo 10. Estudio de un caso con parámetros reales: acuífero de Borden Tras la realización de muchos casos sintéticos y un estudio detallado de todos los parámetros que intervienen en el problema y
Más detallesENVÍO DE E-MAIL POR MEDIO DE SMTP
UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA DEPARTAMENTO DE ELECTRÓNICA ELO 322: REDES DE COMPUTADORES I ENVÍO DE E-MAIL POR MEDIO DE SMTP Alumnos Ariel Mancilla G. 2521040-9 Daniel Spataris J. 2521029-8
Más detallesEJERCICIOS DE MATEMÁTICAS I HOJA 4. Ejercicio 1. Se consideran los vectores
EJERCICIOS DE MATEMÁTICAS I HOJA 4 Ejercicio 1. Se consideran los vectores u 1 = (1, 1, 0, 1), u 2 = (0, 2, 1, 0), u 3 = ( 1, 1, 1, 1), u 4 = (2, 2, 1, 0) de R 4. Expresa, si es posible, los vectores u
Más detalles1.4.- D E S I G U A L D A D E S
1.4.- D E S I G U A L D A D E S OBJETIVO: Que el alumno conozca y maneje las reglas empleadas en la resolución de desigualdades y las use para determinar el conjunto solución de una desigualdad dada y
Más detallesCONSULTAS 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 detallesSistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema
Sistema de Gestión Portuaria Uso General del Sistema Uso General del Sistema Página 1 de 21 Contenido Contenido... 2 1.Ingreso al Sistema... 3 2.Uso del Menú... 6 3.Visualizar Novedades del Sistema...
Más detallesEstructuras de Control - Diagrama de Flujo
Introducción a la Programación - Introducción a la Computación - Fundamentos de la Informática Ing. Electrónica - T.U.G. - T.U.E. - T.U.R. - T.U.W.- Prof. Tec. Elect. - T.U.T - T.U.M Área de Servicios
Más detalles7. Manejo de Archivos en C.
7. Manejo de Archivos en C. Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos se almacenan normalmente en un dispositivo de
Más detallesEjercicio Nº 3: Realizar aumentos en una Tabla de Sueldos
SESION5: BASE DE DATOS PLANILLAS Ejercicio Nº : Realizar aumentos en una Tabla de Sueldos Veamos pues. En la hoja de calculo se tiene la Tabla de Sueldos de varios empleados (aquí ahora vemos solo empleados,
Más detallesIntroducció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 detallesLección 4: Suma y resta de números racionales
GUÍA DE MATEMÁTICAS II Lección : Suma y resta de números racionales En esta lección recordaremos cómo sumar y restar números racionales. Como los racionales pueden estar representados como fracción o decimal,
Más detallesGuía de Preparación de Muestras para PLASTICOS para el Software de Formulación de Datacolor
Guía de Preparación de Muestras para PLASTICOS para el Software de Formulación de Datacolor 1. Generalidades 2. Qué se necesita para comenzar? 3. Qué hacer para sistemas opacos y translúcidos? 4. Qué hacer
Más detallesQUÉ ES LA RENTABILIDAD Y CÓMO MEDIRLA. La rentabilidad mide la eficiencia con la cual una empresa utiliza sus recursos financieros.
QUÉ ES LA RENTABILIDAD Y CÓMO MEDIRLA La rentabilidad mide la eficiencia con la cual una empresa utiliza sus recursos financieros. Qué significa esto? Decir que una empresa es eficiente es decir que no
Más detallesINFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso 2013-2014. v1.0 (05.03.
INFORMÁTICA Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial Curso 2013-2014 v1.0 (05.03.14) A continuación figuran una serie de ejercicios propuestos, agrupados
Más detallesContenidos. Introducción general
Contenidos Introducción general Test Uno: Razonamiento Test Dos: Velocidad de percepción Test Tres: Velocidad y precisión numérica Test Cuatro: Significación verbal Test Cinco: Razonamiento espacial Esta
Más detallesCréditos académicos. Ignacio Vélez. Facultad de Ingeniería Industrial. Politécnico Grancolombiano
Créditos académicos Ignacio Vélez Facultad de Ingeniería Industrial Politécnico Grancolombiano 11 de noviembre de 2003 Introducción Cuando se habla del sistema de créditos muchas personas consideran que
Más detallesMatrices Invertibles y Elementos de Álgebra Matricial
Matrices Invertibles y Elementos de Álgebra Matricial Departamento de Matemáticas, CCIR/ITESM 12 de enero de 2011 Índice 91 Introducción 1 92 Transpuesta 1 93 Propiedades de la transpuesta 2 94 Matrices
Más detallesOPERADORES 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 detallesSistemas 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 detalles2013/06/11 Matemáticas I (Ed. Primaria) Curso 2012-13 Jun. Extr. Apellidos: Nombre: N :
PARTE I 1h 15 minutos Dpto. Física y Matemáticas 2013/06/11 Matemáticas I (Ed. Primaria) Curso 2012-13 Jun. Extr. Apellidos: Nombre: N : Resuelve las siguientes cuestiones en el espacio reservado para
Más detallesMANUAL BASICO DE WEBEX
MANUAL BASICO DE WEBEX Webex es un servicio de web conferencias y soluciones de colaboración, lo que significa que nos permite crear una conferencia por internet en la cual además de vernos los unos a
Más detalles1 http://www.sencilloyrapido.com/
1 Contenido Introducción 3 Que son las encuestas pagadas por internet?. 5 Como ganar dinero con las encuestas pagadas por internet. 7 Pueden las encuestas pagadas generarte un ingreso decente?.. 9 Conclusión.
Más detallesTema 2 : NÚMEROS ENTEROS. Primero de Educación Secundaria Obligatoria. I.e.s Fuentesaúco.
2010 Tema 2 : NÚMEROS ENTEROS. Primero de Educación Secundaria Obligatoria. I.e.s Fuentesaúco. Manuel González de León mgdl 01/01/2010 INDICE: 01. DE LOS NÚMEROS NATURALES A LOS NÚMEROS ENTEROS. 02. VALOR
Más detallesANÁLISIS DE DATOS NO NUMERICOS
ANÁLISIS DE DATOS NO NUMERICOS ESCALAS DE MEDIDA CATEGORICAS Jorge Galbiati Riesco Los datos categóricos son datos que provienen de resultados de experimentos en que sus resultados se miden en escalas
Más detallesInstructivo de Operación. Profesor SIMULADOR SIMDEF
Instructivo de Operación Profesor SIMULADOR SIMDEF Michelsen Consulting Lda. 2011 INDICE Comenzando a usar LABSAG... 3 Como crear una Industria en la Pagina Web... 4 Como crear una industria en LABSAG...
Más detallesProblemas indecidibles
Capítulo 7 Problemas indecidibles 71 Codificación de máquinas de Turing Toda MT se puede codificar como una secuencia finita de ceros y unos En esta sección presentaremos una codificación válida para todas
Más detallesIntroducció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 detallesTEMA 9: EFECTOS COMERCIALES A COBRAR
TEMA 9: EFECTOS COMERCIALES A COBRAR 1- LOS EFECTOS COMERCIALES A COBRAR 2- LOS EFECTOS COMERCIALES EN CARTERA 3- EL DESCUENTO DE EFECTOS 4- LOS EFECTOS COMERCIALES EN GESTIÓN DE COBRO 5- LOS EFECTOS COMERCIALES
Más detallesGestión de Subtotales en Documentos de Venta WhitePaper Febrero de 2007
Gestión de Subtotales en Documentos de Venta WhitePaper Febrero de 2007 Contenidos 1. Propósito 3 2. Introducción 4 3. Plantilla de subtotales 5 4. Gestión de subtotales 7 Gestión de Subtotales en Documentos
Más detallesInformes de activos fijos Versión 1.1. Tabla de contenidos. Informes de activos fijos
Informes de activos fijos Fecha: 23/03/2015 Tabla de contenidos Servicio de Coordinación y Apoyo al Área Económica ucpe@pas.ucm.es Informes de activos fijos... 1 Informes de activos fijos... 2 Inventario
Más detallesTutorial: Primeros Pasos con Subversion
Tutorial: Primeros Pasos con Subversion Introducción Subversion es un sistema de control de versiones open source. Corre en distintos sistemas operativos y su principal interfaz con el usuario es a través
Más detallesTEMA 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 detallesBASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases.
BASES Y DIMENSIÓN Definición: Base. Se llama base de un espacio (o subespacio) vectorial a un sistema generador de dicho espacio o subespacio, que sea a la vez linealmente independiente. β Propiedades
Más detallesSistema de Inventario y calculo de nomina
Sistema de Inventario y calculo de nomina Nombre del alumno: Jairo Ruiz Renteria Número de Expediente: 209200589 Carrera: Ingeniería en Sistemas de Información Trabajo: Reporte final de las prácticas profesionales
Más detalles