Вы находитесь на странице: 1из 35

UNIVERSIDAD DE EL SALVADOR

FACULTAD DE INGENIERIA Y ARQUITECTURA


ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
INTRODUCCION A LA INFORMATICA Ciclo I 2016
UNIDAD I: TECNOLOGIA DE DESARROLLO DE APLICACIONES

Objetivos de la Unidad:
1. Conocer la historia del desarrollo de la Informtica y los conceptos que se relacionan con ella.
2. Conocer y diferenciar los tipos de programacin que existen.
3. Descubrir y desarrollar formas, guas generales y estilos de programacin junto con los estudiantes
para resolver problemas de complejidad media.

Contenido de la Unidad: 1. Introduccin a las TDA


1.1. Terminologa Bsica
1.2. Resea Histrica
1.3. Generaciones de Computadoras
1.4. Tipos y Clasificacin de Computadoras
1.5. Funcionamiento del Computador
1.6. Aplicaciones Conectadas y Desconectadas
1.7. Cloud Computing
1.8. Internet de las Cosas
2. IDE - Componentes y Funciones
2.1. Introduccin
2.2. Framework .NET
3. Paradigmas de Programacin Clasificacin
3.1. Programacin Estructurada
3.2. Programacin Declarativa
3.3. Programacin Orientada a Objetos
3.4. Programacin Orientada por Eventos
4. Clasificacin de los Lenguajes de Programacin
4.1. Bajo y Alto Nivel
4.2. Programacin Imperativa y Declarativa
4.3. Intrpretes
4.4. Compiladores

1. Introduccin a los TDA


Se explorarn los acontecimientos que ocurrieron a travs de la historia de la humanidad y que
permitieron que surgiera la era de la informtica; as como las diferentes generaciones de
computadoras y sus respectivas caractersticas tcnicas tecnolgicas hasta las computadoras
actuales.
Tambin se presentan algunos conceptos que se utilizarn en el desarrollo de la asignatura;
descripcin de componentes fsicos y lgicos que constituyen una computadora y su interrelacin;
situacin actual de la informtica y algunas de sus aplicaciones en los diferentes campos de accin
en que se encuentra contribuyendo al desarrollo tecnolgico.
1.1. Terminologa Bsica
Datos: La palabra "datos" (data en latn e ingls) es el plural de dato, que significa "hecho". Los
datos, por lo tanto, son hechos o material original de informacin. Son representados por
smbolos, es decir que son considerados como un conjunto de smbolos que caracterizan un
hecho o situacin. Ejemplos de datos de una persona son: su nombre, su direccin, su telfono,
el nmero nico de identificacin, etc.
Informacin: La informacin es un conjunto de datos arreglados y ordenados de forma til. En
otras palabras, la informacin es el conocimiento relevante producido como resultado del
procesamiento de datos y adquirido por la gente para realzar el entendimiento y cumplir
propsitos especficos.

Computadora: Mquina compuesta de elementos fsicos capaz de aceptar unos datos de


entrada, realizar con ellos operaciones lgicas y matemticas con gran velocidad y precisin, y
proporcionar los resultados a travs de algn medio de salida, todo esto es llevado a cabo sin la
intervencin humana y bajo el control de un programa de instrucciones previamente almacenado
en la propia computadora. Por consiguiente, un computador lo podemos representar por medio
del siguiente esquema:

RECIBE
Datos
Ordenes codificadas
o programas

SISTEMA DE PROCESO

COMPUTADORA

DEVUELVE
Resultados o
Informacin til

Una computadora entonces, es un dispositivo electrnico que


recibe datos y programas codificados, los cuales procesa para
obtener los resultados que se requieren.

Informtica: El origen de este trmino obedece a la fusin de los trminos informacin y


automtica, y hace referencia al conjunto de conocimientos cientficos y de tcnicas que hacen
posible el tratamiento automtico y racional de la informacin por medio de computadoras.

Programa: Conjunto de rdenes o instrucciones que se le dan a una computadora para que
sta realice un proceso o tarea determinada. Las rdenes que integran un programa indican a la
computadora las tareas u operaciones que han de ser realizadas para llevar a cabo el proceso
requerido.

Procesamiento Electrnico de Datos: El proceso de transformar los datos (materia prima) en


resultado (producto) al ejecutar algn algoritmo, es lo que se llama procesamiento de datos. A
travs del tiempo, este procesamiento se ha efectuado manualmente, con mquinas, medios
electromecnicos y electrnicos. El procesamiento de datos es electrnico, si la transformacin
se hace con un computador digital o electrnico.

1.2. Resea Histrica


Tratar acerca del surgimiento de la informtica es remontarse a las primeras necesidades que la
humanidad encontr para poder resolver sus clculos matemticos; en un inicio utilizaba piedras
para contar, sucesivamente fueron apareciendo nuevas formas o instrumentos que permitan al
hombre satisfacer sus necesidades hasta llegar a contar con una tecnologa apropiada a lo que hoy
en da demanda el hombre y su trabajo en todas sus reas. Algunos eventos histricos relevantes,
se listan a continuacin:
Uno de los primeros artefactos mecnicos para calcular que se conoce es el baco, aparato que
todava se sigue usando en algunos pases de oriente.
Los primeros vestigios de instrumentos de clculo en el mundo
occidental se dan despus del Renacimiento cuando el matemtico
escocs John Napier (1550-1617), basado en su teora de que todas
las cifras numricas podan expresarse en forma exponencial,
inventa los logaritmos, que permiten reducir a sumas y restas las
operaciones de multiplicacin y divisin.

Otro de los hechos importantes en la evolucin de la informtica se sita en el siglo XVII, donde el
cientfico francs Blaise Pascal invent una mquina calculadora, que nicamente realizaba
operaciones de sumas y restas.
El dispositivo de Pascal, sirvi como base para que el alemn Leibnitz, en el siglo XVIII,
desarrollara una mquina que, adems de realizar operaciones de adicin y sustraccin, poda
efectuar operaciones de producto y cociente.
En el siglo XIX se comercializaron las primeras mquinas de calcular. En este siglo el matemtico
ingls Babbage desarroll lo que se llam "Mquina Analtica", la cual poda realizar cualquier
operacin matemtica. Adems, dispona de una memoria que poda almacenar 1000 nmeros
de 50 cifras y hasta poda usar funciones auxiliares; sin embargo segua siendo una mquina de
funcionamiento mecnico.
Recin en el primer tercio del siglo XX, con el desarrollo de la electrnica, se empiezan a
solucionar los problemas tcnicos que acarreaban estas mquinas, reemplazndose los sistemas
de engranaje y varillas por impulsos elctricos, establecindose que cuando hay un paso de
corriente elctrica ser representado con un *1* y cuando no haya un paso de corriente elctrica
se representara con un *0*.
Con el desarrollo de la segunda guerra mundial, Howard H. Aiken construye el primer
computador, el cual fue llamado Mark I. El Dr. Aiken se bas en la mquina analtica de
Babbage, conformando la Mark I por 78 mquinas sumadoras conectadas entre s mediante 800
km. de cable y reciba instrucciones por medio de cintas perforadas.
En 1946 se construy la ENIAC, como se denomin a la primera computadora con fines
prcticos. En 1951 son desarrollados el Univac I y el Univac II, a partir de los cuales los
avances en la tecnologa suceden a velocidad vertiginosa, hasta llegar a nuestros das (poca de
computadoras cada vez ms pequeas y ms potentes), en los que los cambios no han dejado
de surgir.

RECURSOS: Para completar esta seccin, ver en www.youtube.com los siguientes videos:
1. La Historia de la Computadora y Computacin Documental Completo
2. La Historia del Internet (Discovery Channel)
3. Historia de Internet
4. Documentales Contnuos: Documental La Historia de Internet
1.3. Generaciones de Computadoras
De acuerdo a la tecnologa que se utiliza en las computadoras a travs del tiempo, stas se clasifican
en generaciones, siendo siempre la nica diferencia entre una y otra la novedad tecnolgica de la
poca.

1 Generacin: Se desarrolla entre 1940 y 1952. Es la poca de


los computadores que funcionaban a vlvulas y el uso era
exclusivo para el mbito cientfico/militar. Para poder programarlos
haba que modificar directamente los valores de los circuitos de las
mquinas. Ejemplos: Mark I, ENIAC , UNIVAC I

2 Generacin: Va desde 1952 a 1964. Esta surge cuando


se sustituye la vlvula por el transistor. En esta generacin
aparecen las primeras computadoras comerciales, las cuales
ya tenan una programacin previa que seran los sistemas
operativos. stos interpretaban instrucciones en lenguaje de
programacin (Cobol, Fortran), de esta manera, el
programador escriba sus programas en esos lenguajes y el
computador era capaz de traducirlo al lenguaje mquina.

3 Generacin: Se dio entre 1964 y 1971. Es la


generacin en la cual se comienzan a utilizar los
circuitos integrados; esto permiti por un lado abaratar
costos y por el otro aumentar la capacidad de
procesamiento reduciendo el tamao fsico de las
mquinas. Por otra parte, esta generacin es importante
porque se da un notable mejoramiento en los lenguajes
de programacin y, adems, surgen los programas
utilitarios. Destaca la familia IBM 360 en cuyo desarrollo
invirti 5000 millones de dlares de aquella poca(1964)
y sobre todo la IBM 370 (1970)

4 Generacin: Aparecen los microprocesadores que es un gran adelanto


de la microelectrnica, son circuitos integrados de alta densidad y con una
velocidad impresionante. Las microcomputadoras con base en estos
circuitos son extremadamente pequeas y baratas, por lo que su uso se
extiende al mercado industrial. Aqu nacen las computadoras personales
que han adquirido proporciones enormes y que han influido en la sociedad
en general sobre la llamada "revolucin informtica". Se desarrollan las
microcomputadoras, y supercomputadoras. Tambin se inicia la ejecucin
de programas en distintas mquinas, compartiendo recursos de
almacenamiento y perifricos.
5 Generacin: Para algunos especialistas ya se inici la
quinta generacin, en la cual se busca hacer ms poderoso el
Computador en el sentido que sea capaz de hacer inferencias
sobre un problema especfico. Se basa en la inteligencia
artificial. El Hardware de esta generacin se debe caracterizar
por circuitos de fibra ptica que le permita mayor rapidez e
independencia de procesos, arquitectura de micro canal para
mayor fluidez a los sistemas, esto provee mayor nmero de
vas para ayudar a manejar rpido y efectivamente el flujo de
informacin. Adems se estn buscando soluciones para
resolver los problemas de la independencia de las soluciones y
los procesos basndose para ello en Sistemas Expertos (de
inteligencia artificial) capaces de resolver mltiples problemas
no estructurados y en Computadores que puedan simular
correctamente la forma de pensar del ser humano.

1.4. Tipos y Clasificacin de Computadoras


Las computadoras tambin pueden clasificarse por el tipo de seales que aceptan y con las que
trabajan, generando los siguientes tipos:
Analgicas:
La computadora anloga es la que acepta y procesa seales continuas, tales como: fluctuaciones de
voltaje o frecuencias. Ejemplo: El termostato es la computadora anloga ms sencilla.

seales analgicas

(accin continua)

Digitales:
La computadora digital es la que acepta y procesa datos que han sido convertidos al sistema
binario. La mayora de las computadoras son digitales.

seales digitales

(accin discreta)

Hbridas:
La computadora hbrida es una computadora digital que procesa seales anlogas que han sido
convertidas a forma digital. Es utilizada para control de procesos y en robtica.

Atendiendo al propsito para el cual fueron diseadas y construidas, las computadoras pueden ser:
Propsito Especfico: La computadora de propsito especfico est dedicada a un solo propsito
o tarea. Pueden ser usadas para producir informes del tiempo, monitorear desastres naturales,
hacer lecturas de gasolina y como medidor elctrico. Ejemplo: carros de control remoto, horno
microondas, relojes digitales, cmaras, procesador de palabras, etc.
Propsito General: La computadora de propsito general se programa para una variedad de
tareas o aplicaciones. Son utilizadas para realizar clculos matemticos, estadsticos,
contabilidad comercial, control de inventario, nmina, preparacin de inventario, etc. Ejemplo:
servidores, laptops, computadoras de mesa (desktop)
Tambin pueden clasificarse, por su capacidad de procesamiento y almacenaje de datos:
Supercomputadora: La supercomputadora tiene una gran capacidad computo, que realiza a
enormes velocidades, es la ms rpida y, por lo tanto, la ms cara. Cuesta millones de dlares y
se hacen de dos a tres al ao, para grandes empresas o Universidades prestigiosas. Procesan
billones de instrucciones por segundo. Son utilizadas para trabajos cientficos, particularmente
para crear modelos matemticos del mundo real, llamados Simulacin. Algunos ejemplos de uso

lo son: exploracin y produccin petrolera, anlisis estructural, dinmica de fluidos


computacional, fsica, qumica, diseo electrnico, investigacin de energa nuclear,
meteorologa, diseo de automviles, efectos especiales de pelculas, trabajos sofisticados de
arte, planes gubernamentales y militares y la fabricacin de naves espaciales por
computadoras. Ejemplo: Cray 1, Cray 2.
Mainframe: Los "mainframe" son computadoras grandes, rpidas, capaces de utilizar cientos de
dispositivos de entrada y salida. Procesan millones de instrucciones por segundo. Su velocidad
operacional y capacidad de procesar hacen que los grandes negocios, el gobierno, los bancos,
las universidades, los hospitales, compaas de seguros, lneas areas, etc. confen en ellas. Su
principal funcin es procesar grandes cantidades de datos rpidamente. Estos datos estn
accesibles a los usuarios del "mainframe" o a los usuarios de las microcomputadoras cuyos
terminales estn conectados al "mainframe". Su costo flucta entre varios cientos de miles de
dlares hasta el milln. Requieren de un sistema especial para controlar la temperatura y la
humedad. Tambin requieren de un personal profesional especializado para procesar los datos y
darle el mantenimiento. Ejemplo: IBM 360.
Minicomputadora: La minicomputadora se desarroll en la
dcada de 1960 para llevar a cabo tareas especializadas, tales
como el manejo de datos de comunicacin. Son ms
pequeas, ms baratas y ms fciles de mantener e instalar
que los "mainframes". Su costo est entre los cincuenta mil
hasta varios cientos de miles. Usadas por negocios, colegios y
agencias gubernamentales. Su mercado ha ido disminuyendo
desde que surgieron las microcomputadoras. Ejemplos: PDP1, PDP-11, Vax 20, IBM sistema 36.
Microcomputadora: La microcomputadora es conocida como
computadora personal o PC. Es la ms pequea, gracias a los
microprocesadores, es la ms barata y ms popular en el
mercado. Su costo flucta entre varios cientos de dlares
hasta varios miles de dlares. Puede funcionar como unidad
independiente o estar en red con otras microcomputadoras o
como un terminal de un "mainframe" para expandir sus
capacidades. Puede ejecutar las mismas operaciones y usar
los mismos programas que muchas computadoras superiores,
aunque
en
menor
capacidad. Ejemplos: MITS Altair,
Macintosh, serie Apple II, IBM PC, Dell, Compaq, Gateway, etc.
Existen diferentes tipos de microcomputadoras en el mercado
mundial, entre las cuales podemos mencionar:
DESKTOP: Nombre con el que se conoce a la PC (Personal Computer) que se ubica sobre un
escritorio o mueble. Est formada por varias partes y es raro que se cambie de lugar.

PORTTIL: Es la PC que se puede mover con facilidad, ya que todas


sus componentes forman una unidad y no pesan mucho. Existen de
diferentes capacidades y la mayora usa una batera como fuente de
poder. La computadora "Laptop" tiene una pantalla plana (pesa entre 5
y 12 lbs.). La computadora "Notebook" es ms pequea y pesa
alrededor de 5 lbs. o menos.

PALMTOP:
Es la computadora del tamao de una calculadora de
manos. Utiliza batera y puede ser conectada a la desktop para transferir
datos. Ejemplos: Apple Newton, Hewlett-Packard's 95 LX.
En esta
categora se encuentran los ipad y los telfonos celulares que nos permiten
tener acceso a Internet y otras herramientas de programacin.
1.5. Funcionamiento del Computador
Se ha definido una computadora como una mquina que recibe datos y rdenes que al ejecutarlas
producen cierta informacin; todos los datos e informacin que se almacena en la computadora, se
representa en forma codificada, ya que las computadoras no entienden ningn idioma humano
(espaol, ingls, francs, etc.), sino que ellas manejan su propio lenguaje de mquina, ste forma un
cdigo que utiliza solo dos smbolos cero (0) y uno (1), para representar cualquier dato u orden que
se le brinde.
En resumen podemos decir que una computadora es un conjunto de tecnologas capaz de efectuar
cuatro operaciones: Aceptar entradas (datos y programas), Producir salidas (o informacin), Procesar
los datos y Almacenar informacin.
Entrada

Salida

Datos
Ordenes (o programas)

Datos de salida
INFORMACIN UTIL

Bsicamente los componentes de una computadora son: La parte fsica, conocida como Hardware y
la parte lgica, conocida como Software.
ESTRUCTURA FISICA o HARDWARE. La estructura fsica de un equipo informtico, normalmente
se identifica como todo aquello tangible, "que se puede tocar".
El significado del trmino hardware no es fcil de expresar en espaol con una sola palabra;
literalmente se debe entender como conjunto de tiles duros; en el contexto que nos ocupa, el
hardware de un computador, como se dijo anteriormente, es el conjunto de dispositivos fsicos que lo
componen.
A continuacin, se estudian cada una de las partes que componen la estructura fsica de una
computadora:
Unidad Central de Proceso. La UCP ms conocida por sus siglas en ingls CPU (Central
Proccessing Unit) representa el cerebro de la computadora y all es donde se procesa la informacin
recibida, por lo que casi siempre nos referimos a ella como el procesador. La UCP est formada por
la unidad de control (UC), que clasifica y organiza las instrucciones recibidas, y la unidad
aritmtica y lgica (UAL), que las ejecuta.
Tambin la UCP est provista de unos registros que proporcionan almacenamiento interno a la UCP;
as como por mecanismos de interconexin (buses) que permiten la comunicacin entre la unidad
de control, la unidad aritmtica y lgica y los registros. Grficamente:

CPU
ALU

UC

Interconexin
interna a la CPU
Registros

Fsicamente, el procesador es un microchip y consta de unos circuitos electrnicos que permiten


realizar operaciones elementales con la informacin. El procesador se conecta con el resto de los
componentes de un computador mediante unas patillas metlicas, cada una de las cuales transporta
informacin binaria a travs de los buses de comunicacin.
El objetivo de la UC consiste en controlar el funcionamiento de la UCP y por tanto del computador.
Recibe la instruccin que se va a ejecutar, determina su tipo (clculo aritmtico, lgico, ...), determina
si esa instruccin necesita argumento almacenado en la memoria, lee (en su caso) las direcciones de
memoria que contienen los argumentos de la instruccin y da la orden correspondiente a la UAL.
Por su parte, la labor de la UAL es la de procesamiento de datos. Ejecuta las instrucciones
aritmticas y lgicas, una vez que la UC ha determinado su tipo y ha ledo sus argumentos (s los
hubiere). Las instrucciones que llegan a la UAL son muy sencillas, y se reducen a un clculo
aritmtico elemental (segn el tipo de procesador, elemental significar bien suma resta o bien
suma resta multiplicacin divisin), un clculo lgico (and, or, ...), o una instruccin de salto o
bifurcacin.
La siguiente figura muestra la estructura bsica de un computador:

Unidad Central de Proceso


(CPU)
Unidad
de
Control

Unidad
Aritmtica y
Lgica (ALU)

Memoria
Principal

BUS

Controlador
de pantalla

Monitor

Controlador
de teclado

Controlador
de disco

Controlador
en serie

Controlador
en paralelo

Controlador
Universal

Teclado

Unidad
de disco

Puerto
Serie

Puerto
Paralelo

Puerto
USB

Unidad de Almacenamiento: La memoria se encarga de intercambiar informacin con el procesador


segn las necesidades de ste. Con la tecnologa actual los procesadores alcanzan velocidades de
varios millones de cmputos por segundo, lo que obliga a la memoria a tener una velocidad
semejante a fin de no menguar la eficiencia del computador. Por otra parte la capacidad de memoria
es otra caracterstica interesante, ya que, en principio, no se podran ejecutar programas que no
pudieran ser cargados completamente en memoria. Las caractersticas de velocidad y capacidad
estn reidas entre s, por lo que es necesario alcanzar un compromiso entre ambas dependiendo de
la finalidad. Segn el compromiso alcanzado se puede destacar varios niveles jerrquicos de
memoria: de ms rpida y cara (por lo que suele tener menos capacidad) a menos rpida y mayor
capacidad:

Memoria principal

Memoria secundaria o memoria auxiliar


El ltimo tipo de memoria se considera como dispositivo perifrico de almacenamiento y se tratar
en el apartado de los perifricos.
Memoria Principal: almacena o guarda el conjunto de instrucciones (programa) que est siendo
ejecutado, junto con los datos de entrada y de salida de la ejecucin, del mismo.
Fsicamente, la memoria est dividida en celdas con una capacidad de informacin de un Bit
(abreviacin de Binary digit) agrupadas en palabras de memoria, de ah que, la unidad mnima de
memoria es el Bit, y se puede almacenar en l, un cero o un uno, que como se dijo anteriormente es
lo que la mquina comprende. Debido a que los datos que se almacenan en la computadora son, la
mayora de ellos, distintos de ceros y unos, se unieron ocho bit y dieron cabida a datos diferentes. Al
conjunto de ocho bit se le conoce como Byte. De este nacen mltiplos tales como:

1 Kilobyte (1KB)
1 Megabyte(1MB)
1 Gigabyte (1GB)
1 Terabyte (1TB)
1 Petabyte(1PB)
1 Exabyte(1 EB)

= 1024 Bytes (210)


= 1024 KB (220)
= 1024 MB (230)
= 1024 GB (240)
= 1024 TB (250)
= 1024 PB (260)

Cada letra, nmero o smbolo es traducido a un cdigo de 8 bits, cada carcter del teclado tiene
relacionado un cdigo binario. Existen cdigos estandarizados para representar estos caracteres
entre ellos el Cdigo ASCII, el EBCDIC y el Unicode.
Cdigo ASCII: (American Standard Code for Information Interchange)
Cdigo EBCDIC: (Extended Binary Coded Decimal Interchange Code)
Cdigo Unicode: ( Universal Code )

Estos son cdigos que asocian cada carcter con una determinada secuencia de bits. Son cdigos de
entrada y salida de datos, es decir que los datos que se le dan a una computadora se transforman
primero a estos cdigos y de aqu al cdigo binario; y la informacin que la computadora produce en
cdigo binario se convierte primero en uno de estos cdigos y luego a los caracteres que los
humanos manejan (nmeros decimales, letras o smbolos).
El cdigo ASCII bsico utiliza 7 bits (dgitos binarios, 0, 1) para cada carcter a representar, lo que
supone un total de 27 (128) caracteres distintos. El cdigo ASCII ampliado utiliza 8 bits y, en ese caso
consta de 256 caracteres. Este cdigo ASCII ha adquirido una gran popularidad, ya que es el
estndar en todas las familias de computadoras personales.

El cdigo EBCDIC utiliza 8 bits por carcter y, por consiguiente, consta de 256 caracteres distintos.
Su notoriedad reside en ser el utilizado por la firma IBM (sin embargo, en las computadoras
personales PC, XT, AT y PS/2 ha seguido el cdigo ASCII).
El cdigo universal Unicode para aplicacin en Internet y en gran nmero de alfabetos
internacionales. Esta representacin admite hasta 65,536 caracteres diferentes.
Se ha dicho anteriormente que las memorias son dispositivos de lectura y escritura, y esto es cierto
cuando se habla de la memoria RAM (del ingls Random Access Memory, memorias de acceso
aleatorio). Son memorias voltiles en el sentido de que necesitan la alimentacin elctrica para
conservar la informacin. Dentro de este tipo de memorias se puede distinguir las RAM estticas y las
RAM dinmicas. Las estticas se caracterizan por tener un tiempo de acceso igual a cada direccin
de memoria (cada direccin tiene su propio camino de acceso dentro del microchip, generalmente
construido con semiconductores).
En las RAM dinmicas la informacin necesita ser recordada peridicamente, ya que se va
descargando con el tiempo. Esta prdida de informacin es debido a que estn constituidas usando
pequeos condensadores. La razn de ser de este tipo de memorias es la economa, pues
generalmente son ms baratas que las estticas.
Sin embargo, existe otro tipo de memorias principal de slo lectura que hace las veces de manual de
comportamiento de la mquina que la contiene.
Las memorias de slo lectura reciben el nombre genrico de memorias ROM (acrnimo del ingls
Read Only Memory). Los computadores vienen dotados con una memoria de este tipo donde se
almacena la rutina de arranque. Otras aplicaciones de este tipo de memorias las encontramos en las
lavadoras automticas y en los juguetes electrnicos. En este tipo de memoria la informacin es
almacenada de forma permanente.
Algunas variantes de la memoria ROM son la PROM (ROM programable), EPROM (PROM borrable,
erasable PROM) y la EEPROM (PROM elctricamente borrable). Estos tipos de memoria son tiles
en la fase de desarrollo de una computadora, en la cual an no se ha fijado el contenido final de la
ROM.
La forma ms nueva de memoria semiconductora es la memoria FLASH (denominada as por la
velocidad con la que puede reprogramarse). Se encuentra, en coste y funcionalidad, entre las
EPROM y las EEPROM.
Para que el usuario pueda introducir la entrada, la computadora tiene varios dispositivos de entrada
como parte de su hardware: el teclado y el ratn son los ms populares. La salida al usuario se le
proporciona mediante dispositivos de salida, tales como impresora o pantalla.
Los dispositivos de entrada/salida y los dispositivos de almacenamiento secundario o auxiliar
(memoria externa) se conocen tambin con el nombre de dispositivos perifricos o simplemente
perifricos, ya que, normalmente, son externos a la computadora.
Los perifricos tambin se pueden clasificar como locales o remotos, segn su conexin al
computador. Un perifrico local, como el ratn, se encuentra cerca de la UCP conectado mediante
cables que hacen las veces de prolongador de los buses del computador.
A veces las empresas
tienen un solo impresor ubicado fsicamente en el centro de computo, pero que los empleados
pueden tener acceso a ste mediante computadoras fuera del centro de computo pero conectadas
entre s a travs de una red de comunicaciones.

10

A continuacin se enumeran algunos de los perifricos ms importantes:


a. De entrada de datos: Son dispositivos fsicos mediante los cuales se introducen los datos a la
computadora y son transformados a cdigos binarios. Los ms utilizados son:
Teclado. Es similar al teclado de una mquina de escribir y cuenta
adems con algunas teclas de control.
Ratn. Es un dispositivo que al ser desplazado sobre una superficie
permite mover el cursor por la pantalla.
Sensores. Este tipo de perifricos incluye a las pantallas tctiles,
capaces de seleccionar distintas opciones reconociendo el tacto sobre
distintas zonas de la pantalla. Tambin se pueden encontrar otro tipo de
sensores como:

Lpiz ptico. Cuando se posa en la pantalla reconoce la posicin que ocupa mediante una
medicin de la luminosidad que recibe.
Tableta grfica. Similar a una pizarra provista de un lpiz. Los trazos sobre la tableta aparecen
en la pantalla del computador.
Escner. Permite digitalizar imgenes planas (fotografas o texto) y archivarlas.

b. De salida de datos: Permiten obtener los resultados de los clculos o del procesamiento:

Pantalla o monitor. Es el principal instrumento de comunicacin


entre el computador y el usuario. Su constitucin fsica es similar a
la de un televisor, o . Es usual llamar consola al conjunto formado
por teclado y un monitor.
Plotter. Permite realizar grficos de alta precisin como mapas o
diseos tcnicos.
Impresora. Su misin es proporcionar copias impresas en papel
de la informacin guardada en el computador. Hay diversos tipos
de impresoras, entre las que destacan las impresoras de margarita
(en desuso), de matriz de puntos, de chorro de tinta y las
impresoras lser.

c. De entrada y salida de datos


MODEM. Es un dispositivo que permite la comunicacin de un computador con otro a travs de la
lnea telefnica (red conmutada) o a travs de lneas destinadas exclusivamente a este fin (lneas
punto a punto). Para ello convierte los datos binarios en seales moduladas de baja frecuencia.
Su nombre procede de su doble funcin: Modulador, De Modulador. Su velocidad se mide en
baudios que equivalen aproximadamente a bits por segundo, al incluir las necesarias seales de
control.
d. De almacenamiento. Aunque se trata en realidad de perifricos de entrada y salida, suelen
estudiarse aparte. Los perifricos de almacenamiento son tambin conocidos como memorias
secundarias o memorias auxiliares.

El primero de todos los dispositivos de almacenamiento magntico fue la unidad (lectora y grabadora)
de cinta magntica, y posteriormente se desarrollaron las unidades de discos fijos (tambin
llamados discos duros) y las unidades de disco flexibles.
En una cinta magntica el acceso a la informacin es secuencial (se tiene que hacer correr la cinta
hasta que aparezca la informacin que se busca); esto hace que sea un medio muy lento.

11

Los discos magnticos reciben este nombre por su forma y porque su superficie es magntica y son
dispositivos de acceso directo, esto es, no se tiene que recorrer toda la informacin que hay delante
de la que se necesita.
Los discos magnticos necesitan organizarse lgicamente para poder albergar informacin de un
modo ordenado; dar formato a un disco magntico es dotarlo de la organizacin lgica necesaria para
cada modelo de computador.
La informacin se almacena siguiendo crculos concntricos llamados pistas que a su vez se dividen
en sectores que contienen un cierto nmero de palabras. Para indicar una direccin se especifica la
pista y el sector donde comienza la informacin, por lo cual una transferencia de datos a un disco
siempre empieza en la primera palabra de un sector.
Entre los distintos tipos de discos destacan los discos duros, que
disponen de una gran capacidad de almacenamiento. Suelen
contener el sistema operativo y los programas de uso ms
comn. Existen dos tipos de discos duros:
Fijos (se fabrican en el interior de una carcasa sellada de la que
no se pueden extraer).
Removibles (se fabrican tambin en una carcasa contenedora,
tambin sellada, pero se pueden introducir en la unidad de
proceso de la computadora, bien en ranuras adecuadas o bien
mediante cables especiales); estos discos se suelen utilizar para
el traslado de grandes cantidades de informacin de una
computadora a otra.
Discos duros virtuales. Es un nuevo dispositivo de almacenamiento de informacin que no reside
en la computadora del usuario sino en un espacio virtual residente en un sitio Web de Internet (de su
propia empresa, o de cualquiera otra que ofrezca el servicio). Es una buena opcin para el usuario
(estudiantes, particulares, profesionales, empresas, ...) de tipo medio y empresas que utilizan grandes
volmenes de informacin y que necesitan ms espacio y no lo tienen disponible en sus equipos.
Este almacenamiento puede ser gratuito o de pago.
Los discos flexibles, diskettes o disquetes (en Ingls floppies), son extrables y por eso pueden ser
usados para transferir informacin de un computador a otro. Estos discos tienen una capacidad
mucho menor que un disco duro y el tiempo de acceso a la informacin almacenada es bastante
grande. Existen discos flexibles de dos tamaos distintos, de 51/4 pulg. (en desuso) y de 31/2 pulg.

Discos pticos: CD-ROM y DVD. Los discos pticos difieren de los tradicionales discos duros en
que los primeros utilizan un haz de lser para grabar la informacin. Son dispositivos de
almacenamiento que emplean la misma tecnologa que los dispositivos compactos de audio para
almacenar informacin digital. Estos discos se suelen usar para almacenar informacin histrica (no
va a sufrir modificaciones frecuentes), archivos grficos complejos, imgenes digitales, etc. Al igual
que los disquetes, son transportables y compatibles entre computadoras.
El CD-ROM (Compact Disk-Read Only Memory). Estos discos son de solo lectura, por lo que solo se
pueden grabar una vez y son conocidos como CD-R. Permiten almacenar 650 o 700 Megabytes de
informacin.
El CD-RW (CD Recordable y ReWritable), son discos que permiten la grabacin de datos, adems de
lectura. En estos discos se puede leer y escribir informacin por parte del usuario cuantas veces se
desee. Es el modelo regrabable por excelencia.

12

El DVD (Digital Versatil Disk), nacieron en 1995, son dispositivos de alta capacidad de
almacenamiento, interactivos y con total compatibilidad con los medios existentes. Tienen una gran
ventaja: su formato sirve tanto para las computadoras como para los dispositivos de electrnica de
consumo. Es capaz de almacenar hasta 26 CD con una calidad muy alta y con una capacidad que
varia, desde los 4,7 GB del tipo de una cara y una capa, hasta los 17 GB de la de dos caras y dos
capas. Estas cifras significan que se pueden almacenar en uno de estos discos una pelcula completa
en diferentes idiomas e incluso subttulos.
En la actualidad se pueden encontrar tres formatos de DVD grabables: DVD-R (se puede grabar una
sola vez); DVD-RAM (re-escribible pero con un funcionamiento similar al disco duro); DVD-RW
(lectura y escritura, regrabable).
ESTRUCTURA LGICA o SOFTWARE
El Software es la parte lgica de la computadora, que dota al equipo fsico
de la capacidad para realizar cualquier tipo de tareas. De acuerdo a esta
definicin, el Software est integrado por el conjunto de programas
ejecutables sobre el hardware junto con los datos asociados a los mismos.
Se debe recordar que un programa es el conjunto de rdenes que se le
indican a la computadora, para que sta realice una tarea; estos programas
deben de escribirse en un lenguaje de programacin.
El software se puede clasificar de la siguiente manera: Software del Sistema, Software Utilitario y
Software de Aplicacin
El software del sistema es un software que auxilia en la creacin, modificacin y ejecucin del
software de aplicacin. Se pueden distinguir dos categoras de programas del sistema:
1. Programas Bsicos del Sistema: es el conjunto de instrucciones mnimas que necesita una
computadora para funcionar; los disea y almacena el diseador de la mquina en la memoria
ROM.
2. Sistema Operativo es un software que establece la comunicacin entre los componentes del
Hardware y el resto del software. Su funcin principal es administrar el funcionamiento del
hardware segn las rdenes dadas por algn software, por ejemplo, si se est usando un software
de procesamiento de textos, y se desea imprimir un trabajo, el sistema operativo verifica que la
impresora est encendida, si lo est, permite que se realice la impresin, y durante sta, contina
verificando su estado; si la impresora no est encendida enva un mensaje indicndolo. Si el
sistema operativo no estuviera presente, la comunicacin entre el software de procesamiento de
textos y la impresora no podra realizarse. Lo mismo ocurrira con cualquier otra interaccin con el
hardware.
El software Utilitario o herramientas de informtica: es un sistema de programas que se disean
para brindar una utilidad, los hay de uso general especialmente diseados para su lanzamiento al
mercado. Generalmente son diseados por grandes compaas que se dedican a ello. Se conocen
como paquetes de software y se encuentran disponibles en el mercado. Ejemplos: procesadores
de textos, hojas electrnicas, manejadores de bases de datos, herramientas de diseo grfico,
compiladores, que son programas que convierten o traducen un lenguaje de programacin de alto
nivel a un lenguaje de bajo nivel o lenguaje mquina, etc.
El software de aplicacin, es un Software que tiene un propsito especfico, es comnmente
llamado Software a la medida, y realizan una tarea determinada, y que son desarrollados por
analistas programadores. Por ejemplo: Software de contabilidad de una empresa, Software de

13

facturacin, Software de Inventarios, Software de control de Personal, programa para calcular la nota
final de los estudiantes de Introduccin a la Informtica, etc.
Generalmente, las aplicaciones pueden ser conectadas o desconectadas. Para comprender mejor el
apartado siguiente, se har una revisin de conceptos de Comunicaciones.
Un proceso cualquiera de comunicacin est constituido por un EMISOR que enva INFORMACIN a
travs de un CANAL de transmisin, la cual es recibida por un RECEPTOR. Se puede por tanto,
hablar de comunicacin oral, escrita, etc., donde el canal ser respectivamente el aire, el papel, etc.
La informacin no es transmitida directamente, sino que se utilizan unos CDIGOS entendibles por el
emisor y el receptor, y que se comunica mediante SEALES fsicas. Los cdigos sern el lenguaje
utilizado y las seales las ondas sonoras, luminosas, etc. En muchos casos, la utilizacin de cdigos
y seales exigir que la informacin sea CODIFICADA en la transmisin y DECODIFICADA en la
recepcin. Es decir, pueden ser codificadores/decodificadores los sentidos, los traductores, etc. El
objetivo de un proceso de comunicacin es que la informacin que se quiere transmitir sea idntica a
la que se recibe. Si falla cualquiera de los elementos que intervienen (transmisor, canal de
transmisin o receptor), se producen prdidas de informacin; para intentar evitarlo, se repiten los
mensajes en su totalidad o en parte (redundancia), o se acompaan de cdigos especiales (de
control) que permitan reconstruir la informacin. La comunicacin suele ser en ambas direcciones
alternativa o simultneamente, convirtindose el transmisor en receptor y viceversa.
El concepto general de comunicacin, se puede extrapolar al mundo informtico, con la intervencin
de diferentes mquinas o computadoras que comunicarn la informacin a diversos tipos de
receptores. Las principales beneficios que aportan las comunicaciones informticas son:

Enviar y recibir datos a distancias cortas y remotas


Compartir recursos. No todos los usuarios de un sistema
informtico disponen de un sistema adecuado a sus
necesidades. Se ven pues obligados a compartir tanto
los equipos (memoria auxiliar, impresoras, etc.) como
los programas
La distribucin de carga de trabajo. Consiste en dividir el
trabajo que supone el proceso de datos entre varias
computadoras (por ejemplo, en un banco, en hora pico,
el computador central se puede encontrar saturado y
puede pedir a otro que le ayude, distribuyendo as la
carga de trabajo entre varios computadores).

Estas necesidades han conducido al gran desarrollo de las redes de comunicaciones. Se ver cmo
es posible conectar computadoras y terminales. Un terminal puede ser "tonto" o inteligente. El primero
consiste en un monitor y un teclado, y el segundo es un computador completo, es decir, se
diferencian en que el terminal inteligente posee capacidad de procesamiento de datos de forma
autnoma. Las redes se distinguen primeramente por la distancia existente entre sus terminales,
clasificndose en:

WAN: Redes de rea Remota que comunican sistemas lejanos.


LAN: Redes de rea Local que conectan sistemas cercanos.

Como medio fsico o canal de comunicacin se usan el aire o cables (par trenzado, coaxial y fibra
ptica). No se puede hablar de uno mejor que otro, sino de cul es el ms adecuado a cada
necesidad y depender de las prestaciones, costo, fiabilidad de instalacin y capacidad de integracin

14

con otros sistemas. Se diferencian tambin por la velocidad de transmisin. Esta se mide en bits por
segundo frecuentemente confundida con baudios. El baudio es una unidad de velocidad de
sealizacin, o de modulacin, igual al nmero de condiciones discretas o smbolos que se suceden
en la lnea, por segundo. La velocidad de transmisin en baudios coincide con la velocidad de
transmisin en bit/s, slo si cada smbolo representa un bit. Un baudio es el inverso del intervalo del
pulso ms corto de sealizacin medido en segundos.
Las lneas pueden ser de los tipos siguientes:
Lneas de banda estrecha (banda baja),
Lneas de banda de voz (banda media),
Lneas de banda ancha (banda alta).
El intercambio de informacin entre los distintos dispositivos tiene que estar regido por unos
PROTOCOLOS, o lenguajes de dilogo que lo regulen. Consisten en un conjunto de normas
comunes para establecer la comunicacin tanto para el receptor como para el emisor. Desde el
comienzo de la industria informtica, cada fabricante intentaba idear una serie de procedimientos, con
los cuales poda controlar la informacin y as monopolizar el mercado de las ventas de los distintos
elementos que componen la informtica. Con el paso del tiempo esta industria se ha extendido tanto,
que surgi la necesidad de compatibilizar los procedimientos de la informacin. Actualmente existen
asociaciones de fabricantes de computadoras, y organizaciones internacionales como por ejemplo
ISO, que establecen unas recomendaciones sobre los procedimientos normalizados de
comunicacin, que van a gobernar ese intercambio de informacin. Un protocolo es pues, un conjunto
de procedimientos normalizados o estandarizados que gobiernan el intercambio de comunicaciones,
acuerdos o convenios que se adoptan para poder establecer una comunicacin correcta; afectan a
las frecuencias de las seales, reconocimiento de la conexin, cdigo de recepcin y emisin, control
de errores, control de la sincrona, inicio de las operaciones, establecimiento de los caminos por los
que irn los mensajes, asegurar que los datos han sido recibidos, etc.
Una red de computadoras es una coleccin de equipos que pueden almacenar y manipular datos
electrnicos, interconectados de forma que sus usuarios pueden almacenar, recuperar y compartir
informacin con los dems. Las mquinas conectadas pueden ser, microcomputadoras,
minicomputadoras, grandes computadoras, terminales, impresoras, dispositivos de almacenamiento,
entre otros. En una red de computadoras se puede almacenar cualquier informacin, incluyendo
textos, imgenes, mensajes de voz e imgenes visuales como por ejemplo fotos. Como se ha visto
las redes aportan beneficios, los ms habituales son:
A) Compartir informacin de forma flexible

Una red de computadoras permite a los usuarios compartir instantneamente y sin esfuerzo la
informacin. Por ejemplo, un editor de libros, escritores, asociaciones de editores y artistas pueden
necesitar trabajar conjuntamente en una publicacin. Mediante una red pueden compartir los mismos
archivos electrnicos, cada uno desde su computador y transferir y copiar archivos. Estos pueden
aadir material simultneamente a los archivos, o eliminar partes, sin interrumpir el trabajo de los
dems, las ventajas son evidentes. Ejemplos: Google docs, dropbox, zumo de hp, entre otros.
B) Libertad para elegir la herramienta adecuada
Si se opta por un entorno de red abierto, esto aade otra dimensin a las capacidades de compartir
informacin inherente a la red. Esto permite trabajar con el equipamiento que ms satisfaga a las
necesidades del usuario. Por ejemplo en una red abierta a los estndares internacionales, pueden
estar trabajando unos usuarios bajo Windows de PCs, mientras que otros lo pueden estar haciendo
simultneamente bajo UNIX, en estaciones de trabajo o desde otros PCs.
Adems se pueden utilizar hardware o software diferente para una misma tarea, por ejemplo para
navegar internet puede usar Internet Explorer, Firefox, Opera o mozilla, etc. En hardware, puede usar
un celular para navegar, un ipad, Tablet netbook, notebook, PC.

15

C) Reduccin de costos al compartir equipamiento

Una razn muy importante para disponer de una red de rea local es el compartir
equipamiento, lo cual implica grandes beneficios. Por ejemplo, en una red de veinte
microcomputadoras, se puede disponer de una impresora lser en color, para todo el
conjunto, por lo que el ahorro sera considerable frente a la opcin de que los veinte equipos
no estuvieran conectados en red, e incluso dado el costo de este tipo de impresoras sera
econmicamente inviable el que cada usuario tuviera una de estas impresoras. Lo mismo
que se ha visto en el caso previo, de la impresora de alta calidad, se puede concluir de otros
dispositivos, como por ejemplo un grabador de DVD, un escaner de alta velocidad o un
sistema de impresiones. En una situacin de red se puede compartir cada uno de estos
equipos, mientras que aisladamente sera improbable el que dispusiera cada usuario de
ellos.
Hoy en da, existe la opcin de utilizar infraestructura en lo conocido como Nube, es decir, ya no
solo se comparte informacin a nivel de red local sino a nivel de internet, en la que se puede crear y
editar documentos, hojas de clculo y presentaciones.
D) Uso flexible de la potencia de computacin
Una de las ventajas ms claras de una red, es la posibilidad de usar la
potencia de un equipo de la red, distinto al que se esta trabajando. Por
ejemplo, si se han de realizar clculos matemticos o de ingeniera
complicados, se podr acceder desde un punto de red, al equipo de dicho
entorno que tenga potencia y rapidez suficiente para realizar estos
trabajos en un tiempo razonable. Otra alternativa es el procesamiento
paralelo, es decir resolver el problema de clculo mediante el trabajo
simultneo de varios equipos de la red. Algunos programas son
demasiado complicados para poder ejecutarse en computadoras
individuales, o tardaran mucho tiempo, pero mediante el procesamiento
paralelo entre los diversos equipos de la red se acelerara mucho el
clculo.
E) Comunicacin efectiva y fcil con todo el mundo
Mediante las redes de rea geogrficas, se pueden interconectar redes de rea local a escala

mundial. De esta forma se puede transferir informacin, prcticamente de forma instantnea,


a cualquier lugar. Existen tambin maneras de comunicacin directa con personas, por
medio del uso de redes sociales, tales como, Facebook, twitter, Myspace, entre otros, en
todo lugar que puedan acceder a una red.
Dado que se vive en la era de las computadoras; de hecho, es difcil pensar una profesin en la que
no haya influido el desarrollo de stas. El aumento explosivo de la demanda de computadoras
personales y de todo tipo de dispositivos dirigidos por computadora han colocado el poder
computacional en prcticamente cualquier lugar: el gimnasio, la empresa, el laboratorio, el hogar, las
universidades, la industria, los bancos, el comercio, etc.
Es indudable que los alcances de la computacin son cada vez mayores. Hoy existen aplicaciones
que hasta hace solo 10 aos ni siquiera se haban pensado y es impresionante el ritmo con que
avanza da con da esta tecnologa.
Las tendencias actuales de la tecnologa de las computadoras son las siguientes:

Reduccin del tamao de los equipos (miniaturizacin)


Incremento de las velocidades de clculo y de transmisin

16

Disminucin de los costos de produccin


Simplificacin de la programacin y de la operacin,
Incremento de la variabilidad de los dispositivos perifricos
Aumento de las reas de aplicacin
Integracin de la multimedia; es decir, imgenes, sonido y vdeo en movimiento con la tecnologa
y las herramientas actuales.
Enlace de redes computacionales como Internet llamada supercarretera de la informacin.

La informtica hoy en da tiene una gran variedad de aplicaciones en la actualidad; dentro de las
cuales se mencionan algunas de ellas:
INTERNET
Internet es una gigantesca red de redes de computadoras, internacional.
Existen aproximadamente 25 millones de usuarios que pueden comunicarse
enviando y recibiendo correo electrnico, estableciendo una conexin con la
computadora de otra persona y tecleando mensajes de forma interactiva.

Entre los servicios bsicos que ofrece Internet, se tiene:


1. El correo electrnico que permite el envo de mensajes de una computadora hacia otra.
2. El FTP Protocolo de Transferencia de Archivos, que permite el envo de informacin de un lugar
hacia otro.
3. Telnet o comunicacin remota, que es un servicio que permite conectarse como terminal de
usuario local a computadoras remotas.
4. Acceso a World Wide Web (conocido como www) que es un conjunto de servidores que proveen
el acceso a servicios de hipertexto, imagen, voz y vdeo.
5. El IRC (Internet Relay Chat) nos permite entablar una conversacin en tiempo real con una o
ms personas por medio de texto.
6. Servicios de telefona, nos permiten establecer una conexin con voz entre dos personas.
Algunos de estos servicios incorporan tambin imagen (Videoconferencia).
MULTIMEDIA
Es cualquier combinacin de texto, arte grfico, sonido, animacin y vdeo
por computadora u otros medio electrnicos. Estimula todos los sentidos, y
lo ms importante, el cerebro. Es conveniente el uso de la multimedia
cuando se necesita tener acceso a informacin electrnica de cualquier tipo.
INTELIGENCIA ARTIFICIAL.
Es una metodologa que estudia el uso de la computadora para imitar el comportamiento inteligente
propio del ser humano (razonamiento, visin, aprendizaje, etc.). Los programas de inteligencia
artificial tienen respuestas cercanas a las humanas, dentro de esta disciplina se tienen:

Sistemas Expertos: (Sistemas basados en el conocimiento), modelo con el que


se pretende que la computadora acte en campos especficos como lo hara un
experto humano en dicho dominio. Ejemplos: diagnstico mdico, concesin de
prstamos bancarios, etc.
Redes Neuronales Artificiales: Rama de estudio en donde se pretende simular
la estructura del proceso cerebral, es decir, imitar las funciones propias de la
neurona biolgica en orden a obtener aplicaciones de
reconocimiento de patrones con capacidad de aprendizaje.

INFORMATICA GRAFICA

17

Es uno de los campos de ms inters y que crece ms rpidamente dentro de la informtica. Incluye
una serie de principios de diseo y de uso orientados a conseguir la visualizacin de imgenes por
computadora con una apariencia lo ms cercana posible a la realidad. Para ello, los sistemas grficos
incluyen componentes hardware y software que permiten realizar fcilmente acciones como
desplegar grficos en dos o tres dimensiones, modificar su tamao, rotarlos, deformarlos, etc.
REALIDAD VIRTUAL
Se encamina a la habilidad de recrear lugares fsicos y fenmenos
que tienen apariencia real. Para ello, se utilizan los sentidos del
cuerpo, el sonido y el movimiento para simular objetos o lugares
reales. Se utiliza para todo tipo de tareas en las que interese la
simulacin de procesos reales, como pruebas de aerodinmica de los
aviones, exploracin planetaria virtual, exploracin del interior de
edificios no construidos, salones de videojuegos, etc.

PROCESAMIENTO DE DATOS ADMINISTRATIVOS


Esta es una rea de mayor impacto de aplicacin en la actualidad; de hecho, sin computadoras, la
economa se paraliza por completo. En este campo se incluye todo lo relacionado con la
automatizacin de las funciones tpicas de gestin empresarial, como son la gestin de personal,
proceso de nminas y contabilidad, facturacin, control de inventario, gestin bancaria, problemas de
optimizacin, investigacin de mercado, etc.
Tambin dentro del mbito administrativo han
tenido gran importancia las aplicaciones
relacionadas con la automatizacin del trabajo
de oficina que ha originado a la aparicin de
una nueva tcnica, la Ofimtica.
Asociadas a la ofimtica se encuentran las
aplicaciones de tratamientos de textos, gestin
de datos, hoja de clculo, correo electrnico,
agenda
electrnica,
desarrollo
de
presentaciones
y
otras
aplicaciones
relacionadas.
Por ltimo es necesario resaltar el gran
desarrollo e importancia que estn teniendo
las aplicaciones de Sistemas de Informacin
Empresarial (MIS). Un MIS es un sistema o
conjunto de reglas y procedimientos que
proporcionan informacin fiable a las personas
de una organizacin.

APLICACIONES INDUSTRIALES Y DE INGENIERA


La computadora ha tenido tambin un importante papel
como herramienta para facilitar los procesos de diseo y
fabricacin de productos. Dentro de esta rea, sus
principales usos son trazado de planos, control de
procesos industriales, robtica industrial, minera, etc.

18

Tambin aqu se incluyen las aplicaciones de diseo asistido por computador (Computer-Aided
Design-CAD), fabricacin asistida por computador (Computer-Aided Manufacturing-CAM) y diseo,
fabricacin y prueba con ayuda del computador (Computer-Aided Manufacturing And TestingCADMAT).

APLICACIONES TCNICO-CIENTFICAS
El computador es utilizado ampliamente por los cientficos como herramienta imprescindible. En el
campo de la investigacin, cabe destacar el uso de los computadores para acceder a grandes bases
de datos distribuidos por diversos lugares, desarrollar teoras, recoger y validar datos. Tambin aqu
se incluyen todas las aplicaciones relativas al uso de la computadora para la resolucin de modelos
complejos (simulacin, anlisis de datos experimentales, etc.) y clculos matemticos (clculo
numrico, etc.), dentro de las cuales se puede mencionar: prediccin meteorolgica, control
ambiental, control de trfico, control de comunicaciones, control ssmico, etc.
APLICACIONES MDICAS Y BIOLGICAS
Actualmente, se utilizan las computadoras en todas las tareas mdicas.
Se incluyen aplicaciones de investigacin mdica (biolgica y
farmacutica), ayuda al diagnstico y tratamiento de enfermedades,
bases de datos de historiales clnicos de pacientes, control de pacientes
en cuidados intensivos, ecografa, etc.

APLICACIONES MILITARES. El uso de la computadora por parte de los gobiernos en aplicaciones


militares ha precedido a las dems aplicaciones. De hecho, el primer computador, el ENIAC, fue
usado en un principio para calcular trayectorias balsticas ante diferentes condiciones, y el de mayor
consumidor de informtica del mundo es el departamento de Defensa de Estados Unidos. Dentro de
este tipo de aplicaciones, destacan los sistemas computarizados de radar, los misiles autodirigidos, el
espionaje militar por satlite artificial, los sistemas de seguridad y defensa computarizados, etc.
APLICACIONES EDUCATIVAS

En los ltimos aos, las computadoras personales han


iniciado una revolucin en el rea educativa, individuos de
todas las edades pueden utilizarlas para conseguir un
beneficio intelectual. Hoy en da, se pueden encontrar
computadoras, en aulas de clase, museos y bibliotecas.
Adems, el computador se est convirtiendo en un
instrumento esencial en el proceso de aprendizaje.
No obstante, el impacto de las computadoras en la
educacin puede ser contemplado desde dos puntos de
vista:
Por una parte, se plantea la necesidad de incluir la informtica como materia en los planes de
estudios, dada la importancia de que una persona est formada en el uso y aprovechamiento de la
tecnologa computacional.

19

Por otra parte, el ordenador constituye un complemento muy til en la formacin del estudiante
mediante tcnicas como CAI (Computer-Assisted Instruction-Enseanza con ayuda del computador) y
CAL (Computer-Assisted Learning-Aprendizaje con ayuda del computador), que proporcionan
caractersticas didcticas muy importantes.
APLICACIONES EN EL ARTE Y HUMANIDADES. Aqu se incluyen aspectos relacionados con el
arte, como son la composicin de cuadros, creacin de dibujos animados, msica por computadora,
industria cinematogrfica, etc., as como el anlisis automtico de textos de cualquier naturaleza, la
traduccin automtica, efectos audiovisuales, etc.
1.6. Aplicaciones Conectadas y Desconectadas
En Informtica, una aplicacin es un tipo de programa informtico diseado como herramienta para
permitir a un usuario realizar uno o diversos tipos de trabajos. Esto lo diferencia principalmente de
otros tipos de programas, como los sistemas operativos (que hacen funcionar la computadora), los
utilitarios (que realizan tareas de mantenimiento o de uso general), y los lenguajes de programacin
(para crear programas informticos).
Suele resultar una solucin informtica para la automatizacin de ciertas tareas complicadas, como
pueden ser la contabilidad, la redaccin de documentos, o la gestin de un almacn. Algunos
ejemplos de programas de aplicacin son los procesadores de textos, hojas de clculo, y bases de
datos.
Ciertas aplicaciones desarrolladas a medida suelen ofrecer un gran potencial ya que estn
exclusivamente diseadas para resolver un problema especfico. Otros, llamados paquetes
integrados de software, ofrecen menos potencia pero a cambio incluyen varias aplicaciones.
Otros ejemplos de programas de aplicacin pueden ser: programas de comunicacin de datos,
multimedia, presentaciones, diseo grfico, clculo, finanzas, correo electrnico, navegador web,
compresin de archivos, presupuestos de obras, gestin de empresas, etc.
Algunas compaas agrupan diversos programas de distinta naturaleza para que formen un paquete
(llamados suites o suite ofimtica) que sean satisfactorios para las necesidades ms apremiantes del
usuario. Todos y cada uno de ellos sirven para ahorrar tiempo y dinero al usuario, al permitirle hacer
cosas tiles con la computadora; algunos con ciertas prestaciones, otros con un determinado diseo;
unos son ms amigables o fciles de usar que otros, pero bajo el mismo principio.
Actualmente, con el uso de dispositivos mviles se ha extendido el trmino app, aplicacin
informtica para dispositivos mviles o tabletas con multitud de funcionalidades. Desde juegos hasta
aplicaciones para realizar tareas cotidianas. Es un abanico enorme que hace ms interactivos a los
dispositivos mviles.
A continuacin, un diagrama que muestra la ubicacin y relacin que tienen las aplicaciones frente al
usuario final, y con otros programas informticos existentes:

20

Online es una palabra inglesa que significa en lnea. El concepto se utiliza en el mbito de la
Informtica para nombrar a algo que est conectado o a alguien que est haciendo uso de una red
(generalmente, Internet).
Una aplicacin que se conecta ocasionalmente utiliza datos de una base de datos remota si tiene
acceso a dicha base de datos: de lo contrario, utiliza los datos almacenados en una memoria cach
local. Cuando est disponible una conexin, las aplicaciones que se conectan ocasionalmente
sincronizan los datos almacenados en la memoria cach local con los datos almacenados en la base
de datos remota. As, los usuarios de las aplicaciones que se conectan ocasionalmente pueden
seguir utilizando su aplicacin aunque no dispongan de una conexin de red.
Cuando se empieza a pensar en el desarrollo de una aplicacin, una de las primeras decisiones que
se deben tomar es la arquitectura para la cual vamos a desarrollar nuestra aplicacin: estar
conectada o no lo estar.
Las aplicaciones desconectadas, almacenan los datos localmente, en el dispositivo.
El desarrollo de aplicaciones conectadas o full web, ha sido mejorado cambiando la forma en que las
pginas web, estilos, y java scripts son generados cuando la aplicacin es mostrada en los
dispositivos.
La eleccin entre una de estas dos arquitecturas debe estar basada en el uso que se le piensa dar a
la aplicacin. Se debe tomar en cuenta: conectividad, tiempos de ejecucin y trfico de informacin.
Conectividad: si se piensa en una aplicacin conectada, se debe estar seguro que se tendr acceso
el 100% del tiempo. En general las aplicaciones conectadas se utilizan dentro de depsitos donde
esta variable se puede controlar.
Tiempos de ejecucin y trfico de informacin: una aplicacin local siempre ser ms rpida que
una a la que se acceda va web adems para trabajar no necesita enviar ni recibir informacin.
Adicionalmente, puede existir el caso de aplicaciones locales que se conectan en diferentes intervalos
de tiempo. En este sentido, se pueden desarrollar mecanismos para sincronizar con la base de datos
central cuando se tenga conectividad mientras todo puede ir quedando almacenado localmente.
Por ltimo, el mantenimiento de la aplicacin, en ambos casos es muy fcil y no tiene complicaciones.
Con respecto a la web basta con actualizar el server con los cambios realizados. Mientras que, en
las aplicaciones locales es un poco diferente. Lo que se debe hacer es generar el archivo .cab ( que
es un formato de compresin utilizado por Microsoft para compilar archivos ejecutables en un
espacio reducido y publicarlo luego) para enviar va mail o sms la url a cada dispositivo donde el
mencionado archivo qued publicado, luego de descargado el archivo .cab con un clic se instala solo
en el dispositivo.

21

1.7. Cloud Computing


La computacin en la nube, conocida
tambin como servicios en la nube,
informtica en la nube, nube de
cmputo o nube de conceptos (del
ingls cloud computing), es un
paradigma que permite ofrecer servicios
de computacin a travs de una red, que
usualmente es Internet.
En este tipo de computacin todo lo que
puede ofrecer un sistema informtico se
ofrece como servicio, de modo que los
usuarios puedan acceder a los servicios
disponibles "en la nube de Internet" sin
conocimientos (o, al menos sin ser
expertos) en la gestin de los recursos
que usan. Segn el IEEE Computer
Society, es un paradigma en el que la
informacin se almacena de manera
permanente en servidores de Internet y
se enva a cachs temporales de cliente,
lo que incluye equipos de escritorio,
centros de ocio, porttiles, etc.
La computacin en la nube son servidores desde Internet encargados de atender las peticiones en
cualquier momento. Se puede tener acceso a la informacin o servicio, mediante una conexin a
internet desde cualquier dispositivo mvil o fijo ubicado en cualquier lugar. Sirven a sus usuarios
desde varios proveedores de alojamiento repartidos frecuentemente por todo el mundo. Esta medida
reduce los costos, garantiza un mejor tiempo de actividad y que los sitios web sean invulnerables a
los delincuentes informticos y a los gobiernos locales.
Cloud computing es un nuevo modelo de prestacin de servicios de negocio y tecnologa, que permite
incluso al usuario acceder a un catlogo de servicios estandarizados y responder con ellos a las
necesidades de su negocio, de forma flexible y adaptativa, en caso de demandas no previsibles o de
picos de trabajo, pagando nicamente por el consumo efectuado, o incluso gratuitamente en caso de
proveedores que se financian mediante publicidad o de organizaciones sin nimo de lucro.
El cambio que ofrece la computacin desde la nube es que permite aumentar el nmero de servicios
basados en la red. Esto genera beneficios tanto para los proveedores, que pueden ofrecer, de forma
ms rpida y eficiente, un mayor nmero de servicios, como para los usuarios que tienen la
posibilidad de acceder a ellos, disfrutando de la transparencia e inmediatez del sistema y de un
modelo de pago por consumo. As mismo, el consumidor ahorra los costos salariales o los costos en
inversin econmica (locales, material especializado, etc.).
Computacin en nube consigue aportar estas ventajas, apoyndose sobre una infraestructura
tecnolgica dinmica que se caracteriza, entre otros factores, por un alto grado de automatizacin,
una rpida movilizacin de los recursos, una elevada capacidad de adaptacin para atender a una
demanda variable, as como virtualizacin avanzada y un precio flexible en funcin del consumo
realizado, evitando adems el uso fraudulento del software y la piratera.
El concepto de nube informtica es muy amplio, y abarca casi todos los posibles tipo de servicio en
lnea, pero cuando las empresas predican ofrecer un utilitario alojado en la Nube , por lo general se

22

refieren a alguna de estas tres modalidades: el software como servicio (por sus siglas en ingls SaaS
Software as a Service-) , Plataforma como Servicio (PaaS) e Infraestructura como Servicio (IaaS).
El software como servicio (SaaS) es un modelo de distribucin de software en el que las aplicaciones
estn alojadas por una compaa o proveedor de servicio y puestas a disposicin de los usuarios a
travs de una red, generalmente la Internet.
La plataforma como servicio (PaaS) es un conjunto de utilitarios para abastecer al usuario de
sistemas operativos y servicios asociados a travs de Internet sin necesidad de descargas o
instalacin alguna.
La infraestructura como Servicio (IaaS) se refiere a la tercerizacin de los equipos utilizados para
apoyar las operaciones, incluido el almacenamiento, hardware, servidores y componentes de red.
1.8. Internet de las Cosas

Internet de las cosas (en ingls Internet


of things, abreviado IoT) es un concepto
que se refiere a la interconexin digital de
objetos
cotidianos
con
internet.
Alternativamente, Internet de las cosas es
el punto en el tiempo en el que se
conectaran a internet ms cosas u
objetos que personas. Tambin suele
referirse como el internet de todas las
cosas o internet en las cosas. Si los
objetos de la vida cotidiana tuvieran
incorporadas etiquetas o sensores,
podran ser identificados y gestionados
por otros equipos, de la misma manera
que si lo fuesen por seres humanos.

Por ejemplo, si los libros, termostatos, refrigeradores, la paquetera, lmparas, botiquines, partes
automotrices, etc. estuvieran conectados a Internet y equipados con dispositivos de identificacin, no
existiran, en teora, cosas fuera de stock o carencia de medicinas o caducadas, se conocera
exactamente la ubicacin, cmo se consumen y se compran productos en todo el mundo; el extravo
sera cosa del pasado y se sabra qu est encendido o apagado en todo momento.
Voz sobre protocolo de internet o Voz por protocolo de internet, tambin llamado voz sobre IP,
voz IP, vozIP o VoIP (siglas en ingls de voice over IP: voz por IP), es un conjunto de recursos que
hacen posible que la seal de voz viaje a travs de Internet empleando el protocolo IP (Protocolo de
Internet). Esto significa que se enva la seal de voz en forma digital, en paquetes de datos, en lugar
de enviarla en forma analgica a travs de circuitos utilizables slo por telefona convencional.
Los protocolos de internet que se usan para enviar las seales de voz sobre la red IP se conocen
como protocolos de voz sobre IP o protocolos IP.
El trfico de voz sobre IP puede circular por cualquier red IP, incluyendo aquellas conectadas a
Internet, como por ejemplo las LAN (local area network: redes de rea local).

23

Es muy importante diferenciar entre voz


sobre IP (VoIP) y telefona sobre IP:
VoIP es el conjunto de normas,
dispositivos, protocolos en definitiva, la
tecnologa que permite transmitir voz
sobre el protocolo IP.
La telefona sobre IP es el servicio
telefnico disponible al pblico, realizado
con tecnologa de VoIP. La figura de la
izquierda, muestra soluciones basadas en
VoIP

2. IDE Componentes y Funciones


2.1. Introduccin
Las siglas IDE responden a las palabras inglesas Integrated Development Environment, las cuales
se refieren a un conjunto de programas que usan una interfaz nica para todos ellos. Por ejemplo,
Windows sera uno de estos programas, pues tiene mltiples accesorios que pueden ejecutarse
desde su interfaz principal.
Formalmente, un ambiente de desarrollo integrado o entorno de desarrollo interactivo, en ingls
Integrated Development Environment (IDE), es una aplicacin informtica que proporciona servicios
integrales para facilitar al desarrollador o programador la creacin de software.
Normalmente, un IDE consiste de un editor de cdigo fuente, herramientas de construccin
automticas y un depurador. La mayora de los IDE tienen auto-completado inteligente de cdigo
(IntelliSense). Algunos IDE contienen un compilador, un intrprete, o ambos.
Los IDE estn diseados para maximizar la productividad del programador proporcionando
componentes muy unidos con interfaces de usuario similares. Los IDE presentan un nico programa
en el que se lleva a cabo todo el desarrollo. Generalmente, este programa suele ofrecer muchas
caractersticas para la creacin, modificacin, compilacin, implementacin y depuracin de software.
Uno de los propsitos de los IDE es reducir la configuracin necesaria para reconstruir mltiples
utilidades de desarrollo, en vez de proveer el mismo set de servicios como una unidad cohesiva.
Reduciendo ese tiempo de ajustes, se puede incrementar la productividad de desarrollo, en casos
donde aprender a usar un IDE es ms rpido que integrar manualmente todas las herramientas por
separado.
Una mejor integracin de todos los procesos de desarrollo hace posible mejorar la productividad en
general, ms que nicamente ayudando con los ajustes de configuracin. Por ejemplo, el cdigo
puede ser continuamente armado, mientras es editado, previendo retroalimentacin instantnea,
como cuando hay errores de sintxis. Esto puede ayudar a aprender un nuevo lenguaje de
programacin de una manera ms rpida, as como sus libreras asociadas.

24

Algunos IDE estn dedicados especficamente a un lenguaje de programacin, permitiendo que las
caractersticas sean lo ms cercanas al paradigma de programacin de dicho lenguaje. Por otro lado,
existen muchos IDE de mltiples lenguajes, como Microsoft Visual Studio.
La programacin visual es un marco de usuario en la que generalmente se requiere una IDE. Los IDE
visuales le permiten a los usuarios crear nuevas aplicaciones de programacin en movimiento,
bloques de construccin, o nodos de cdigo para crear diagramas de flujo o diagramas de estructura
que luego son compilados o interpretados. Estos diagramas de flujo muchas veces se basan en el
lenguaje de modelado unificado, UML.
2.2. Framework .NET
Microsoft .NET es el conjunto de nuevas tecnologas en las que Microsoft ha estado trabajando
durante los ltimos aos
.NET ofrece una plataforma sencilla y potente para distribuir el software en forma de servicios que
puedan ser suministrados remotamente y que puedan comunicarse y combinarse unos con otros de
manera totalmente independiente de la plataforma, lenguaje de programacin y modelo de
componentes con los que hayan sido desarrollados.
.NET es una nueva plataforma para el desarrollo y explotacin de aplicaciones gestionadas o
administradas (managed) modernas y orientadas a objetos.
A continuacin se presenta un esquema de la plataforma .NET

VB

J#

C#

2.0
3.0

CLS y CTS
ASP.NET

Windows
Forms

WPF

WCF

WF

WCS

Biblioteca de Clases y ADO.NET


Common Language Runtime (CLR)
Windows Vista, Windows XP, Windows Server 2003
Las aplicaciones .NET se pueden desarrollar en cualquier lenguaje de programacin que se ajuste a
.NET
.NET soporta una extensa coleccin de libreras de clases independientes del lenguaje de
programacin y soporta la creacin de componentes. Ofrece integracin multi-lenguaje, reutilizacin

25

de componentes y herencia entre componentes desarrollados en diferentes lenguajes.


.NET ofrece una nueva manera de desarrollar aplicaciones grficas usando WPF (Windows
Presentation Foundation), as como maneras innovadoras de desarrollar aplicaciones basadas en
navegador Web a travs de ASP.NET
.NET soporta la creacin de Servicios Web XML independientes de la plataforma, a travs de SOAP
(Simple Object Access Protocol) y WSDL (Web Services Description Language). Ofrece una nueva
arquitectura para el desarrollo y explotacin de objetos remotos WCF (Windows Communitation
Foundation) y permite el desarrollo de RIA (Rich Internet Applications) a travs de Silverlight.
Las clases ADO.NET proveen una arquitectura desconectada para acceso a datos a travs de Internet
Microsoft .NET est compuesto de la plataforma .NET, .NET framework SDK, Visual Studio .NET,
servicios web (Microsoft .NET myServices) y servidores para empresas (SQL Server.NET...).
Un Runtime es un entorno en el que se ejecutan los programas.
El CLR se encarga de gestionar la ejecucin de las aplicaciones .NET. Entre las caractersticas y
servicios que ofrece el CLR estn: ejecucin multiplataforma, integracin de lenguajes, gestin de
memoria (recoleccin de basura), tratamiento de excepciones, soporte multi-hilo (multi-threading),
distribucin transparente e interoperabilidad con cdigo antiguo.
Al cdigo escrito para ejecutarse en la plataforma .NET se le llama cdigo gestionado o cdigo
manejado. Mientras que al cdigo escrito para ejecutarse directamente se le llama cdigo no
gestionado o cdigo no manejado o cdigo nativo.
El CLR realiza una compilacin Just in Time (JIT) que traduce el cdigo gestionado en cdigo
nativo sobre la arquitectura de hardware sobre la que se ejecuta. En la pgina siguiente, se muestra
el Modelo de Ejecucin.
La librera de clases (Framework Class Library-FCL) es una librera formada por cientos de tipos
que permiten acceder a los servicios ofrecidos por el CLR y a sus funcionalidades.
Adems, el programador puede crear nuevas clases que extiendan su funcionalidad y se integren
perfectamente con el resto de las clases de la FCL.
Esta librera de clases est escrita en MSIL y cualquier lenguaje cuyo compilador genere MSIL podr
usarla.
Con esta librera, se pueden crear todo tipo de aplicaciones: aplicaciones de consola, de ventanas,
servicios Web, ASP.NET...
Dada la amplitud de la FCL, ha sido necesario organizar sus clases en espacios de nombres
(Namespace) que agrupan clases con funcionalidades similares. Se organiza de forma jerrquica.
El espacio de nombres System es el espacio raz del que cuelgan todos los dems. Los espacios de
nombre de uso comn son:

System:contiene tipos de datos muy usados, datos bsicos, tablas, excepciones.Es el raz
System.Object: soporta toda la jerarqua de las clases de .NET.
System.Collections: colecciones de datos de uso comn como pilas, colas, listas...

26

System.Data: manipulacin de bases de datos. Forma la arquitectura ADO.NET.


System.Drawing: acceso a la interfaz grfica de dispositivo (GDI)
System.IO: Manipulacin de ficheros.
System.Math: Funciones logartmicas, trigonomtricas...
System.XML: Acceso a datos en formato XML.
System.Web: Aplicaciones Web.
System.Windows Forms: clases para crear aplicaciones Windows.

Cdigo
Fuente

Cdigo
Manejado

C#
C#

VB
VB

Compilador

Compilador

C++
C++
Compilador

Cdigo No
Manejado

Ejecutable (.EXE), Pgina Web (:ASPX)


Servicio Local (.DLL), Servicio Web (.ASMX)

Modelo de Ejecucin
Microsoft distribuye el kit .NET Framework SDK de desarrollo como parte del paquete .NET.
Disponible en: http://www.microsoft.com/downloads. Este kit contiene documentacin sobre la
plataforma, ejemplos y cdigo fuente, y una serie de utilidades que sirven para desarrollo y prueba
de aplicaciones .NET.
Visual Studio .NET es un entorno grfico que permite a los desarrolladores crear, probar y depurar
aplicaciones desarrolladas o no para la plataforma .NET.
Este entorno incorpora los siguientes lenguajes de programacin:
Visual Basic.NET: Versin .NET de VBasic
VisualC++.NET:EvolucindeVisualC++
Visual J#.NET: Adaptacin de Visual J++
VisualC#.NET:ElnuevolenguajedePOO
Empresas ajenas han creado compiladores de sus lenguajes para la plataforma .NET: Eiffel,
Perl, Python, Haskell, Pascal, Oberon...

27

La plataforma .NET es independiente del Lenguaje de Programacin, por ende no se est restringido
a desarrollar en Visual C++ y Basic. Existen compiladores para C#, Visual Basic.NET, Jscript.NET,
COBOL, Python, Perl, etc. .NET soporta estos lenguajes no soportando realmente ninguno de ellos:
.NET slo entiende MicroSoft Intermediate Language (MSIL)
En .NET se traduce cdigo fuente a IL (Intermediate Language) + Metadatos. IL es compilado antes
de ser ejecutado y no est diseado para un lenguaje en particular como en Java. Las sentencias IL
manipulan tipos comunes compartidos por todos los lenguajes .NET (Common Type System CTS).
El Common Language Runtime (CLR) es responsable de cargar y ejecutar una aplicacin .NET. Usa
compilacin JIT (Just-In-Time) para traducir IL a cdigo nativo. IL es siempre compilado y nunca
interpretado. Cada mtodo del cdigo IL slo es compilado una vez cuando es indicado.
Ejemplo: Hola Mundo en C# .NET
// fichero: hola.cs using System;
class Hola {
public static void Main() {
Console.WriteLine(Hola Mundo);
}
}
C o m e nt a r i os:
Todo programa en C# contiene al menos una clase.
Main es el punto de entrada del programa .
Console.WriteLine(msg), visualiza msg, invocando al mtodo WriteLine de la clase Console.
El espacio de nombres System pertenece a .NET FCL (Framework Class Library).
FCL contiene muchas clases tiles, que pueden usarse desde las aplicaciones .NET.

3. Paradigmas de Programacin Clasificacin


Un paradigma de programacin es una propuesta tecnolgica adoptada por una comunidad de
programadores y desarrolladores cuyo ncleo central es incuestionable en cuanto que nicamente
trata de resolver uno o varios problemas claramente delimitados; la resolucin de estos problemas
debe suponer consecuentemente un avance significativo en al menos un parmetro que afecte a la
ingeniera de software.
Un paradigma de programacin representa un enfoque particular o filosofa para disear soluciones.
Los paradigmas difieren unos de otros, en los conceptos y la forma de abstraer los elementos
involucrados en un problema, as como en los pasos que integran su solucin del problema, en otras
palabras, el cmputo.
Tiene una estrecha relacin con la formalizacin de determinados lenguajes en su momento de
definicin. Es un estilo de programacin empleado.
Un paradigma de programacin est delimitado en el tiempo en cuanto a aceptacin y uso, porque
nuevos paradigmas aportan nuevas o mejores soluciones que la sustituyen parcial o totalmente.
El paradigma de programacin que actualmente es el ms utilizado es la "orientacin a objetos" (OO).
El ncleo central de este paradigma es la unin de datos y procesamiento en una entidad llamada
"objeto", relacionable a su vez con otras entidades "objeto".

28

Tradicionalmente, datos y procesamiento se han separado en reas diferentes del diseo y la


implementacin de software. Esto provoc que se tuvieran problemas de fiabilidad, mantenimiento,
adaptacin a los cambios y escalabilidad. Con la OO y caractersticas como el encapsulado,
polimorfismo o la herencia, se permiti un avance significativo en el desarrollo de software a cualquier
escala de produccin.
A medida que la tecnologa de las computadoras fue evolucionando, tambin han ido
cambiando las formas o estilos de programar; se han propuesto varios p a r a d i g m a s
de programacin cuyo objetivo principal es mejorar tanto el diseo de programas como su
mantenimiento.
3.1 Programacin Estructurada
La Programacin Estructurada (PE) es una metodologa que consiste en aplicar un conjunto de
tcnicas que permiten programar de forma fcil, ordenada y eficaz. Utilizando la Programacin
Estructurada se obtienen ventajas tales como:
Permite disear fcilmente, programas efectivos y correctos.
La depuracin del programa es mucho ms fcil.
El programa generado puede ser utilizado por cualquier usuario.
El diseo de programas se vuelve una tarea sistemtica.
El mantenimiento o modificacin de los programas es ms rpido y fcil.
Un programa diseado con este estilo de programacin, consta de instrucciones que describen la
solucin del problema. Las tcnicas fundamentales de Programacin Estructurada son cuatro:
Lgica Estructurada, Documentacin, Anlisis Estructurado y Estructuras de Datos.
La lgica estructurada es una tcnica de programacin, que ayuda a disear sistemticamente
algoritmos libres de errores y que al ejecutarlos (o seguirlos) se obtenga la informacin requerida
en el problema. Un algoritmo correcto es aquel que no tiene errores y adems hace lo que se
espera que haga; es decir, genera resultados correctos. Se debe recordar que un algoritmo consiste
en un conjunto de pasos que se deben obedecer al pie de la letra para solucionar el problema, la
tcnica de Lgica Estructurada consiste en resolver los problemas, o disear algoritmos, con
nicamente tres posibles acciones:
1. Secuenciacin:
2. Seleccin:
3. Repeticin:

Se obedece una orden tras otra, sin ninguna consideracin adicional.


Se elige una entre dos o ms alternativas posibles para obedecer.
Se repiten una o varias rdenes, las veces que sea necesario.

A estas posibles acciones se les conoce como Estructuras Lgicas de Control, ya que indican
qu hacer en cada paso del algoritmo y cmo hacerlo. Las estructuras lgicas de control se dividen
en:

Fundamentales

Secuenciacin
Si_ Entonces_Sino
Mientras

Derivadas

Seleccionar Caso
Desde_Hasta
Hasta Que

3.2 Programacin Declarativa


Es uno de los paradigmas pioneros en los estilos de programacin. Desarrolla programas
especificando o declarando un conjunto de condiciones, proposiciones, restricciones, ecuaciones
o transformaciones que describen el problema y detallan su solucin; sin especificar exactamente
cmo encontrarla.
En la Programacin Declarativa, las sentencias que se utilizan describen el problema que se quiere
solucionar, pero no las sentencias necesarias para resolverlo. Dicho de otra manera, ms que el
Cmo desarrollar un proceso, interesa el Qu se desea obtener a travs del programa.

29

3.3 Programacin Orientada a Objetos


La Programacin Orientada a Objetos (POO), ha tomado las mejores ideas de la programacin
estructurada y las ha combinado con varios conceptos nuevos y potentes que incitan a contemplar
las tareas de programacin desde un nuevo punto de vista. La POO, permite descomponer
ms fcilmente un problema en subgrupos de partes relacionadas del problema.
Este paradigma de programacin, usa objetos y sus interacciones para disear programas
informticos:
Objeto: es una estructura de datos y conjunto de procedimientos que operan sobre dicha
estructura. Una definicin ms completa de objeto es: una entidad de programa que consiste en
datos y todos aquellos procedimientos que pueden manipular aquellos datos; el acceso a los datos
de un objeto es solamente a travs de estos procedimientos, nicamente estos procedimientos
pueden manipular, referenciar y/o modificar estos datos.
Para poder describir todos los objetos de un programa, conviene agrupar stos en clases. Una Clase
es una coleccin de objetos que poseen caractersticas y operaciones comunes. Una clase
contiene toda la informacin necesaria para crear nuevos objetos. Una clase es un tipo definido que
determina la estructura de datos y las operaciones asociadas a ese tipo. Se puede ver como una
plantilla que describe objetos que van a tener la misma estructura y el mismo comportamiento.
Este tipo de programacin est basado en varias tcnicas, entre ellas: Herencia, Abstraccin,
Polimorfismo y Encapsulamiento. Son ejemplos de Lenguajes Orientados a Objetos (LOO): C # ,
C++, Java
3.4 Programacin Orientada por Eventos
La Programacin Dirigida u Orientada por Eventos es un estilo de programacin en el que tanto la
estructura como la ejecucin de los programas van determinados por los sucesos que ocurran en
el sistema, definidos por el usuario o que ellos mismos provoquen.
El creador de un programa dirigido por eventos debe definir los eventos que manejarn su
programa y las acciones que se realizarn al producirse cada uno de ellos, lo que se conoce como
el Administrador del Evento. Los eventos soportados estarn determinados por el lenguaje de
programacin utilizado, por el sistema operativo e incluso por eventos creados por el mismo
programador.
En la programacin dirigida por eventos, al comenzar la ejecucin del programa se llevarn a cabo
las inicializaciones y dems cdigos iniciales y, a continuacin, el programa quedar bloqueado
hasta que se produzca algn evento. Cuando alguno de los eventos esperados por el programa
tenga lugar, el programa pasar a ejecutar el cdigo del correspondiente Administrador del Evento.
Por ejemplo, si el evento consiste en que el usuario ha hecho click en el botn de play de un
reproductor de pelculas, se ejecutar el cdigo del Administrador del Evento, que ser el que haga
que la pelcula se muestre por pantalla.
Un ejemplo claro de este paradigma se tiene en los sistemas de programacin Visual, en los que a
cada elemento del programa (objetos, controles, etc.) se le asignan una serie de eventos que
generar dicho elemento, como la pulsacin de un botn del ratn sobre l o el redibujado del control

30

4. Clasificacin de los Lenguajes de Programacin


4.1. Bajo y Alto Nivel
Lenguaje de Programacin es el conjunto de reglas y vocablos que rigen la escritura de un
programa. Se clasifican en:
a) Bajo nivel: Utilizan vocablos directamente entendibles por el CPU de la computadora. Por
ejemplo: Lenguaje de mquina y lenguaje ensamblador.
b) Alto nivel: Utilizan lenguajes parecidos al lenguaje humano pero no entendible para el CPU, por
lo cual deben ser traducidos a un lenguaje computacional de bajo nivel. Por ejemplo: Basic, Pascal,
C, COBOL, FORTRAN, Java, etc.
4.2. Programacin Imperativa y Declarativa
La Programacin Imperativa o Por Procedimientos, es la forma ms usada en general. Se basa en
dar instrucciones al ordenador de cmo hacer las cosas en forma de algoritmos. La programacin
imperativa es la ms usada y la ms antigua, el ejemplo principal es el Lenguaje de Mquina.
Ejemplos de lenguajes puros de este paradigma seran el C, BASIC o Pascal.
La Programacin Orientada a Objetos est basada en el imperativo, pero encapsula elementos
denominados objetos que incluyen tanto variables como funciones. Est representado por C++ o el
Java.
La Programacin Dinmica est definida como el proceso de romper problemas en partes pequeas
para analizarlos y resolverlos de forma ms ptima, busca resolver problemas en n pasos. Este
paradigma est ms basado en el modo de realizar los algoritmos, por lo que se puede usar con
cualquier lenguaje imperativo.
La Programacin Declarativa est basada en describir el problema declarando propiedades y reglas
que deben cumplirse, en lugar de instrucciones. Hay lenguajes para la programacin funcional, la
programacin lgica, o la combinacin lgico-funcional. Unos de los primeros lenguajes funcionales
fueron Lisp y Prolog.
La Programacin Funcional est basada en la definicin los predicados y es de corte ms
matemtico, est representada por Scheme (una variante de Lisp) o Haskell.
La Programacin Lgica est basada en la definicin de relaciones lgicas, est representada por
Prolog.
La Programacin con Restricciones es similar a la lgica usando ecuaciones. Casi todos los
lenguajes son variantes del Prolog.
La Programacin Multiparadigma: es el uso de dos o ms paradigmas dentro de un programa. El
lenguaje Lisp se considera multiparadigma.
Se denomina Lenguaje Especfico del Dominio o DSL, a los lenguajes desarrollados para resolver un
problema especfico, pudiendo entrar dentro de cualquier grupo anterior. El ms representativo sera
SQL para el manejo de las bases de datos, de tipo declarativo, pero los hay imperativos como el
Logo.

31

Si bien puede seleccionarse la forma pura de estos paradigmas al momento de programar, en la


prctica es habitual que se mezclen, dando lugar a la programacin multiparadigma o lenguajes de
programacin multiparadigma. Actualmente, el paradigma de programacin ms utilizado es el
paradigma de la programacin orientada a objetos.
Por un lado, la Programacin Imperativa, en contraposicin a la programacin declarativa, es un
paradigma de programacin que describe la programacin en trminos del estado del programa y
sentencias que cambian dicho estado. Los programas imperativos son un conjunto de instrucciones
que le indican al computador cmo realizar una tarea.
La implementacin de hardware de la mayora de computadores es imperativa; prcticamente todo el
hardware de los computadores est diseado para ejecutar cdigo de mquina, que es nativo al
computador, escrito en una forma imperativa. Esto se debe a que el hardware de los computadores
implementa el paradigma de las Mquinas de Turing. Desde esta perspectiva de bajo nivel, el estilo
del programa est definido por los contenidos de la memoria, y las sentencias son instrucciones en el
lenguaje de mquina nativo del computador (por ejemplo el lenguaje ensamblador).
Los lenguajes imperativos de alto nivel usan variables y sentencias ms complejas, pero an siguen
el mismo paradigma. Las recetas y las listas de revisin de procesos, a pesar de no ser programas de
computadora, son tambin conceptos familiares similares en estilo a la programacin imperativa;
donde cada paso es una instruccin. Son aquellos cuyos valores son atmicos y estn formados por
elementos en un caso especial.
Los primeros lenguajes imperativos fueron los lenguajes de mquina de los computadores originales.
En estos lenguajes, las instrucciones fueron muy simples, lo cual hizo la implementacin de hardware
fcil, pero obstruyendo la creacin de programas complejos. Fortran, cuyo desarrollo fue iniciado en
1954 por John Backus en IBM, fue el primer gran lenguaje de programacin en superar los obstculos
presentados por el cdigo de mquina en la creacin de programas complejos.
Por otro lado, la Programacin Declarativa, en contraposicin a la programacin imperativa es un
paradigma de programacin que est basado en el desarrollo de programas especificando o
"declarando" un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o
transformaciones que describen el problema y detallan su solucin. La solucin es obtenida mediante
mecanismos internos de control, sin especificar exactamente cmo encontrarla (tan slo se le indica a
la computadora qu es lo que se desea obtener o qu es lo que se est buscando). No existen
asignaciones destructivas, y las variables son utilizadas con Transparencia Referencial.
En la programacin imperativa se describe paso a paso un conjunto de instrucciones que deben
ejecutarse para variar el estado del programa y hallar la solucin; es decir, un algoritmo en el que se
describen los pasos necesarios para solucionar el problema.
En la programacin declarativa las sentencias que se utilizan lo que hacen es describir el problema
que se quiere solucionar. Se programa diciendo lo que se quiere resolver pero a nivel de usuario,
pero no las instrucciones necesarias para solucionarlo. Esto ltimo se realizar mediante mecanismos
internos de inferencia de informacin a partir de la descripcin realizada.
4.3 Intrpretes
La computadora es una potente herramienta pero por s sola no es capaz de efectuar ninguna tarea.
Es tan slo una mquina compuesta por elementos fsicos, que necesita recibir instrucciones por
parte de los humanos, para realizar alguna tarea; stas rdenes o instrucciones se le deben
especificar de forma que la mquina las entienda; es decir, por medio de un lenguaje de
programacin.

32

Lenguaje de Programacin es un conjunto de smbolos que combinados entre s, junto con un


grupo de reglas sintcticas, permiten expresar los datos e instrucciones necesarios para que las
r d e n e s sean ejecutadas por la computadora.
Se sabe que las computadoras no entienden otro lenguaje que no sea el lenguaje mquina por lo
que se hace n ecesario conocer el lenguaje de unos y ceros de la propia computadora. Este
lenguaje es demasiado complicado para los seres humanos aunque es directamente ejecutable por
la propia mquina.
En Ciencias de la Computacin, intrprete o interpretador es un programa informtico capaz de
analizar y ejecutar otros programas. Los intrpretes se diferencian de los compiladores o de los
ensambladores en que mientras estos traducen un programa desde su descripcin en un lenguaje de
programacin al cdigo de mquina del sistema, los intrpretes slo realizan la traduccin a medida
que sea necesaria, tpicamente, instruccin por instruccin, y normalmente no guardan el resultado
de dicha traduccin.
Usando un intrprete, un solo archivo fuente puede producir resultados iguales incluso en sistemas
sumamente diferentes (ejemplo. una PC y una PlayStation 4). Usando un compilador, un solo archivo
fuente puede producir resultados iguales slo si es compilado a distintos ejecutables especficos a
cada sistema.
Los programas interpretados suelen ser ms lentos que los compilados debido a la necesidad de
traducir el programa mientras se ejecuta, pero a cambio son ms flexibles como entornos de
programacin y depuracin (lo que se traduce, por ejemplo, en una mayor facilidad para reemplazar
partes enteras del programa o aadir mdulos completamente nuevos). Permiten ofrecer al programa
interpretado un entorno no dependiente de la mquina donde se ejecuta el intrprete, sino del propio
intrprete (lo que se conoce comnmente como Mquina Virtual).
Para mejorar el desempeo, algunas implementaciones de programacin de lenguajes de
programacin pueden interpretar o compilar el cdigo fuente original en una ms compacta forma
intermedia y despus traducir eso al cdigo de mquina. Algunos aceptan los archivos fuente
guardados en esta representacin intermedia.
En la actualidad, uno de los entornos ms comunes de uso de los intrpretes es en los navegadores
web, debido a la posibilidad que estos tienen de ejecutarse independientemente de la plataforma.
4.4 Compilador
Un compilador es un programa informtico que traduce un programa escrito en un lenguaje de
programacin a otro lenguaje de programacin. Usualmente el segundo lenguaje es lenguaje de
mquina, pero tambin puede ser un cdigo intermedio (bytecode), o simplemente texto. Este
proceso de traduccin se conoce como compilacin.
La construccin de un compilador involucra la divisin del proceso en una serie de fases que variar
con su complejidad. Generalmente estas fases se agrupan en dos tareas: el anlisis del programa
fuente y la sntesis del programa objeto.

Anlisis: Se trata de la comprobacin de la correccin del programa fuente, e incluye las fases
correspondientes al Anlisis lxico (que consiste en la descomposicin del programa fuente en
componentes lxicos), Anlisis sintctico (agrupacin de los componentes lxicos en frases
gramaticales ) y Anlisis semntico (comprobacin de la validez semntica de las sentencias
aceptadas en la fase de Anlisis Sintctico).

33

Sntesis: Su objetivo es la generacin de la salida expresada en el lenguaje objeto y suele


estar formado por una o varias combinaciones de fases de Generacin de Cdigo
(normalmente se trata de cdigo intermedio o de cdigo objeto) y de Optimizacin de Cdigo
(en las que se busca obtener un cdigo lo ms eficiente posible).

Alternativamente, las fases descritas para las tareas de anlisis y sntesis se pueden agrupar en
Front-end y Back-end:

Front-end: es la parte que analiza el cdigo fuente, comprueba su validez, genera el rbol de
derivacin y rellena los valores de la tabla de smbolos. Esta parte suele ser independiente de
la plataforma o sistema para el cual se vaya a compilar, y est compuesta por las fases
comprendidas entre el Anlisis Lxico y la Generacin de Cdigo Intermedio.

Back-end: es la parte que genera el cdigo mquina, especfico de una plataforma, a partir de
los resultados de la fase de anlisis, realizada por el Front End.

Esta divisin permite que el mismo Back End se utilice para generar el cdigo mquina de varios
lenguajes de programacin distintos y que el mismo Front End que sirve para analizar el cdigo
fuente de un lenguaje de programacin concreto sirva para generar cdigo mquina en varias
plataformas distintas. Suele incluir la generacin y optimizacin del cdigo dependiente de la
mquina.
En suma, los Compiladores analizan la sintaxis y semntica de un programa fuente y s es
correcta traducen completamente el conjunto de instrucciones a lenguaje mquina antes de que
cualquier instruccin sea ejecutada; esto garantiza que el programa est libre de errores de sintxis
y semntica. Adems son ms rpidos en la ejecucin que los programas interpretados. A
continuacin un diagrama que muestra las operaciones de un buen programa de compilacin:
Tipos de Archivos Generados en el Proceso de Programar:
Programa: Conjunto de rdenes o instrucciones, que se le
dan a una computadora para que realice una tarea. Estas
instrucciones deben ser escritas en un lenguaje de
programacin; en este sentido, tiene validez definir un
programa como el
resultado
de
codificar
un
algoritmo.
El programa escrito en un lenguaje de programacin
se conoce como programa fuente y debe ser traducido
a lenguaje de mquina dando como resultado un
programa objeto.
Programa Fuente: Conjunto de instrucciones escritas en
un lenguaje de programacin de alto nivel.
Programa Objeto: Conjunto de instrucciones que se
obtienen como resultado de la traduccin de un programa
fuente, pero an no directamente ejecutables por la
mquina.

34

Se debe hacer la observacin, que el programa objeto es la traduccin en lenguaje de mquina (0 y


1) del programa fuente (escrito en un lenguaje de programacin) que no se puede ejecutar sin
agregarle las partes extra (instrucciones de las funciones importadas desde una librera) que el
programa necesita y que no forman parte de l, el resultado es un PROGRAMA EJECUTABLE.
Programa ejecutable: Conjunto de instrucciones directamente ejecutables por la mquina. Estas
instrucciones estn escritas en lenguaje binario o lenguaje de mquina y, el archivo que las
contiene puede tener las extensiones EXE o COM para Windows o bin para Unix/Linux.
Esquemticamente:

ENTRADA
#include <stdio.h>
#include <conio.h>
#define n 5
main ()
{
int a, b ,c;
.
}

Programa Fuente en C
Lenguaje de Alto Nivel

PROCESO

SALIDA

Lenguaje

10110010101000111
00011110101010101
10011001100110010
00011100011100011
11001110110001100
01010101010101010
...

Compilador

Programa Objeto

Traductor de

Lenguaje de Bajo Nivel

35

Вам также может понравиться