You are on page 1of 20

DEFINICION DE ALGORITMO

Define algoritmo como un conjunto ordenado y finito de operaciones que permite


hallar la solucin de un problema. Mtodo y notacin en las distintas frmulas del
clculo. El algoritmo constituye un mtodo para resolver un problema mediante
una secuencia de pasos a seguir. Dicha secuencia puede ser expresada en forma
de diagrama de flujo con el fin de seguirlo de una forma ms sencilla.
De acuerdo con el concepto anterior, el algoritmo podra estar incluido en la
definicin de programa de ordenador de la Ley de Propiedad Intelectual (TRLPI),
al referirse a ste como toda secuencia de instrucciones o indicaciones
destinadas a ser utilizadas, directa o indirectamente, en un sistema informtico
para realizar una funcin o una tarea o para obtener un resultado determinado,
cualquiera que fuere su forma de expresin y fijacin.
Sin embargo, ciertas caractersticas de los algoritmos hacen que no puedan ser
calificados como programas de ordenador. (Ver recuadro) La consecuencia de
estas caractersticas es la exclusin del algoritmo del mbito de proteccin del
derecho de autor, en la medida en que ste constituye una idea, un mtodo de
clculo o una funcin, afectado por el artculo 96.4 del TRLPI.
Por otro lado, Prembulo de la Directiva 91/250/CEE de 1991 sobre la proteccin
jurdica de los programas de ordenador establece que: "en la medida en que la
lgica, los algoritmos y los lenguajes de programacin abarquen ideas y
principios, estos ltimos no estarn protegidos con arreglo a la presente
Directiva."
Adems, en un Memorndum de 1994 de la OMPI (WIPO) Organizacin Mundial
de la Propiedad Intelectual, se manifestaba: "Es perfectamente cierto que el
derecho de autor no protege los algoritmos, sino nicamente las expresiones
concretas de los mismos. Precisamente por eso, el derecho de autor puede
ofrecer una proteccin apropiada a los programas de ordenador, sin crear
obstculos infranqueables a la creacin independiente de nuevos programas".
No obstante, existen excepciones a nivel jurisprudencial basadas en la doctrina
del "look and feel", que establecen la existencia de plagio cuando se reproduce la
estructura, secuencia y disposicin de los datos integrados en un programa de
ordenador. Estas excepciones podran aplicarse en el caso de combinaciones de
algoritmos o cuando el nivel de complejidad de un algoritmo fuese muy alto.

1.1. PARTES DE UN ALGORITMO


Todo algoritmo debe obedecer a la estructura bsica de un sistema, es decir:
entrada, proceso y salida.
Donde:
ENTRADA
Corresponde al insumo, a los datos necesarios que requiere el proceso para
ofrecer los resultados esperados.
PROCESO
Pasos necesarios para obtener la solucin del problema o la situacin planteada.
SALIDA
Resultados arrojados por el proceso como solucin.
En el ejemplo del algoritmo de la sumatoria de los dos nmeros, tenemos:
ENTRADA
Valores de las variables A y B.
PROCESO
Asignar a la variable Suma, el valor de A mas el valor de B.
SALIDA
Impresin del valor de la variable Suma, que contiene la sumatoria de los valores
de A y B.
Cmo se Disea un Algoritmo?
En programacin, un algoritmo establece, de manera genrica e informal, la
secuencia de pasos o acciones que resuelve un determinado problema y, para
representarlo, se utiliza, fundamentalmente, dos tipos de
notacin: pseudocdigo y diagramas de flujo.
As pues, en este artculo, voy a explicar, con un ejemplo, los pasos que
"mentalmente" se pueden seguir para disear el algoritmo, en Pseudocdigo
CEE (C En Espaol) y ordinograma, de un programa que d solucin a un
problema de programacin.
En concreto, vamos a ver, desmenuzadamente, cmo se puede disear el
algoritmo para resolver el ejercicio 1, "Media aritmtica de nmeros introducidos",

de la seccin Repetitiva hacer...mientras del listado de ejercicios de programacin


resueltos en diferentes lenguajes.
De forma que, los pasos a seguir (siete en este caso) son los siguientes:
Paso 1
Comprender qu es lo que se nos est pidiendo. En este caso, el enunciado del
ejercicio es:
"Disee el algoritmo de un programa que:
1) Pida por teclado un nmero (dato entero).
2) Muestre por pantalla los mensajes:
* Ha introducido <cantidad_de_nmeros> nmero(s)
* La suma es <suma>
3) Pregunte al usuario si desea introducir otro o no.
4) Repita los pasos 1, 2 y 3, mientras que, el usuario no responda 'n' de (no).
5) Muestre por pantalla la media aritmtica (dato real) de los nmeros
introducidos.
Nota: Utilice un bucle hacer...mientras."
En pantalla:
Introduzca un nmero entero: 3
Ha introducido 1 nmero(s)
La suma es 3
Desea introducir otro (s/n)?: s
Introduzca un nmero entero: 7
Ha introducido 2 nmero(s)
La suma es 10
Desea introducir otro (s/n)?: s
Introduzca un nmero entero: 6
Ha introducido 3 nmero(s)
La suma es 16
Desea introducir otro (s/n)?: s
Introduzca un nmero entero: 13
Ha introducido 4 nmero(s)
La suma es 29
Desea introducir otro (s/n)?: n
La media aritmtica es 7.25

Introduzca un nmero entero: 8


Ha introducido 1 nmero(s)
La suma es 8
Desea introducir otro (s/n)?: n
La media aritmtica es 8.000000
Simplemente, al leer el enunciado del problema, ya podemos hacernos una idea
de algunas caractersticas importantes del algoritmo que vamos a disear:
* Existen 5 instrucciones de salida para mostrar por pantalla:
Introduzca un nmero entero:
Ha introducido X nmero(s)
La suma es Y
Desea introducir otro (s/n)?:
La media aritmtica es Z
* Existen 2 instrucciones. Una para recoger un dato numrico entero despus de
mostrar por pantalla:
Introduzca un nmero entero:
y, otra, para recoger un dato de tipo carcter despus de mostrar por pantalla:
Desea introducir otro (s/n)?:
* En algn momento, se deber calcular:
la cantidad de nmeros introducidos,
la suma de los mismos y
la media aritmtica de dichos nmeros,
por tanto, seguramente, emplearemos 2 3 instrucciones de asignacin.
* Tendremos que utilizar varias variables para:
recoger el o los nmeros que introduzca el usuario por teclado (numero),
contar los nmeros introducidos (contador),
almacenar la suma de dichos nmeros (acumulador),
preguntar al usuario si desea introducir otro nmero o no (seguir),
calcular la media aritmtica (media aritmtica)?
* Necesitaremos un bucle para que el usuario pueda introducir los nmeros que
desee (solamente uno o ms), de hecho, ya se nos especifica, en la "Nota" del
enunciado, que debemos hacer uso de un bucle hacer...mientras.

En los pasos siguientes, vamos a ver cmo combinar los elementos detectados e
integrarlos en la estructura de un algoritmo. No obstante, lo vamos a hacer, poco a
poco, a medida que vayamos construyendo dicho algoritmo.
Paso 2
Escribir la estructura bsica del algoritmo en pseudocdigo:
Algoritmo Media_aritmetica_de_numeros_introducidos
inicio
...
fin
Obsrvese que, ya podemos nombrar al algoritmo mediante un identificador, en
este caso, podemos escribir:
Media_aritmetica_de_numeros_introducidos
En ordinograma, comenzaremos escribiendo el inicio y fin del cuerpo:

Paso 3
Segn se nos indica en el primer punto del ejercicio, el algoritmo debe:
1) Pedir por teclado un nmero (dato entero).
Mostrndose por pantalla:
Introduzca un nmero entero: <nmero>
Por consiguiente, en el algoritmo hay que escribir una instruccin de salida y otra
de entrada. En pseudocdigo:
Algoritmo Media_aritmetica_de_numeros_introducidos
inicio
escribir (Introduzca un nmero entero: " )

leer (numero)
...
fin
Se tiene que declarar la variable numero, as escribimos:
Algoritmo Media_aritmetica_de_numeros_introducidos
variables
entero numero
inicio
escribir (Introduzca un nmero entero: " )
leer (numero)
...
fin
En ordinograma:

Recordemos que, en los ordinogramas no se representa la declaracin de


variables.
Paso 4
A continuacin, en el segundo punto del ejercicio se nos indica que:
2) El programa debe mostrar por pantalla los mensajes:
* Ha introducido <cantidad_de_nmeros> nmero(s)
* La suma es <suma>

De modo que, incorporamos dos nuevas instrucciones de salida al algoritmo, en


las que vamos a mostrar el valor de una variable contador para mostrar la cantidad
de nmeros introducidos por el usuario y, por otra parte, el valor de una variable
acumulador, para mostrar la suma de dichos nmeros. En pseudocdigo:
algoritmo Media_aritmetica_de_numeros_introducidos
variables
entero numero
inicio
escribir( "Introduzca un nmero entero: " )
leer( numero )
...
escribir( "Ha introducido ", contador, " nmero(s)" )
escribir( "La suma es ", acumulador )
...
fin
Y declaramos las nuevas variables: contador y acumulador.
algoritmo Media_aritmetica_de_numeros_introducidos
variables
entero acumulador, contador, numero
inicio
escribir( "Introduzca un nmero entero: " )
leer( numero )
...
escribir( "Ha introducido ", contador, " nmero(s)" )
escribir( "La suma es ", acumulador )
...
fin
En ordinograma:

Pero, qu valores tienen los variables contador y acumulador? Inicialmente,


almacenarn un cero (0) cada una de ellas y, despus de leer un nmero, habr
que incrementar el valor de contador en uno (1) y sumar el valor de dicho nmero
a acumulador.
algoritmo Media_aritmetica_de_numeros_introducidos
variables
entero acumulador, contador, numero
inicio
acumulador 0
contador 0
escribir( "Introduzca un nmero entero: " )
leer( numero )
acumulador acumulador + numero
contador contador + 1
escribir( "Ha introducido ", contador, " nmero(s)" )
escribir( "La suma es ", acumulador )
...
fin
En ordinograma:

Paso 5
Atendiendo al tercer punto del ejercicio:
3) Preguntar al usuario si desea introducir otro nmero o no.
Al algoritmo le aadimos una nueva instruccin de salida, otra de entrada y
declaramos una nueva variable (seguir).
En pseudocdigo:
algoritmo Media_aritmetica_de_numeros_introducidos
variables
carcter seguir
entero acumulador, contador, numero
inicio
acumulador 0
contador 0
escribir( "Introduzca un nmero entero: " )
leer( numero )
acumulador acumulador + numero
contador contador + 1
escribir( "Ha introducido ", contador, " nmero(s)" )

escribir( "La suma es ", acumulador )


escribir( "Desea introducir otro nmero (s/n)?: " )
leer( seguir )
...
fin
En ordinograma:

Paso 6
Teniendo en cuenta el cuarto punto del ejercicio:
4) Repetir los pasos 1, 2 y 3, mientras que, el usuario no responda 'n' de (no).

Es necesario hacer uso de una instruccin de control repetitiva que, como se


especifica en la "Nota" del ejercicio, ser un bucle hacer...mientras. En cualquier
caso, tambin podramos habernos hecho las preguntas del apartado Cundo
usar un bucle u otro? Del Curso de Diseo de Algoritmos:
* Se conoce, de antemano, el nmero de veces (iteraciones) que tiene que
ejecutarse un determinado bloque de instrucciones? No, por tanto, descartamos el
bucle "para".
* El bloque de instrucciones debe ejecutarse al menos una vez? S, de forma
que, optamos por hacer uso de un bucle "hacer...mientras".
En pseudocdigo:
algoritmo Media_aritmetica_de_numeros_introducidos
variables
carcter seguir
entero acumulador, contador, numero
inicio
acumulador 0
contador 0
hacer
escribir( "Introduzca un nmero entero: " )
leer( numero )
acumulador acumulador + numero
contador contador + 1
escribir( "Ha introducido ", contador, " nmero(s)" )
escribir( "La suma es ", acumulador )
escribir( "Desea introducir otro nmero (s/n)?: " )
leer( seguir )
mientras ( seguir <> 'n' )
...
fin
Fjese que, la inicializacin de los variables contador y acumulador no estn dentro
del bloque de instrucciones del bucle, ya que, ello provocara un error de lgica.
En ordinograma:

Paso 7
Y, finalmente, para el quinto punto:
5) Mostrar por pantalla la media aritmtica (dato real) de los nmeros
introducidos.
Aadimos una ltima instruccin. En pseudocdigo:
algoritmo Media_aritmetica_de_numeros_introducidos
variables
carcter seguir
entero acumulador, contador, numero

inicio
acumulador 0
contador 0
hacer
escribir( "Introduzca un nmero entero: " )
leer( numero )
acumulador acumulador + numero
contador contador + 1
escribir( "Ha introducido ", contador, " nmero(s)" )
escribir( "La suma es ", acumulador )
escribir( "Desea introducir otro nmero (s/n)?: " )
leer( seguir )
mientras ( seguir <> 'n' )
escribir( "La media aritmtica es ", acumulador / contador )
fin
Ntese que, para mostrar la media aritmtica no hemos utilizado una nueva
variable y, de esta forma, tambin nos ahorramos escribir una nueva instruccin
de asignacin:
media aritmtica acumulador / contador
En ordinograma, la solucin final ser:

Puede consultar la codificacin de este algoritmo en lenguaje C y en Pascal. No


obstante, tngase en cuenta que en Pascal se hace uso del bucle "repetir...hasta"
en vez de "repetir...mientras".
Si le ha gustado este artculo y desea incluirlo en su sitio web, puede hacerlo sin
ningn problema, siempre y cuando cite como fuente del mismo
a www.carlospes.com
Desarrollo del algoritmo
Introducimos una tcnica que acelera el proceso para encontrar los
vecinos
ms cercanos de todos los elementos de una base de datos, la idea es indexar
este conjunto de puntos con un algoritmo de pivotes como el FQTrie conservando

las ventajas del FQA y mejorando algunas de ellas, adems la complejidad de este
algoritmo es lineal en su construccin, posteriormente usar est para encontrar
los

vecinos ms cercanos de cada punto.

La idea principal del algoritmo es, realizar una consulta de rango con un
radio

, para cada elemento, es decir, se

hacen
consultas de rango con radio r, es importante enfatizar que para
cada punto se utilizan los mismos pivotes usados para generar el ndice.
La estructura auxiliar (cola de prioridad) usada para el desarrollo del algoritmo
consiste en mantener para cada punto al menos los
elementos ms cercanos
durante el proceso, manteniendo un radio mximo, el cual corresponde al
elemento ms alejado y es precisamente el que esta en el tope de la cola de
prioridad. Como primer paso la cola de prioridad es inicializada usando los pivotes
(puesto que estos puntos conocen todas las distancias a los dems puntos, vase
la figura

) y cada una de las colas de prioridad para los puntos que no son

pivotes son rellenadas con los


figura

pivotes ms cercanos vase esto en la

, con esto se asegura que los

vecinos ms cercanos estn

dentro del radio inicial, el cual est acotado por los pivotes,

Diseo del Algoritmo:


En la etapa de anlisis del proceso de programacin se determina que hace el
programa. En la etapa de diseo se determina como hace el programa la tarea
solicitada. Los mtodos mas eficaces para el proceso de diseo se basan en el
conocido por Divide y Vencers, es decir, la resolucin de un problema complejo
se realiza dividiendo el problema en sub problemas y a continuacin dividir estos
sub problemas en otros de nivel mas bajo, hasta que pueda ser implementada una
solucin en la computadora. Este mtodo se conoce tcnicamente como diseo
descendente (Top Down) o modular. El proceso de romper el problema en cada
etapa y expresar cada paso en forma ms detallada se denomina refinamiento
sucesivo.
Cada sub programa es resuelto mediante un modulo (sub programa) que tiene un
solo punto de entrada y un solo punto de salida.
Cualquier programa bien diseado consta de un programa principal (el modulo de
nivel mas alto) que llama a sub programas (mdulos de nivel mas bajo) que a su
vez pueden llamar a otros sub programas. Los programas estructurados de esta

forma se dice que tienen un diseo modular y el mtodo de romper el programa en


mdulos ms pequeo se llama Programacin Modular. Los mdulos pueden ser
planeados, codificados, comprobados y depurados independientemente (incluso
por diferentes programadores) y a continuacin combinarlos entre si. El proceso
implica la ejecucin de los siguientes pasos hasta que el programa se termina:

programar modulo.

Comprobar el modulo.

Si es necesario, depurar el modulo.

Combinar el modulo con los mdulos anteriores.

El proceso que convierte los resultados del anlisis del problema en un diseo
modular con refinamiento sucesivo que permitan una posterior traduccin al
lenguaje se denomina diseo de algoritmo.
El diseo del algoritmo es independiente del lenguaje de programacin en el que
se vaya a codificar posteriormente.
Programa
Instrumento rector derivado de la planificacin institucional, destinado al
cumplimiento de las funciones de una organizacin, por el cual se establece el
orden de actuacin, as como los objetivos o metas, cuantificables o no (en
trminos de un resultado final), que se cumplirn a travs de la integracin de un
conjunto de esfuerzos y para lo cual se requiere combinar recursos humanos,
tecnolgicos, materiales y financieros; especifica tiempos y espacio en los que se
va a desarrollar y atribuye responsabilidad a una o varias unidades ejecutoras
debidamente coordinadas.
Un programa es un conjunto de instrucciones u ordenes basadas en un lenguaje
de programacin que una computadora interpreta para resolver un problema o una
funcin especifica.
1.- Es la relacin ordenada de actividades, en informtica se le conoce como la
serie codificada de instrucciones.
3. Redaccin de un algoritmo en un lenguaje de programacin.
4. Conjunto de instrucciones ordenadas correctamente que permiten realizar una
tarea o trabajo especfico.
5. Toda secuencia de instrucciones o indicaciones destinadas a ser utilizadas,
directa o indirectamente, en un sistema informtico para realizar una funcin o una
terea o para obtener un resultado determinado, cualquiera que fuere su forma de
expresin y fijacin.

6. Conjunto secuenciado de instrucciones que quedan escritas en un lenguaje


determinado con unos fines especficos. Aunque en el lenguaje comn con
frecuencia se denomina programa al sistema operativo, la diferencia estriba,
precisamente, en la especificidad de aqul frente al carcter de gestin global de
ste. La palabra software engloba ambos.
Definicin de computadora:
Mquina electrnica rpida y exacta que es capaz de aceptar datos a travs de un
medio de entrada, procesarlos automticamente bajo el control de un programa
previamente almacenado, y proporcionar la informacin resultante a un medio de
salida.
Un sistema informtico est compuesto a su vez por dos subsistemas: Hardware
y Software.
Describiremos un sistema computacional enumerando los siguientes elementos:
1. Computadora y todos sus perifricos (hardware)
2. Instrucciones legibles (software)
3. Datos a procesar
4. Manuales de operacin
5. Procedimientos y personas que utilizan el sistema
Qu es un lenguaje mquina?
El lenguaje mquina es el nico que entiende la computadora digital, es su
"lenguaje natural". En l slo se pueden utilizar dos smbolos: el cero (0) y el uno
(1). Por ello, al lenguaje mquina tambin se le denomina lenguaje binario. La
computadora slo puede trabajar con bits, sin embargo, para el programador no
resulta fcil escribir instrucciones tales como:
10100010
11110011
00100010
00010010
Una dificultad aadida a los lenguajes binarios es el hecho de que son
dependientes de la mquina (o mejor dicho, del procesador), es decir, cada
procesador utiliza un lenguaje mquina distinto (un juego de instrucciones distinto)
que est definido en su propio hardware. En consecuencia, un programa escrito
para un tipo de procesador no se podr usar en otro equipo que utilice un

procesador distinto, ya que, el programa no ser portable o transportable. Para


que dicho programa pueda funcionar en una segunda computadora, habr que
traducir todas las instrucciones escritas en el lenguaje mquina del primer equipo
al lenguaje binario de la segunda computadora.
(High-level lenguaje). Tipo de lenguajes de programacin que permite
al programador escribir programas (algoritmos) que son ms o menos
independientes de un tipo particular de computadora (del hardware). Estos
lenguajes son considerados de alto nivel porque son ms parecidos al lenguaje
natural humano y ms lejanos al lenguaje de las mquinas.
En contraste, los lenguajes ensamblador son considerados lenguajes de bajo nivel
porque estn muy cerca al lenguaje que manejan las mquinas.
La principal ventaja de los lenguajes de alto nivel sobre los de bajo nivel, es que
son ms fciles de leer, escribir y mantener por humanos. Al final, los programas
escritos en alto nivel deben ser traducidos en un lenguaje mquina especfico
empleando un compilador o un intrprete. De esta manera pueden ser ejecutados
por una mquina especfica.
Los primeros lenguajes de programacin de alto nivel fueron diseados en los 50.
Actualmente existen cientos de lenguajes de este tipo como Ada,
Algol, BASIC, COBOL, C, C++, FORTRAN, LISP, Pascal,Prolog, etc.
Qu es un lenguaje de bajo nivel?
Los lenguajes de bajo nivel, tambin llamados lenguajes ensambladores,
permiten al programador escribir instrucciones de un programa usando
abreviaturas del ingls, tambin llamadas palabras nemotcnicas, tales como:
ADD, DIV, SUB, etc. Un programa escrito en un lenguaje ensamblador tiene el
inconveniente de que no es comprensible para la computadora, ya que, no est
compuesto por ceros y unos. Para traducir las instrucciones de un programa
escrito en un lenguaje ensamblador a instrucciones de un lenguaje mquina hay
que utilizar un programa llamado ensamblador, como se muestra en la siguiente
figura:

Figura - Funcionamiento de un ensamblador.


LENGUAJES DE BAJO NIVEL
Se llaman de bajo nivel porque estn muy cercanos al hardware del
ordenador. Es necesario conocer a fondo la arquitectura de la maquina para la que

se va a programar.
El primer lenguaje de este tipo que se utiliz fue el lenguaje mquina, que consiste
en un conjunto de instrucciones en binario, es decir, con ceros y unos, con los
cuales se indica al ordenador qu hacer. Este lenguaje es muy complicado y la
posibilidad de cometer errores es muy alta, por lo que ya no se utiliza.
Para solventar estas dificultades apareci el lenguaje ensamblador, que consiste
en asignar una abreviatura a cada instruccin en binario, de forma que sea ms
fcil recordarla y ms difcil equivocarse. Sin embargo, con este lenguaje sigue
siendo necesario conocer muy bien el hardware del ordenador.
LENGUAJES DE ALTO NIVEL
Los lenguajes de alto nivel suelen utilizar trminos ingleses del tipo LIST,
PRINT u OPEN como comandos que representan una secuencia de decenas o de
centenas de instrucciones en lenguaje mquina. Los comandos se introducen
desde el teclado, desde un programa residente en la memoria o desde un
dispositivo de almacenamiento, y son interceptados por un programa que los
traduce a instrucciones en lenguaje mquina.
Los programas traductores son de dos tipos: intrpretes y compiladores. Con un
intrprete, los programas que repiten un ciclo para volver a ejecutar parte de sus
instrucciones, reinterpretan la misma instruccin cada vez que aparece. Por
consiguiente, los programas interpretados se ejecutan con mucha mayor lentitud
que los programas en lenguaje mquina. Por el contrario, los compiladores
traducen un programa ntegro a lenguaje mquina antes de su ejecucin, por lo
cual se ejecutan con tanta rapidez como si hubiesen sido escritos directamente en
lenguaje mquina.
Se considera que fue la estadounidense Grace Hopper quien implement el primer
lenguaje de ordenador orientado al uso comercial. Despus de programar un
ordenador experimental en la Universidad de Harvard, trabaj en los modelos
UNIVAC I y UNIVAC II, desarrollando un lenguaje de alto nivel para uso comercial
llamado FLOW-MATIC. Para facilitar el uso del ordenador en las aplicaciones
cientficas, IBM desarroll un lenguaje que simplificara el trabajo que implicaba el
tratamiento de frmulas matemticas complejas. Iniciado en 1954 y terminado en
1957, el FORTRAN (acrnimo de Formula Translator) fue el primer lenguaje
exhaustivo de alto nivel de uso generalizado.
En 1957 una asociacin estadounidense, la Association for Computing Machinery
comenz a desarrollar un lenguaje universal que corrigiera algunos de los defectos
del FORTRAN. Un ao ms tarde fue lanzado el ALGOL (acrnimo de Algorithmic
Language), otro lenguaje de orientacin cientfica. De gran difusin en Europa
durante las dcadas de 1960 y 1970, desde entonces ha sido sustituido por
nuevos lenguajes, mientras que el FORTRAN contina siendo utilizado debido a
las gigantescas inversiones que se hicieron en los programas existentes. El
COBOL (acrnimo de Common Business Oriented Language) es un lenguaje de
programacin para uso comercial y empresarial especializado en la organizacin

de datos y manipulacin de archivos, y hoy da est muy difundido en el mundo


empresarial.
El lenguaje BASIC (acrnimo de Cdigo de Instrucciones Simblicas de Uso
General para Principiantes) fue desarrollado en el Dartmouth College a principios
de la dcada de 1960 y est dirigido a los usuarios de ordenador no profesionales.
Este lenguaje se universaliz gracias a la popularizacin de los micrordenadores
en las dcadas de 1970 y 1980. Calificado de lento, ineficaz y poco esttico por
sus detractores, BASIC es sencillo de aprender y fcil de utilizar. Como muchos de
los primeros microordenadores se vendieron con BASIC incorporado en el
hardware (en la memoria ROM), se generaliz el uso de este lenguaje.
Aunque existen centenares de lenguajes informticos y de variantes, hay algunos
dignos de mencin, como el PASCAL, diseado en un principio como herramienta
de enseanza, hoy es uno de los lenguajes de microordenador ms populares; el
Logo fue desarrollado para que los nios pudieran acceder al mundo de la
informtica; el C, un lenguaje de Bell Laboratories diseado en la dcada de 1970,
se utiliza ampliamente en el desarrollo de programas de sistemas, al igual que su
sucesor, el C++. El LISP y el PROLOG han alcanzado amplia difusin en el campo
de la inteligencia artificial.

You might also like