0% encontró este documento útil (0 votos)
59 vistas8 páginas

Algoritmos y Programacion Unidad 1

Este documento describe la historia de los lenguajes de programación desde los primeros lenguajes de máquina hasta lenguajes más modernos como C, Java y Python. También explica conceptos como compilación, ensamblado y diagramas de flujo que son parte fundamental del desarrollo de software.

Cargado por

carolinda06
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
59 vistas8 páginas

Algoritmos y Programacion Unidad 1

Este documento describe la historia de los lenguajes de programación desde los primeros lenguajes de máquina hasta lenguajes más modernos como C, Java y Python. También explica conceptos como compilación, ensamblado y diagramas de flujo que son parte fundamental del desarrollo de software.

Cargado por

carolinda06
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 8

1.1 Historia de los Lenguajes de programacin.

El conjunto de ordenes e instrucciones que se dan al ordenador para que resuelva un


problema o ejecute una determinada misin, recibe el nombre de programa. En los
primero tiempos de la informtica, la programacin se efectuaba en el nico lenguaje
que entiende el microprocesador: su propio cdigo binario, tambin denominado
lenguaje mquina o cdigo mquina.
Pero la programacin en cdigo maquina resulta muy lenta y tediosa, pues los datos e
instrucciones se deben introducir en sistema binario y, adems, obliga a conocer las
posiciones de memoria donde se almacenan los datos. Como puede imaginar, este tipo
de programacin conlleva gran nmero de errores y la tarea de depuracin exige
bastante tiempo y dedicacin.
Por este motivo, a principios de los 50 se cre una notacin simblica, denominada
cdigo de ensamblaje (ASSEMBLY), que utiliza una serie de abreviaturas
mnemotcnicas para representar las operaciones ADD (sumar). STORE (copiar), etc...
Al principio, la traduccin del cdigo de ensamblaje al cdigo mquina se realizaba
manualmente, pero enseguida se vio que el ordenador tambin poda encargarse de
esa traduccin; se desarroll as un programa traductor, llamado ensamblador
(ASSEMBLER).
Con forme los ordenadores fueron introducindose en el mundo empresarial y
acadmico, aquellos primitivos lenguajes fueron sustituidos por otros ms sencillos de
aprender y ms cmodos de emplear. Estos lenguajes llamados de alto nivel, tiene una
estructura que se adapta ms al pensamiento humano que a la forma de trabajar del
ordenador. Por ejemplo, BASIC, PASCAL C, etc.
FORTRAN
La historia de los lenguajes de programacin da un gran paso en el ao 1957, cuando
aparece el primero de los lenguajes de programacin ms importantes, el FORTRAN
(del ingls Formula Translation). Este fue el primero de los lenguajes de programacin
de alto nivel. En el ao 1958 se cre el lenguaje de programacin LISP o proceso de
lista que fue diseado para la investigacin la inteligencia artificial.
BASIC
John G. Kemeny y Thomas E. Kurtz eran profesores del Dartmouth College y, en 1964,
disearon un nuevo lenguaje que permitiera introducirse a sus estudiantes en los
sistemas de tiempo compartido. Ese lenguaje, al que llamaron BASIC por su sencillez,
es, sin duda, el ms difundido, aplicndose tanto en tareas de gestin como en
aplicaciones cientficas. No era el mejor lenguaje ni el ms potente, pero tena dos
ventajas a su favor: se trataba de un lenguaje sencillo de aprender y, adems, su
intrprete ocupaba poca memoria.

LOGO
En 1967, Seymour Papert comenz a disear un lenguaje que sirviera para introducir
en el mundo de la programacin al alumnado de menor edad. Poco a poco, LOGO fue
ponindose a punto y cuando, en 1980, Papert lo divulg en todo el mundo con su libro
Mindstorms: Children Computers and Powerful Ideas, fue muy bien acogido en los
mbitos educativos, especialmente en enseanza primaria y secundaria. Teniendo en
cuenta los pocos conocimientos matemticos de sus potenciales usuarios, LOGO
introduce al mundo de la programacin de una forma grfica, mediante la geometra de
la tortuga. En los primeros tiempos, con LOGO se controlaba un pequeo robot con
ruedas, motor y un lpiz retrctil, que admita ordenes sencillas e intuitivas (Avanza,
Retrocede, Gira a la derecha, etc.) y al desplazarse por el papel iba trazando el dibujo
ordenado.
C
El lenguaje de programacin C fue otro de los importantes a lo largo de la historia de
los leguajes de programacin. Fue creado en 1972 por Dennis Ritchie para desarrollar
los sistemas operativos Linux. Posteriormente se han desarrollado otros lenguajes de
programacin entre los ms importantes tenemos: C++, Java, SQL, C#, Smalltalk, etc.
PASCAL
A principios de los 70, el profesor suizo Niklaus Wirth, del Instituto Politcnico Federal
de Zurich, emprendi la creacin de un nuevo lenguaje (PASCAL) que permitiera
introducirse en la programacin de una forma fcil pero a la vez potente y, sobre todo,
siguiendo unas pautas estructuradas. De hecho, PASCAL es el lenguaje ms sencillo
que posibilita el acceso a la informtica terica: descomposicin modular, recursividad,
punteros, etc.

1.2 Procesos de edicin, compilacin, enlazado.


1. Definicin del problema y diseo de la solucin.
Desarrollar un programa, es parte de un proceso que empieza por la definicin del
problema y el diseo de una solucin. Estos pasos se abordan antes de empezar a
codificar. Si el problema es grande y complicado ser necesario aplicar tcnicas que
permitan descomponerlo en problemas ms pequeos cuyas soluciones puedan
integrarse para resolver el problema global. Pero aunque el problema se reduzca a
plantear un pequeo algoritmo, sigue siendo necesario comprender el problema y
solucionarlo antes de empezar a codificar la solucin. Aunque las soluciones se
disean pensando en los trminos de las abstracciones que nos proporciona el
lenguaje de programacin, la codificacin es un paso posterior al planteamiento de
la solucin.

2. Codificacin.
Una vez que hemos resuelto el problema podemos pasar a codificar la solucin,
creando un archivo o un conjunto de archivos que contengan el cdigo fuente. Para
ello se necesita un programa editor que permita escribir y guardar nuestro
programa. Durante la codificacin es muy habitual incorporar cdigo disponible en
bibliotecas software, que puede haber sido desarrollado por el propio programador o
por terceros. La reutilizacin es un aspecto fundamental del desarrollo software. Los
lenguajes de programacin establecen mecanismos para importar y utilizar dichas
libreras aunque no estn disponibles los archivos con su cdigo fuente.
Es importante, aunque no necesario para que un programa funcione, seguir unas
buenas prcticas de programacin a la hora de escribir el cdigo. Las primeras
buenas prcticas que debe aprender son:
Utilizar nombres significativos para variables y funciones, evitando nombres que
no ayuden a entender el propsito de una variable o funcin. Hilando ms fino, se
recomienda utilizar sustantivos para los nombres de variables y verbos para las
funciones.
Documentar adecuadamente el cdigo. No se trata de documentar hasta la ltima
declaracin de variable, pero s aquellos detalles que ayudan a entender por qu se
ha escrito ese cdigo. La documentacin es esencial para entender o modificar
cdigo fuente.
3. Compilacin y ensamblado del programa.
El programa que hemos editado es cdigo fuente y no puede ser ejecutado
directamente por ningn computador: es necesario traducirlo a cdigo mquina.
Para ello necesitamos un compilador o un intrprete. Existen lenguajes de
programacin, como C, en que el cdigo fuente es traducido por un compilador a
cdigo mquina y se genera un archivo directamente ejecutable. Otros lenguajes,
como Java, se compilan a un lenguaje intermedio (que en el caso de Java se
denomina bytecode) que posteriormente es interpretado y ejecutado por un
programa especial que se denomina intrprete. Adems, los programas
habitualmente no se encuentran en un nico archivo, sino distribuidos en muchos,
que deben ensamblarse para dar lugar a un programa ejecutable. La obtencin de
un programa ejecutable implica, por un lado, la traduccin de los archivos en cdigo
fuente a archivos con cdigo objeto y, por otro, el ensamblado de los archivos con
cdigo objeto.

1.3. Entorno del lenguaje C y software de aplicacin de ltima generacin.

1.3 Diagramas de Flujo.


Un diagrama de flujo representa la esquematizacin de un algoritmo grafica de un
algoritmo, el cual muestra grficamente los pasos o procesos a seguir para alcanzar la
solucin de un problema. Su correcta construccin es sumamente importante porque, a
partir del mismo se escribe un programa en algn lenguaje de programacin. Si el
diagrama de flujo est completo y correcto, el paso del mismo a un lenguaje de
programacin es relativamente simple y directo.
Es importante resaltar que el diagrama de flujo muestra el sistema como una como una
red procesos funcionales conectados entre s por tuberas y depsitos de datos que
permite describir el movimiento de los datos a travs del sistema. Este describir:
lugares de origen y destino de los datos, transformaciones a las que son sometidos los
dalos, lugares en los que se almacenan los datos dentro del sistema, los canales por
donde circulan los datos. Adems de esto podemos decir que este es una
representacin reticular de un sistema el cual lo contempla en trminos de sus
componentes indicando el enlace entre los mismos.
1.4 Pseudocdigos.
Es una descripcin de alto nivel compacta e informal del principio operativo de un
programtico u otro algoritmo. Utiliza las convenciones estructurales de un lenguaje de
programacin real, pero est diseado para la lectura humana en lugar de la lectura
mediante mquina, y con independencia de cualquier otro lenguaje de programacin.
Normalmente, el pseudocdigo omite detalles que no son esenciales para la
comprensin humana del algoritmo, tales como declaraciones de variables, cdigo
especfico del sistema y algunas subrutinas.
El lenguaje de programacin se complementa, donde sea conveniente, con
descripciones detalladas en lenguaje natural, o con notacin matemtica compacta. Se
utiliza pseudocdigo pues este es ms fcil de entender para las personas que el
cdigo del lenguaje de programacin convencional, ya que es una descripcin eficiente
y con un entorno independiente de los principios fundamentales de un algoritmo. Se
utiliza comnmente en los libros de texto y publicaciones cientficas que se documentan
varios algoritmos, y tambin en la planificacin del desarrollo de programas
informticos, para esbozar la estructura del programa antes de realizar la efectiva
codificacin.

1.5 Estructura general de un programa.


Las partes que conforman un programa son:

Estrada, proceso y salida.


Ingreso, actualizacin y salida.
Diagrama de flujo, pseudocdigo y programa.

Los elementos bsicos de un programa son:

Palabras reservadas, identificadores, caracteres especiales, constantes,


variables y expresiones.
Entrada, proceso y salida
Algoritmo, diagrama de flujo, pseudocdigo y palabras reservadas.

Entre los elementos que forman parte de un programa tenemos:

Indicadores, controladores y evaluadores.


Criterios de evaluacin, estadsticas, cronograma de actividades.
Contadores, acumuladores, expresiones, bucles.
Bloques de un programa
Bloque de declaraciones: en l se especifica todos los objetos que utiliza el
programa (contadores, variables, tablas, registros archivos, etc.).
Bloque de instrucciones: constituido por el conjunto de operaciones que se ha de
realizar para la obtencin de los resultados deseados.

Partes principales de un programa.


Dentro del bloque de instrucciones de un programa se pueden diferenciar tres partes
fundamentales. En algunos casos, estas tres partes estn perfectamente delimitadas,
pero en la mayora sus instrucciones quedan entremezcladas a lo largo del programa,
si bien mantienen una cierta localizacin geomtrica impuesta por la propia naturaleza
de las mismas.

Entrada de datos: la constituyen todas aquellas instrucciones que toman


datos de un dispositivo externo, almacenndolos en la memoria central para
que puedan ser procesados.
Proceso o algoritmo: est formado por las instrucciones que modifican los
objetos a partir de su estado inicial hasta el estado final, dejando stos
disponibles en la memoria central.
Salida de resultados: conjunto de instrucciones que toman los datos finales
de la memoria central y los envan a los dispositivos externos.

Clasificacin de las instrucciones.


Una instruccin se caracteriza por un estado inicial y final del entorno. El estado final de
una instruccin coincide con el inicial de la siguiente. No siempre una instruccin
modifica el entorno, pues su cometido puede limitarse a una mera observacin del
mismo o a un cambio en el orden de ejecucin de otras.

Las instrucciones pueden ser:

Instrucciones de declaracin: Se utilizan en aquellos lenguajes de programacin


que no tienen declaracin explcita de los objetos. Su misin consiste en indicar
al procesador que reserve espacio en la memoria para un objeto del programa,
indicando asimismo su nombre, tipo y caractersticas.
Instrucciones primitivas: Son aquellas que ejecuta el procesador de modo
inmediato. Las principales son asignacin, entrada y salida.
Instruccin de asignacin: Consiste en calcular el valor de una expresin y
almacenarlo en una variable. En algn lenguaje es preciso calcular previamente
el resultado de la expresin, pues la instruccin de asignacin slo permite el
movimiento de un valor simple.
Instruccin de entrada: Toma un dato de un dispositivo de entrada y lo almacena
en un objeto. En algn lenguaje, los datos de entrada no provienen de un
dispositivo externo, sino que han sido colocados previamente en el mismo
programa.
Instruccin de salida: Toma el valor de una expresin u objeto y lo lleva a un
dispositivo externo.
Instrucciones compuestas: Son aquellas que el procesador no puede ejecutar
directamente, sino que realiza una llamada a un subprograma, subrutina o
prrafo.
Instrucciones de control: Son aquellas de controlar la ejecucin de otras
instrucciones.
Instruccin alternativa: Controla la ejecucin de unas u otras instrucciones segn
una condicin. Puede ser simple o doble (SI y SINO).
Instruccin de salto incondicional: Altera la secuencia normal de ejecucin de un
programa, continuando la misma en la lnea indicada en la propia instruccin (IR
A).
Instruccin de salto condicional: Altera la secuencia normal de ejecucin de un
programa nicamente en el caso de cumplimiento de una condicin asociada a
la propia instruccin (SI ... IR A).
Instruccin repetitiva: Hace que se repitan una o varias instrucciones un nmero
determinado o indeterminado de veces (PARA, MIENTRAS, HASTA e ITERAR).

1.6 Conceptos bsicos de identificador, localidad de memoria y palabras


reservadas.
IDENTIFICADOR.
Un identificador es una serie de caracteres formados por letras, dgitos y el
carcter subrayado ( _ ) que no inicie con dgito, as mismo es el nombre que damos a
todo lo que manipulamos dentro de un programa (variables, constantes, funciones,
etc). Por ejemplo variables, constantes, funciones, tipos definidos por el usuario etc.
TIPOS DE DATOS.
Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple
carcter, tal como b, un valor entero tal como 35. El tipo de dato determina la
naturaleza del conjunto de valores que puede tomar una variable.
VARIABLES.
Una variable es un identificador que puede tomar diferentes valores dependiendo del
tipo que esta se declare. Una variable es un identificador que puede cambiar de valor
durante la ejecucin de un programa. Una variable es una posicin de memoria donde
se puede almacenar un valor para uso de un programa.
INICIALIZACIN DE VARIABLES
Inicializar una variable es el darle un valor despus que se ha declarado pero antes de
que se ejecuten las sentencias en las que se emplea.
CONSTANTES.
Constantes son los valores que no pueden ser modificados. En C, pueden ser de
cualquier tipo de datos. Adems de los ejemplificados anteriormente, Podemos crear
constantes de caracteres con barra invertida. Estos corresponden a los caracteres que
son imposibles introducir desde el teclado.
OPERADORES
Un operador es un smbolo que indica al compilador que realice manipulaciones lgicas
o matemticas especficas. Los operadores del mismo nivel de precedencia son
evaluados por el compilador de izquierda a derecha. Por supuesto, se puede utilizar
parntesis para ordenar la evaluacin. Tambin, conviene utilizar parntesis para hacer
ms claro el orden en que se producen las evaluaciones, tanto para la persona que lo
elabora o para los que despus tengan que seguir el programa.

OPERADORES LOGICOS
Estos operadores se utilizan para establecer relaciones entre valores lgicos. Estos
valores puede ser resultado de una expresin relacional.
Operadores lgicos
And Y
Or O
Not Negacin
Prioridad de los Operadores Lgicos.
Not
And
Or
Operadores de asignacin.
Los operadores de asignacin se utilizan para formar expresiones de asignacin, en las
que se asigna el valor de una expresin a un identificador. Cada expresin toma un
valor que se determina tomando los valores de las variables y constantes implicadas y
la ejecucin de las operaciones indicadas.
Una expresin consta de operadores y operandos. Segn sea el tipo de datos que
manipulan, se clasifican las expresiones en:

Aritmticas

Relacionales

Lgicas

PALABRAS RESERVADAS
Son palabras que tienen un significado especial para el lenguaje y no se pueden utilizar
como identificadores.
COMENTARIOS
Los comentarios pueden aparecer en cualquier parte del programa mientras estn
situados entre los delimitadores. Los comentarios son tiles para identificar los
elementos principales de un programa o para explicar la lgica subyacente de estos.

También podría gustarte