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

Introduccin a la Computacin

Tc1001
Conceptos Fundamentales

1.3 Historia de la computacin


Introduccin
Es difcil describir el impacto que ha tenido la computadora en
el mundo contemporneo. Las computadoras se encuentran en
cualquier parte hacia uno voltee a ver y en donde no se pueda ver.
Las computadoras hacen facturas, despachan combustible, entregan
dinero en los cajeros automticos (ATM) encienden y apagan
calefaccin y aire acondicionado y controlan el funcionamiento de
automviles. Estos son algunos pocos ejemplos de lo que hace y puede
hacer una computadora. Las aplicaciones de esta mquina, capaz de
amplificar la capacidad mental de los seres humanos, parecen no
tener fin. Sin embargo, hacer realidad estas aplicaciones, requieren
por ahora, de programas y por ende de programadores. Hasta el da
de hoy, somos los seres humanos quienes diseamos, creamos,
programamos y controlamos a las computadoras.
Una computadora es un dispositivo electrnico que ejecuta
instrucciones. Ejecuta cuatro principales funciones: acepta datos,
procesa datos, genera informacin y almacena informacin. Las
caractersticas principales de una computadora son: velocidad,
capacidad de procesamiento; confiabilidad, precisin en el proceso y
capacidad de almacenamiento de datos.
Actualmente existen diversos tipos de computadoras para
diferentes usos. Los diferentes tipos de computadoras se basan en las
diferentes funciones que realizan.

Ngj/2011

1.3 Historia de las computadoras

25

Introduccin a la Computacin
Tc1001
Conceptos Fundamentales
Personal o micro
Las computadoras para el uso personal se presentan en todas
las formas y tamaos, desde las minsculas PDA (personal digital
assistant) a las slidas torres PC (personal computer). Modelos ms
especializados son anunciados cada semana, planeamiento de viajes,
anotadores (notebooks) para cuentas de gastos, traductores de
idiomas, etc.
Descripciones de las computadoras personales
Al hablar sobre las computadoras PC, se piensa en el tipo
desktop, la computadora de escritorio. La torre (tower) y los estilos
de gabinetes mini-torre ms pequeos se han vuelto populares
cuando las personas empezaron a necesitar ms espacio para los
drives extra que se instalaban adentro. Los reparadores ciertamente
aprecian la holgura adentro para los cables y las plaquetas.
Una Workstation o estacin de trabajo, es una parte de una
red de computadoras y generalmente se espera que tenga ms que
una PC desktop habitual, ms de todo, como memoria, espacio para
almacenar y velocidad.
El mercado para las PCs ms pequeas se est extendiendo
rpidamente. El software est hacindose disponible para los tipos
pequeos de PC como la palmtop (PPC) y handheld (HPC). Este
nuevo software est basado en nuevos sistemas operativos como
Windows CE (para Electrnica de Consumo). Una gran ventaja, para
los programas ms novedosos, es la habilidad para conectarse a las
computadoras pequeas en su casa o a la computadora del trabajo y
coordinar por todas partes ingresando nuevos nmeros de telfono y
citas y esas grandes ideas que le brotan a usted. Despus puede
trasladar esta informacin a su computadora principal.
Con una Tableta PC se usa una punta aguda para escribir
sobre la pantalla, de manera similar a la de un lpiz o lapicera sobre
un papel, con la diferencia de que aqu la tinta es digital. La Tableta
PC almacena su trabajo tal cual lo haya escrito, o puede convertir
sus garabatos en un texto normal por medio del software Hand
Recognition o HR.

26

1.3 Historia de las computadoras

Ngj/2011

Introduccin a la Computacin
Tc1001
Conceptos Fundamentales
Computadoras de gran porte
Es el caballo de trabajo para el mundo de los negocios. Una
gran computadora (main frame) es el corazn de las redes o
terminales que permiten que cientos de personas trabajen
simultneamente con los mismos datos. Se requiere un entorno
especial fro y seco.

Supercomputadoras
La supercomputadora es la cumbre de la pila y del costo. Estas son
utilizadas para trabajos que requieren cantidades enormes de
clculos, como el pronstico del tiempo, diseos y pruebas de
ingeniera, descifrado serio, pronsticos en la economa, etc.

Computacin Distribuda con PC Grid


La potencia que se requiere para algunos clculos supera hasta
lo que puede manejar una sola supercomputadora. En la
computacin distribuida con un PC grid muchas computadoras de
todos los tamaos pueden trabajar en partes del problema y despus
combinar sus resultados. Una cantidad de proyectos actuales se
basan en voluntarios con computadoras conectadas a la Internet.
Las computadoras hacen el trabajo cuando no se hallan ocupadas de
otra manera.
Ngj/2011

1.3 Historia de las computadoras

27

Introduccin a la Computacin
Tc1001
Conceptos Fundamentales
Otros Palabras Importantes
Servidores
El trmino Servidor en realidad se refiere ms a una funcin
de la computadora, que a una clase especfica de Computadora
Personal. Un Servidor atiende una red de computadoras. Merced al
Servidor varios equipos comparten elementos externos como las
impresoras, y se encargan de las comunicaciones entre las
computadoras que integran una red. Para esas tareas se necesita que
la computadora tenga mayor capacidad que una computadora de
uso general, esto es: ms potencia, memoria ms grande, capacidad
de almacenamiento mayor y comunicaciones de alta velocidad
Minicomputadoras
Se han vuelto menos importantes a partir de que la PC se
volvi tan poderosa en s misma. De hecho, la nueva PC comn es
mucho ms potente que lo que lleg a ser las minicomputadoras.
Originalmente ese tamao fue desarrollado para manejar tareas
especficas, como las de Ingeniera y clculos en CAD( Diseo
Asistido por Computadora) que tendan a bloquear las computadoras
de gran porte.
Conclusin
Existen en el mercado un gran nmero de tipos de
computadores en funcin de las aplicaciones o requerimientos. Sin
embargo, independientemente de la funcin de la computadora, las
caractersticas que le definen son velocidad, capacidad de
procesamiento y capacidad de almacenamiento. La velocidad se
mide en Hertz: MHz, GHz; dependiendo del tipo de procesador se
tendr la facilidad y exactitud del procesamiento de datos y la
capacidad de almacenamiento se mide en bytes: Gigas, Megas y kilo
bytes.

28

1.3 Historia de las computadoras

Ngj/2011

Introduccin a la Computacin
Tc1001
Conceptos Fundamentales
1.3.1 Computadora
Segn la Real Academia de la lengua espaola, una computadora es una
mquina electrnica, analgica o digital, dotada de una memoria de gran
capacidad y de mtodos de tratamiento de la informacin, capaz de resolver
problemas matemticos y lgicos mediante la utilizacin automtica de
programas informticos.
Se dice que esta mquina es la responsable de toda una revolucin que est
cambiando el panorama econmico, social e incluso cultural. Debido a la
importancia y al difcil manejo de estas mquinas, aparece la informtica como la
ciencia orientada al proceso de informacin mediante el uso de computadoras.
Una computadora consta de diversos componentes entre los que sobresale el
procesador, el componente que es capaz de realizar las tareas que se requieren al
ordenador o computadora.
En realidad un procesador slo es capaz de realizar tareas sencillas como:
Operaciones aritmticas simples: suma, resta, multiplicacin y divisin
Operaciones de comparacin entre valores
Almacenamiento de datos
Algunos de los componentes destacables de un ordenador son:
CPU (Unidad central de proceso)
Unidades de almacenamiento
Perifricos de entrada
Perifricos de salida
Otros dispositivos

Componentes de un ordenador desde un punto de vista lgico

Ngj/2011

1.3 Historia de las computadoras

29

Introduccin a la Computacin
Tc1001
Conceptos Fundamentales
Este desglose de los componentes de la computadora es el que interesa a los
programadores. Pero desde un punto de vista ms fsico, hay otros componentes a
sealar:
Procesador. Ncleo digital en el que reside el CPU del computador. Es la
parte fundamental de la computadora, la encargada de realizar todas las
tareas.
Placa base. Circuito interno al que se conectan todos los componentes de la
computadora, incluido el procesador.
Memoria RAM. Memoria interna formada por un circuito digital que est
conectado mediante tarjetas a la placa base. Su contenido se evapora cuando
se desconecta la computadora. Lo que se almacena no es permanente.
Memoria cach. Memoria ultrarrpida de caractersticas similares a la
RAM, pero de velocidad mucho ms elevada por lo que se utiliza para
almacenar los ltimos datos utilizados.
Perifricos. Aparatos conectados al ordenador mediante tarjetas o ranuras
de expansin (tambin llamados puertos). Los hay de entrada (introducen
datos: teclado, ratn, escner,...), de salida (muestran datos desde la
computadora: pantalla, impresora, altavoces,...) e incluso de entrada/salida
(mdem, tarjeta de red).
Unidades de almacenamiento. En realidad son perifricos, pero que
sirven para almacenar de forma permanente los datos que se deseen de la
computadora. Los principales son el disco duro (unidad de gran tamao
interna), el CD-ROM y el DVD.
Hardware
Se trata de todos los componentes fsicos que forman parte de la
computadora tales como el procesador, la memoria RAM, impresora, teclado,
ratn, etc.
Software
Se trata de la parte conceptual de la computadora. Es decir los datos y
aplicaciones que maneja y que permiten un grado de abstraccin mayor. Cualquier
cosa que se pueda almacenar en una unidad de almacenamiento es software (la
propia unidad es hardware).
Sistema Operativo
Se trata del software (programa) encargado de llevar a cabo las funciones. Es
la aplicacin que oculta la fsica real del ordenador para mostrarnos un interfaz que
permita al usuario un mejor y ms fcil manejo de la computadora.
Funciones del Sistema Operativo
Las principales funciones que desempea un Sistema Operativo son:
Permitir al usuario comunicarse con el ordenador. A travs de comandos o a
travs de una interfaz grfica.
Coordinar y manipular el hardware de la computadora: memoria,
impresoras, unidades de disco, el teclado,
30

1.3 Historia de las computadoras

Ngj/2011

Introduccin a la Computacin
Tc1001
Conceptos Fundamentales
Proporcionar herramientas para organizar los datos de manera lgica
(carpetas, archivos,...)
Proporcionar herramientas para organizar las aplicaciones instaladas.
Gestionar el acceso a redes
Gestionar los errores de hardware y la prdida de datos.
Servir de base para la creacin de aplicaciones, proporcionando funciones
que faciliten la tarea a los programadores.
Administrar la configuracin de los usuarios.
Proporcionar herramientas para controlar la seguridad del sistema.
Algunos sistemas operativos
Windows. Hoy en da es el Sistema Operativo ms popular (instalado en el
95% de computadoras del mundo). Es un software propiedad de Microsoft
por el que hay que pagar por cada licencia de uso.

Versiones actuales de Windows

Linux. Sistema operativo de cdigo abierto. Posee numerosas


distribuciones (muchas de ellas gratuitas) y software adaptado para l
(aunque slo el 15% de las computadoras posee Linux).
MacOs. Sistema operativo de los ordenadores MacIntosh.
Unix. Sistema operativo muy robusto para gestionar redes de todos los
tamaos. Actualmente en desuso debido al uso de Linux (que est basado en
Unix).
Solaris. Versin de Unix para sistemas Sun.
Ngj/2011

1.3 Historia de las computadoras

31

Introduccin a la Computacin
Tc1001
Conceptos Fundamentales
1.3.2 Codificacin de la informacin
Una de las informaciones que ms a menudo una computadora tiene que
manipular son los nmeros. Pero tambin necesita codificar otro tipo de
informacin, como por ejemplo caracteres, imgenes y sonidos. Para la
computadora toda la informacin tiene que estar en formato binario esto es, unos y
ceros.
Sistemas numricos
A lo largo de la historia han existido numerosos sistemas de numeracin.
Para simplificar se dividen en dos tipos:
Sistemas no posicionales. En ellos se utilizan smbolos cuyo valor numrico
es siempre el mismo independientemente de donde se siten. Es lo que ocurre
con la numeracin romana. En esta numeracin el smbolo I significa siempre
uno independientemente de su posicin.
Sistemas posicionales. En ellos los smbolos numricos cambian de valor en
funcin de la posicin que ocupen. Es el caso de nuestra numeracin, el smbolo
2, en la cifra 12 vale 2; mientras que en la cifra 21 vale veinte.
La historia ha demostrado que los sistemas posicionales son mucho mejores para
los clculos matemticos por lo que han retirado a los no posicionales. Todos los
sistemas posicionales tienen una base, que es el nmero total de smbolos que
utiliza el sistema. En el caso de la numeracin decimal la base es 10, en el sistema
binario es 2.
Sistema binario
Los nmeros binarios son los que utilizan las computadoras para almacenar
informacin. Debido a ello hay trminos informticos que se refieren al sistema
binario y que se utilizan continuamente. Son:
BIT (de Binary diGIT). Se trata de un dgito binario, el nmero binario 1001
tiene cuatro BITS.
Byte. Es el conjunto de 8 BITS.
Kilobyte. Son 1024 bytes.
Megabyte. Son 1024 Kilobytes.
Gigabyte. Son 1024 Megabytes.
Terabyte. Son 1024 Gigabytes.
Petabyte. Son 1024 Terabytes.

32

1.3 Historia de las computadoras

Ngj/2011

Introduccin a la Computacin
Tc1001
Conceptos Fundamentales
1.3.3 Algoritmos
Un algoritmo es el conjunto ordenado y finito de operaciones que permite
hallar la solucin de un problema. Los algoritmos, permiten obtener la solucin a
un problema. La palabra algoritmo procede del matemtico rabe Mohamed Ibn Al
Kow Rizmi, el cual escribi sobre los aos 800 y 825 su obra Quitad Al Mugabala,
donde se recoga el sistema de numeracin hind y el concepto del cero. Fibonacci,
tradujo la obra al latn y la llam: Algoritmi Dicit. El lenguaje algortmico es aquel
que implementa una solucin terica a un problema indicando las operaciones a
realizar y el orden en el que se deben efectuarse.
Un buen ejercicio para adquirir la habilidad de disear algoritmos es el
escribir los pasos que se deben de seguir para sacar el auto de la cochera de la casa:
1. Abrir la puerta de la cochera
2. Encender el auto
3. Verificar el trnsito en la calle
4. Sacar el auto.
Los algoritmos son la base de la programacin, ya que los programas de la
computadora se puede entender que son algoritmos escritos en un cdigo especial
entendible o descifrable por la computadora. El problema est en que no podemos
escribir lo que deseemos, el lenguaje a utilizar no debe dejar posibilidad de duda,
debe recoger todas las posibilidades. Por lo que los cuatro pasos anteriores pueden
ser mucho ms largos:
1. Abrir la puerta de la cochera
2. Abrir la puerta del auto
3. Subirse al auto,
4. Encender el auto,
5. Poner la velocidad,
6. Arrancar el auto hasta que se tenga la posibilidad de verificar el trnsito de
la calle (voltear hacia un lado y otro de la calle)
7. Sacar el auto.
En un algoritmo las instrucciones pueden ser ms largas de lo que parecen, por lo
que hay que determinar qu instrucciones se pueden utilizar y qu instrucciones no
se pueden utilizar. En el caso de los algoritmos preparados para la programacin,
se pueden utilizar slo instrucciones muy concretas.

Ngj/2011

1.3 Historia de las computadoras

33

Introduccin a la Computacin
Tc1001
Conceptos Fundamentales
Caractersticas de los algoritmos
Un algoritmo debe resolver el problema para el que fue formulado. No sirve
un algoritmo que no resuelve ese problema. En el caso de los
programadores, a veces crean algoritmos que resuelven problemas
diferentes al planteado.
Los algoritmos son independientes la computadora. Los algoritmos se
escriben para poder ser utilizados en cualquier mquina.
Los algoritmos deben de ser precisos. Los resultados de los clculos deben
de ser exactos, de manera rigurosa. No es vlido un algoritmo que slo
aproxime la solucin.
Los algoritmos deben de ser finitos. Deben de finalizar en algn momento.
No es un algoritmo vlido aquel que produce situaciones en las que el
algoritmo no termina.
Los algoritmos deben de poder repetirse. Deben de permitir su ejecucin las
veces que haga falta. No son vlidos los que tras ejecutarse una vez ya no
pueden volver a hacerlo por la razn que sea.
Caractersticas aconsejables para los algoritmos
Validez. Un algoritmo es vlido si carece de errores. Un algoritmo puede
resolver el problema para el que se plante y sin embargo no ser vlido
debido a que posee errores
Eficiencia. Un algoritmo es eficiente si obtiene la solucin al problema en
poco tiempo. No lo es si es lento en obtener el resultado.
ptimo. Un algoritmo es ptimo si es el ms eficiente posible y no contiene
errores. La bsqueda de este algoritmo es el objetivo prioritario del
programador. No siempre podemos garantizar que el algoritmo hallado es el
ptimo, a veces s.
Elementos que conforman un algoritmo
Entrada. Los datos iniciales que posee el algoritmo antes de ejecutarse.
Proceso. Acciones que lleva a cabo el algoritmo.
Salida. Datos que obtiene finalmente el algoritmo.
Etapas en la creacin de algoritmos
Hay tres fases en la elaboracin de un algoritmo:
1. Anlisis. En esta se determina cul es exactamente el problema a resolver.
Qu datos forman la entrada del algoritmo y cules debern obtenerse como
salida.
2. Diseo. Elaboracin del algoritmo.
3. Prueba. Comprobacin del resultado. Se observa si el algoritmo obtiene la
salida esperada para todas las entradas.

34

1.3 Historia de las computadoras

Ngj/2011

Introduccin a la Computacin
Tc1001
Conceptos Fundamentales
1.3.4 Programas y aplicaciones
Un programa es el conjunto unitario de instrucciones que permite a la
computadora realizar funciones diversas, como el tratamiento de textos, el diseo
de grficos, la resolucin de problemas matemticos, el manejo de bancos de datos,
etc. Pero normalmente se entiende por programa un conjunto de instrucciones
ejecutables. Un programa estructurado es un programa que cumple las condiciones
de un algoritmo tales como finitud, precisin, repeticin y resolucin del problema.
Una aplicacin es el software formado por uno o ms programas, la
documentacin de los mismos y los archivos necesarios para su funcionamiento, de
modo que el conjunto completo de archivos forman una herramienta de trabajo. La
aplicacin es un software completo que cumple la funcin completa para la que fue
diseado, mientras que un programa es el resultado de ejecutar un cierto cdigo
entendible por la computadora.
Historia del software. La crisis del software
Las primeras computadoras cumplan una nica programacin que estaba
definida en los componentes elctricos que la formaban. La idea de que hiciera
varias tareas (ordenador programable o multipropsito) hizo que se idearan las
tarjetas perforadas. En ellas se utilizaba cdigo binario, de modo que se hacan
agujeros en ellas para indicar el cdigo 1 o el cero.
Estos primeros programas servan para hacer tareas muy concretas. La
llegada de la electrnica hizo computadoras ms potentes para convertirlas en
verdaderas mquinas digitales que seguan utilizando el 1 y el 0 del cdigo binario
pero que eran capaces de leer miles de unos y ceros. As, empezaron a aparecer los
primeros lenguajes de programacin que escriban cdigo ms entendible por los
humanos que posteriormente era convertido al cdigo entendible por la mquina.
Inicialmente la creacin de aplicaciones requera escribir pocas lneas de
cdigo, por lo que no haba una tcnica especificar a la hora de crear programas.
Cada programador se defenda como poda generando el cdigo a medida que se le
ocurra. Poco a poco las funciones que se requeran a los programas fueron
aumentando produciendo miles de lneas de cdigo que al estar desorganizada
hacan casi imposible su mantenimiento. Slo el programador que haba escrito el
cdigo era capaz de entenderlo y eso no era en absoluto prctico.
La llamada crisis del software ocurri cuando se percibi que se gastaba ms
tiempo en hacer las modificaciones a los programas que en volver a crear el
software. La razn era que ya se haban codificado millones de lneas de cdigo
antes de que se definiera un buen mtodo para crear los programas.
La solucin a esta crisis ha sido la definicin de la ingeniera del software
como un oficio que requera un mtodo de trabajo similar al del resto de
ingenieras. La bsqueda de una metodologa de trabajo que elimine esta crisis
parece que an no est resuelta, de hecho los mtodos de trabajo siguen
redefinindose una y otra vez.

Ngj/2011

1.3 Historia de las computadoras

35

Introduccin a la Computacin
Tc1001
Conceptos Fundamentales
El ciclo de vida de una aplicacin
Una de las cosas que se han definido tras el nacimiento de la ingeniera del
software ha sido el ciclo de vida de una aplicacin. El ciclo de vida define los pasos
que sigue el proceso de creacin de una aplicacin desde que se propone hasta que
finaliza su construccin. Los pasos son:

Ciclo de vida de una aplicacin

1. Anlisis. En esta fase se determinan los requisitos que tiene que cumplir la
aplicacin. Se anota todo aquello que afecta al futuro funcionamiento de la
aplicacin. Este paso le realiza un analista.
2. Diseo. Se especifican los esquemas de diseo de la aplicacin. Estos
esquemas forman los planos del programador, los realiza el analista y
representan todos los aspectos que requiere la creacin de la aplicacin.
3. Codificacin. En esta fase se pasa el diseo a cdigo escrito en algn lenguaje
de programacin. Esta es la primera labor que realiza el programador
4. Pruebas. Se trata de comprobar que el funcionamiento de la aplicacin es la
adecuada. Se realiza en varias fases:
a. Prueba del cdigo. Las realizan programadores. Normalmente
programadores distintos a los que crearon el cdigo, de ese modo la
prueba es ms independiente y generar resultados ms ptimos.
b. Versin alfa. Es una primera versin terminada que se revisa a fin de
encontrar errores. Estas pruebas conviene que sean hechas por personal
no informtico.
c. Versin beta. Versin casi definitiva del software en la que no se
estiman fallos, pero que se distribuye a los clientes para que encuentren
posibles problemas. A veces est versin acaba siendo la definitiva (como
ocurre con muchos de los programas distribuidos libremente por
Internet).
36

1.3 Historia de las computadoras

Ngj/2011

Introduccin a la Computacin
Tc1001
Conceptos Fundamentales

5. Mantenimiento. Tiene lugar una vez que la aplicacin ha sido ya distribuida,


en esta fase se asegura que el sistema siga funcionando aunque cambien los
requisitos o el sistema para el que fue diseado el software. Antes esos cambios
se hacen los arreglos pertinentes, por lo que habr que retroceder a fases
anteriores del ciclo de vida.

1.3.5 Errores
Cuando un programa obtiene una salida que no es la esperada, se dice que
posee errores. Los errores son uno de los caballos de batalla de los programadores
ya que a veces son muy difciles de encontrar (de ah que hoy en da en muchas
aplicaciones se distribuyan parches para subsanar errores no encontrados en la
creacin de la aplicacin).
Tipos de errores
Error del usuario. Errores que se producen cuando el usuario realiza algo
inesperado y el programa no reacciona apropiadamente.
Error del programador. Son errores que ha cometido el programador al
generar el cdigo. La mayora de errores son de este tipo.
Errores de documentacin. Ocurren cuando la documentacin del
programa no es correcta y provoca fallos en el manejo del programa.
Error de interfaz. Ocurre si la interfaz de usuario de la aplicacin es
complicada para el usuario impidiendo su manejo normal. Tambin se
llaman as los errores de protocolo entre dispositivos.
Error de entrada / salida o de comunicaciones. Ocurre cuando falla
la comunicacin entre el programa y un dispositivo (se desea imprimir y no
hay papel, falla el teclado, etc.)
Error fatal. Ocurre cuando el hardware produce una situacin inesperado
que el software no puede controlar (la computadora se alenta, errores en la
grabacin de datos, etc.)
Error de ejecucin. Ocurren cuando la ejecucin del programa es ms
lenta de lo previsto.
La labor del programador es predecir, encontrar y subsanar (si es posible) o al
menos controlar los errores. Una mala gestin de errores causa experiencias poco
gratas al usuario de la aplicacin.

Ngj/2011

1.3 Historia de las computadoras

37

Introduccin a la Computacin
Tc1001
Conceptos Fundamentales
1.3.6 Programacin
La programacin consiste en pasar algoritmos a algn lenguaje
computacional a fin de que pueda ser entendido por la computadora. La
programacin inicia en los aos 50 y su evolucin ha pasado por diversos pasos. La
programacin se puede realizar empleando diversas tcnicas o mtodos. Esas
tcnicas definen los distintos tipos de programaciones.
Programacin desordenada
Se llama as a la programacin que se realizaba en los albores de la
informtica (aunque desgraciadamente en la actualidad muchos programadores
siguen emplendola). En este estilo de programacin, predomina el instinto del
programador por encima del uso de cualquier mtodo lo que provoca que la
correccin y entendimiento de este tipo de programas sea casi ininteligible.
Ejemplo de uso de esta programacin (listado en Basic clsico):
10 X=RANDOM()*100+1;
20 PRINT escribe el nmero que crees que guardo
30 INPUT N
40 IF N>X THEN PRINT mi numero es menor GOTO 20
50 IF N<X THEN PRINT mi numero es mayor GOTO 20
60 PRINT Acertaste!
El cdigo anterior crea un pequeo juego que permite intentar adivinar un
nmero del 1 al 100.
Programacin estructurada
En esta programacin se utiliza una tcnica que genera programas que slo
permiten utilizar tres estructuras de control:
Secuencias (instrucciones que se generan secuencialmente)
Alternativas (sentencias if)
Iterativas (bucles condicionales)
El listado anterior en un lenguaje estructurado puede ser (listado en Pascal):
PROGRAM ADIVINANUM;
USES CRT;
VAR x,n:INTEGER;
BEGIN
X=RANDOM()*100+1;
REPEAT
WRITE(Escribe el nmero que crees que guardo);
READ(n);
IF (n>x) THEN WRITE(Mi nmero es menor);
IF (n>x) THEN WRITE(Mi nmero es mayor);
UNTIL n=x;
WRITE(Acertaste);
La ventaja de esta programacin est en que es ms legible (aunque en este
caso el cdigo es casi ms sencillo en su versin desordenada). Todo programador
debe de escribir cdigo de forma estructurada.
38

1.3 Historia de las computadoras

Ngj/2011

Introduccin a la Computacin
Tc1001
Conceptos Fundamentales

Programacin modular
Completa la programacin estructurada permitiendo la definicin de
mdulos independientes cada uno de los cuales se encargar de una tarea del
programa. De esta forma el programador se concentra en la codificacin de cada
mdulo haciendo ms sencilla esta tarea. Al final se deben integrar los mdulos
para dar lugar a la aplicacin deseada.
El cdigo de los mdulos puede ser invocado en cualquier parte del cdigo.
Realmente cada mdulo se comporta como un subprograma que, partir de unas
determinadas entradas obtiene unas salidas concretas. Su funcionamiento no
depende del resto del programa por lo que es ms fcil encontrar los errores y
realizar el mantenimiento.
Programacin orientada a objetos
Es la ms novedosa, se basa en intentar que el cdigo de los programas se
parezca lo ms posible a la forma de pensar de las personas. Las aplicaciones se
representan en esta programacin como una serie de objetos independientes que se
comunican entre s.
Cada objeto posee datos y mtodos propios, por lo que los programadores se
concentran en programar independientemente cada objeto y luego generar el
cdigo que inicia la comunicacin entre ellos.
Es la programacin que ha revolucionado las tcnicas ltimas de
programacin ya que han resultado un importante xito gracias a la facilidad que
poseen de encontrar fallos, de reutilizar el cdigo y de documentar fcilmente el
cdigo.
Lenguajes de programacin
Los lenguajes de programacin permiten codificar algoritmos. Son una serie
de smbolos e instrucciones de acuerdo con una sintaxis que facilita su posterior
traduccin a cdigo entendible. La computadora slo reconoce un lenguaje
formado por los unos y ceros del cdigo binario. Segn la disposicin de esos unos
y ceros entender unas instrucciones u otras. De esa forma hay lenguajes ms
prximos al lenguaje de las computadoras (lenguajes de bajo nivel) y lenguajes ms
prximos al lenguaje humano (lenguajes de alto nivel).
Cdigo mquina (lenguaje de primera generacin)
Est formado por una sucesin de unos y ceros que el procesador de la
computadora reconoce como instrucciones. Es el lenguaje que reconoce
directamente la computadora por lo tanto es el que est a ms bajo nivel. Slo se ha
utilizado por los programadores en los inicios de la informtica. Su incomodidad de
trabajo hace que sea impensable para ser utilizado. Pero cualquier programa
computacional debe, finalmente, ser convertido a este cdigo para que una
computadora puede ejecutar las instrucciones de dicho programa.

Ngj/2011

1.3 Historia de las computadoras

39

Introduccin a la Computacin
Tc1001
Conceptos Fundamentales
Un detalle a tener en cuenta es que el cdigo mquina es distinto para cada
tipo de procesador. Lo que hace que los programas en cdigo mquina no sean
portables entre distintas mquinas.
Ensamblador (lenguajes de segunda generacin)
Se trata de un lenguaje que representa el cdigo mquina pero escrito con
una serie de trminos mnemotcnicos que facilitan su escritura. Despus un
software especial se encargar de traducir las instrucciones a cdigo mquina.
Ejemplo2 (programa que saca el texto Hola mundo por pantalla):
DATOS SEGMENT
saludo db "Hola mundo!!!","$"
DATOS ENDS
CODE SEGMENT
assume cs:code,ds:datos
START PROC
mov ax,datos
mov ds,ax
mov dx,offset saludo
mov ah,9
int 21h
A veces se habla de lenguajes de medio nivel para referirse a lenguajes que
utilizan una codificacin que est entre el ensamblador y el lenguaje de alto nivel.
El C se considera a menudo un lenguaje de nivel medio ya que su codificacin
puede resultar tan crptica como un cdigo en ensamblador. De hecho las
posibilidades del C son similares a las del ensamblador, pero su estructura es la de
un lenguaje de alto nivel.
Lenguajes de cuarta generacin o 4GL (fourth generation languages)
Son lenguajes en los que hay muy poco cdigo y en su lugar aparecen
indicaciones sobre qu es lo que el programa debe de obtener. En estos lenguajes
hay herramientas visuales mediante las que se disea el funcionamiento del
programa.
Los lenguajes de consulta de datos, creacin de formularios, informes, etc
son lenguajes de cuarto nivel. Aparecieron con los sistemas de base de datos.

40

1.3 Historia de las computadoras

Ngj/2011

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