Upload
truongkhue
View
215
Download
0
Embed Size (px)
Citation preview
Dato: Los datos son representaciones abstractas de hechos (eventos,
ocurrencias, transacciones) u objetos (entidades, personas, etc.). Un conjunto
de datos procesados adquieren significado y proporcionan conocimientos
sobre los hechos u objetos que los originan, transformándose en lo que se
conoce como información.
Información: Es un conjunto de datos analizados y organizados para un fin
específico. La información son palabras, números, dibujos, etc. Símbolos que
nos proporcionan conocimiento sobre alguna realidad.
Informática: La ciencia de la informática se ocupa del análisis de la
información, vista como un recurso de la organización.
Computación: Disciplina integrante de las ciencias exactas, especializada en el cálculo y
aplicada al uso de las computadoras.
Computadora: (o computador) es un sistema electrónico manipulador de símbolos
diseñado y organizado para aceptar y almacenar automáticamente datos de entrada,
procesarlos y producir resultados de salida bajo la dirección de un programa de
instrucciones almacenados, en su memoria, que detalla todos los pasos que se han de
seguir.
Hardware: Se denomina Hardware a todos aquellos componentes electrónicos,
magnéticos y mecánicos que forman parte integrante de un equipo de computación;
como característica resaltante tenemos que el hardware es tangible, medible, pesable,
movible y ocupa un volumen determinado.
Como ejemplo tenemos: El monitor o pantalla, la impresora, los pendrives, CDROM,
DVD-ROM, teclado, CPU (Unidad Central de Procesamiento), etc.
Sistema: Es una agrupación de métodos y procesamientos integrados para formarun ente organizado.
Para los usuarios de computadoras, un sistema se define como una agrupaciónorganizada de personas, métodos, máquinas y materiales reunidos para lograr unconjunto de objetivos específicos.
Componentes de un Sistema de Computo
Dispositivos de Entrada: Son máquinas diseñadas para la captura de datos.
Algunos dispositivos de entrada permiten la comunicación directa entre los
humanos y las máquinas, mientras que otros requieren la grabación de los
datos en un medio de entrada, como por ejemplo en algún medio
magnetizable.
Ejemplos: Pendrive, discos ópticos, CD-ROM, teclado, ratón (mouse), lápiz de entrada,
pantalla sensible al tacto, micrófono, lectora de caracteres ópticos, lectora de
caracteres de tinta magnética, documentos con banda magnética, teléfono de
transacciones, estaciones de trabajo o terminales inteligentes, entre otros.
Unidad de Procesamiento: El corazón de todo sistema de
cómputo es la Unidad de Procesamiento, que contiene los
elementos de memoria principal, aritmética-lógica y control, y
se encuentran presentes en procesadores de cualquier tamaño.
Sección de Memoria Principal: La sección de Memoria Principal o almacenamiento
primario, se utiliza para cuatro funciones, las cuales son:
Los datos se introducen en un área de almacenamiento de entrada y permanecen en eselugar hasta el momento que se vayan a procesar. Un espacio de memoria de trabajo escomo una hoja de papel para hacer cuentas y contendrá los datos que se estánprocesando, así como los resultados intermedios de dicho procesamiento.
Un área de almacenamiento de salida guarda los resultados finales del procesamientohasta que pueden ser liberados. Un área de almacenamiento de programas guarda lasinstrucciones de procesamiento.
Memoria RAM: Es la Memoria de Acceso Aleatorio o memoria de Lectura /
Escritura (por sus siglas en inglés: Random Access Memory), se puede leer o
escribir información indistintamente, pudiendo el usuario modificar o
sustituir información en cualquier momento. Todas las operaciones
relacionadas con la memoria están controladas por la CPU. La memoria RAM
se caracteriza por ser volátil, es decir, la falta de alimentación eléctrica hace
desaparecer toda la información que estuviera almacenada en ella. Esto no
debe ser un grave problema siempre y cuando el usuario tenga almacenados
sus programas en una memoria de tipo auxiliar no volátil (disco duro,
pendrive, R-CD y R-DVD, entre otros). Así, el riesgo ante una falla de energía
eléctrica se reduce a la pérdida de las modificaciones efectuadas durante la
sesión en curso, razón por la cual se recomienda salvar (regrabar) la
información en forma continua.
Memoria ROM: La Memoria de Sólo Lectura (por sus siglas en inglés: Read Only
Memory), permite únicamente la operación de lectura, de forma que los
programas grabados en ella por el fabricante (Sistema Operativo, Lenguajes de
Alto Nivel, Programas de Utilidad, etc.) pueden ser utilizados, pero nunca
modificados ya que permanecen inalterables durante el funcionamiento normal
de la memoria. Las memorias de este tipo no son volátiles, ya que su contenido es
fijo y no pueden reprogramarse.
Sección Aritmética-Lógica : Esta sección, junto con la sección de cControl y la
memoria de registros internos, constituye la Unidad Central de Procesamiento
(CPU, Central Processing Unit). Esta ejecuta sumas, restas y otras operaciones
sobre el contenido de sus registros de entrada, colocando el resultado en el de
salida, el cual a su vez puede ser almacenado en uno de los registros y de ahí, si se
desea a la memoria.
Sección de Control: Al seleccionar, interpretar y ordenar la ejecución de las
instrucciones del programa, la sección de control de la CPU mantiene el
orden y dirige la operación de todo el sistema.
Dispositivos de Almacenamiento Secundario: Se emplean para
complementar la limitada capacidad de almacenamiento de la sección de
Memoria Principal. Están en línea con el computador, es decir, están
conectados directamente a el computador.
Ejemplos: discos ópticos, CD-ROM, DVD-ROM, PenDrive, entre otros.
Dispositivos de Salida: Son instrumentos que interpretan información y
permiten la comunicación entre los seres humanos y las computadoras.
Estos dispositivos convierten los resultados que produce el procesador y
que están en el código máquina en una forma susceptible de ser empleada
por las personas o como entrada para otras máquinas que formen parte de
un ciclo de procesamiento distinto.
Ejemplos: Pendrive, impresora (impacto, matriz de puntos, laser, inyección
de tinta, térmicas, etc.), monitor, graficadores, microfichas, microfilms,
unidades de respuesta audibles, CD-ROM, DVD-ROM, entre otros.
DIFERENCIAS ENTRE LAS COMPUTADORAS
1.- Diferencias de propósito.
2.- Diferencias según el área de Aplicación.
Según el fin, las computadoras se clasifican en:
Computadora Digital: dispositivo que manipula datos discretos y realiza
operaciones aritméticas y lógicas sobre datos.
Computadora Analógica: dispositivo que opera datos que tienen la forma de
cantidades físicas de variación uniforme.
Computadora Híbrida: dispositivo de proceso de datos que emplea
representación tanto analógica como discreta de los datos.
DIFERENCIAS ENTRE LAS COMPUTADORAS
2.- Diferencias según el área de aplicación: En la actualidad, las computadoras se
pueden dividir en cinco categorías según el tamaño físico, el desempeño y en las
áreas de aplicación:
Microcomputadoras (micros): también llamadas computadoras personales y
pueden tener el tamaño de una libreta o de un equipo de escritorio con
procesador de una sola pastilla (actualmente 2,4 y 8 núcleos) y dedicadas por lo
general a una sola persona. Se usan generalmente en oficinas, en educación y
en aplicaciones domésticas o personales.
Minicomputadoras: También son sistemas de aplicación general, pero a
diferencia de la mayor parte de los micros, generalmente atienden a varios
usuarios como servidores de red de archivos. En tamaño físico, las minis van
desde modelos de escritorio hasta unidades del tamaño de archiveros pequeños.
Son muy usadas para aplicaciones de tiempo real, tiempo compartido y muchas
otras aplicaciones.
DIFERENCIAS ENTRE LAS COMPUTADORAS
Macrocomputadoras: ofrecen velocidades de procesamiento y capacidades de
almacenamiento mayores que una mini común y además son capaces de
manejar muchos dispositivos periféricos poderosos. Se destina muchas veces
para manejar grandes procesos en lote.
Supercomputadoras: caracterizadas por su gran tamaño y enorme velocidad de
procesamiento. Para alcanzar tales velocidades tienen arquitecturas en
paralelo y son eficientes tan sólo para un rango reducido de problemas.
Normalmente se utilizan en aplicaciones científicas complejas.
Microcomputador Minicomputador Macrocomputador Supercomputador
Software: Se denomina Software al conjunto de datos e información que puede poseer
un computador; es almacenado en un dispositivo (hardware) y por lo tanto no puede
ser pesado, pero sí medido, ya que ocupa un espacio determinado de ese dispositivo.
También se conoce como software al conjunto de programas, documentos,
procedimientos y rutinas asociados con la operación de un sistema de cómputo.
Si bien es cierto, el computador no puede realizar ninguna función por sí solo; se
requiere de alguna instrucción que le dirija y organice todas las operaciones a cumplir.
Estas son las instrucciones que el programador escribe. Estas instrucciones, agrupadas en
forma de programas que serán depositados en la memoria del computador, forman lo que
se denomina software.
Por lo tanto, es un componente creado por el humano, y es lo que permite que el
computador pueda desempeñar tareas inteligentes; dirigirá en forma adecuada a los
elementos físicos o hardware. Es el software lo que indica al hardware en qué secuencia
y bajo qué lógica hay que hacer los cálculos y las manipulaciones de datos.
Como ejemplo tenemos: los Programas del Sistema Operativo, losProcesadores de Palabras, las Hojas de Cálculo, los Graficadores, etc.
Sistema Operativo: Un Sistema Operativo organiza, dirige y crea un ambiente de trabajo que el usuario encuentra a partir del momento en que se enciende su computador, y determina las características lógicas que la máquina tiene para el usuario y la manera de comunicarse con ella.
El Sistema Operativo es el programa maestro que controla todo el trabajo delmicrocomputador, como conjunto, y la ejecución de los programas deaplicación.
El Sistema Operativo es el gran administrador de los recursos del sistema, es elque controla la comunicación entre éstos y los programas de aplicación, y portanto, el que determina el ambiente general en que se realiza la actividad deprogramación. Se trata de un programa cuyo núcleo está cargado siempre enmemoria y que trabaja en los tiempos en que no se ejecuta ninguna otra tarea,atendiendo los requerimientos de usuario.
Acción: Es un suceso o acontecimiento producido por un actor (ejecutante).
tiene la característica de una duración limitada y produce un resultado bien
definido y previsto.
Instrucciones: Conjunto de caracteres que se usan para guiar a un sistema de
proceso de datos durante la ejecución de una operación (p.ej., se indica una
operación y se especifican los operandos de la instrucción).
Programa: Plan a seguir para obtener la solución de un problema. Conjunto
de instrucciones en secuencia que hacen que la computadora lleve a cabo
determinadas operaciones.
Programación: Es el proceso de escribir un programa o un software.
El proceso de ejecución de un programa escrito en un lenguaje de
programación y mediante un compilador tiene los siguientes pasos:
1. Escritura del programa fuente con un editor (programa que permite a una
computadora actuar de modo similar a una máquina de escribir electrónica) y
guardarlo en un dispositivo de almacenamiento (por ejemplo, un disco).
2. Introducir el programa fuente en memoria.
3. Compilar el programa con el compilador.
4. Verificar y corregir errores de compilación (listado de errores).
5. Obtención del programa objeto.
6. El enlazador (linker) obtiene el programa ejecutable.
7. Se ejecuta el programa y, si no existen errores, se tendrá la salida del
programa.
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 símbolos y reglas sintácticas y
semánticas que definen su estructura y el significado de sus elementos y
expresiones.
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 (lenguaje para el marcado de páginas
web).
Un lenguaje de programación permite a uno o más programadores
especificar de manera precisa: sobre qué datos una computadora
debe operar, cómo deben ser estos almacenados, 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, tal como sucede con el
lenguaje Léxico. Una característica relevante de los lenguajes de
programación es precisamente que más de un programador puedan
tener un conjunto común de instrucciones que puedan ser
comprendidas entre ellos para realizar la construcción del programa
de forma colaborativa.
Los procesadores usados en las computadoras son capaces de
entender y actuar según lo indican programas escritos en un lenguaje
fijo llamado lenguaje de máquina. Todo programa escrito en otro
lenguaje puede ser ejecutado de dos maneras:
Mediante un programa que va adaptando las instrucciones conforme
son encontradas. A este proceso se lo llama interpretar y a los
programas que lo hacen se los conoce como intérpretes.
Traduciendo este programa al programa equivalente escrito en
lenguaje de máquina. A ese proceso se lo llama compilar y al
traductor se lo conoce como un malhecho compilador.
Cada máquina reconoce un lenguaje propio, denominado lenguaje máquina o
ensamblador, que consta de unas instrucciones muy a bajo nivel, en las cuales se accede
directamente a los elementos físicos de la máquina como por ejemplo los registros. Por
ejemplo son del tipo: suma lo que hay en dos registros o copia lo que hay en un registro
a otra posición de memoria. La unidad de control (o la unidad central de proceso o CPU)
es quien es capaz de entender estas instrucciones sencillas y controlar su ejecución.
Como ya se sabe, cada máquina tiene una configuración física diferente, y también un
lenguaje ensamblador diferente. Por ejemplo, es diferente el ensamblador de un PC que
el de un Mac.
En la primera etapa de la informática todos los programas se hacían utilizando el
código máquina, pero aparte de que es muy complicado de programar y muy difícil de
leer, una vez tenemos el programa sólo lo podemos ejecutar en un tipo de máquina
concreto. Si cambiamos de máquina perdemos todos nuestros programas
Clasificación de los lenguajes de programación: Los lenguajes de
programación se determinan según el nivel de abstracción, Según la forma
de ejecución y Según el paradigma de programación que poseen cada uno
de ellos y esos pueden ser:
Según su nivel de abstracción:
Lenguajes de bajo nivel: Los lenguajes de bajo nivel son lenguajes de
programación que se acercan al funcionamiento de una computadora. El
lenguaje de más bajo nivel es, por excelencia, el código máquina. A éste le
sigue el lenguaje ensamblador, ya que al programar en ensamblador se
trabajan con los registros de memoria de la computadora de forma directa.
Lenguajes de medio nivel: Hay lenguajes de programación que son
considerados por algunos expertos como lenguajes de medio nivel (como es el
caso del lenguaje C) al tener ciertas características que los acercan a los
lenguajes de bajo nivel pero teniendo, al mismo tiempo, ciertas cualidades
que lo hacen un lenguaje más cercano al humano y, por tanto, de alto nivel.
Lenguajes de alto nivel: Los lenguajes de alto nivel son normalmente
fáciles de aprender porque están formados por elementos de
lenguajes naturales, como el inglés. En Visual FoxPro, uno de los
lenguajes de programación más utilizados a nivel mundial, los
comandos como "IF (contador = 10) THEN exit" pueden utilizarse para
pedir a la computadora que pare si “contador” es igual a 10. Por
desgracia para muchas personas esta forma de trabajar es un poco
frustrante, dado que a pesar de que las computadoras parecen
comprender un lenguaje natural, lo hacen en realidad de una forma
rígida y sistemática.
Según la forma de ejecución
Lenguajes Compilados: Naturalmente, un programa que se escribe en unlenguaje de alto nivel también tiene que traducirse a un código quepueda utilizar la máquina. Los programas traductores que puedenrealizar esta operación se llaman compiladores. Éstos, como losprogramas ensambladores avanzados, pueden generar muchas líneas decódigo de máquina por cada proposición del programa fuente. Serequiere una corrida de compilación antes de procesar los datos de unproblema.
Los compiladores son aquellos cuya función es traducir un programaescrito en un determinado lenguaje a un idioma que la computadoraentienda (lenguaje máquina con código binario).
Al usar un lenguaje compilado, el programa desarrollado nunca seejecuta mientras haya errores, sino hasta que luego de haber compiladoel 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.
Java es un hibrido entre ejecutable e interpretado (investigar la JVM)
Según el paradigma de programación:
Un paradigma de programación representa un enfoque particular o
filosofía para la construcción del software. No es mejor uno que otro
sino que cada uno tiene ventajas y desventajas. También hay
situaciones donde un paradigma resulta más apropiado que otro.
Lenguajes Imperativos: describen la programación en términos del
estado del programa y sentencias que cambian dicho estado. Los
programas imperativos son un conjunto de instrucciones que le
indican al computador cómo realizar una tarea. Ejemplos: BASIC ,
Pascal, C, C++, Java, C#, Perl.
Lenguajes Funcionales: declarativa basado en la utilización de
funciones matemáticas. Ejemplos: Puros: Haskell, Miranda. Híbridos:
Lisp, Scheme, Ocaml, Scala, ML.
Según el paradigma de programación:
Lenguajes Lógicos: consiste en la aplicación del corpus de conocimiento
sobre lógica para el diseño de lenguajes de programación; no debe
confundirse con la disciplina de la lógica computacional.
La programación lógica comprende dos paradigmas de programación: la
programación declarativa y la programación funcional. La programación
declarativa gira en torno al concepto de predicado, o relación entre
elementos. La programación funcional se basa en el concepto de función (que
no es más que una evolución de los predicados), de corte más matemático.
Ejemplo: Prolog.
Lenguajes Orientados a Objetos: La Programación Orientada a Objetos
(OOP según sus siglas en inglés) es un paradigma de programación que usa
objetos y sus interacciones para diseñar aplicaciones y programas de
computadora. Está basado en varias técnicas, incluyendo herencia,
modularidad, polimorfismo, y encapsulamiento. Ejemplos: Action Script, Ada,
C++, C#, VB.NET, Visual FoxPro, Clarion, Delphi, Java, JavaScript, PHP (en su
versión 5), Python, Ruby, Smalltalk.
El Lenguaje C. Historia y Características:
C es un lenguaje de programación creado en 1972 por Ken Thompson y Dennis M.
Ritchie en los Laboratorios Bell como evolución del anterior lenguaje B, a su vez basado
en BCPL. Al igual que B, es un lenguaje orientado a la implementación de Sistemas
Operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce
y es el lenguaje de programación más popular para crear software de sistemas, aunque
también se utiliza para crear aplicaciones.
Se trata de un lenguaje débilmente tipificado de medio nivel pero con muchas
características de bajo nivel. Dispone de las estructuras típicas de los lenguajes de alto
nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a
muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan
mezclar código en ensamblador con código C o acceder directamente a memoria o
dispositivos periféricos.
El Lenguaje C. Historia y Características:
La primera estandarización del lenguaje C fue en ANSI, con el estándar
X3.159-1989. El lenguaje que define este estándar fue conocido
vulgarmente como ANSI C. Posteriormente, en 1990, fue ratificado
como estándar ISO (ISO/IEC 9899:1990). La adopción de este estándar
es muy amplia por lo que, si los programas creados lo siguen, el código
es portátil entre plataformas y/o arquitecturas. En la práctica, los
programadores suelen usar elementos no-portátiles dependientes del
compilador o del sistema operativo.
C tiene las siguientes características de importancia:
Un núcleo del lenguaje simple, con funcionalidades añadidas importantes,
como funciones matemáticas y de manejo de ficheros, 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 rupturistas).
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 ficheros de código fuente.
Acceso a memoria de bajo nivel mediante el uso de punteros.
C tiene las siguientes características de importancia:
Interrupciones al procesador con uniones.
Un conjunto reducido de palabras clave.
Los parámetros se pasan por valor. El paso por referencia se puede simular
pasando explícitamente el valor de los punteros.
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").