INVESTIGACION I
HISTORIA DE LA INFORMÁTICA
El
primer instrumento que se utilizó para el cálculo fue el ábaco. Lo inventaron
los chinos y lo utilizaron los romanos hasta el siglo IV a. C.
En
1645 Blaise Pascal construyó una máquina para sumas y restas que estaba
compuesto de ruedas dentadas que al girar permitían obtener el resultado de la
operación. En 1675 Von Leibniz construyó otra capaz de realizar las cuatro
operaciones básicas.
El
primer precedente de los ordenadores apareció 1837 cuando Charles Babbage
inició los esquemas de una máquina controlada por relojes. Sin embargo nunca
llegó a construirse por su complejidad.
La
primera máquina capaz de hacer cálculos la construyó Herman Hollerith. Era de
tipo electromecánico. Éstas se fueron perfeccionando hasta llegar a la
construcción del MARK-I por Howard H. Aiken.
A
partir de este momento la evolución de los ordenadores va por generaciones que
se distinguen por los componentes del ordenador y la forma de realizar el
tratamiento de la información.
-Primera
generación (1946-1955)
En
este periodo los ordenadores eran construidos a base de válvulas de vacío y
relés electromagnéticos.
El
procesador era secuencial. Las tarjetas perforadas introducían los datos.
Al
comienzo de esta época se construyó el ENIAC que utilizaba alrededor de 19.000
válvulas de vacío y 1.500 relés. Ocupaba una gran habitación y solo trabajaba
con veinte números de diez dígitos.
-Segunda
generación (1955-1964)
Aparece
el transistor sustituyendo las válvulas de vacío. Los transistores son mucho
más pequeños, desprenden menos calor y se averían menos. Por ello los
ordenadores han ido reduciendo su tamaño. En este periodo se construyó el
UNIVAC 1100.
-Tercera
generación (1964-1970)
Comienzan
a utilizarse los circuitos integrados, formados por miles de transistores
conectados entre sí e insertados en un solo chip. Los ordenadores, que ya
permiten ejecutar varios programas a la vez, reducen aún más su tamaño y aumenta
su velocidad de cálculo.
Comienza
a estandarizarse los programas para crear software, como el Fortran, el Basic y
el Pascal.
-Cuarta
generación (1970-1980)
Aparecen
nuevos circuitos con mayor nivel de integración, por lo que los ordenadores
reducen aún más su tamaño.
En
este periodo la empresa Intel desarrolla su primer microprocesador. Aparecen
nuevos entornos y lenguajes de programación como el C y el Prolog.
-Quinta
generación ( a partir de 1981)
En
1981 IBM construyó el primer ordenador personal y revolucionó el mercado
informático.
La
utilización de circuitos con mayor nivel de integración, la bajada de precios y
el continuo aumento de prestaciones y servicios generalizan la difusión del
ordenador.
El
uso masivo de ordenadores genera la necesidad de comunicarlos, provocando la
aparición de las redes como Internet.
APLICACIONES DE LA INFORMÁTICA
Dadas las características de las computadoras: gran
capacidad de almacenamiento, manejo de la información, alta precisión y rapidez
en la realización de cálculos, costos, etc. Han sido adoptadas como herramienta
en la mayoría de las actividades. Entre las muchas y diversas aplicaciones de
las computadoras podemos encontrar las siguientes:
Gestiones empresariales: Por medio de la Ofimática,
los trabajos administrativos de oficina se han visto altamente favorecidos.
Pueden realizar gestión de personal, procesos de nóminas, control de
inventarios, gestión de almacén, facturación, contabilidad, correspondencia,
administrar gestión de comunicaciones, gestión administrativa en los sistemas
de información, etc. Cuyo objetivo es la ayuda para la toma de decisión y
análisis de todo lo relacionado con los negocios.
Aplicaciones
Industriales: Ocupan un lugar importante en los procesos de fabricación.
En la industria para controlar tareas donde la exactitud y la velocidad de
respuesta son muy importantes. Para controlar robots que realizan operaciones
automáticas de montaje, movimiento, etc. En la industria automotriz, los
automóviles se arman, pintan y son probados por robots controlados por medios
informáticos. El papel del hombre se restringe a la inspección final y detalles
de terminación (Supervisión). El diseño asistido por computadoras no sólo
permite la gratificación sino también simular pruebas para detectar fallas y
corregirlas.
Aplicaciones técnico-científicas:
Las computadoras son utilizadas como herramientas para un sinfín de tareas. Participan
en la confección de pronósticos meteorológicos, control ambiental, de tránsito,
de comunicaciones, satélites artificiales, aeronavegación, reconocimiento de
materiales, simulación de procesos, pagos automáticos variados, etc.
Aplicaciones médicas: En la medicina va desde el
control clínico de pacientes hasta la investigación y desarrollo de nuevos
métodos para tratar enfermedades y pacientes. En la aplicación de diagnósticos
clínicos, mantenimiento de historias clínicas, monitoreo de pacientes en terapia
intensiva, análisis clínicos, ecografías, diagnósticos por imágenes,
tomografías, resonancias magnéticas, etc.
Aplicaciones militares: En el campo militar ha sido
pionera y predecesora a las demás aplicaciones (ref.: Internet).
Se destacan los sistemas computarizados de radar, conducción automatizada de
misiles, espionaje militar por satélite, manejo de sistemas de comunicaciones,
sistemas de seguridad y defensa, etc.
Aplicaciones
financieras: El mercado financiero mundial es manejado por tecnologías
informáticas. Intercambiar ideas, realizar transacciones y transferencias de
fondos a través de redes informáticas internacionales permiten a los inversores
financieros competir en una economía cada vez más globalizada. El apoyo
cibernético a esta economía global ha creado un sistema de transferencia
electrónica de fondos para simplificar la realización de movimientos de dinero
bancario. En consecuencia de su utilización masiva se ha comenzado a hablar de
dinero plástico, banca electrónica o dinero electrónico, como reemplazante del
dinero, cheques, pagarés y otras formas de pagos. El uso de cajeros automáticos
para la realización de movimientos de fondos, reemplazando a las operaciones
bancarias.
Aplicaciones educativas: En el campo educativo
existen dos puntos de vistas: uno la necesidad de incluir la informática como
materia en los planes de estudios, debido que la computadora es una herramienta
esencial en todos los ámbitos, es necesario que toda persona formada posea los
conocimientos necesarios para el aprovechamiento de la misma. La otra como
complemento de la formación de los estudiantes por medio de las técnicas EAO o
enseñanza asistida por computadoras. Proporcionando características didácticas
importantes, perseverancia, paciencia, disponibilidad, atención, ritmos de
aprendizajes, etc. a los condicionamientos particulares del alumno.
Aplicaciones domésticas: La introducción de la computadora en los hogares,
conocido como domótica, ha reducido sus precios tanto en la creación como en la
difusión de una gran cantidad de software general y específico, de aplicación a
un elevado número de tareas que realizamos tanto en el trabajo como en el
hogar. En diversas tareas como la contabilidad casera, planificación de menús,
dietas, sistema de control de iluminación y temperaturas, sistemas de alarmas y
seguridad, entretenimientos, etc. La difusión de paquetes integrados con
procesadores de textos, planillas de cálculo, base de datos, software de
comunicaciones, etc. Conexión a la red telefónica, posibilitando el acceso a
los sistemas de correo electrónico, a Internet, operaciones bancarias,
telecompras, cursos a distancia, etc.
El Hogar
Digital o Vivienda Inteligente es una casa
donde las necesidades de los habitantes referente a la seguridad, confort,
gestión y control, ocio y entretenimiento, telecomunicaciones, ahorro de
energía, tiempo y recursos son atendidas mediante la integración de sistemas,
productos, nuevas tecnologías y servicios de áreas como la Domótica, Seguridad,
Multimedia, Informática y Telecomunicación.
Hoy
en día, los hogares disponen de un gran número de equipos y sistemas autónomos
y redes digitales no conectados entre ellos como la
telefonía, los sistemas de acceso, la televisión, las redes de datos (cableados
e inalámbricos), electrodomésticos, equipamiento de audio y video, calefacción,
aire-condicionado, seguridad, riego, iluminación, etc.
El hogar
digital o la vivienda inteligente es el resultado
del proceso de integración de estos equipos y sistemas autónomos:
- Domótica: es
la automatización y control local y remota del hogar (apagar / encender,
abrir / cerrar y regular) de aplicaciones y dispositivos domésticos, con
instalaciones, sistemas y funciones para iluminación, climatización,
persianas y toldos, puertas y ventanas, cerraduras, riego,
electrodomésticos, control de suministro de agua, gas, y electricidad,
etc.
- Multimedia: son los
contenidos de información y entretenimiento, relacionados con la captura,
tratamiento y distribución de imágenes y sonido dentro y fuera de la
vivienda, con instalaciones, sistemas y funciones como radio, televisión,
audio / vídeo "multi-room", cine en casa, pantallas planas,
videojuegos, porteros y video porteros.
- Seguridad y Alarmas: son
sistemas y funciones para alarmas de intrusión, cámaras de vigilancia,
alarmas personales, alarmas técnicas (incendio, humo, agua, gas, fallo de
suministro eléctrico, fallo de línea telefónica etc.).
- Telecomunicaciones: es
la distribución de ficheros textos, imágenes y sonidos, compartiendo
recursos entre dispositivos, el acceso a Internet y a nuevos servicios,
con instalaciones, sistemas y funciones como red de telefonía, telefonía
sobre IP, red local de datos, pasarelas residenciales, routers, acceso a
Internet Banda Ancha, etc.
Otras aplicaciones: Prensa, ocio, entretenimientos, Internet
es sin duda un poderoso recurso para la investigación, la educación, el
entretenimiento, el ocio, la comunicación, entre
muchas otras ventajas. Sin embargo, detrás de estas bondades se esconden
un sin número de amenazas informáticas que ponen en evidencia, la importancia
de tener buenos hábitos de seguridad que nos permitan prevenir potenciales
riesgos y de paso, disfrutar de los beneficios de la red de redes.
TIPOS
DE COMPUTADORES
Supercomputadoras
Una supercomputadora es
la computadora más potente disponible en un momento dado. Estas máquinas están
construidas para procesar enormes cantidades de información en forma muy
rápida. Las supercomputadoras pueden costar desde 10 millones hasta 30 millones
de dólares, y consumen energía eléctrica suficiente para alimentar 100 hogares.
Macrocomputadoras
La
computadora de mayor tamaño en uso común es el macrocomputadora. Las macrocomputadoras
(mainframe) están diseñadas para manejar grandes cantidades de
entrada, salida y almacenamiento.
Minicomputadoras
La
mejor manera de explicar las capacidades de una minicomputadora es diciendo que
están en alguna parte entre las de una macrocomputadora o mainframe y las de
las computadoras personales. Al igual que las macrocomputadoras, las
minicomputadoras pueden manejar una cantidad mucho mayor de entradas y salidas
que una computadora personal. Aunque algunas minis están diseñadas para un solo
usuario, muchas pueden manejar docenas o inclusive cientos de terminales.
Estaciones
de trabajo
Entre
las minicomputadoras y las microcomputadoras (en términos de potencia de
procesamiento) existe una clase de computadoras conocidas como estaciones
de trabajo . Una estación de trabajo se ve como una computadora
personal y generalmente es usada por una sola persona, al igual que una
computadora. Aunque las estaciones de trabajo son más poderosas que la
computadora personal promedio. Las estaciones de trabajo tienen una gran
diferencia con sus primas las microcomputadoras en dos áreas principales. Internamente,
las estaciones de trabajo están construidas en forma diferente que las
microcomputadoras. Están basadas generalmente en otra filosofía de diseño de
CPU llamada procesador de cómputo con un conjunto reducido de
instrucciones (RISC), que deriva en un procesamiento más rápido de las
instrucciones.
Computadoras
personales
Pequeñas
computadoras que se encuentran comúnmente en oficinas, salones de clase y
hogares. Las computadoras personales vienen en todas formas y tamaños. Modelos
de escritorio El estilo de computadora personal más común es también
el que se introdujo primero: el modelo de escritorio. computadoras
notebook Las computadoras notebook, como su nombre lo indica, se
aproximan a la forma de una agenda. Las laptop son las
predecesoras de las computadoras notebook y son ligeramente más grandes que
éstas. Asistentes personales digitales Los asistentes
personales digitales (PDA)son las computadoras portátiles más pequeñas. Las
PDA, también llamadas a veces palmtops, son mucho menos poderosas
que los modelos notebook y de escritorio. Se usan generalmente para
aplicaciones especiales, como crear pequeñas hojas de cálculo, desplegar
números telefónicos y direcciones importantes, o para llevar el registro de
fechas y agenda. Muchas pueden conectarse a computadoras más grandes para
intercambiar datos.
INVESTIGACION II
HARDWARE
HARDWARE
La palabra hardware en
informática se refiere a las partes físicas tangibles de un sistema informático; sus componentes
eléctricos, electrónicos, electromecánicos y mecánicos.1 Cables, gabinetes o cajas,periféricos de todo tipo y cualquier otro elemento
físico involucrado componen el hardware; contrariamente, el soporte lógico e
intangible es el llamado software.
El término es propio del idioma inglés,
su traducción al español no tiene un significado acorde, por tal motivo se lo
ha adoptado tal cual es y suena. La Real Academia Española lo define como «Conjunto de los
componentes que integran la parte material de una computadora».2 El término, aunque sea lo más común,
no solamente se aplica a las computadoras, también es a menudo utilizado en
otras áreas de la vida diaria y la tecnología. Por ejemplo, hardware también se
refiere a herramientas y máquinas, y en electrónica hardware se refiere a todos
los componentes electrónicos, eléctricos, electromecánicos, mecánicos,
cableados y tarjetas de circuito impreso o PCB.
También se considera al hardware como uno de tres pilares fundamentales en diseño electrónico. Otros ejemplos donde se
aplica el término hardware son: un robot3 4 , un teléfono móvil, una cámara fotográfica, un reproductor multimedia o cualquier otro dispositivo
electrónico. Cuando dichos dispositivos procesan datos poseen además de hardware, firmware y/osoftware.
La historia del hardware de computador se puede clasificar en
cuatro generaciones, cada una caracterizada por un cambio tecnológico de importancia. Una primera delimitación
podría hacerse entre hardwareprincipal, como el
estrictamente necesario para el funcionamiento normal del equipo, y el complementario,
como el que realiza funciones específicas.
Un sistema informático se compone de
una unidad central de procesamiento (UCP o CPU), encargada de procesar los
datos, uno o varios periféricos de entrada, los que permiten el
ingreso de la información y uno o varios periféricos de salida, que posibilitan
dar salida (normalmente en forma visual o auditiva)
a los datosprocesados. Su
abreviatura es Hw.
SOFTWARE
Software
viene de la palabra inglesa soft, que significa blando. La palabra software se
utiliza para designar a la parte lógica del ordenador. Se llama parte lógica al
conjunto de programas que se emplean para dirigir y controlar el funcionamiento
del ordenador.
El
software se clasifica en tres grandes grupos, dependiendo de los objetivos para
los que haya sido creado: el software de sistemas, el de programación y el de
aplicación.
El
software de sistemas
El
software de sistemas está formado por los programas que se encargan de
controlar, coordinar y gestionar todo el hardware del ordenador. Estos
programas reciben el nombre de sistemas operativos y actúan como intermediarios
entre los componentes físicos del ordenador y el usuario.
Los
sistemas operativos se clasifican según el tipo de comportamiento que
proporcionan al ordenador, por ejemplo según el número de programas que el
ordenador puede ejecutar a la vez. Si el ordenador solo puede trabajar con un
programa cada vez, se dice que es un sistema operativo monotarea; por el
contrario, se permite que varios programas se ejecuten de forma simultánea,
entonces se denomina multitarea.
Además,
los sistemas operativos también se clasifican según el número de usuarios que
pueden trabajar con el ordenador de forma simultánea. Si sólo puede trabajar un
usuario con él se le denomina monousuario, pero, si pueden trabajar varios a la
vez, se le llama multiusuario.
Los Dispositivos de Entrada:
Estos dispositivos
permiten al usuario del computador introducir datos, comandos y programas en el
CPU. El dispositivo de entrada más común es un teclado similar al de las
máquinas de escribir. La información introducida con el mismo, es transformada
por el ordenador en modelos reconocibles. Los datos se leen de los dispositivos
de entrada y se almacenan en la memoria central o interna. Los Dispositivos de
Entrada, convierten la información en señales eléctricas que se almacenan en la
memoria central.
Los mas comunes
son:
Teclado: El teclado es un dispositivo
eficaz para introducir datos no gráficos como rótulos de imágenes asociados con
un despliegue de gráficas. Los teclados también pueden ofrecerse con
características que facilitan la entrada de coordenadas de la pantalla,
selecciones de menús o funciones de gráficas.
Ratón ó Mouse: Es un dispositivo electrónico
que nos permite dar instrucciones a nuestra computadora a través de un cursor
que aparece en la pantalla y haciendo clic para que se lleve a cabo una acción
determinada; a medida que el Mouse rueda sobre el escritorio, el cursor
(Puntero) en la pantalla hace lo mismo.
Tal procedimiento
permitirá controlar, apuntar, sostener y manipular varios objetos gráficos (Y
de texto) en un programa. A este periférico se le llamó así por su
parecido con un roedor.Existen modelos en los que la transmisión se hace por
infrarrojos eliminando por tanto la necesidad de cableado. Al igual que el
teclado, el Mouse es el elemento periférico que más se utiliza en una PC.
Micrófono: Los micrófonos son los
transductores encargados de transformar energía acústica en energía eléctrica,
permitiendo, por lo tanto el registro, almacenamiento, transmisión y
procesamiento electrónico de las señales de audio. Son dispositivos duales de
los altoparlantes, constituyendo ambos transductores los elementos mas
significativos en cuanto a las características sonoras que sobre imponen a
las señales de audio.
Scanner: Es una unidad de ingreso de
información. Permite la introducción de imágenes gráficas al computador mediante un sistema
de matrices de puntos, como resultado de un barrido óptico del documento. La
información se almacena en archivos en forma de mapas debits (bit maps), o en
otros formatos más eficientes como Jpeg o Gif.
Cámara Digital: se conecta al ordenador y le
transmite las imágenes que capta, pudiendo ser modificada y retocada, o
volverla a tomar en caso de que este mal.
Cámara de Video: Graba videos como si de una
cámara normal, pero las ventajas que ofrece en estar en formato digital, que es
mucho mejor la imagen, tiene una pantalla LCD por la que ves simultáneamente la
imagen mientras grabas. Se conecta al PC y este recoge el video que has
grabado, para poder retocarlo posteriormente con el software adecuado.
Webcam: Es una cámara de pequeñas
dimensiones. Sólo es la cámara, no tiene LCD. Tiene que estar conectada al PC
para poder funcionar, y esta transmite las imágenes al ordenador. Su uso es
generalmente para videoconferencias por Internet, pero mediante el software
adecuado, se pueden grabar videos como una cámara normal y tomar fotos
estáticas; entre otras.
Los Dispositivos de Salida:
Estos dispositivos permiten al usuario ver los resultados de los
cálculos o de las manipulaciones de datos de la computadora. El dispositivo de
salida más común es la unidad de visualización (VDU, acrónimo de Video
Display Unit), que consiste en un monitor que presenta los caracteres y
gráficos en una pantalla similar a la del televisor.
Los tipos de Dispositivos de Salida más Comunes Son:
Pantalla o Monitor: Es en donde se ve la información suministrada por el ordenador. En
el caso más habitual se trata de un aparato basado en un tubo de rayos
catódicos (CRT) como el de los televisores, mientras que en los portátiles es
una pantalla plana de cristal líquido (LCD).
Impresora: es el periférico que el ordenador
utiliza para presentar información impresa en papel. Las primeras impresoras
nacieron muchos años antes que el PC e incluso antes que los monitores, siendo
el método más usual para presentar los resultados de los cálculos en aquellos primitivos
ordenadores.
En nada se parecen las impresoras a sus antepasadas de aquellos tiempos,
no hay duda de que igual que hubo impresoras antes que PCs, las habrá después
de éstos, aunque se basen en tecnologías que aún no han sido siquiera
inventadas.
Altavoces: Dispositivos por los cuales se emiten sonidos procedentes de la
tarjeta de sonido. Actualmente existen bastantes ejemplares que cubren la
oferta más común que existe en el mercado. Se trata de modelos que van desde lo
más sencillo (una pareja de altavoces estér eo), hasta el más complicado
sistema de Dolby Digital, con nada menos que seis altavoces, pasando por
productos intermedios de 4 o 5 altavoces.
Auriculares: Son dispositivos colocados en
el oído para poder escuchar los sonidos que la tarjeta de sonido
envía. Presentan la ventaja de que no pueden ser escuchados por otra persona,
solo la que los utiliza.
Plotters (Trazador de Gráficos):Existen plotters para diferentes tamaños máximos de hojas (A0, A1, A2,
A3 y A4); para diferentes calidades de hojas de salida (bond, calco, acetato);
para distintos espesores de línea de dibujo (diferentes espesores de
rapidógrafos), y para distintos colores de dibujo (distintos colores de tinta
en los rapidógrafos).
Fax: Dispositivo mediante el cual se imprime una copia de otro impreso,
transmitida o bien, vía teléfono, o bien desde el propio fax. Se utiliza para
ello un rollo de papel que cuando acaba la impresión se corta.
CPU
La
unidad central de procesamiento o unidad de procesamiento central (conocida por
las siglas CPU, del inglés: central processing unit), es el hardware dentro de
un ordenador u otros dispositivos programables, que interpreta las
instrucciones de un programa informático mediante la realización de las
operaciones básicas aritméticas, lógicas y de entrada/salida del sistema. El
término, y su acrónimo, han estado en uso en la industria de la Informática por
lo menos desde el principio de los años 1960.1 La forma, el diseño de CPU y la
implementación de las CPU ha cambiado drásticamente desde los primeros
ejemplos, pero su operación fundamental sigue siendo la misma.
Un
ordenador puede tener más de una CPU; esto se llama multiprocesamiento. Todas
las CPU modernas son microprocesadores, lo que significa que contienen un solo
circuito integrado (chip). Algunos circuitos integrados pueden contener varias
CPU en un solo chip; estos son denominados procesadores multinúcleo. Un circuito
integrado que contiene una CPU también puede contener los dispositivos
periféricos, y otros componentes de un sistema informático; a esto se llama un
sistema en un chip (SoC).
Dos
componentes típicos de una CPU son la unidad aritmético lógica (ALU), que realiza
operaciones aritméticas y lógicas, y la unidad de control (CU), que extrae
instrucciones de la memoria, las decodifica y las ejecuta, llamando a la ALU
cuando sea necesario.
No
todos los sistemas computacionales se basan en una unidad central de procesamiento.
Una matriz de procesador o procesador vectorial tiene múltiples elementos
cómputo paralelo, sin una unidad considerada el "centro". En el
modelo de computación distribuido, se resuelven problemas mediante un conjunto
interconectado y distribuido de procesadores.
INVESTIGACIÓN III
TIPOS DE PROGRAMACIÓN
Los tipos o técnicas de programación son
bastante variados, aunque puede que muchos de los lectores sólo conozcan una
metodología para realizar programas. En la mayoría de los casos, las técnicas
se centran en programación modular y programación estructurada, pero existen
otros tipos de programación. Los explicaremos a lo largo del artículo.
Programación
estructurada (PE)
La
programación estructurada esta compuesta por un conjunto de técnicas que han
ido evolucionando aumentando considerablemente la productividad del programa
reduciendo el tiempo de depuración y mantenimiento del mismo.
Esta
programación estructurada utiliza un número limitado de estructuras de control,
reduciendo así considerablemente los errores.
Esta
técnica incorpora:
Diseño
descendente (top-dow): el problema se descompone en etapas o estructuras
jerárquicas.
Recursos
abstractos (simplicidad): consiste en descompones las acciones complejas en
otras más simples capaces de ser resueltas con mayor facilidad.
Estructuras
básicas: existen tres tipos de estructuras básicas:
Estructuras
secuénciales: cada acción sigue a otra acción secuencialmente. La salida de una
acción es la entrada de otra.
Estructuras
selectivas: en estas estructuras se evalúan las condiciones y en función del
resultado de las mismas se realizan unas acciones u otras. Se utilizan
expresiones lógicas.
Estructuras
repetitivas: son secuencias de instrucciones que se repiten un número
determinado de veces.
Las
principales ventajas de la programación estructurada son:
Los
programas son mas fáciles de entender
Se
reduce la complejidad de las pruebas
Aumenta
la productividad del programador
Los
programas queden mejor documentados internamente.
Un
programa esta estructurado si posee un único punto de entrada y sólo uno de
salida, existen de "1 a n" caminos desde el principio hasta el fin
del programa y por último, que todas las instrucciones son ejecutables sin que
aparezcan bucles infinitos.
Programación
modular
En
la programación modular consta de varias secciones dividas de forma que
interactúan a través de llamadas a procedimientos, que integran el programa en
su totalidad.
En
la programación modular, el programa principal coordina las llamadas a los
módulos secundarios y pasa los datos necesarios en forma de parámetros.
A su
vez cada modulo puede contener sus propios datos y llamar a otros módulos o
funciones.
Programación
orientada a objetos (POO)
Se
trata de una técnica que aumenta considerablemente la velocidad de desarrollo
de los programas gracias a la reutilización de los objetos.
El
elemento principal de la programación orientada a objetos es el objeto.
El
objeto es un conjunto complejo de datos y programas que poseen estructura y
forman parte de una organización.
Un
objeto contiene varios datos bien estructurados y pueden ser visibles o no
dependiendo del programador y las acciones del programa en ese momento.
El
polimorfismo y la herencia son unas de sus principales características y por
ello dedicaremos más adelante un artículo exclusivamente a tratar estos dos
términos.
En
DesarrolloWeb.com hemos publicado anteriormente una explicación de lo que es la
programación orientada a objetos.
Programación
concurrente
Este
tipo de programación se utiliza cuando tenemos que realizar varias acciones a
la vez.
Se
suele utilizar para controlar los accesos de usuarios y programas a un recurso
de forma simultanea.
Se
trata de una programación más lenta y laboriosa, obteniendo unos resultados
lentos en las acciones.
Programación
funcional
Se
caracteriza principalmente por permitir declarar y llamar a funciones dentro de
otras funciones.
Programación
lógica
Se
suele utilizar en la inteligencia artificial y pequeños programas infantiles.
Se trata de una programación basada en el cálculo de predicados (una teoría
matemática que permite lograr que un ordenador basándose en hecho y reglas
lógicas, pueda dar soluciones inteligentes).
Lenguaje de alto nivel
Lenguaje de alto nivel
Un lenguaje de programación de alto nivel se caracteriza por
expresar el algoritmo de una manera adecuada a la capacidad cognitiva humana, en lugar de la capacidad
ejecutora de las máquinas.
En los
primeros lenguajes, la limitación era que se orientaban a un área específica y
sus instrucciones requerían de una sintaxis predefinida. Se clasifican como
lenguajes procedimentales o lenguajes de bajo nivel. Otra limitación
de estos es que se requiere de ciertos conocimientos de programación para
realizar las secuencias de instrucciones lógicas. Los lenguajes de alto nivel
se crearon para que el usuario común pudiese solucionar un problema de
procesamiento de datos de una manera más fácil y rápida.
Por esta razón, a finales de los años 1950 surgió un nuevo tipo de lenguajes de programación que evitaba estos inconvenientes, a costa de ceder un poco en las ventajas. Estos lenguajes se llaman de tercera generación o de nivel alto, en contraposición a los de bajo nivel o de nivel próximo a la máquina.
Lenguaje de alto nivel se refiere al nivel más
alto de abstracción de lenguaje de máquina. En lugar de tratar con registros,
direcciones de memoria y las pilas de llamadas, lenguajes de alto nivel se
refieren a las variables, matrices, objetos, aritmética compleja o expresiones
booleanas, subrutinas y funciones, bucles, hilos, cierres y otros conceptos de
informática abstracta, con un enfoque en la facilidad de uso sobre la
eficiencia óptima del programa.
LENGUAJE
BAJO NIVEL
Un lenguaje de programación de características bajo nivel
es aquel en el que sus instrucciones ejercen un control directo sobre el
hardware y están condicionados por la estructura física de las computadoras que
lo soportan. El uso de la palabra bajo en su denominación no implica que el
lenguaje sea menos potente que un lenguaje de alto nivel, sino que se refiere a
la reducida abstracción entre el lenguaje y el hardware. Por ejemplo, se
utiliza este tipo de lenguajes para programar tareas críticas de los sistemas
operativos, de aplicaciones en tiempo real o controladores de dispositivos.
Dicho lenguaje es muy simple o nada complicado, pero
estructurar programas a ese nivel es muy difícil. Dado que este lenguaje viene
dado por las especificaciones técnicas del hardware, no permite una abstracción
fuera de lo estipulado para el microprocesador de un ordenador.
Consecuentemente, es fácilmente trasladado a lenguaje de máquina.
La estructura de los lenguajes son como sigue:
0. Código Binario - Es el lenguaje básico, sólo admite
todo (1) o nada (0). Todo sistema informático está basado en este código, ya
que el 1 (todo, SÍ) quiere decir que se permite el paso de la electricidad y el
0 (nada, NO) no lo permite. Sería la forma en la que están almacenados los
programas, sea en memoria, sea en dispositivos de almacenamiento. De esta forma
son recibidas y ejecutadas cada una de las instrucciones por la CPU del
ordenador.
1. Lenguaje Máquina - Las invocaciones a memoria, como
los procesos aritméticos lógicos son posiciones literales de conmutadores
físicos del hardware en su representación booleana. Estos lenguajes son
literales de tareas.
2. Lenguajes ensambladores - También denominados
nemotécnicos o nemónicos, no son ya programas ejecutables directamente por el
ordenador, sino textos de código fuente que necesitan de alguna herramienta
para su conversión a lenguaje máquina, son los programas llamados
ensambladores. Sus instrucciones suelen ser una denominación abreviada de la
instrucción máquina que simbolizan, y tienen una correspondencia casi directa a
las instrucciones máquina que representan. El código resultante de la ejecución
del programa ensamblador generaría un código binario ejecutable.
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.
Por ejemplo: La arquitectura CISC contiene muchas más
instrucciones a este nivel, que la RISC.
Los otros lenguajes que completan la clasificación no
serían ya lenguajes de bajo nivel.
3. Lenguajes de medio nivel - Son aquellos que, basándose
en los juegos de instrucciones disponibles (chip set), permiten el uso de
funciones a nivel aritmético, pero a nivel lógico dependen de literales en
ensamblador. Estos lenguajes están orientados a procedimientos. Los
procedimientos se componen de procesos.
Ejemplos: C, Basic.
4. Lenguajes de alto nivel - Son aquellos que permiten
una máxima flexibilidad al programador a la hora de abstraerse o de ser
literal. Permiten un camino bidireccional entre el lenguaje máquina y una
expresión casi oral entre la escritura del programa y su posterior compilación.
Estos lenguajes están orientados a objetos. Los objetos se componen de
propiedades cuya naturaleza emerge de procedimientos.
Ejemplos: C++, Fortran, Cobol, Lisp.
E.A. Lenguajes de aplicaciones - Son aquellos que no
permiten una bidireccionalidad conceptual entre el lenguaje máquina y los
lenguajes de alto nivel, ni tampoco la literalidad a la hora de invocar
conceptos lógicos. Se basan en librerías creadas en lenguajes de alto nivel.
Pueden permitir la creación de nuevas librerías, pero son propietarias y
dependientes de las suministradas por la aplicación. Estos lenguajes están
orientados a eventos. Los eventos acontecen cuando las propiedades de un objeto
interactúan con otro.
Ejemplos: Visual Basic para aplicaciones.
E.B. Lenguajes de redes - Son aquellos que se basan en un
convenio de instrucciones totalmente independientes de la máquina, y
completamente dependientes de la red a la que están orientadas. Se dividen en
descriptivos (HTML, XML, VML), de cliente-Servidor (Java, PHP) y de script
(javascript).