domingo, 10 de marzo de 2013

lenguaje de maquina


El lenguaje máquina es el único que entiende directamente la computadora, utiliza el alfabeto binario que consta de los dos únicos símbolos 0 y 1, denominados bits (abreviatura inglesa de dígitos binarios).
El lenguaje máquina es el único que entiende directamente la computadora, utiliza el alfabeto binario que consta de los dos únicos símbolos 0 y 1, denominados bits (abreviatura inglesa de dígitos binarios). Fue el primer lenguaje utilizado en la programación de computadoras, pero dejó de utilizarse por su dificultad y complicación, siendo sustituido por otros lenguajes más fáciles de aprender y utilizar, que además reducen la posibilidad de cometer errores.
EJEMPLO
0000
0001
1010
0001
01 A1
1000
1001
1001
1010
89 9A
0011
1010
1001
1100
3A 9C
0111
0100
0111
0000
74 70
1110
1001
0010
0000
E9 20

codigo de fuente


El código fuente de un programa informático (o software) es un conjunto de líneas de texto que son las instrucciones que debe seguir la computadora para ejecutar dicho programa. Por tanto, en el código fuente de un programa está descrito por completo su funcionamiento.

El código fuente de un programa está escrito por un programador en algún lenguaje de programación, pero en este primer estado no es directamente ejecutable por la computadora, sino que debe ser traducido a otro lenguaje (el lenguaje máquina o código objeto) que sí pueda ser ejecutado por el hardware de la computadora. Para esta traducción se usan los llamados compiladores, ensambladores, intérpretes y otros sistemas de traducción.

El área de la informática que se dedica a la creación de programas y, por tanto a la creación de su código fuente, es la programación.

generacion de computadoras

Primera generación
Usaban tubos al vacío para procesar información.
Usaban tarjetas perforadas para entrar los datos y los programas.
Usaban cilindros magnéticos para almacenar información e instrucciones internas.
Eran sumamente grandes, utilizaban gran cantidad de electricidad, generaban gran cantidad de calor y eran sumamente lentas.
Segunda generación
Características de esta generación:
Usaban transistores para procesar información.
Los transistores eran más rápidos, pequeños y más confiables que los tubos al vacío.
200 transistores podían acomodarse en la misma cantidad de espacio que un tubo al vacío.
Usaban pequeños anillos magnéticos para almacenar información e instrucciones. Cantidad de calor y eran sumamente lentas.
Se mejoraron los programas de computadoras que fueron desarrollados durante la primera generación.
Tercera generación
Se desarrollaron circuitos integrados para procesar información.
Se desarrollaron los "chips" para almacenar y procesar la información. Un "chip" es una pieza de silicio que contiene los componentes electrónicos en miniatura llamados semiconductores.
Los circuitos integrados recuerdan los datos, ya que almacenan la información como cargas eléctricas.
Surge la multiprogramación.
Las computadoras pueden llevar a cabo ambas tareas de procesamiento o análisis matemáticos.
Emerge la industria del "software".
Cuarta generación
Se desarrolló el microprocesador.
Se colocan más circuitos dentro de un "chip".
"LSI - Large Scale Integration circuit".
"VLSI - Very Large Scale Integration circuit".
Cada "chip" puede hacer diferentes tareas.
Quinta generación
Se desarrollan las microcomputadoras, o sea, computadoras personales o PC.
Se desarrollan las supercomputadoras.

lenguaje de programacion


LENGUAJES DE PROGRAMACION


Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente. Aunque muchas veces se usa lenguaje de programación y lenguaje informático como si fuesen sinónimos, no tiene por qué ser así, ya que los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como, por ejemplo, el HTML.
Según la forma de ejecución
Lenguajes compilados
Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que traducirse a un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta operación se llaman compiladores. Éstos, como los programas ensambladores avanzados, pueden generar muchas líneas de código de máquina por cada proposición del programa fuente. Se requiere una corrida de compilación antes de procesar los datos de un problema.
Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario).
Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de haber compilado el programa, ya no aparecen errores en el código.
Lenguajes interpretados
Se puede también utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el código objeto que se produce durante la corrida de compilación para utilizarlo en una corrida de producción futura, el programador sólo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuación, un programa intérprete, almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la máquina, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el código objeto para utilizarlo posteriormente.
La siguiente vez que se utilice una instrucción, se le debe interpretar otra vez y traducir a lenguaje máquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo, cada instrucción del ciclo tendrá que volver a ser interpretado cada vez que se ejecute el ciclo, lo cual hace que el programa sea más lento en tiempo de ejecución (porque se va revisando el código en tiempo de ejecución) pero más rápido en tiempo de diseño (porque no se tiene que estar compilando a cada momento el código completo). El intérprete elimina la necesidad de realizar una corrida de compilación después de cada modificación del programa cuando se quiere agregar funciones o corregir errores; pero es obvio que un programa objeto compilado con antelación deberá ejecutarse con mucha mayor rapidez que uno que se debe interpretar a cada paso durante una corrida de producción.
PROGRAMACIÓN MODULAR
La programación estructurada es una técnica de diseño de programas que comenzó a ponerse en
Práctica a principios de los años 70. Su utilización tiene como objetivo paliar algunas deficiencias:
1. Los programas que están constituidos por un único bloque, más o menos grande, de código, dependiendo de la complejidad y tamaño de la aplicación, por ejemplo 5000 ó 6000 líneas de código sin comentar, sin documentar y sin estructurar, esto es, sin hacer uso de un sólo submódulo, son programas pocos legibles, difíciles de depurar y modificar y poco reutilizables.
2. Un problema complejo no puede solucionarse de una sola vez y con un único algoritmo; además, existen operaciones que se repiten una y otra vez a lo largo del programa, de tal manera que es necesario el mismo bloque de código pero con diferentes datos. Con el fin de dar solución a los puntos anteriores se introdujo la programación estructurada. Su objetivo primordial es resolver un problema, más o menos complejo, dividiéndolo en otros más sencillos, que ligados convenientemente, nos den la solución del problema original.
Cada subproblema se representará mediante uno o varios módulos según su complejidad. La idea es que estos módulos sean independientes, es decir, que se puedan modificar o reemplazar sin afectar al resto del programa o que puedan ser reutilizados en otros programas. Supongamos el siguiente ejemplo. “Un profesor quiere crear un programa para gestionar la notas de sus alumnos. Quiere que dicho programa le permita realizar tareas tales como asignar notas, cambiar notas, ver las notas según las distintas calificaciones, etc.” Un posible división del problema en módulos sería: Esta subdivisión nos permitiría, fácilmente, cambiar la forma de visualizar a los alumnos, reutilizar el módulo “Visualizar” en otro programa y sobre todo es mucho más fácil de comprobar su funcionamiento.
Por tanto, las ventajas del diseño modular se traducen, principalmente, en que los programas son:
más fáciles de escribir y probar (los módulos pueden escribirse y probarse separadamente)
más fáciles de mantener y documentar.
Programación Estructurada.
Se refiere a un conjunto de técnicas que han ido evolucionando. Estas técnicas aumentan considerablemente la productividad del programa reduciendo el tiempo requerido para escribir, verificar, depurar y mantener los programas. La programación estructurada utiliza un número limitado de estructuras de control que minimizan la complejidad de los problemas y que reducen los errores. Ésta incorpora entre otros elementos: el diseño descendente, recursos abstractos y estructuras básicas. La programación estructurada es una forma de escribir programación de ordenador de forma clara, para ello utiliza únicamente tres estructuras: secuencial, selectiva e iterativa; siendo innecesario y no permitiéndose el uso de la instrucción o instrucciones de transferencia incondicional ( GOTO ).
¿QUÉ ES UNA INTERFAZ GRAFICA DE USUARIO?
En el contexto del proceso de interacción persona-ordenador, la interfaz gráfica de usuario (IGU), es el artefacto tecnológico de un sistema interactivo que posibilita, a través del uso y la representación del lenguaje visual, una interacción amigable con un sistema informático.
La interfaz gráfica de usuario (en inglés Graphical User Interface, GUI) es un tipo de interfaz de usuario que utiliza un conjunto de imágenes y objetos gráficos (iconos, ventanas, tipografía) para representar la información y acciones disponibles en la interfaz. Habitualmente las acciones se realizan mediante manipulación directa para facilitar la interacción del usuario con la computadora.
Surge como evolución de la línea de comandos de los primeros sistemas operativos y es pieza fundamental en un entorno gráfico.
Como ejemplo de interfaz GUI podemos citar el escritorio o desktop del sistema operativo Windows y el entorno X-Windows de Linux.

mapa de una computadora


componentes de la computadora

componente
función
Monitor
El monitor es similar al de una televisión, solamente que en el puedes ver la representación de la información con la que estás trabajando en el CPU ya sea a manera  texto, imagen, fotografía, video, etc.
CPU o gabinete
El CPU es el encargado de ejecutar las instrucciones dictadas por los programas. Dentro de él se encuentran elementos como el procesador, la memoria, el disco duro y unidad de CD.
Unidad de CD
La unidad de CD te permite introducir o guardar  programas o información a la computadora por medio de discos compactos.
Bocinas
Las bocinas permiten a la computadora emitir diferentes sonidos o música, y en ocasiones puede ser una manera de interpretar la información proporcionada por la misma computadora.
Control de volumen
Como su nombre lo indica regula el volumen de los sonidos o música.
Teclado
El teclado te permite introducir la información a la computadora así como instrucciones para que haga determinada tarea.
Ratón o mouse
El ratón te permite seleccionar los elementos en la pantalla de la computadora, así como interactuar con ellos por medio de un puntero.

conceptos basicos de la computacion



¿Qué es un computador?

Un computador es una máquina capaz de recibir instrucciones a través de algún medio, entenderlas y finalmente ejecutarlas.
Para que un computador pueda ejecutar alguna instrucción, primero ésta debe entregársele por algún medio físico y codificado en algún lenguaje entendible por el computador. Si la orden está dada en forma correcta y si el computador cuenta con los medios necesarios para ejecutarla, lo hará.
No se puede pensar que un computador sea capaz de realizar cualquiera tarea que se le ordene.

¿Qué es un programa?

Como vimos en el punto anterior, un computador necesita de un conjunto de instrucciones para que pueda funcionar y realizar las tareas que se requiera. Estas instrucciones son entregadas a través de un Programa.
Un programa es un conjunto de instrucciones escritas en algún lenguaje entendible por la máquina. A través de los programas el computador puede realizar variadas operaciones, desde procesar textos y dibujos hasta resolver complejos problemas matemáticos.

¿Qué es un 'PC compatible'?

PC es la abreviación de 'Personal Computer'. Un computador personal (PC), es un equipo monousuario, es decir, atiende exclusivamente a una persona. En esto radica la diferencia con otra clase de computadores, como por ejemplo los Mainframe, que son capaces de atender a un gran número de usuarios (100, por ejemplo).
La primera marca que puso en el mercado estos equipos fue IBM (International Business Machines). Sin embargo, se sabe que esta no es la única marca de PC que existe, por lo que el conjunto de esas marcas de equipos que funcionan casi en un 100% igual que un PC IBM, reciben el nombre de "PC compatibles".
Por otro lado, se han desarrollado otros tipos de computadores personales, como por ejemplo los Apple Macintosh, a partir de 1984. Se diferencian, fundamentalmente, en la forma de comunicación entre el usuario y el computador.
 El hardware
 El software
Corresponde a la estructura física del computador, a sus partes tangibles. Ejemplo de ello es el teclado, pantalla, circuitos, disquetes, etc. Los componentes físicos dependerán de las funciones que se necesiten cumplir, por ejemplo, se requieren mecanismos que permitan:
- Ingresar datos y programas al computador.
- Almacenar datos y programas.
- Procesar la información recibida.
- Entregar datos y programas para ser utilizados por el usuario.
De lo anterior podemos distinguir tres componentes principales del Hardware: Unidad Central de Proceso (CPU), Memoria y Dispositivos de Entrada y Salida.
- Unidad Central de Proceso (CPU):
La CPU es la parte 'pensante' o 'inteligente' del computador. Es el encargado de atender las órdenes y datos, realiza las operaciones aritmético-lógicas y controla la operación de los diferentes dispositivos.
- Memoria:
La Memoria es la encargada de almacenar datos y programas, ya sea por un corto (un rato) o largo (años) período de tiempo.
La cantidad de memoria es medida a través de un sistema específico:
- Bit: Dígito binario. Es la unidad más pequeña de información a almacenar, puede tener dos valores: un cero o un uno.
- Byte: Corresponde a 8 bits y en general, equivale a un carácter (letra, número o signo).
- kilobyte (Kb): Representa 1024 bytes. Muchas veces se aproxima a 1000.
- megabytes (Mb): Representa a 1000 Kb ó 1048576 bytes.
Gigabyte (Gb): Representa a 1000 Mb.
Terabyte (Tb): Representa 1000 Gb.