Ahora se estudiará con cierto detalle el modus operandi de una computadora

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

Download "Ahora se estudiará con cierto detalle el modus operandi de una computadora"

Transcripción

1 Cómo funciona una computadora? INTRODUCCiÓN Lasdescripciones un programa forman Ahora se estudiará con cierto detalle el modus operandi de una computadora digital electrónica, sin emplear ningún tipo de terminología electrónica o de ingeniería. El hilo conductor será, sencillamente, una idea descriptiva de los procesos que en términos conceptuales deben suceder dentro de la máquina para lograr lo que se desea. De este modo, nos preocupará el concepto de necesidad lógica: lo que debe suceder, y los pasos necesarios y su orden, para llegar a obtener un resultado deseado. El desafío de este capítulo es llegar a inventar y "construir" la computadora, * partiendo de la sencilla idea de que en ciencia y tecnología las cosas son como son por alguna razón bien específica, y no por casualidad o por capricho de algún genio inventor. Como ejemplo inicial se propone pensar en los pasos necesarios para realizar con una calculadora común la operación de sumar Para esto será necesario definir con cuidado dos tipos de objetos: los datos y las operaciones o funciones que actúan sobre éstos. En realidad la primera etapa no es difícil; cualquiera que haya usado una calculadora de bolsillo * En términos pedagógicos, el hecho de que las computadoras fueron en realidad inventadas hacia 1947 no debe desanimarnos. Lo importante es tener la capacidad de descubrirlo por medios propios. En su libro El miedo a la libertad (escrito en 1941), Erich Fromm ( ) analiza los mecanismos psicológicos del acto creativo y descubrimiento de la verdad, y propone: "Por original no quiero significar, como ya se ha señalado, que una idea no haya sido pensada antes por algún otro, sino que se origina en el individuo, que es el resultado de su propia actividad y que en ese sentido representa su pensamiento." (Paidós, México, 1994, p. 233.)

2 42 Capítulo 2 Cómo funciona una computadora'? sabe cómo hacerlo. El problema interesante consiste en indagar la forma de describir los pasos efectuados y de comunicárselo a la computadora después. y aquí aparece la necesidad de definir el concepto de programa, y es también aquí donde se gesta la concepción de las modernas computadoras programables y de la teoría de la programación que permite el modelado de la realidad. Es claro que para lograr esta suma hay que informar a la calculadora qué operaciones se desea hacer y sobre cuáles datos se van a aplicar. Normalmente se comunican los datos a la calculadora presionando las teclas que describen la operación por efectuarse. El siguiente es el proceso con detalle: 1. Presionar la tecla 5 (con esto se avisa a la calculadora que debe guardar este número en alguna memoria temporal, hasta decidir lo que se hará con éste). 2. Presionar la tecla + (ahora la calculadora traslada el 5 a un acumulador interno especial y está lista para recibir el segundo operando). 3. Presionar la tecla 7 (con lo que se efectúa la suma en el acumulador; la calculadora mantiene el resultado internamente). 4. Presionar la tecla = (esto indica a la. máquina que ha terminado la serie de operaciones y que debe liberar el resultado). 5. La máquina despliega el resultado: 12. Si ahora se decidiera hacer la operación 5/7 habría que volver a iniciar el proceso desde el paso 1, cambiando solamente la tecla + del paso 2 por la tecla correspondiente a la división. Un somero análisis revela que en realidad la calculadora "no se ha dado cuenta" de las operaciones que hizo, porque se realizaron como resultado de un proceso externo a la máquina misma; es decir, todo ha dependido del orden de los pasos (acciones) que decidimos efectuar con ésta, simplemente usándola como medio. Allí no hubo comunicación; sólo se utilizó el mecanismo. Para que la máquina "entienda" lo que se desea hacer (el proceso de la suma, de la división o cualquier otro) y lo pueda realizar de manera interna, debemos emplear las características únicas del lenguaje como medio de expresión, y escribir entonces un programa para que luego se ejecute. Qué es un programa? La definición más elemental es que un programa es un conjunto explícito de pasos a seguir para lograr un fin determinado. En este caso, lo que interesa es lograr la suma de dos números, para lo cual hay que especificarle a la máquina las siguientes instrucciones: 1. Observar el primer número. 2. Llevarlo al acumulador para sumarlo con el número que sigue. 3. Efectuar la suma usando este segundo número que ahora se observa. 4. Mostrar el resultado. Pero hay todavía varios problemas por resolver para estar satisfechos con este programa. El primero de éstos consiste en que está escrito en español, y

3 2.2 El modelo de von Neumann 43 FIGURA 6. Esquema básico de una computadora. la máquina no entiende este lenguaje. * Otro problema es definir dónde se almacenarán los números 'que se desea que la máquina "observe". Uno más se refiere a dónde y cómo almacenar las instrucciones del programa. Para responder a estas cuestiones se definirá lo que se conoce como el modelo de von Neumann. Además, si logramos resolverlas, habremos convertido la calculadora en una verdadera computadora, porque la diferencia entre ambas consiste precisamente en la capacidad de seguir instrucciones escritas en un lenguaje. 2.2 EL MODELO DE VON NEUMANN La idea central del modelo de computación propuesto por John von Neumann es almacenar las instrucciones del programa de una computadora en su propia memoria, logrando con ello que la máquina siga los pasos definidos por su programa almacenado. En la figura 6 se observan las relaciones estructurales existentes entre las diversas unidades que configuran la máquina. Este esquema se sigue empleando en prácticamente todos los modelos de computadoras y presenta la configuración general de una computadora de programa almacenado, que es otra denominación para una máquina que funciona con el modelo de von Neumann. Como se decía en el capítulo anterior, es muy parecida al diseño original de Charles Babbage, aunque no está basada en ése. La unidad central de procesamiento (UCP -de aquí en adelante se le llamará así- aunque también es común referirse a ésta como CPU, por sus siglas en inglés) contiene a la unidad aritmética y lógica (hace los cálculos) ya la unidad-de control (define su orden y secuencia). Lafunción.de la UCP es clara: ejecutar instrucciones. Pero para ello necesariamente deben cumplirse estas condiciones: * Ni cualquier otro. El único lenguaje que una máquina es capaz de seguir -aunque no todas lo pueden hacer- es el "lenguaje de máquina".

4 44 Capítulo 2 Cómo funciona una computadora? Que las instrucciones sean entendibles por la UCP. Que estén almacenadas en la memoria. Para cumplir con la primera condición se vuelve imprescindible codificarlas de alguna forma mediante números, para entonces construir circuitos electrónicos (Babbage intentó hacerlo con engranes) que se activen cuando reciban cada código numérico y efectúen la acción u operación codificada. Esto se hará más adelante. Para la segunda condición se abordará el problema del almacenamiento de números definiéndolo precisamente como la función de la memoria. Para nuestros propósitos, la memoria será un conjunto de celdas (o casillas electrónicas) con las siguientes características: Cada celda puede contener un (y sólo uno) valor numérico. Cada celda tiene la propiedad de ser "direccionable", es decir, se puede distinguir una de otra por medio de un número unívoco llamado su dirección. Esto implica que las celdas de la memoria deben estar organizadas de modo que faciliten la localización de cualquiera de ellas con un esfuerzo mínimo. El modo más sencillo de hacer esto es organizándolas en un conjunto numerado secuencialmente, para luego hacer referencia a las celdas por medio de su dirección. Se usará un apuntador para dirigirse a alguna celda, es decir, para especificar su dirección. Así, el conjunto de celdas de memoria se puede ver como se muestra en la figura 7. Cada celda tiene una dirección. Por ejemplo, la celda 2951 contiene un 23. Debe quedar clara la existencia de dos conceptos independientes: una cosa es la dirección de una celda y otra es su valor, aunque casualmente pudieran coincidir. Se dispone ya de una manera de almacenar (y recuperar) valores por medio de una dirección unívoca, como se verá a continuación cuando se definan dos operaciones elementales sobre la memoria: leer el contenido de una celda y escribir un valor en una celda ! Apuntador FIGURA 7 Celdas de memoria y direcciones.

5 2.2 El modelo de von Neumann 45 Operaciones sobre la memoria Si se supone a la memoria de una computadora como una especie de almacén que funciona en forma autónoma del procesador, los siguientes deberán ser los pasos necesarios para efectuar las dos operaciones primitivas. Para leer: a) Especificar cuál celda se va a leer (esto es, proporcionar su dirección). b) Esperar un tiempo fijo para que los circuitos de la memoria traigan el valor depositado en esa celda (la celda no pierde ese valor; sólo se trae una copia del dato y no el dato mismo). e) Recoger el dato y dar por terminada la operación de lectura. y para escribir: a) Proporcionar a la memoria el dato que se desea depositar en una celda. b) Especificar la dirección de la celda sobre la que se desea hacer la escritura del dato. e) Esperar un tiempo fijo para que los circuitos de la memoria depositen el dato en la celda designada y así terminar la operación de escritura. (Si la celda en cuestión tenía ya un valor, éste se pierde, pues es reemplazado por el nuevo.) Necesidad de la codificación Ahora hay que enfrentar el problema que se expresó antes: cómo almacenar las instrucciones en la memoria; es decir, debemos encontrar una forma de acomodar las instrucciones en las celdas. Esto lleva necesariamente al concepto de codificación. En efecto, si en las celdas de memoria sólo caben números, entonces habrá que convertir las instrucciones en números para poder emplearlas. Para codificarlas se debe considerar cuántas y cuáles habrá disponibles, así como el esquema de codificación a emplear. El primer factor depende fundamentalmente de la capacidad de la unidad de control del procesador central para hacer operaciones; cuanto más compleja -y costosa- sea la unidad central de procesamiento, tanto mayor será el número de instrucciones diferentes que podrá efectuar. De igual modo, debe encontrarse un código adecuado para que a cada instrucción definida corresponda un, y sólo uno, valor numérico. Para este propósito usaremos una especie de "diccionario electrónico" (que forma parte de la unidad de control: es lo que Babbage no pudo realizar con la tecnología de su tiempo) que especificará, por ejemplo, los siguientes códigosnuméricos. (Además, para nuestros fines pedagógicos escribimos a la izquierda una columna con el nombre de la instrucción, pero debe quedar claro que los circuitos de la máquina sólo están diseñados para reconocer los códigos, no sus nombres.)

6 46 Capítulo 2 Cómo funciona una computadora'? De aquí en adelante se empleará el nombre lenguaje de máquina para referirse al código manejado por la unidad central de procesamiento de la computadora; los circuitos electrónicos de la unidad de control de la computadora "reconocen" Yejecutan precisamente las instrucciones codificadas en ese lenguaje de máquina Un primer programa Ahora es posible escribir un primer programa completo, usando el modelo recién descrito. Se continuará con el problema de sumar Primera consideración: se requieren tres casillas, dos para los datos (5 y 7) Yuna para depositar el resultado. Se escogen las casillas 20, 21 Y22. (No hay ninguna razón especial para haberlas escogido; para nuestros fines, tres casillas cualesquiera son adecuadas.) Segunda consideración: hay que definir con detalle las operaciones por efectuar y su orden, así como obtener una codificación adecuada (o sea, escribirlas en lenguaje de máquina). Tercera consideración: hay que introducir todos los datos (e instrucciones) en la memoria. Trabajando con nuestro programa de la página 42, se detecta la necesidad de inventar varias operaciones de la máquina. Se requiere, por lo pronto, una instrucción para llevar el contenido de una celda al acumulador (que es una celda especial, o registro, contenido en la UCP), otra para hacer la suma y una más para devolver el contenido del acumulador a una celda de la memoria. La forma de la instrucción para llevar el contenido de una celda al acumulador es CARGA <dirección> donde CARGA es el nombre que dimos a la instrucción, y la <dirección> indica la celda de memoria cuyo valor se desea llevar al acumulador. Cabe aclarar que CARGA es el nombre simbólico (o mnemónico) de la instrucción, empleado para que éstas sean legibles por nosotros, pero primero fue necesario asignarle un código numérico interno. Sin importar ahora cuál sea éste, ocupará el contenido de una celda de la memoria. De la misma manera, la dirección será un número que ocupará un lugar en otra celda. Esto significa que la instrucción CARGA ocupará dos celdas en la memoria: una para el código de la operación y la otra para la dirección a la que hace referencia. Es decir, su longitud es dos. En términos generales, habrá instrucciones que ocupen una, dos y hasta tres o más celdas de memoria. ( Podrá haber instrucciones de longitud cero? Por qué?) Las demás instrucciones que se requerirán son:

7 2.2 El modelo de von Neumann 47 GUARDA <dirección> Deposita el valor del acumulador en una celda de la memoria (ésta es la inversa de la anterior), y SUMA <dirección> Suma al acumulador el contenido de la celda de memoria descrita por la dirección. Así que las instrucciones de nuestra máquina serán por lo pronto las siguientes: Nombre de la instrucción Código interno Longitud de la instrucción (Los códigos internos para el lenguaje de máquina que se escogieron son arbitrarios, sin embargo, se debe tener cuidado de usarlos consistentemente.) Se escribirá el programa en forma tabular. En la parte izquierda del renglón se colocará el nombre simbólico de la instrucción, seguido de la dirección a la que haga referencia (si se da el caso); luego se describe brevemente el renglón (si se considera necesario) y, por último, se escribe su equivalente en el código interno que "entiende" el diccionario electrónico de la computadora. Para continuar, se supone que la celda 20 contiene un 5 y la celda 21 un 7, sin preocuparse por ahora de cómo se colocaron allí esos números. He aquí el programa para sumar De este simplísimo programa se puede aprender varias cosas. Fue necesario inventar una nueva instrucción (ALTO) para lograr que la secuencia -cuando se ejecute- llegue a un fin. Obsérvese que esta nueva instrucción ocupa una sola casilla de memoria, pues no es necesario que haga referencia a alguna dirección. Otra cuestión importante es la aparición de dos programas: uno escrito en lenguaje simbólico y mnemónico (más fácil de reconocer para nosotros ya que es cercano a nuestro lenguaje), y otro -a la derecha- que está descrito en código numérico (el único que reconoce la computadora). Se llamará programa fuente al primero y programa objeto al segundo. Esto es, el programa fuente es aquel que está escrito en un lenguaje similar al nuestro (pero inaccesible para la computadora), mientras que el programa objeto ya está traducido al código que la máquina reconoce. En este caso fue la misma persona quien escribió ambos programas; por lo gene-

8 48 Capítulo 2 Cómo funciona una computadora? La unidad de control ral será tarea del programador escribir el programa fuente, y la propia computadora lo traducirá a lenguaje objeto. El programa objeto, entonces, es: que, obviamente, es por completo ininteligible para un ser humano. Otro aspecto fundamental es entender que este programa sirve para sumar cualquier par de números, siempre y cuando residan en las casillas 20 y 21. Esto es realmente importante, pues significa, ni más ni menos, que es una especie de "programa universal" para sumar dos números, sin importar cuáles sean. Claro que esto no resulta impresionante por ahora, pero si se piensa en un programa universal para calcular tablas de amortizaciones bancarias, u otro para invertir matrices de orden 90 x 90, se apreciarán las ventajas de esta nueva herramienta. Resta tan sólo introducir el programa objeto en la memoria de la computadora para que pueda ejecutarse luego. Aquí es crucial elegir las casillas de la memoria que se utilizarán para almacenar el programa; esto es, en qué sección de la memoria se va a cargar el programa. Se decidió hacerlo a partir de la celda 10.(se puede cargar a partir de cualquiera que se encuentre desocupada, siempre que se esté seguro de la existencia de suficientes celdas secuenciales vacías). Una vez cargado, el programa objeto se verá como se muestra en la figura 8. Cada celda contiene un solo número. La celda 22 contiene un número no especificado todavía -el resultado de la suma-, que se obtendrá una vez ejecutado el programa. Cada una de las dos primeras celdas contiene un número 20, pero en la primera éste representa el código de la instrucción CARGA, mientras que el mismo 20 representa, en la segunda celda, la dirección 20. Obsérvese cómo una celda puede contener un mismo número que significará dos cosas diferentes, dependiendo del orden en que aparezcan con respecto al inicio. Cuando se ha cargado el programa objeto a partir de la celda 10 de la memoria, debe encontrarse un procedimiento para lograr que la computadora comience a ejecutarlo y poder así obtener los resultados deseados. Aquí se hará un paréntesis para describir con cierto detalle cómo funciona la unidad de control del procesador central de la computadora. La función principal de la unidad de control de la UCP es dirigir la secuencia de pasos de modo que la computadora lleve a cabo un ciclo completo de ejecu- ~~"llttljr~??, l ls 16 FIGURA 8 Programa objeto cargado en memoria

9 2.2 El modelo de von Neumann FIGURA 9 IV Modelo digital de la unidad de control. III ción de una instrucción, y hacer esto con todas las instrucciones de que conste el programa. Los pasos para ejecutar una instrucción cualquiera son los siguientes: El ciclo de ejecución de la UCP l. Ir a la memoria y extraer el código de la subsecuente instrucción (que estará en la siguiente celda de memoria por leer). Esto se logra mediante un registro apuntador (que forma parte de los circuitos electrónicos de la unidad de control) que recibe el nombre de contador de programa (CP). Este paso se llama ciclo de fetch en la literatura computacional (to fetch significa traer, ir por). 11. Decodificar la instrucción recién leída (determinar de cuál se trata). 111.Ejecutar la instrucción. Iv. Prepararse para leer la siguiente casilla de memoria (es decir, actualizar el CP para que apunte a la celda que contiene la siguiente instrucción), y volver al paso I para continuar. La unidad de control ejecutará este ciclo de cuatro "instrucciones alambradas" a una velocidad enorme. * Se les llama así porque no residen en memoria, ni fueron escritas por ningún programador, sino que la máquina las ejecuta directamente por medios electrónicos, y lo hará mientras esté funcionando (mientras esté encendida). La ejecución de estos cuatro pasos (que forman un ciclo repetitivo) en una computadora es a razón de millones de veces por segundo. La unidad de control es una realización electrónica del modelo digital que se muestra en la figura 9. " Como se mencionó en el capítulo anterior, ésta es la diferencia principal entre hardware y software. El primer término denota todo lo referente a los circuitos electrónicos de una computadora, mientras que el segundo hace referencia a los programas, que no son parte física de la máquina, sino que residen en la memoria.

10 50 Capítulo 2 Cómo funciona una computadora? Se ha definido ya el modelo de von Neumann, Ahora se pondrá a funcionar sobre nuestro pequeño programa de ejemplo (que suponemos ya cargado en la memoria) Pasos en la ejecución de un programa Se describirán todos los pasos con detalle por única vez para que el lector pueda estudiarlos con detenimiento hasta estar seguro de haberlos comprendido. Le pedimos no seguir con la lectura si no cumple con esto. o. En virtud de que el programa comienza a partir de la celda número 10, se debe indicar a la unidad de control que esa celda contiene la primera instrucción. Para ello hay que colocar el número 10 en el registro contador de programa (es decir, apuntar a esa celda). Esto se representará por CP < (Obsérvese que este paso es externo, esto es, no forma parte del programa, sino que se tiene que hacer "desde afuera" para iniciar la operación de la computadora.) 1. La unidad de control ejecutará el paso I e irá a la casilla 10 para leer su contenido, que es La unidad de control ejecuta el paso II, con lo que decodifica el 20 recién leído y determina que se trata de una operación CARGA. En este momento sucede algo de primordial importancia: como la instrucción 20 tiene una longitud de dos celdas, una para el código (20) y otra (la siguiente) para la dirección de la celda cuyo valor se cargará en el acumulador (que en este caso -de casualidad- también es 20), la máquina deberá ajustar el valor del contador de programa para que apunte a esa celda siguiente (i. e., la número 11 ). 3. La unidad de control ejecuta el paso III, con lo que efectivamente efectuará la operación de carga. Para esto, la computadora debe ir a la celda 11 y extraer su contenido, pero ahora ya no lo considerará como instrucción, sino como dirección, por lo cual irá a la celda 20 para extraer el valor que contenga (que es 5). En este momento hay que tener cuidado para que no haya confusión: el primer 20 (el de la celda 10) es la instrucción CARGA; el segundo 20 (el de la celda 11)es la dirección de la celda de memoria cuyo valor se desea cargar en el acumulador. Esta instrucción completa, 2020, puede leerse de la siguiente manera: "cargar el acumulador con el valor que esté contenido en la celda cuya dirección aparece a la derecha de donde se está leyendo ahora". Aunque parece innecesariamente elaborado, es imprescindible tener muy claro esto porque aquí reside la potencia del modelo de von Neumann. 4. La unidad de control ejecuta el paso IV, para luego reiniciar todo el ciclo. Obsérvese que se trata de una repetición ilimitada, que sólo terminará cuando se ejecute la instrucción ALTO. Por lo pronto, el contador de programa se hace igual a 12; esto es, apunta a la celda número 12. Interna-

11 2.2 El modelo de von Neumann 51 mente los circuitos de la unidad de control le añadieron la longitud de la instrucción recién ejecutada, que midió Se ejecuta, por segunda vez, el paso I de la unidad de control. Como CP = 12, se leerá esa celda, que contiene un Se decodifica esa instrucción, que es SUMA, por lo que el CP se prepara para apuntar a la siguiente celda. (Recuérdese que la instrucción SUMA ocupa dos celdas: una para el código de operación y otra para la dirección de la celda cuyo contenido se sumará al acumulador.) 7. Se ejecuta la instrucción 30, con lo que se añade al acumulador el contenido de la celda 21 (la dirección 21 reside en la celda 13, que está inmediatamente a la derecha de la que se está ejecutando). Ahora el acumulador contendrá un 12, es decir, El CP se actualiza para apuntar a la celda 14, en la cual (y no es casualidad, sino resultado del modelo) reside el código de la siguiente instrucción. Nuevamente en forma interna (paso IV) los circuitos de la unidad de control suman al contador de programa la longitud de la instrucción recién ejecutada. 9. Se lee la celda 14 y se extrae su contenido: Se decodifica la instrucción (GUARDA),por lo que se examina la siguiente celda, que contiene la dirección de la celda en donde se guardará el contenido del acumulador. 11. Al ejecutarse esta instrucción se deposita el valor del acumulador (12) en la celda número 22, o sea, se deja el resultado de la suma en la celda que previamente se había separado para tal fin. 12. La unidad de control regresa al paso I, no sin antes actualizar el contador de programa con la longitud de la instrucción recién ejecutada, y ahora apunta a la celda 16, que es donde reside la siguiente instrucción. 13. Se lee la celda 16 y se extrae su contenido: Se decodifica esta instrucción, que es ALTO. No se examina el dato de la siguiente celda porque la instrucción 70 tiene una longitud de uno. 15. Se ejecuta esta instrucción, lo que detiene a la unidad de control y a la máquina. De esta manera se rompe el ciclo de los cuatro pasos. El compromiso fue que el lector seguiría estos dieciséis pasos con cuidado (con ayuda del diagrama de la página 48), por lo cual habrá aprendido varias cosas sobre el lenguaje básico de las computadoras, entre las que sobresalen las siguientes: Dado el contenido de una celda, la computadora no puede distinguir si se trata de una instrucción o de un dato o una dirección. Debido a lo anterior, es responsabilidad de quien maneja la máquina indicar cuál es la celda en donde comienza el programa (esto se hizo por medio del paso O, que se describió como externo al programa). En algún capítulo posterior del libro se verá cómo la propia computadora, por medio del sistema operativo, será la que se encargue de esta tarea. Una vez que el contador de programa apunta a la celda que contiene la primera instrucción, el resto del proceso ocurre de manera automática e

12 52 Capítulo 2 Cómo funciona una computadora? invisible para el usuario. Esto se debe a los ajustes internos que se hacen al CP (en cada paso IV) que, a su vez, dependen de la longitud de la instrucción que se acaba de ejecutar. 2.3 EL LENGUAJE DE LA MÁQUINA Este apartado es relativamente largo y analiza con más detalle el comportamiento del modelo de von Neumann. Su lectura puede omitirse en primera instancia si sólo se está interesado en las consideraciones de tipo amplio o general. También es importante anotar que todo lo que aquí se propone funciona precisamente de esa forma en las computadoras reales, aunque nosotros dejamos de preocuparnos en un momento dado por cómo realizar los detalles. Por lo pronto, nuestra "máquina de papel" reconoce algunas pocas instrucciones, pues los circuitos electrónicos de su unidad de control así lo especifican, y sería deseable incrementar la cantidad y tipo de éstas para disponer de más poder de cómputo. En principio, la tarea es sencilla: basta con idear alguna instrucción y asignarle un código interno. Pero debe quedar claro que, en la vida real, cada nueva instrucción implica necesariamente la incorporación de nuevos circuitos especializados (y miles de nuevos microtransistores), por lo que existe un límite en la cantidad y complejidad de las instrucciones que un procesador puede realizar, como se analizará con más detalle en el capítulo 3. Evaluación de una fórmula Escribiremos a continuación un programa para sumar tres números cualesquiera y restar otro número al total anterior. Es decir, se evaluará la fórmula R = A + B + e - D (concediendo que tal cosa le pueda ser de utilidad a alguien). Supondremos que los cuatro números ya existen en memoria, en las celdas 770 a 773, y que el resultado va a quedar en la celda 774: CARGA SUMA SUMA RESTA GUARDA ALTO La codificación de este programa fuente en lenguaje de nuestra máquina da como resultado el siguiente programa objeto equivalente: Si se deseara posteriormente cargarlo a la memoria para ejecutarlo, habrá que seleccionar once celdas vacías secuenciales, que no incluyan de la 770 a la 774, porque ésas están reservadas para los datos.

13 ,. 2.3 El lenguaje de la máquina S3 Programa para obtener un promedio Modos de direccionamiento Haremos ahora un programa para obtener el promedio de cuatro números previamente almacenados en la memoria. Se considerarán únicamente operaciones sobre números.,enteros, por lo que el promedio será también un número entero. Para obtener un promedio hay que hacer una suma y luego una división. Pero nuestra máquina aún no puede dividir, por lo cual prestamente inventamos, y comenzaremos a analizar, la instrucción para lograrlo, que tomará el número que en ese momento esté en el acumulador y lo dividirá entre otro. En general, las instrucciones aritméticas que el procesador puede realizar se efectúan sin punto decimal; es decir sólo con enteros. Los circuitos para manejo de operaciones con punto flotante son tan complicados que no todos los procesadores los incluyen; en capítulos posteriores se habla más sobre esto. Pero, entre cuál número se hará la división de lo que contenga el acumulador? Existen dos posibilidades: entre el que resida en una celda de memoria cuya dirección se especifique, o bien entre un valor que a continuación se indique. Puede haber dos tipos de instrucciones de división, dependiendo del modo en que hagan el acceso a su operando. Una tiene la siguiente especificación: DIV <dirección> Divide lo que contenga el acumulador entre el contenido de la celda de memoria descrita por la dirección. y la otra efectuará la división ya no entre el número contenido en la celda cuya dirección se especifica, sino simplemente entre el número que se indique de inmediato a continuación: DIV-i <dato> Divide lo que contenga el acumulador entre el número que viene a continuación. El nombre simbólico de la segunda variante contiene una letra i, porque se trata de una división en modo inmediato. Ambas instrucciones tienen longitud 2: una celda para el código y la otra para la dirección del dato (en el primer caso), o para el dato mismo (en el segundo). Algunas instrucciones tienen variantes de direccionamiento en modo normal o en modo inmediato (u otros que luego se verán), dependiendo, como se acaba de ver en el ejemplo, si el dato con el que operan está contenido en una celda de memoria cuya dirección se indica, o bien si se encuentra inmediatamente después. Podría decirse que una operación en modo inmediato es menos general que la misma en modo normal, como se verá a continuación. Por ejemplo, las instrucciones CARGA SUMA GUARDA

14 S4 Capitulo 2 Cómo funciona una computadora? suman al número contenido en la celda 7428 el número que está en la 7429 Y dejan el resultado en la Es decir, realizan la operación R = A + B, llamando A, B YR a los contenidos de esas tres celdas, independientemente de cuáles sean sus valores. Pero la variante CARGA-i SUMA-i GUARDA Nuevas instrucciones únicamente hace la operaciónr = , con lo que siempre dejará el valor 218 en la celda que llamamos R (la 7430). En general, las instrucciones en modo inmediato son menos interesantes que las normales, porque están "comprometidas" con los valores que también forman parte del programa, mientras que las otras trabajan sobre las direcciones de los valores, por lo que estos últimos no forman parte del programa, sino que pueden ser datos independientes. Podemos entonces suponer que el diccionario electrónico de nuestra máquina ha crecido (y también, por supuesto, la complejidad de sus circuitos). Ahora se observa con nuevas instrucciones ya codificadas del siguiente modo: para poder de- Obsérvese que se añadió un CARGA en modo inmediato, cir, por ejemplo, CARGA-i GUARDA <valor> <dirección> y dejar un cierto valor preespecificado en alguna celda de memoria, para cubrir alguna necesidad posterior.

15 2.3 El lenguaje de la máquina 55 También se añadieron dos instrucciones de longitud 1, INCR y DECR, una que incrementa y la otra que decrementa en uno el contenido del acumulador, sin tener que hacer referencia a celdas de la memoria. Si se quiere aumentar en uno el contenido de la celda 2951, por ejemplo, resulta un poco más barato decir CARGA INCR GUARDA cuyo código es (5 celdas), que efectuar las operaciones CARGA SUMA-i GUARDA porque el código de esto último ocupa 6 celdas: Las instrucciones INCR y DECR son útiles (y baratas) para el muy usual caso de incrementar o decrementar la unidad. Un programa más elaborado: búsqueda del máximo Analizaremos ahora una situación más compleja: leer tres valores y seleccionar el máximo entre éstos. Aunque el planteamiento del problema es sencillb, para resolverlo nos veremos obligados a inventar más instrucciones y a aprender más conceptos para seguir enriqueciendo las capacidades de cómputo de la máquina. La siguiente receta es una descripción de cómo resolver el problema: Leer los tres números. Considerar al primero como el mayor. Comparar el mayor (o sea, el primero) contra el segundo: si el segundo es mayor, entonces se le considerará como el mayor. (Y si no, no hay cambios.) Comparar el mayor (haya sido el primero o el segundo) contra el tercero: si el tercero es mayor, entonces se considerará a éste como el mayor. (Y si no, no hay cambios.) Mostrar el mayor. Alto. Si se hacen pruebas de ejecución de esta receta se verá que en efecto selecciona al mayor de tres números, independientemente de los valores con los que se trabaje, porque esta descripción es correcta desde un punto de vista lógico: se presupone que el primero es el mayor y luego secuencialmente

16 56 Capítulo 2,Cómo funciona una computadora? Instrucciones salida de entrada/ se va comparando contra cada uno de los restantes. Si en cualquier momento alguno de los nuevos números resulta mayor, sólo se abandona al antiguo mayor y se escoge al nuevo, y así hasta terminar. Al final del procedimiento el que haya sido el último mayor es efectivamente el máximo de todos. La computadora no puede todavía "entender" este programa fuente porque aún no está escrito en lenguaje de máquina, por lo cual nuestra tarea consiste en traducirlo y obtener un programa objeto equivalente. Lo primero que se antoja es revisar la documentación técnica del diccionario electrónico del procesador para simplemente escoger los códigos numéricos de las instrucciones requeridas. Pero sucede que nuestra máquina sólo dispone de las instrucciones hasta ahora especificadas, y en ningún lado aparece alguna instrucción para leer un número, ni para mostrarlo, ni para comparar, por lo que nos veremos obligados a seguir creando nuevas (y complicar el diseño del hardware encargado de ejecutarlas). Revisando el modelo de von Neumann (figura 6, de la página 43) se concluye que leer un número implica que el procesador central tome un valor del mundo exterior por medio de la unidad de entrada (usando un registro especialllamado puerto de entrada). Ese valor individual llega de afuera y es depositado en el acumulador como resultado de una instrucción de lectura, que llamaremos IN, a la que asignamos el código 10. Como esta instrucción no actúa sobre la memoria (sólo recoge un valor de la unidad de entrada y lo deja en el acumulador) su longitud será 1. IN Toma el valor individual que esté en el puerto de entrada y lo deposita en el acumulador. En la misma forma se diseña la instrucción contraria, para tomar un número del acumulador y dejarlo (una copia, en realidad) en la unidad de salida: OUT, con código 11 y longitud 1. Por fortuna en este libro no estamos preocupados por realizar todos los detalles de las operaciones que se están definiendo, y por ello dejaremos alegremente de lado las consideraciones requeridas para leer o escribir datos de tamaños diferentes. Es decir, simplemente supondremos que nuestras instrucciones IN y OUT son capaces de manejar datos individuales de longitud "razonable". Ya está resuelta una parte del problema, porque para leer un número y llevarlo a la memoria bastará con ejecutar la secuencia de instrucciones IN GUARDA <celda> Instrucciones comparación de donde <celda> especifica alguna dirección predefinida. Cada instrucción IN mete un solo número al puerto de entrada, por lo que si se desea leer 27 valores diferentes, por ejemplo, el mismo número de veces habrá que desocupar el puerto de entrada copiando su contenido a una celda de memoria diferente cada vez. Ahora se abordará el asunto de las comparaciones entre valores, y para ello pensamos en una instrucción que determine si el valor A es mayor, me-

17 2.3 El lenguaje de la máquina 57 nor O igual al valor B. Como A y B son direcciones de celdas, entonces la instrucción podría ser COMP que compararía el valor contenido en la celda 100 con el contenido en la celda 200. Sólo que entonces esta instrucción mediría tres celdas de longitud (una para su código y dos más para las direcciones), lo cual resulta ser demasiado caro. Para reducir el costo de ejecución de la instrucción (o sea, su longitud) se efectuará la comparación entre el acumulador y el contenido de una sola celda, y antes deberá cargarse el acumulador con el primero de los datos para luego compararlos: CARGA COMP La variante con modo de direccionamiento inmediato será COMP-i 8 para compararar el contenido del acumulador contra, por ejemplo, el valor 8. El procesador debe registrar de alguna forma el resultado de la comparación para permitir una posterior decisión si ésta fue como se esperaba, o bien al revés de lo que se esperaba. Lo que importa es tener la posibilidad de actuar de una o de otra forma, pero siempre bajo control del programa. Qué significa actuar de una forma? En el contexto de un programa quiere decir ejecutar una cierta secuencia de instrucciones, por lo que actuar de otra forma simplemente indicará ejecutar otra secuencia (diferente) de instrucciones. Así, dentro del procesador debe existir un registro especial, que llamaremos bandera, para indicar el resultado de la última comparación entre dos valores. Los circuitos de la unidad de control de manera automática harán que la bandera asuma la o las posiciones resultantes de la comparación más reciente que se hubiera ejecutado. Las diversas posibilidades son IGUAL = DIFERENTE <> MAYORQUE > MENORQUE < MAYOR O IGUAL QUE >= MENOR O IGUAL QUE <= (No todas son mutuamente excluyentes: a la vez es cierto, por ejemplo, que 8 es mayor que 4; que 8 es mayor o igual que 4, y que 8 es diferente de 4.) De esta forma, la instrucción de comparación es entonces: COMP <dirección> Efectúa una comparación entre el contenido del acumulador y el de la celda cuya dirección se indica. Deja el resultado de la comparación en la bandera.

18 58 Capítulo 2 Cómo funciona una computadora? Como el modelo de von Neumann especifica que la ejecución es secuencial (es decir, el contador de programa se incrementa para apuntar a la siguiente instrucción del programa objeto), entonces ejecutar una secuencia B en lugar de una A necesariamente implicará saltarse la primera de éstas; es decir, no ejecutarla. Para ello se requiere de una instrucción del siguiente tipo: BR> <dirección> Brinca directamente a la celda con la dirección especificada si es que la bandera indica MAYOR QUE. (Como la bandera puede estar en alguna(s) de las seis posibilidades ya mencionadas -más de una a la vez porque no todas son mutuamente excluyentes, como se dijo-, entonces habrá seis instrucciones de salto condicional diferentes: una para cada caso: BR=, BR<>, BR>, BR<, BR>=, BR<= ). Supongamos, por ejemplo, que la secuencia A abarca de la celda 1250 a la 1300, y la secuencia B va de la 1301 a la La decisión de si se ejecuta una u otra dependerá de una comparación anterior, por lo que en la celda 1248 habrá que colocar una de las instrucciones de bifurcación (o salto) condicional. El siguiente fragmento de programa no ejecuta la secuencia A si en la celda 650 hay un 10: Dirección Instrucción CARGA 650 COMP-i 10 BR = 1301 Primera instrucción de la secuencia A Última instrucción de la secuencia A Primera instrucción de la secuencia B 1400 Última instrucción de la secuencia B Pero si en la celda 650 hay cualquier valor que no sea igual a 10, entonces la instrucción BR= 1301 no tendrá ningún efecto, y el salto no se efectuará, por lo que la ejecución continúa en la forma secuencial normal y se procede a la ejecución de la secuencia A...para continuar inmediatamente con las instrucciones de la secuencia B, que tal vez no era lo que se deseaba.

19 2.3 El lenguaje de la máquina 59 En efecto, resulta muy frecuente utilizar el resultado de una 'Comparación para escoger uno solo de dos caminos posibles: la secuencia' A o bien la secuencia B, pero no ambas. Si así fuera, entonces al final de la primera secuencia habría que insertar una instrucción para alterar el flujo normal y saltar directamente hacia el final de la segunda secuencia, sin ejecutarla. Esa nueva instrucción, de salto incondicional, tiene la siguiente forma: BR <dirección> Brinca inmediatamente a la celda con la dirección especificada. Como las seis instrucciones de salto condicional, esta nueva también tiene una longitud 2. A continuación se muestra el fragmento del programa anterior, ya modificado para obtener el efecto deseado de únicamente efectuar la secuencia de instrucciones A cuando la celda 650 no contenga un 10, y sólo ejecutar la secuencia B cuando ese valor sí sea 10 (o un caso o el otro, pero no ambos): 1244 CARGA COMP-i BR= Primera instrucción de la secuencia A 1300 Última instrucción de la secuencia A 1301 BR Primera instrucción de la secuencia B 1400 Última instrucción de la secuencia B A continuación se muestra el conjunto actual de instrucciones de lenguaje de máquina que conforman el "diccionario electrónico" de la unidad de control de nuestra computadora. Aparecen en orden alfabético, aunque una vez más repetimos que los circuitos electrónicos sólo manejan los códigos numéricos; los nombres simbólicos no forman parte del diccionario y únicamente se emplean aquí por claridad en la exposición.

20 60 Caprtulo 2 Cómo funciona una computadora? Con todos los nuevos elementos desarrollados ya no resulta tan difícil codificar el programa para encontrar el máximo entre tres números diseñado en la página 55, aunque no por ello carece de cierta complejidad. Cuando se trabaja con computadoras (y más aún tratándose de lenguaje de máquina), la atención a los detalles y minucias es enojosamente imprescindible. Se hará uso de cuatro celdas de memoria para los datos: una para cada uno de los tres números y otra para el valor mayor variable. Como la memoria consta de celdas numeradas secuencialmente, es forzoso definir desde ahora las direcciones para los datos y el código del programa objeto. Sin ningún motivo especial decidimos utilizar celdas a partir de la A continuación se muestran los programas fuente y objeto, escritos en renglones que incluyen información extra para auxiliar en la comprensión. Aparece subrayada la dirección de la primera instrucción ejecutable. Debe quedar claro que el código objeto es únicamente la última columna.

21 2.4 Sistemabinario SISTEMA BINARIO Si el lector verdaderamente desea comprender cómo funcionan las computadoras (dejando a un lado marcas y modelos), entonces no podrá estar satisfecho sino hasta haber "ejecutado" el programa anterior: le recomendamos tener cuidado y, para simular la ejecución, apuntar en una hoja los sucesivos contenidos del contador de programa, el acumulador, la bandera y las celdas de la memoria que contienen los datos. Pruebe los tres diferentes casos que puede haber: cuando el mayor es el primero, el segundo o el tercero de los números leídos. Por supuesto, el programa funciona para todos los casos y posibilidades, independientemente de los valores escogidos. Si no fuera así, no sería un "programa universal para determinar el mayor entre tres números cualesquiera" y tendría el poco interés que suele darse a los asuntos totalmente particulares y específicos, que sólo conciernen a sus dueños porque no son generales ni se refieren a situaciones amplias o abiertas. El alcance de este primer libro únicamente llega hasta estas ideas preliminares de la programación en lenguaje de máquina, por lo que con este ejemplo concluye por ahora el tema y se pasará a analizar otros conceptos. En un siguiente curso deben aprenderse las técnicas de programación en otro tipo de lenguajes con mayor capacidad expresiva. En una computadora real las celdas de la memoria no contienen números de la forma descrita aquí (lo cual se hizo por comodidad), sino que se almacenan en una forma más sencilla.

22 62 capítulo 2 Cómo funciona una computadora? Qué implica un número almacenar Formas de representación de números Se ha visto que la unidad de memoria es el aparato cuya función es guardar (y recuperar) valores numéricos. Aunque la descripción física de la memoria no se dará sino hasta el siguiente capítulo, aquí debemos detenernos a examinar las implicaciones inherentes al hecho de almacenar un número. En efecto, almacenar un valor significa seleccionar (y mantener) uno de entre varios estados de un conjunto, en donde cada uno de esos estados tiene como función representar precisamente ese número. Desde esta perspectiva, un dado puede fungir como una unidad de memoria capaz de "recordar" un valor entre 1 y 6: basta con colocar alguna de sus seis caras hacia arriba, por ejemplo, y mantenerlo así. * Pero si se requiriera almacenar un número entre 1 y 400 habría entonces que construir un "hiperdado" con 400 caras. Es claro que mientras mayor sea la gama de posibles valores a almacenar, más compleja será la unidad de memoria para lograrlo. El truco que todos aprendimos en la escuela primaria consiste en descomponer el número en sus componentes más sencillos y manejar cada uno de éstos en forma individual. De esta forma bastaría con tres dados de diez caras cada uno para representar valores entre 1 y Para ello habrá que asignar a cada dado una posición además de su valor y aprender a combinar ambos factores para lograr la representación buscada. Es decir, un sistema de numeración consta de dos componentes: una base numérica y un esquema posicional. Para nuestro caso, el dado de diez caras representa la base numérica (con diez diferentes valores: O a 9), y la posición de cada dado con respecto al anterior define si le toca tomar el papel de unidades, decenas o centenas. Si se desea reducir el grado de complejidad técnica de la unidad de memoria, habrá que reducir a su mínima expresión la cantidad de valores a representar con cada posición, pero se pagará el costo de tener que aumentar el número de posiciones, justamente porque entonces cada una vale menos. Para aclarar lo anterior construiremos una unidad de memoria empleando dados de sólo dos caras (ya no de diez) para representar valores. ** Si a las dos caras las llamamos Ay B, entonces con una moneda se podrán representar dos cosas diferentes: A o B (o una o la otra, pero no ambas a la vez, como con cualquier moneda normal). Pero si se desea representar tres cosas diferentes habrá forzosamente que utilizar una moneda adicional, para entonces poder escoger entre las siguientes cuatro posibilidades así: A A B B A B A B Ésta es la primera posibilidad Ésta es la cuarta Si se estuvieran utilizando dos dados de diez caras (la primera de éstas etiquetada con O,la segunda con 1 y así hasta la décima, etiquetada con 9), entonces la situación aparecería así: * En este contexto únicamente nos interesa la capacidad de mantener valores en sus caras, dejando por completo fuera las consideraciones de suerte o aleatoriedad. ** Los "dados de dos caras" también se conocen como monedas.

23 o O O O 1 2 Ésta es la primera posibilidad: valor O Ésta es la segunda: valor 1 Ésta es la tercera: valor Sistemabinario Ésta es la vigésimo octava posibilidad: valor Ésta es la nonagésimo novena: valor 98 Ésta es la centésima posibilidad: valor 99 Debe tenerse cuidado de no confundir las (cien diferentes) posibilidades con el valor numérico que se les asigna: lo único que sucede es que los valores que cada posibilidad representa comienzan desde cero,* y de allí la aparente irregularidad de que, por ejemplo, la vigésimo octava posibilidad represente el valor 27. Si por el contrario se escogieran dados de 27 caras para representar valores, con uno de ésos bastaría para numerar esa cantidad de posibilidades diferentes (una a la vez): Cara-1 Cara-2 Ésta es la primera posibilidad: valor O Ésta es la segunda: valor 1 Cara-26 Cara-27 Ésta es el vigésimo sexta: valor 25 Ésta es la vigésimo séptima posibilidad: 26 Es decir, el valor 11 se representaría así: Cara-12 porque a la Cara-1 se le asigna el valor cero, como ya se dijo. Si con este sistema de dados de 27 caras fuera necesario representar el valor 139, por ejemplo, habría que usar dos de éstos, y colocarlos uno al lado del otro así: Cara-6 Cara-5 * Recuérdese que no todas las culturas antiguas lograron comprender la enorme riqueza que ofrece el número cero. En efecto, es gracias al cero que los sistemas de numeración se sostienen. El cero no vale nada pero sí ocupa la primera cara de cada dado y puede simplemente separar las posiciones de cada dígito sin añadir nada. Su valía consiste precisamente en su falta de valor y en la presencia de la nada que implica.

24 64 Capítulo 2,Cómo funciona una computadora'? o bien FIGURA 10. Representación en sistema unario. El primer dado ("decenas de base 27") está en su sexta posición o cara -que vale 5, porque la primera vale 0-, y el segundo ("unidades de base 27") está en la quinta posición -que vale 4-. Es decir: 139 = (5 x 27) + (4 x 1) = Cara-6 Cara-5 Aunque esto pueda parecer confuso ( cómo que cada cara del dado vale uno menos que su posición?), en realidad emplea la misma lógica que todos aprendimos en la escuela primaria. En un sistema de numeración se escoge una base cualquiera (un dado con ese número de caras) y luego se combinan posicionalmente tantos de esos "dígitos" (o dados) como haga falta para llegar a representar el valor deseado, en el entendido de que cada uno vale base veces más que el que,está a su derecha. Por tanto, cada nuevo dígito (o sea, la cara de ese nuevo dado) representa sucesivas potencias del valor base. El sistema binario (í. e., con dados de dos caras) es casi el más sencillo que existe para representar números. Este "casi" es porque la manera más simple para representar, por ejemplo, el número cuatro, es con el sistema unario véase figura pero habría algunos problemas técnicos al intentar representar el número diez millones. * Dicho de otra forma, en el sistema binario se escoge el número dos como la base de la numeración (así como en el decimal se escogió el diez), y se representa un número cualquiera descomponiéndolo en las sucesivas potencias de dos que, sumadas, den como resultado el número en cuestión. Por ejemplo, para escribir el valor 60 en binario habría que descomponerlo de la siguiente manera: una vez dos elevado a la quinta potencia, más una vez dos elevado a la cuarta potencia, más una vez dos elevado a la tercera * Esto se debe a que el sistema unario no es posicional, sino que cada "dígito" vale siempre lo mismo (1), independientemente de la posición que ocupe. El sistema de números romanos, como ejemplo similar, no es totalmente posicional, aunque sí representa un (pequeño) avance sobre el unario; el Imperio Romano no se caracterizó precisamente por su superioridad en las matemáticas o en las minucias del intelecto.

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

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

SISTEMAS DE NUMERACIÓN. Sistema de numeración decimal: 5 10 2 2 10 1 8 10 0 =528 8 10 3 2 10 2 4 10 1 5 10 0 9 10 1 7 10 2 =8245,97

SISTEMAS DE NUMERACIÓN. Sistema de numeración decimal: 5 10 2 2 10 1 8 10 0 =528 8 10 3 2 10 2 4 10 1 5 10 0 9 10 1 7 10 2 =8245,97 SISTEMAS DE NUMERACIÓN Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. La norma principal en un sistema de numeración posicional es que un mismo símbolo

Más detalles

CURSO 2010-2011 TECNOLOGÍA TECNOLOGÍA 4º ESO TEMA 5: Lógica binaria. Tecnología 4º ESO Tema 5: Lógica binaria Página 1

CURSO 2010-2011 TECNOLOGÍA TECNOLOGÍA 4º ESO TEMA 5: Lógica binaria. Tecnología 4º ESO Tema 5: Lógica binaria Página 1 Tecnología 4º ESO Tema 5: Lógica binaria Página 1 4º ESO TEMA 5: Lógica binaria Tecnología 4º ESO Tema 5: Lógica binaria Página 2 Índice de contenido 1. Señales analógicas y digitales...3 2. Código binario,

Más detalles

SISTEMAS DE NUMERACIÓN. Sistema decimal

SISTEMAS DE NUMERACIÓN. Sistema decimal SISTEMAS DE NUMERACIÓN Sistema decimal Desde antiguo el Hombre ha ideado sistemas para numerar objetos, algunos sistemas primitivos han llegado hasta nuestros días, tal es el caso de los "números romanos",

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

DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO

DESARROLLO 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 detalles

MEDIDAS DE TENDENCIA CENTRAL

MEDIDAS DE TENDENCIA CENTRAL CAPÍTULO 14 MEDIDAS DE TENDENCIA CENTRAL A veces, de los datos recolectados ya organizados en alguna de las formas vistas en capítulos anteriores, se desea encontrar una especie de punto central en función

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

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

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 INTRODUCCIÓN El elemento hardware de un sistema básico de proceso de datos se puede estructurar en tres partes claramente diferenciadas en cuanto a sus 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

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

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

Capítulo 0. Introducción.

Capítulo 0. Introducción. Capítulo 0. Introducción. Bueno, por fin está aquí el esperado (espero!!) Capítulo Cero del Tutorial de Assembler. En él estableceremos algunos conceptos que nos serán de utilidad a lo largo del Tutorial.

Más detalles

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

TABLA 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 detalles

Datos 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 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 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

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

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION CHIQUINQUIRA (BOYACA) 2015 1 CONTENIDO Pág. QUE ES UN SISTEMA BINARIO. 3 CORTA HISTORIA DE LOS

Más detalles

Curso Excel Básico - Intermedio

Curso Excel Básico - Intermedio Curso Excel Básico - Intermedio Clase 4 Relator: Miguel Rivera Adonis Introducción Base de Datos: Definición de Base de Datos Ordenar datos Formulario Filtros Trabajar con Sub-Totales Validación de Datos

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

Aproximación local. Plano tangente. Derivadas parciales.

Aproximación local. Plano tangente. Derivadas parciales. Univ. de Alcalá de Henares Ingeniería de Telecomunicación Cálculo. Segundo parcial. Curso 004-005 Aproximación local. Plano tangente. Derivadas parciales. 1. Plano tangente 1.1. El problema de la aproximación

Más detalles

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007 Enunciado Se desea efectuar el testing funcional de un programa que ejecuta transferencias entre cuentas bancarias. El programa recibe como parámetros la cuenta de origen, la de cuenta de destino y el

Más detalles

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie.

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie. Adaptación al NPGC Introducción Nexus 620, ya recoge el Nuevo Plan General Contable, que entrará en vigor el 1 de Enero de 2008. Este documento mostrará que debemos hacer a partir de esa fecha, según nuestra

Más detalles

CAPITULO V. SIMULACION DEL SISTEMA 5.1 DISEÑO DEL MODELO

CAPITULO V. SIMULACION DEL SISTEMA 5.1 DISEÑO DEL MODELO CAPITULO V. SIMULACION DEL SISTEMA 5.1 DISEÑO DEL MODELO En base a las variables mencionadas anteriormente se describirán las relaciones que existen entre cada una de ellas, y como se afectan. Dichas variables

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

Materia: Informática. Nota de Clases Sistemas de Numeración

Materia: Informática. Nota de Clases Sistemas de Numeración Nota de Clases Sistemas de Numeración Conversión Entre Sistemas de Numeración 1. EL SISTEMA DE NUMERACIÓN 1.1. DEFINICIÓN DE UN SISTEMA DE NUMERACIÓN Un sistema de numeración es un conjunto finito de símbolos

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

Sistema de Facturación de Ventas WhitePaper Enero de 2007

Sistema de Facturación de Ventas WhitePaper Enero de 2007 Sistema de Facturación de Ventas WhitePaper Enero de 2007 Ronda Guglielmo Marconi, 9 Parque Tecnológico 46980 Paterna Valencia Spain T +34 96 338 99 66 ventas@preference.es Please Recycle PrefSuite Document

Más detalles

21/02/2012. Agenda. Unidad Central de Procesamiento (CPU)

21/02/2012. Agenda. Unidad Central de Procesamiento (CPU) Agenda 0 Tipos de datos 0 Sistemas numéricos 0 Conversión de bases 0 Números racionales o Decimales 0 Representación en signo-magnitud 0 Representación en complemento Unidad Central de Procesamiento (CPU)

Más detalles

Problemas indecidibles

Problemas 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 detalles

Resumen. Funcionamiento. Advertencia

Resumen. Funcionamiento. Advertencia Resumen Módulo: Librería: IMPEXP.DLL Acoplable a: FactuCont 5, versiones monopuesto y red Descripción: Permite exportar datos de documentos, clientes, proveedores y artículos en un solo fichero para poder

Más detalles

1.1. Introducción y conceptos básicos

1.1. Introducción y conceptos básicos Tema 1 Variables estadísticas Contenido 1.1. Introducción y conceptos básicos.................. 1 1.2. Tipos de variables estadísticas................... 2 1.3. Distribuciones de frecuencias....................

Más detalles

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

CASO PRÁCTICO PRÉSTAMOS. VALIDACIÓN DE LA INFORMACIÓN

CASO PRÁCTICO PRÉSTAMOS. VALIDACIÓN DE LA INFORMACIÓN CASO PRÁCTICO PRÉSTAMOS. VALIDACIÓN DE LA INFORMACIÓN Nuestra empresa necesita realizar una ampliación de negocio para lo cual estamos buscando un inmueble que se adapte a nuestras necesidades. Para financiar

Más detalles

Bases de datos en Excel

Bases de datos en Excel Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Bases de datos en Excel Hojas de cálculo Tema 5 Bases de datos en Excel Hasta ahora hemos usado Excel básicamente para realizar cálculos

Más detalles

Capítulo VI. Diagramas de Entidad Relación

Capítulo VI. Diagramas de Entidad Relación Diagramas de Entidad Relación Diagramas de entidad relación Tabla de contenido 1.- Concepto de entidad... 91 1.1.- Entidad del negocio... 91 1.2.- Atributos y datos... 91 2.- Asociación de entidades...

Más detalles

Instrucción IrA (GoTo). Saltos no naturales en el flujo normal de un programa. Pseudocódigo y diagramas de flujo. (CU00182A)

Instrucción IrA (GoTo). Saltos no naturales en el flujo normal de un programa. Pseudocódigo y diagramas de flujo. (CU00182A) aprenderaprogramar.com Instrucción IrA (GoTo). Saltos no naturales en el flujo normal de un programa. Pseudocódigo y diagramas de flujo. (CU00182A) Sección: Cursos Categoría: Curso Bases de la programación

Más detalles

Los sistemas de numeración se clasifican en: posicionales y no posicionales.

Los sistemas de numeración se clasifican en: posicionales y no posicionales. SISTEMAS NUMERICOS Un sistema numérico es un conjunto de números que se relacionan para expresar la relación existente entre la cantidad y la unidad. Debido a que un número es un símbolo, podemos encontrar

Más detalles

Selección de los puntos de montaje

Selecció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 detalles

Operación Microsoft Access 97

Operación Microsoft Access 97 Trabajar con Controles Características de los controles Un control es un objeto gráfico, como por ejemplo un cuadro de texto, un botón de comando o un rectángulo que se coloca en un formulario o informe

Más detalles

El modelo de ciclo de vida cascada, captura algunos principios básicos:

El modelo de ciclo de vida cascada, captura algunos principios básicos: Ciclo de Vida del Software Un modelo de ciclo de vida define el estado de las fases a través de las cuales se mueve un proyecto de desarrollo de software. El primer ciclo de vida del software, "Cascada",

Más detalles

INTRODUCCION A LA PROGRAMACION DE PLC

INTRODUCCION A LA PROGRAMACION DE PLC INTRODUCCION A LA PROGRAMACION DE PLC Esta guía se utilizará para estudiar la estructura general de programación de um PLC Instrucciones y Programas Una instrucción u orden de trabajo consta de dos partes

Más detalles

3. Presionar en el botón Buscar para obtener el siguiente cuadro:

3. Presionar en el botón Buscar para obtener el siguiente cuadro: Búsqueda de datos Si necesitáramos encontrar en nuestra tabla un número de cliente determinado, es posible ubicarlo fácilmente dado que este campo es justamente la clave principal de la tabla, pero cómo

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

INSTITUTO UNIVERSITARIO DE TECNOLOGÍA JOSE LEONARDO CHIRINO PUNTO FIJO EDO-FALCON CATEDRA: ARQUITECTURA DEL COMPUTADOR PROFESOR: ING.

INSTITUTO UNIVERSITARIO DE TECNOLOGÍA JOSE LEONARDO CHIRINO PUNTO FIJO EDO-FALCON CATEDRA: ARQUITECTURA DEL COMPUTADOR PROFESOR: ING. INSTITUTO UNIVERSITARIO DE TECNOLOGÍA JOSE LEONARDO CHIRINO PUNTO FIJO EDO-FALCON CATEDRA: ARQUITECTURA DEL COMPUTADOR PROFESOR: ING. JUAN DE LA ROSA T. TEMA 1 Desde tiempos remotos el hombre comenzó a

Más detalles

Segmentación de redes. CCNA 1: módulo 10.

Segmentación de redes. CCNA 1: módulo 10. CURSO A DISTANCIA CCNA: Técnico experto en redes e Internet. MATERIAL DIDÁCTICO COMPLEMENTARIO: Segmentación de redes. CCNA 1: módulo 10. RUBÉN MUÑOZ HERNÁNDEZ. 1.- INTRODUCCIÓN. Aunque los materiales

Más detalles

Presentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos:

Presentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos: UNIDAD 8 Presentaciones Reunión. (ITE. Banco de imágenes) as presentaciones son documentos formados por una sucesión de páginas, llamadas diapositivas, que transmiten información estructurada de manera

Más detalles

UNIDAD 2 Configuración y operación de un sistema de cómputo Representación de datos Conceptos El concepto de bit (abreviatura de binary digit) es fundamental para el almacenamiento de datos Puede representarse

Más detalles

by 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 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 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

Naturaleza binaria. Conversión decimal a binario

Naturaleza binaria. Conversión decimal a binario Naturaleza binaria En los circuitos digitales sólo hay 2 voltajes. Esto significa que al utilizar 2 estados lógicos se puede asociar cada uno con un nivel de tensión, así se puede codificar cualquier número,

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

GENERACIÓN DE ANTICIPOS DE CRÉDITO

GENERACIÓN DE ANTICIPOS DE CRÉDITO GENERACIÓN DE ANTICIPOS DE CRÉDITO 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de anticipos de crédito permite generar fácilmente órdenes para que la Caja anticipe el cobro de créditos

Más detalles

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L.

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L. Manual de Usuario Programa diseñado y creado por Contenido 1. Acceso al programa... 3 2. Opciones del programa... 3 3. Inicio... 4 4. Empresa... 4 4.2. Impuestos... 5 4.3. Series de facturación... 5 4.4.

Más detalles

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

MANUAL 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 detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

Criterios de Selección de Inversiones: El Valor Actual Neto y sus derivados *.

Criterios de Selección de Inversiones: El Valor Actual Neto y sus derivados *. Criterios de Selección de Inversiones: El Valor Actual Neto y sus derivados *. Uno de los criterios más válidos para la selección de inversiones alternativas es la determinación del Valor Actual Neto (VAN)

Más detalles

Tema 3. Medidas de tendencia central. 3.1. Introducción. Contenido

Tema 3. Medidas de tendencia central. 3.1. Introducción. Contenido Tema 3 Medidas de tendencia central Contenido 31 Introducción 1 32 Media aritmética 2 33 Media ponderada 3 34 Media geométrica 4 35 Mediana 5 351 Cálculo de la mediana para datos agrupados 5 36 Moda 6

Más detalles

Guía para el tratamiento en Allegro de recibos para centros no pertenecientes a la Generalitat Valenciana.

Guía para el tratamiento en Allegro de recibos para centros no pertenecientes a la Generalitat Valenciana. Guía para el tratamiento en Allegro de recibos para centros no pertenecientes a la Generalitat Valenciana. Esta guía muestra como proceder en la configuración y posterior uso de la aplicación Allegro en

Más detalles

Indicaciones específicas para los análisis estadísticos.

Indicaciones específicas para los análisis estadísticos. Tutorial básico de PSPP: Vídeo 1: Describe la interfaz del programa, explicando en qué consiste la vista de datos y la vista de variables. Vídeo 2: Muestra cómo crear una base de datos, comenzando por

Más detalles

Redes de área local: Aplicaciones y servicios WINDOWS

Redes de área local: Aplicaciones y servicios WINDOWS Redes de área local: Aplicaciones y servicios WINDOWS 4. Servidor DNS 1 Índice Definición de Servidor DNS... 3 Instalación del Servidor DNS... 5 Configuración del Servidor DNS... 8 2 Definición de Servidor

Más detalles

2. Entorno de trabajo y funcionalidad en Arquímedes

2. Entorno de trabajo y funcionalidad en Arquímedes 2. Entorno de trabajo y funcionalidad en Arquímedes 2.9. Presupuestos comparativos. Cómo contrastar ofertas... 1 2.9.1. Análisis de los datos del comparativo de presupuestos... 4 2.9.2. Ejemplo de comparativo

Más detalles

Curso Completo de Electrónica Digital

Curso Completo de Electrónica Digital CURSO Curso Completo de Electrónica Digital Este curso de larga duración tiene la intención de introducir a los lectores más jovenes o con poca experiencia a la Electrónica Digital, base para otras ramas

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

Cómo ayudar a nuestros hijos e hijas en las tareas escolares si no sabemos euskera?

Cómo ayudar a nuestros hijos e hijas en las tareas escolares si no sabemos euskera? Cómo ayudar a nuestros hijos e hijas en las tareas escolares si no sabemos euskera? Este documento es un resumen de la charla No sabemos euskera, Cómo ayudar a nuestros hijos e hijas en las tareas escolares?.

Más detalles

UNLaM REDES Y SUBREDES DIRECCIONES IP Y CLASES DE REDES:

UNLaM REDES Y SUBREDES DIRECCIONES IP Y CLASES DE REDES: DIRECCIONES IP Y CLASES DE REDES: La dirección IP de un dispositivo, es una dirección de 32 bits escritos en forma de cuatro octetos. Cada posición dentro del octeto representa una potencia de dos diferente.

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

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)

Más detalles

TPVFÁCIL. Caja Real. Definiciones.

TPVFÁCIL. Caja Real. Definiciones. TPVFÁCIL. Caja Real. TPVFÁCIL incluye desde la versión 3.3.2 la posibilidad de manejar dos cajas, la Caja Real y la Caja normal. La idea es esconder los datos de caja que pueden alcanzar los usuarios no

Más detalles

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

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 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 detalles

FDR Electrónicos. Su mejor opción en tecnología y servicios computacionales. Manual de uso para programa de facturación electrónica

FDR Electrónicos. Su mejor opción en tecnología y servicios computacionales. Manual de uso para programa de facturación electrónica Manual de uso para programa de facturación electrónica El programa de facturación FactureYa que acaba de adquirir a través de FDR Electrónicos es intuitivo y fácil de utilizar. En el presente manual se

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

ANÁLISIS DE DATOS NO NUMERICOS

ANÁ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 detalles

MANUAL DE AYUDA. MODULO SAT (Anexo Integración AGIL SAT)

MANUAL DE AYUDA. MODULO SAT (Anexo Integración AGIL SAT) MANUAL DE AYUDA MODULO SAT (Anexo Integración AGIL SAT) Fecha última revisión: Junio 2011 INDICE DE CONTENIDOS 1 INTRODUCCION... 3 1.1 Objetivo... 3 1.2 Descripción de la aplicación Agil-SAT PDA... 3 1.3

Más detalles

Ejemplo de tipo fijo CALCULADOR CONTABLE

Ejemplo de tipo fijo CALCULADOR CONTABLE CALCULADOR CONTABLE Ejemplo de tipo fijo Supongamos un préstamo de 100.000 concedido el 05/10/2008 a devolver en 120 mensualidades iguales, siendo la primera el 5/11/2009. El préstamo se concedió a un

Más detalles

Probabilidades y Estadística (Computación) Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Ana M. Bianco y Elena J.

Probabilidades y Estadística (Computación) Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Ana M. Bianco y Elena J. Generación de Números Aleatorios Números elegidos al azar son útiles en diversas aplicaciones, entre las cuáles podemos mencionar: Simulación o métodos de Monte Carlo: se simula un proceso natural en forma

Más detalles

Año: 2008 Página 1 de 18

Año: 2008 Página 1 de 18 Lección 2. Cuestiones de tipo técnico que debemos o podemos realizar 2.1. Copia de seguridad 2.2. Introducción de contraseña 2.3. Parámetros generales 2.4. Avisos 2.5. Calculadora 2.6. Acceso a casos prácticos

Más detalles

UAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid

UAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid MANUAL DE EMPRESA Modo de entrar en ÍCARO Para comenzar a subir una oferta de empleo, el acceso es a través del siguiente enlace: http://icaro.uam.es A continuación, aparecerá la página de inicio de la

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

PRÁCTICAS DE GESTIÓN GANADERA:

PRÁCTICAS DE GESTIÓN GANADERA: PRÁCTICAS DE GESTIÓN GANADERA: MANEJO DE HOJA DE CÁCULO (EXCEL) 1. INTRODUCCIÓN AL MANEJO DE EXCEL La pantalla del programa consta de una barra de herramientas principal y de una amplia cuadrícula compuesta

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

Parámetros con la ventana de selección de usuario, reglas, texto y descomposición (IVE)

Parámetros con la ventana de selección de usuario, reglas, texto y descomposición (IVE) QUÉ SON CONCEPTOS PARAMÉTRICOS? Los conceptos paramétricos de Presto permiten definir de una sola vez una colección de conceptos similares a partir de los cuales se generan variantes o conceptos derivados

Más detalles

Para crear una lista como la anterior, primero escribe la información, y después selecciona el texto y aplícale el formato de viñetas.

Para crear una lista como la anterior, primero escribe la información, y después selecciona el texto y aplícale el formato de viñetas. Módulo 3 Herramientas de Cómputo Listas, tabulaciones, columnas y cuadros de texto Listas En muchas ocasiones es necesario que enumeres diferentes elementos en tus documentos. Word no sólo reconoce números

Más detalles

GENERACIÓN DE TRANSFERENCIAS

GENERACIÓN DE TRANSFERENCIAS GENERACIÓN DE TRANSFERENCIAS 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de transferencias permite generar fácilmente órdenes para que la Caja efectúe transferencias, creando una base

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

8 millares + 2 centenas + 4 decenas + 5 unidades + 9 décimos + 7 céntimos

8 millares + 2 centenas + 4 decenas + 5 unidades + 9 décimos + 7 céntimos COLEGIO HISPANO INGLÉS Rambla Santa Cruz, 94-38004 Santa Cruz de Tenerife +34 922 276 056 - Fax: +34 922 278 477 buzon@colegio-hispano-ingles.es TECNOLOGÍA 4º ESO Sistemas de numeración Un sistema de numeración

Más detalles

Uso del Programa Gantt Project

Uso del Programa Gantt Project Uso del Programa Gantt Project Presentación En esta práctica guiada aprenderás varias cosas relacionadas con el uso de Gantt Project, que es una aplicación de ayuda a la gestión de proyectos: Especificar

Más detalles

Cómo ayudarles con las tareas escolares si no sabemos euskera?

Cómo ayudarles con las tareas escolares si no sabemos euskera? Cómo ayudarles con las tareas escolares si no sabemos euskera? Objetivo: desarrollar la autonomía de aprendizaje Tanto si sabemos euskera como si no sabemos euskera, la pregunta que debemos responder los

Más detalles

CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de

CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de cualquier modelo en el software Algor. La preparación de un modelo,

Más detalles

CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS

CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS Nuestra empresa es una pequeña editorial que maneja habitualmente su lista de ventas en una hoja de cálculo y desea poder realizar un análisis de sus

Más detalles

El sistema decimal, es aquél en el que se combinan 10 cifras (o dígitos) del 0 al 9 para indicar una cantidad específica.

El sistema decimal, es aquél en el que se combinan 10 cifras (o dígitos) del 0 al 9 para indicar una cantidad específica. 5.2 SISTEMAS DE NUMERACIÓN. DECIMAL El sistema decimal, es aquél en el que se combinan 10 cifras (o dígitos) del 0 al 9 para indicar una cantidad específica. La base de un sistema indica el número de caracteres

Más detalles

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente:

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente: Departamento de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Antioquia Arquitectura de Computadores y Laboratorio ISI355 (2011 2) Práctica No. 1 Diseño e implementación de una unidad aritmético

Más detalles

MICROSOFT WORD 2007 AVANZADO. Unidad Didáctica Nº 1

MICROSOFT WORD 2007 AVANZADO. Unidad Didáctica Nº 1 MICROSOFT WORD 2007 AVANZADO Unidad Didáctica Nº 1 I Tablas A) Explicación conceptual y de uso de una tabla B) Creación de tablas C) Trabajo con tablas D) Formato de las tablas Ejercicio de Repaso Portal

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

Unidad Didáctica. Códigos Binarios

Unidad Didáctica. Códigos Binarios Unidad Didáctica Códigos Binarios Programa de Formación Abierta y Flexible Obra colectiva de FONDO FORMACION Coordinación Diseño y maquetación Servicio de Producción Didáctica de FONDO FORMACION (Dirección

Más detalles

Divisibilidad y números primos

Divisibilidad y números primos Divisibilidad y números primos Divisibilidad En muchos problemas es necesario saber si el reparto de varios elementos en diferentes grupos se puede hacer equitativamente, es decir, si el número de elementos

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

QUÉ 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É 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 detalles