trabajo de introduc computa

20
TRABAJO DE INTRODUCCION A LA COMPUTACION

Upload: sampdp

Post on 19-Jul-2015

167 views

Category:

Education


0 download

TRANSCRIPT

TRABAJO DE INTRODUCCION

A LA COMPUTACION

1. En computación, representación visual de cosas en forma digital. Suele

estar representadas por miles de pixeles (llamado raster) que, vistos en

conjunto, forman una fotografía, un gráficos, etc. o pueden estar hechas

por vectores.

Las imágenes pueden guardarse en distintos formatos gráficos, cada uno

con distintas posibilidades y limitaciones. Entre los formatos más

populares: BMP (gráfico/fotográfico sin compresión), GIF

(gráfico/animaciones), JPG (fotográfico con compresión), etc.

2. Tipo de archivos en donde se guardan todos los datos de un CD, un

DVD, un disco duro, etc. para hacer una copia de seguridad, para

clonarlos o para facilitar su transporte, etc. Se guardan en formatos como

ISO, BIN, etc.

Imagen

Formatos de ficheros gráficos y de imagen

Formatos de

gráficos de

mapa de bits

(rasterizados)

art • bmp • cin • cpt • dpx • exr • fpx • gif• iff, ilbm, lbm• jpeg, jpg • jpg2, jp2• mng

• pbm• pcd • pcx • png • ppm• psd • sgi, rgb, rgba, int, inta, bw • tga, tpic • tiff, tif

• raw • wbmp • xbm • xcf • xpm

Formatos de

gráficos

vectoriales

ai• cdr • cgm• dxf • dwg • fh • fla• ps • svg, svgz • swf• sxd • wmf • xalm• xar

Formatos

rasterizados y

vectoriales

eps• pdf • pict, pct, pic • px • pgm• psp

Formatos de

metaficheroseps• pict

El programa compilador traduce las instrucciones en un

lenguaje de alto nivel a instrucciones que la computadora puede

interpretar y ejecutar. Para cada lenguaje de programación se

requiere un compilador separado. El compilador traduce todo el

programa antes de ejecutarlo. Los compiladores son, pues,

programas de traducción insertados en la memoria por el sistema

operativo para convertir programas de cómputo en pulsaciones

electrónicas ejecutables (lenguaje de máquina).

COMPILADOR

Ejemplo

Es un programa informático capaz de analizar y ejecutar otros

programas, escritos en un lenguaje de alto nivel. Los intérpretes se

diferencian de los compiladores en que mientras estos traducen un

programa desde su descripción en un lenguaje de programación al código

de máquina del sistema, los intérpretes sólo realizan la traducción a

medida que sea necesaria, típicamente, instrucción por instrucción, y

normalmente no guardan el resultado de dicha traducción.

INTERPRETADOR

Ejemplo

Lenguaje de programación

Es cualquier lenguaje artificial, el cual, se utiliza para

definir adecuadamente una secuencia de instrucciones

que puedan ser interpretadas y ejecutadas en una

computadora.

Los lenguajes de alto nivel

Logran la independencia del tipo de máquina y se aproximan al

lenguaje natural. Se puede decir que el principal problema que

presentan los lenguajes de alto nivel es la gran cantidad de ellos que

existen actualmente en uso.

• Lograr independencia de la máquina, pudiendo utilizar un mismo programa

en diferentes equipos con la única condición de disponer de un programa

traductor o compilador, que lo suministra el fabricante, para obtener el

programa ejecutable en lenguaje binario de la máquina que se trate.

Además, no se necesita conocer el hardware específico de dicha máquina.

• Aproximarse al lenguaje natural, para que el programa se pueda escribir y

leer de una forma más sencilla, eliminando muchas de las posibilidades de

cometer errores que se daban en el lenguaje máquina, ya que se utilizan

palabras (en inglés) en lugar de cadenas de símbolos sin ningún significado

aparente.

• Incluir rutinas de uso frecuente como son las de entrada/salida, funciones

matemáticas, manejo de tablas, etc, que figuran en una especie de librería

del lenguaje, de tal manera que se pueden utilizar siempre que se quieran

sin necesidad de programarlas cada vez.

Uso

FORTRAN, en informática, acrónimo de FORmula TRANslation

(traducción de fórmulas). El primer lenguaje de programación de alto

nivel para computadoras, desarrollado de 1954 a 1958 por Jim

Backus, y el padre de muchos de los conceptos fundamentales de

alto nivel, como variables, expresiones, instrucciones, instrucciones

condicionales y repetitivas, subrutinas compiladas de forma

independiente y entrada y salida con formato. El FORTRAN es un

lenguaje compilado

Ejemplo

Se trata de un termino no aceptado por todos, pero que

seguramente habrás oído. Estos lenguajes se encuentran en un punto

medio entre los dos anteriores. Dentro de estos lenguajes podría

situarse C ya que puede acceder a los registros del sistema, trabajar

con direcciones de memoria, todas ellas características de lenguajes

de bajo nivel y a la vez realizar operaciones de alto nivel.

• Son precisos para ciertas aplicaciones como la creación de sistemas

operativos, ya que permiten un manejo abstracto (independiente de la

máquina, a diferencia del lenguaje ensamblador), pero sin perder

mucho del poder y eficiencia que tienen los lenguajes de bajo nivel.

• Es que en el primero es posible manejar las letras como si fueran

números (en Pascal no), por el contrario, en Pascal es posible

concatenar las cadenas de caracteres con el operador suma y

copiarlas con la asignación (en C es el usuario el responsable de

llamar a las funciones correspondientes).

• Estos lenguajes están orientados a procedimientos. Los

procedimientos se componen de procesos.

Uso

Lenguajes de Medio nivel

BASIC se puede ejecutar el programa en desarrollo, "al vuelo" o en modo

intérprete (en realidad pseudo-compila el programa muy rápidamente y luego lo

ejecuta), y también se permite la generación del programa en código ejecutable

(exe). Tal programa generado en disco puede luego ser ejecutado fuera del

ambiente de programación (incluso en modo stand alone, dependiendo de los

requisitos de DLL´s), aunque será necesario que las librerías DLL requeridas se

encuentren instaladas en el sistema para su apropiada ejecución.

Visual Basic provee soporte para empaquetado y distribución, es decir, permite

generar un módulo instalador que contiene el programa ejecutable y las bibliotecas

DLL necesarias para él. Con ese módulo la aplicación generada se distribuye y

puede ser instalada en cualquier equipo (con sistema compatible).

Ejemplo

Son lenguajes totalmente dependientes de la máquina, es decir que el programa

que se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras

maquinas.

Al estar prácticamente diseñados a medida del hardware, aprovechan al máximo

las características del mismo.

Dentro de este grupo se encuentran:

• El lenguaje maquina: este lenguaje ordena a la máquina las operaciones

fundamentales para su funcionamiento. Cnsiste en la combinación de 0's y 1's

para formar las ordenes entendibles por el hardware de la maquina.

Este lenguaje es mucho más rápido que los lenguajes de alto nivel.

La desventaja es que son bastantes difíciles de manejar y usar, además de

tener códigos fuente enormes donde encontrar un fallo es casi imposible.

• El lenguaje ensamblador es un derivado del lenguaje maquina y esta formado

por abreviaturas de letras y números llamadas mnemotécnicos. Con la

aparición de este lenguaje se crearon los programas traductores para poder

pasar los programas escritos en lenguaje ensamblador a lenguaje máquina.

Como ventaja con respecto al código máquina es que los códigos fuentes eran

más cortos y los programas creados ocupaban menos memoria. Las

desventajas de este lenguaje siguen siendo prácticamente las mismas que las

del lenguaje ensamblador, ñadiendo la dificultad de tener que aprender un

nuevo lenguaje difícil de probar y mantener.

Lenguajes de bajo nivel

Son instrucciones que ensamblan los grupos de conmutadores

necesarios para expresar una mínima lógica aritmética. Están

íntimamente vinculados al hardware. Por norma general están

disponibles a nivel firmware, cmos o chip set. Estos lenguajes están

orientados a procesos. Los procesos se componen de tareas.

Contienen tantas instrucciones como la arquitectura del hardware así

haya sido diseñada.

Uso

La tecnología CISC (Complex Instruction Set Computer) nació de la

mano de Intel, creador en 1971 del primer microchip que permitiría el

nacimiento de la informática personal. Más concretamente, sería en

1972 cuando aparecería el 8080, primer chip capaz de procesar 8

bits, suficiente para representar números y letras. Con la posibilidad

de colocar todos los circuitos en un solo chip y la capacidad de

manejar número y letras nacería la cuarta generación de

ordenadores, la de los conocidos como PC u ordenadores

personales.

Los microprocesadores CISC tienen un conjunto de instrucciones que

se caracteriza por ser muy amplio y permitir operaciones complejas

entre operandos situados en la memoria o en los registros internos.

Este tipo de arquitectura dificulta el paralelismo entre instrucciones,

por lo que en la actualidad la mayoría de los sistemas CISC de alto

rendimiento implementan un sistema que convierte dichas

instrucciones complejas en varias instrucciones simples, llamadas

generalmente microinstrucciones.

Ejemplo

C es un lenguaje de programación de propósito general que ofrece

economía sintáctica, control de flujo y estructuras sencillas y un buen

conjunto de operadores. No es un lenguaje de muy alto nivel y más

bien un lenguaje pequeño, sencillo y no está especializado en ningún

tipo de aplicación. Esto lo hace un lenguaje potente, con un campo de

aplicación ilimitado y sobre todo, se aprende rápidamente. En poco

tiempo, un programador puede utilizar la totalidad del lenguaje.

LENGUAJE C

Características

•Un núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones matemáticas y de

manejo de archivos, proporcionadas por bibliotecas.

•Es un lenguaje muy flexible que permite programar con múltiples estilos. Uno de los más empleados es el

estructurado "no llevado al extremo" (permitiendo ciertas licencias de ruptura).

•Un sistema de tipos que impide operaciones sin sentido.

•Usa un lenguaje de preprocesado, el preprocesador de C, para tareas como definir macros e incluir múltiples

archivos de código fuente.

•Acceso a memoria de bajo nivel mediante el uso de punteros.

•Interrupciones al procesador con uniones.

•Un conjunto reducido de palabras clave.

•Por defecto, el paso de parámetros a una función se realiza por valor. El paso por referencia se consigue

pasando explícitamente a las funciones las direcciones de memoria de dichos parámetros.

•Punteros a funciones y variables estáticas, que permiten una forma rudimentaria de encapsulado y

polimorfismo.

•Tipos de datos agregados (struct) que permiten que datos relacionados (como un empleado, que tiene un id,

un nombre y un salario) se combinen y se manipulen como un todo (en una única variable "empleado").

• Recolección de basura nativa, sin embargo se encuentran a tal efecto bibliotecas como la "libgc"

desarrollada por Sun Microsystems. o el Recolector de basura de Boehm.

• Soporte para programación orientada a objetos, aunque la implementación original de C++ fue un

preprocesador que traducía código fuente de C++ a C.

• Encapsulación.

• Funciones anidadas, aunque GCC tiene esta característica como extensión.

• Polimorfismo en tiempo de código en forma de sobrecarga, sobrecarga de operadores y sólo dispone de un

soporte rudimentario para la programación genérica.

• Soporte nativo para programación multihilo y redes de computadores.

Características

Uso

• Hecho principalmente para la fluidez de programación en sistemas UNIX. Se usa también para el desarrollo de otros

sistemas operativos como Windows o GNU/Linux. Igualmente para aplicaciones de escritorio como GIMP, cuyo

principal lenguaje de programación es C.

• Es muy usado en aplicaciones científicas (para experimentos informáticos, físicos, químicos, matemáticos, entre

otros, parte de ellos conocidos como modelos y simuladores), industriales (industria robótica, cibernética, sistemas de

información y base de datos para la industria petrolera y petroquímica.

• Predominan también todo lo que se refiere a simulación de máquinas de manufactura), simulaciones de vuelo (es la

más delicada, ya que se tienen que usar demasiados recursos tanto de hardware como de software para desarrollar

aplicaciones que permitan simular el vuelo real de una aeronave.

• Se aplica por tanto, en diversas áreas desconocidas por gran parte de los usuarios noveles.

• Los ordenadores de finales de los 90 son varios órdenes de magnitud más potentes que las máquinas en que C se

desarrolló originalmente. Programas escritos en lenguajes de tipo dinámico y fácil codificación (Ruby, Python, Perl...)

que antaño hubieran resultado demasiado lentos, son lo bastante rápidos como para desplazar en uso a C. Aun así,

se puede seguir encontrando código C en grandes desarrollos de animaciones, modelados y escenas en 3D en

películas y otras aplicaciones multimedia.

• C es el lenguaje común para programar sistemas embebidos. El código ligero que un compilador C genera,

combinado con la capacidad de acceso a capas del software cercanas al hardware son la causa de su popularidad en

estas aplicaciones.

• C demuestra comodidad de uso particularmente valiosa en sistemas embebidos es la manipulación de bits. Los

sistemas contienen registros mapeados en memoria (en inglés, MMR) a través de los cuales los periféricos se

configuran. Estos registros mezclan varias configuraciones en la misma dirección de memoria, aunque en bits

distintos.