Una computadora o computador
(del inglés computer
y este del latín computare -'calcular'), también denominada ordenador (del francés ordinateur,
y este del latín ordinator), es una máquina electrónica que recibe y procesa datos para convertirlos en información
útil. Una computadora es una colección de circuitos integrados y otros componentes relacionados que
pueden ejecutar con exactitud, rapidez y de acuerdo a lo indicado por un
usuario o automáticamente por otro programa, una gran variedad de secuencias o rutinas de instrucciones que son ordenadas, organizadas y sistematizadas
en función a una amplia gama de aplicaciones prácticas y precisamente
determinadas, proceso al cual se le ha denominado con el nombre de programación y
al que lo realiza se le llama programador.
La computadora además de la rutina o programa informático, necesita de datos específicos (a estos datos, en conjunto, se les conoce como "Input" en inglés o de entrada) que deben ser suministrados, y que son requeridos al momento de la ejecución, para proporcionar el producto final del procesamiento de datos, que recibe el nombre de "output" o de salida. La información puede ser entonces utilizada, reinterpretada, copiada, transferida, o retransmitida a otra(s) persona(s), computadora(s) o componente(s) electrónico(s) local o remotamente usando diferentes sistemas de telecomunicación, que puede ser grabada, salvada o almacenada en algún tipo de dispositivo o unidad de almacenamiento.
La computadora además de la rutina o programa informático, necesita de datos específicos (a estos datos, en conjunto, se les conoce como "Input" en inglés o de entrada) que deben ser suministrados, y que son requeridos al momento de la ejecución, para proporcionar el producto final del procesamiento de datos, que recibe el nombre de "output" o de salida. La información puede ser entonces utilizada, reinterpretada, copiada, transferida, o retransmitida a otra(s) persona(s), computadora(s) o componente(s) electrónico(s) local o remotamente usando diferentes sistemas de telecomunicación, que puede ser grabada, salvada o almacenada en algún tipo de dispositivo o unidad de almacenamiento.
La característica principal que la
distingue de otros dispositivos similares, como la calculadora no
programable, es que es una máquina de propósito general, es decir, puede
realizar tareas muy diversas, de acuerdo a las posibilidades que brinde los
lenguajes de programación y el hardware
La computadora, ese equipo indispensable
en la vida cotidiana de hoy en día que también se conoce por el nombre de computador u ordenador, es una máquina electrónica que permite procesar y
acumular datos. El término proviene del latín computare (“calcular”).
Si
buscamos la definición exacta del término computadora encontraremos que se
trata de una máquina electrónica capaz de recibir, procesar y devolver resultados en torno a determinados
datos y que para realizar esta tarea cuenta con un medio de entrada y uno de
salida. Por otro lado, que un sistema
informático se compone de dos subsistemas que reciben los nombres de
software y hardware, el primero
consiste en la parte lógica de la computadora (programas, aplicaciones, etc.)
el segundo en la parte física (elementos que la forman como mother, ventilador,
memoria RAM)
Para su
funcionamiento, la computadora requiere de programas informáticos (software)
que aportan datos específicos, necesarios para el procesamiento de información.
Una vez obtenida la información deseada, ésta puede ser utilizada internamente
o transferida a otra computadora o componente electrónico.
Arquitectura
del computador
A pesar de que las
tecnologías empleadas en las computadoras digitales han cambiado mucho desde
que aparecieron los primeros modelos en los años 40, la mayoría todavía utiliza la Arquitectura de von Neumann,
publicada a principios de los años 1940 por John von Neumann, que otros autores atribuyen a John Presper
Eckert y John William
Mauchly.
La arquitectura de
Von Neumann describe una computadora con 4 secciones principales: la unidad aritmético lógica (ALU por sus siglas
del inglés: Arithmetic Logic Unit), la unidad de control, la memoria
central, y los dispositivos de entrada y salida
(E/S). Estas partes están interconectadas por canales de
conductores denominados buses:
- La memoria es una secuencia de celdas de almacenamiento numeradas, donde cada una es un bit o unidad de información. La instrucción es la información necesaria para realizar lo que se desea con el computador. Las «celdas» contienen datos que se necesitan para llevar a cabo las instrucciones, con el computador. El número de celdas varían mucho de computador a computador, y las tecnologías empleadas para la memoria han cambiado bastante; van desde los relés electromecánicos, tubos llenos de mercurio en los que se formaban los pulsos acústicos, matrices de imanes permanentes, transistores individuales a circuitos integrados con millones de celdas en un solo chip. En general, la memoria puede ser reescrita varios millones de veces (memoria RAM); se parece más a una pizarra que a una lápida (memoria ROM) que sólo puede ser escrita una vez.
- El procesador (también llamado Unidad central de procesamiento o CPU) consta de manera básica de los siguientes elementos:
Un típico símbolo esquemático para una ALU: A y B son
operandos; R es la salida; F es la entrada de la unidad de control; D es un estado de la salida.
·
La unidad aritmético lógica o ALU es
el dispositivo diseñado y construido para llevar a cabo las operaciones
elementales como las operaciones aritméticas (suma, resta, ...), operaciones lógicas (Y, O, NO), y operaciones de comparación o relacionales. En esta unidad es en donde se hace todo el trabajo
computacional.
·
La unidad de control sigue la dirección de las posiciones en memoria que
contienen la instrucción que el computador va a realizar en ese momento;
recupera la información poniéndola en la ALU para la operación que debe
desarrollar. Transfiere luego el resultado a ubicaciones apropiadas en la
memoria. Una vez que ocurre lo anterior, la unidad de control va a la siguiente
instrucción (normalmente situada en la siguiente posición, a menos que la
instrucción sea una instrucción de salto, informando al ordenador de que la próxima
instrucción estará ubicada en otra posición de la memoria).
Los
procesadores pueden constar de además de las anteriormente citadas, de otras
unidades adicionales como la unidad de
coma flotante
- Los dispositivos de Entrada/Salida sirven a la computadora para obtener información del mundo exterior y/o comunicar los resultados generados por el computador al exterior. Hay una gama muy extensa de dispositivos E/S como teclados, monitores, unidades de disco flexible o cámaras web.
Un lenguaje de programación es un lenguaje formal
diseñado para expresar procesos que pueden ser llevados a cabo por
máquinas como las computadoras.
Pueden usarse para
crear programas que controlen el comportamiento físico y lógico de
una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.1
Está formado por un
conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus
elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila (de ser necesario) y se mantiene el código fuente de un programa
informático se le llama programación.
También la palabra
programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos, a
través de los siguientes pasos:
- El desarrollo lógico del programa para resolver un problema en particular.
- Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa).
- Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.
- Prueba y depuración del programa.
- Desarrollo de la documentación.
Existe un error común
que trata por sinónimos los términos 'lenguaje de programación' y 'lenguaje
informático'. Los lenguajes informáticos
engloban a los lenguajes de programación y a otros más, como por ejemplo HTML (lenguaje para
el marcado de páginas web que no es propiamente un lenguaje de programación,
sino un conjunto de instrucciones
que permiten estructurar el contenido de los documentos).
Permite especificar
de manera precisa sobre qué datos debe operar una computadora, cómo
deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada
gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al
lenguaje humano o natural. Una característica relevante de los lenguajes de
programación es precisamente que más de un programador pueda usar un conjunto
común de instrucciones que sean comprendidas entre ellos para realizar la
construcción de un programa de forma colaborativa
Un Algoritmo, se puede definir como una secuencia de instrucciones que
representan un modelo de solución para determinado tipo de problemas. O bien
como un conjunto de instrucciones que realizadas en orden conducen a obtener la
solución de un problema. Por lo tanto podemos decir que es un conjunto ordenado
y finito de pasos que nos permite solucionar un problema.
Los
algoritmos son independientes de los lenguajes de programación. En cada
problema el algoritmo puede escribirse y luego ejecutarse en un lenguaje de
diferente programación. El algoritmo es la infraestructura de cualquier
solución, escrita luego en cualquier lenguaje de programación.
Unidad 2
Representación de algoritmos
Los algoritmos pueden ser expresados de muchas
maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y
lenguajes de programación entre otros. Las descripciones en lenguaje natural
tienden a ser ambiguas y extensas. El usar pseudocódigo y diagramas de flujo
evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas
más estructuradas para representar algoritmos; no obstante, se mantienen
independientes de un lenguaje de programación específico.
La
descripción de un algoritmo usualmente se hace en tres niveles:
1.Descripción
de alto nivel. Se establece el problema, se selecciona un modelo matemático y
se explica el algoritmo de manera verbal, posiblemente con ilustraciones y
omitiendo detalles.
2.
Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos
que encuentran la solución.
3.
Implementación. Se muestra el algoritmo expresado en un lenguaje de
programación específico o algún objeto capaz de llevar a cabo instrucciones.
También
es posible incluir un teorema que demuestre que el algoritmo es correcto, un
análisis de complejidad o ambos.
Diagramas de bloques.
El diagrama de bloques es
la representación gráfica del funcionamiento interno de un sistema, que se hace
mediante bloques y sus relaciones, y que, además, definen la organización de
todo el proceso interno, sus entradas y sus salidas.
Un diagrama de bloques de procesos de producción es un diagrama
utilizado para indicar la manera en la que se elabora cierto producto,
especificando la materia prima, la cantidad de procesos y la forma en la que se
presenta el producto terminado.
Un diagrama de bloques de modelo matemático es el utilizado para
representar el control de sistemas físicos (o reales) mediante un modelo matemático, en el cual, intervienen gran
cantidad de variables que se relacionan en todo el proceso de producción. El
modelo matemático que representa un sistema físico de alguna complejidad
conlleva a la abstracción entre la relación de cada una de sus partes, y que
conducen a la pérdida del concepto global. En ingeniería de control, se han
desarrollado una representación gráfica de las partes de un sistema y sus
interacciones. Luego de la representación gráfica del modelo matemático, se
puede encontrar la relación entre la entrada y la salida del proceso del
sistema.
Seudo lenguaje
En ciencias de la computación, y análisis numérico el pseudocódigo (o falso lenguaje) es
una descripción de alto nivel compacta e informal del
principio operativo de un programa informático u otro algoritmo.
Utiliza las convenciones estructurales de un lenguaje de programación real , pero
está diseñado para la lectura humana en lugar de la lectura mediante máquina, y
con independencia de cualquier otro lenguaje de programación. Normalmente, el
pseudocódigo omite detalles que no son esenciales para la comprensión humana
del algoritmo, tales como declaraciones de variables, código específico del
sistema y algunas subrutinas.
El lenguaje de programación se complementa, donde sea conveniente, con descripciones detalladas en lenguaje natural, o con notación matemática compacta. Se utiliza pseudocódigo pues este es más fácil de entender para las personas que el código del lenguaje de programación convencional, ya que es una descripción eficiente y con un entorno independiente de los principios fundamentales de un algoritmo. Se utiliza comúnmente en los libros de texto y publicaciones científicas que se documentan varios algoritmos, y también en la planificación del desarrollo de programas informáticos, para esbozar la estructura del programa antes de realizar la efectiva codificación.
El lenguaje de programación se complementa, donde sea conveniente, con descripciones detalladas en lenguaje natural, o con notación matemática compacta. Se utiliza pseudocódigo pues este es más fácil de entender para las personas que el código del lenguaje de programación convencional, ya que es una descripción eficiente y con un entorno independiente de los principios fundamentales de un algoritmo. Se utiliza comúnmente en los libros de texto y publicaciones científicas que se documentan varios algoritmos, y también en la planificación del desarrollo de programas informáticos, para esbozar la estructura del programa antes de realizar la efectiva codificación.
Programa
Un programa informático
es un conjunto de instrucciones que una vez ejecutadas realizarán una
o varias tareas en una computadora. Sin programas, estas máquinas no pueden funcionar. Al
conjunto general de programas, se le denomina software, que
más genéricamente se refiere al equipamiento lógico o soporte lógico de una
computadora digital.
En informática, se
los denomina comúnmente binarios,
(propio en sistemas Unix, donde debido a la estructura de este último, los ficheros no necesitan
hacer uso de extensiones; posteriormente, los presentaron como ficheros
ejecutables, con extensión .exe, en los sistemas operativos de la familia Windows) debido a que una vez que han pasado por el proceso de
compilación y han sido creados, las instrucciones que se escribieron en un
determinado lenguaje de programación, han sido traducidas al único idioma
que la máquina comprende, combinaciones de ceros y unos llamado código máquina. El mismo término, puede referirse
tanto a un programa ejecutable, como a su código fuente,
el cual es transformado en un binario una vez que es compilado.
Generalmente el código fuente
lo escriben profesionales conocidos como programadores.
Este código se escribe en un lenguaje que sigue uno de los siguientes dos paradigmas:
imperativo o declarativo, y que posteriormente puede ser convertido en una
imagen ejecutable a través de un programa-compilador. Cuando se pide que el
programa sea ejecutado, el procesador ejecuta instrucción por instrucción.
No hay comentarios:
Publicar un comentario