Está en la página 1de 7

Realizado por:

Abel Osorio C.I. 18.359.493

Estructura del Computador Sección 001

SISTEMA DE NUMERACIÓN

Es un conjunto de símbolos y reglas de generación que permiten construir todos


los números válidos.

Un sistema de numeración puede representarse como

Donde:

 es el sistema de numeración considerado (p.ej. decimal, binario, etc.).


 es el conjunto de símbolos permitidos en el sistema. En el caso del sistema
decimal son {0,1,...9}; en el binario son {0,1}; en el octal son {0,1,...7}; en el
hexadecimal son {0,1,...9,A,B,C,D,E,F}.
 son las reglas que nos indican qué números son válidos en el sistema, y
cuáles no. En un sistema de numeración posicional las reglas son bastante
simples, mientras que la numeración romana requiere reglas algo más elaboradas.

Estas reglas son diferentes para cada sistema de numeración considerado, pero una
regla común a todos es que para construir números válidos en un sistema de
numeración determinado sólo se pueden utilizar los símbolos permitidos en ese
sistema.

Para indicar en qué sistema de numeración se representa una cantidad se añade


como subíndice a la derecha el número de símbolos que se pueden representar en
dicho sistema.

Clasificación

Los sistemas de numeración pueden clasificarse en dos grandes grupos: posicionales


y no-posicionales:

 En los sistemas no-posicionales los dígitos tienen el valor del símbolo utilizado,
que no depende de la posición (columna) que ocupan en el número.
 En los sistemas de numeración ponderados o posicionales el valor de un dígito
depende tanto del símbolo utilizado, como de la posición que ése símbolo ocupa
en el número.
Sistemas de numeración no posicionales

Estos son los más primitivos se usaban por ejemplo los dedos de la mano para
representar la cantidad cinco y después se hablaba de cuántas manos se tenía.
También se sabe que se usaba cuerdas con nudos para representar cantidad. Tiene
mucho que ver con la coordinabilidad entre conjuntos. Entre ellos están los sistemas
del antiguo Egipto, el sistema de numeración romana, y los usados
en Mesoamérica por mayas, aztecas y otros pueblos .

Sistemas de numeración semi posicionales

El sistema de los números romanos no es estrictamente posicional. Por esto, es muy


complejo diseñar algoritmos de uso general (por ejemplo,
para sumar, restar, multiplicar o dividir). Como ejemplo, en el número romano XCIX
(99 decimal) los numerales X (10 decimal) del inicio y del fin de la cifra equivalen
siempre al mismo valor, sin importar su posición dentro de la cifra.

Sistemas de numeración posicionales

El número de símbolos permitidos en un sistema de numeración posicional se conoce


como base del sistema de numeración. Si un sistema de numeración posicional tiene
base b significa que disponemos de b símbolos diferentes para escribir los números, y
que b unidades forman una unidad de orden superior.

EJEMPLOS DE SISTEMAS DE NUMERACION

Sistema binario en matemáticas e informática, es un sistema de numeración en el


que los números se representan utilizando solamente las cifras cero y uno (0 y 1). Es
el que se utiliza en lascomputadoras, pues trabajan internamente con dos niveles
de voltaje, por lo que su sistema de numeración natural es el sistema binario
(encendido 1, apagado 0).

Sistema decimal es un sistema de graduación posicional en el que las cantidades se


representan utilizando como base el número diez, por lo que se compone de
diez cifras diferentes: cero (0);uno (1); dos (2); tres (3); cuatro (4); cinco (5); seis (6); si
ete (7); ocho (8) y nueve (9). Este conjunto de símbolos se denomina números árabes,
y es de origen hindú.

Es el sistema de posición usado habitualmente en todo el mundo (excepto ciertas


culturas) y en todas las áreas que requieren de un sistema de numeración. Sin
embargo hay ciertas técnicas, como por ejemplo en la informática, donde se utilizan
sistemas de numeración adaptados al método de trabajo como el binario o
el hexadecimal. También pueden existir en algunos idiomas vestigios del uso de otros
sistemas de numeración, como el quinario, el duodecimal y el vigesimal. Por ejemplo,
cuando se cuentan artículos por docenas, o cuando se emplean palabras especiales
para designar ciertos números (en francés, por ejemplo, el número 80 se expresa
«quatre-vingt», "cuatro veintenas" en español).

Sistema Octal en base 8 utiliza los dígitos 0 a 7.

Por ejemplo, el número 74 (en decimal) es 1001010 (en binario), lo agruparíamos


como 1 / 001 / 010, de tal forma que obtengamos una serie de números en binario de
3 dígitos cada uno (para fragmentar el número se comienza desde el primero por la
derecha y se parte de 3 en 3), después obtenemos el número en decimal de cada uno
de los números en binario obtenidos: 1=1, 001=1 y 010=2. De modo que el número
decimal 74 en octal es 112.

Hay que hacer notar que antes de poder pasar un número a octal es necesario pasar
por el binario. Para llegar al resultado de 74 en octal se sigue esta serie: decimal ->
binario -> octal.

En informática, a veces se utiliza la numeración octal en vez de la hexadecimal. Tiene


la ventaja de que no requiere utilizar otros símbolos diferentes de los dígitos. Sin
embargo, para trabajar con bytes o conjuntos de ellos, asumiendo que un byte es
una palabra de 8 bits, suele ser más cómodo el sistema hexadecimal, por cuanto todo
byte así definido es completamente representable por dos dígitos hexadecimales.

Es posible que la numeración octal se usara en el pasado en lugar del decimal, por
ejemplo, para contar los espacios interdigitales o los dedos distintos de los pulgares.

FUENTES

http://es.wikipedia.org/wiki/Sistema_de_numeraci%C3%B3n

http://es.wikipedia.org/wiki/Sistema_octal

http://es.wikipedia.org/wiki/Sistema_decimal
LENGUAJE COMPILADO

Un lenguaje compilado es término un tanto impreciso para referirse a un lenguaje de


programación que típicamente se implementa mediante un compilador. Esto implica
que una vez escrito el programa, éste se traduce a partir de su código fuente por
medio de un compilador en un archivo ejecutable para una determinada plataforma
(por ejemplo Solaris para Sparc, Windows NT para Intel, etc.).

Los lenguajes compilados son lenguajes de alto nivel en los que las instrucciones se
traducen del lenguaje utilizado a código máquina para una ejecución rápida. Por el
contrario un lenguaje interpretado es aquel en el que las instrucciones se traducen o
interpretan una a una siendo típicamente unas 10 veces más lentos que los programas
compilados.

Es teóricamente posible escribir un compilador o un intérprete para cualquier lenguaje,


sin embargo en algunos lenguajes una u otra implementación es más sencilla porque
se diseñaron con una implementación en particular en mente.

Algunos entornos de programación incluyen los dos mecanismos, primero el código


fuente se traduce a un código intermedio que luego se interpreta en una máquina
virtual, pero que también puede compilarse justo antes de ejecutarse. La máquina
virtual y los compiladores Just in Time de Java son un ejemplo de ello.

Algunos lenguajes generalmente compilados

* Ada
* ALGOL
* BASIC
*C
*CLEO
* COBOL
*Common
* Delphi
*Eiffel
* Fortran
* Java
*JOVIAL
*Lush
*ML
* Pascal
FUENTE

http://es.wikipedia.org/wiki/Lenguaje_compilado
http://www.alegsa.com.ar/Dic/lenguaje%20compilado.php

LENGUAJE INTERPRETADO

Un lenguaje interpretado es un lenguaje de programación que está diseñado para ser


ejecutado por medio de un intérprete, en contraste con los lenguajes compilados.
Teóricamente, cualquier lenguaje puede ser compilado o ser interpretado, así que esta
designación es aplicada puramente debido a la práctica de implementación común y
no a alguna característica subyacente de un lenguaje en particular. Sin embargo, hay
los lenguajes que son diseñados para ser intrínsecamente interpretativos, por lo tanto
un compilador causarán una carencia de la eficacia. Muchos autores rechazan la
clasificación de lenguajes de programación entre interpretados y compilados,
considerando que el modo de ejecución (por medio de intérprete o de compilador)
del programa escrito en el lenguaje es independiente del propio lenguaje. A ciertos
lenguajes interpretados también se les conoce como lenguajes de script.

Muchos lenguajes han sido implementados usando tanto compiladores como


intérpretes, incluyendo Lisp, Pascal, C, BASIC, y Python. Mientras que Java es
traducido a una forma que se destina a ser interpretada, la compilación justo a
tiempo es frecuentemente usada para generar el código de máquina. Los lenguajes
de Microsoft .NET compilan a una forma intermedia (CIL) la cual es entonces a
menudo compilada en código de máquina nativo; sin embargo hay una máquina
virtual capaz de interpretar el CIL. Muchas implementaciones Lisp pueden mezclar
libremente código interpretado y compilado. Estas implementaciones también usan un
compilador que puede traducir arbitrariamente código fuente en tiempo de
ejecución (runtime) a código de máquina.

En los comienzos de la computación, el diseño del lenguaje fue fuertemente


influenciado por la decisión de usar como modo de ejecución, la compilación o la
interpretación. Por ejemplo, algunos lenguajes compilados requieren que los
programas deban indicar explícitamente el tipo de dato de una variable en el momento
en que sea declarada o al ser usada por primera vez. Por otro lado, algunos lenguajes
interpretados toman ventaja de los aspectos dinámicos de la interpretación para hacer
tales declaraciones innecesarias. Por ejemplo, SmallTalk, el cual fue diseñado para
ser interpretado en tiempo de ejecución, permite a objetos genéricos interactuar
dinámicamente entre sí.
Inicialmente, los lenguajes interpretados eran compilados línea por línea; es decir,
cada línea era compilada a medida que estaba a punto de ser ejecutada, y si un loop o
una subrutina hiciera que ciertas líneas se ejecutaran múltiples veces, ellas debían ser
recompiladas repetidamente. Esto ha llegado a ser mucho menos común. La mayoría
de los lenguajes interpretados usan una representación intermedia, que combina tanto
la compilación como la interpretación. En este caso, un compilador puede producir una
cierta forma representación intermedia del programa, como elbytecode o el código
enhebrado, que entonces es ejecutado por un intérprete de bytecode. Los ejemplos
incluyen Python, y Java. Similarmente, Ruby utiliza un árbol de sintaxis abstracta como
representación intermedia. La representación intermedia puede ser compilada de una
vez por todas (como en Java), cada vez que se vaya a ejecutar (como en Perl o Ruby),
o cada vez que un cambio en el código fuente es detectado antes de la ejecución
(como en Python).

Ventajas de los lenguajes interpretados

Los lenguajes interpretados dan a los programas cierta flexibilidad adicional sobre
los lenguajes compilados. Algunas características que son más fáciles de implementar
en intérpretes que en compiladores incluyen, pero no se limitan, a:

 independencia de plataforma (por ejemplo el byte code de Java)


 reflexión y uso reflexivo del evaluador (ej. una función eval de primer orden)
 tipos dinámicos
 facilidad en la depuración (es más fácil obtener información del código fuente
en lenguajes interpretados)
 pequeño tamaño del programa (puesto que los lenguajes interpretados tienen
flexibilidad para elegir el código de instrucción)
 ámbito dinámico
 gestión de memoria automática

Desventajas de los lenguajes interpretados

La ejecución del programa por medio de un intérprete es usualmente mucho menos


eficiente que la ejecución de un programa compilado. No es eficiente en
tiempo porque, o cada instrucción debe pasar por una interpretación en tiempo de
ejecución, o como en más recientes implementaciones, el código tiene que ser
compilado a una representación intermedia antes de cada ejecución. La máquina
virtual es una solución parcial al problema de la eficiencia del tiempo pues la definición
del lenguaje intermedio es mucha más cercana al lenguaje de máquina y por lo tanto
más fácil de ser traducida en tiempo de ejecución. Otra desventaja es la necesidad de
un intérprete en la máquina local para poder hacer la ejecución posible.

Lenguajes interpretados de uso común

Los lenguajes que suelen ser interpretados más famosos en la actualidad son (en
orden alfabético):

 ActionScript
 ASP (hasta la versión 3)
 Bash
 Basic4GL (Basic para OpenGL. Permite generar ejecutables Windows
completos)
 BeanShell (Java en lenguaje de Scripts)
 Inform
 IO (es un lenguaje reciente -2002-)
 JavaScript (todas las plataformas)
 Logo (Linux, Windows y Mac)
 Lenguaje de programación R
 Perl (todas las plataformas)
 PHP
 Pike (es el más rápido de todos, al estar escrito en gran parte en código nativo)
 Python (todas las plataformas)
 REXX y variantes como Object REXX (todas las plataformas, en
especial: OS/2 / AmigaOS)
 Ruby
 Tcl
 VBScript (Microsoft Windows)

Fuente http://es.wikipedia.org/wiki/Lenguaje_interpretado

También podría gustarte