Documente Academic
Documente Profesional
Documente Cultură
Docente:
ING. DANNY DAN ORDOEZ
Integrantes
Paul Jefferson Sisley Navarro
Flix Llerena Flores
George Patrick Mrquez Navarro
Mad Braun Ramrez Lozano
CICLO V
ALGORITMO Y COMPLEJIDAD I
2015
1
FUNDAMENTOS DE PROGRAMACIN
DEDICATORIA
2
FUNDAMENTOS DE PROGRAMACIN
INDICE
INTRODUCCION . Pg. N 04
LENGUAJES DE PROGRAMACIN . Pg. N 05
CONCLUCIN . Pg. N 21
REFERENCIAS . Pg. N 22
GLOSARIO . Pg. N 23
3
FUNDAMENTOS DE PROGRAMACIN
INTRODUCCIN.
Cuando usamos una computadora, estamos intentando resolver un problema. Puede ser un
problema de negocios, que involucra ganancias y prdidas; un problema cientfico que
emplea modelos de comportamiento fsico; una investigacin estadstica que evala la
posibilidad de que ocurra algn evento; etc.
Los lenguajes de programacin son el medio que permite a los Programadores expresar las
instrucciones que la computadora va a realizar mediante la transformacin de los algoritmos
en una serie de sentencias que siguiendo la sintaxis propia del lenguaje, indica las
operaciones que va a realizar.
4
FUNDAMENTOS DE PROGRAMACIN
LENGUAJES DE PROGRAMACIN.
Se ha visto hasta ahora que los lenguajes de programacin son un simbolismo, que nos
permite expresar en operaciones elementales (instrucciones) la solucin a nuestro
problema.
Existen abundantes lenguajes que se han especificado y de los que se han escrito
traductores; las normas (sintaxis) y palabras que emplean cada uno de ellos las definieron
los organismos internacionales, otros los constructores y otros los clientes.
Los manuales son las caractersticas del lenguaje y los traductores se suelen adquirir
conjuntamente, en los ordenadores grandes al proveedor del equipo y para los
microordenadores en las tiendas de informtica.
Es decir, los lenguajes de programacin son aplicaciones especficas que han sido
pensadas y diseadas para crear otras aplicaciones o programas.
Ejemplos: Pascal, Turbo C++, CA-Clipper, Visual Basic, Visual C++, Java, Cobol, C,
Fortran, HTML, Prolog, CSMP, SIMAN, Lisp, Lingo, SQL, Delphi, dBase, etc.
Los Lenguajes de Programacin pueden clasificarse de varias manera, las principales son
las siguientes:
Por su Nivel.
Por sus Aplicaciones principales.
5
FUNDAMENTOS DE PROGRAMACIN
Esta clasificacin se refiere a qu tan cercanos estn los lenguajes a las caractersticas
fsicas de la computadora o qu tan prximos estn a las necesidades del programador.
LENGUAJE MAQUINA.
como se puede observar, estas instrucciones sern fciles de leer por la computadora y
difciles por un programador, y viceversa. Esta razn hace difcil de escribir programas en
cdigo o lenguaje maquina y requiere buscar otro lenguaje para comunicarse con la
computadora, pero que sea ms fcil de escribir y leer por el programador.
Para evitar la tediosa tarea de escribir programas en lenguaje mquina se han diseado
otros lenguajes de programacin que facilitan la escritura y posterior ejecucin de los
programas.
6
FUNDAMENTOS DE PROGRAMACIN
Surge con la evolucin del Lenguaje Maquina, sustituye las cadenas de smbolos binarios
por nemotcnicos: ADD, SUB, DIV.
ADD M, N, P
ADD x, y, z
Esta instruccin significa que se debe sumar los nmeros almacenados en las direcciones x,
y, y almacenar el resultado en la direccin z. El programa ensamblador traducir.
01010010000000100010010100100110 MOVE A, B
00100100001000100010011100100101 ADD C, A
11000101000000100010011100101000 COMP C, D
101011010000000011001101 BE X
00100100001000010010010100101001 X, ADD A, E
. .
Programa en cdigo maquina programa en ensamblador
. .
. .
Despus que un programa ha sido escrito en lenguaje ensamblador se necesita un
programa llamado ensamblador-
ETC. que lo traduzca a cdigo mquina. ETC.
7
FUNDAMENTOS DE PROGRAMACIN
Por ejemplo, las lneas siguientes son: una lnea de un programa en Turbo Pascal y su lnea
equivalente en pseudo cdigo.
8
FUNDAMENTOS DE PROGRAMACIN
COMPILADORES E INTERPRETES.
El cdigo generado a travs de los Lenguajes de Programacin (Cdigo Fuente) debe ser
convertido en una aplicacin que pueda ser ejecutada y utilizada. Los compiladores e
interpretes son una especie de traductores o conversores del lenguaje de programacin
(comprensible para el ser humano) a un lenguaje comprensible por la computadora (cercano
a la maquina).
TIPOS DE PROGRAMA:
Una vez escrito un programa ste puede estar en cdigo fuente, cdigo objeto o cdigo
ejecutable.
Cdigo Fuente: recibe este nombre el conjunto de instrucciones tal y como fueron escritos
por el programador en el lenguaje de alto nivel (tambin se le conoce como programa
fuente).
Cdigo Objeto: son las instrucciones de un programa cuando ya han sido traducidas al
lenguaje mquina (tambin se le conoce como programa objeto).
Cdigo Ejecutable: es un cdigo objeto que puede ser ejecutado por la computadora de
inmediato (no todos los cdigos objeto son ejecutables).
LOS INTERPRETES.
Traduce a lenguaje mquina, cada lnea del programa fuente y la ejecuta de inmediato.
Los interpretes no producen cdigo objeto, por ello la ejecucin de un programa requiere
forzosamente del cdigo fuente. Adems, los programas en lenguaje interpretado se
ejecutan con mas lentitud que aquellos en lenguaje compilado.
9
FUNDAMENTOS DE PROGRAMACIN
LOS COMPILADORES.
A diferencia de los intrpretes que traducen instruccin por instruccin o lnea por lnea, los
compiladores traducen todo el programa entero y luego lo integran generando un programa
ejecutable por si solo. Con esto se consigue mas eficacia e independencia , ya que una vez
compilado el programa, el compilador no tiene por qu estar presente, pudiendo ser
transportado el programa ejecutable a cualquier computadora, sin ver el listado de ordenes,
ni manejar el compilador.
Un compilador analiza las lneas del programa e identifica ciertas estructuras para
traducirlas adecuadamente a lenguaje maquina. Una vez que se ha efectuado la
compilacin puede prescindirse del programa fuente.
1.- Anlisis de lxico: durante esta etapa se verifica que las palabras utilizadas en el
programa fuente pertenezcan al lenguaje.
2.- Anlisis de sintaxis: esta parte de la compilacin examina cada instruccin del
programa fuente para que las instrucciones estn organizadas correctamente.
3.- Generacin de cdigo intermedio: este produce un cdigo simblico que permitir
efectuar la equivalencia con el lenguaje maquina.
4.- Generacin de cdigo maquina: en esta ultima etapa se elabora el programa objeto.
10
FUNDAMENTOS DE PROGRAMACIN
El cdigo o programa objeto son las instrucciones de un programa que ya han sido
traducidas a lenguaje maquina.
El cdigo ejecutable es un cdigo objeto que puede ser ejecutado por la computadora de
inmediato.
A modo de resumen podemos decir que los compiladores producen programas que, una
vez depurados y puestos a punto, son ejecutables directamente y los intrpretes, aunque
tienen unas necesidades menores de memoria a la hora de traducir los programas fuente,
nos hipotecan para siempre en cuanto al tiempo de ejecucin de los programas.
Existen en el mercado compiladores para todos los lenguajes de alto nivel; los intrpretes en
cambio slo se han desarrollado para algunos lenguajes de programacin siendo los ms
conocidos los de BASIC.
Esta clasificacin se refiere a las ventajas que tienen los lenguajes para resolver ciertos
problemas especficos.
LENGUAJES CLSICOS:
Estos lenguajes estn basados en un lenguaje cercano al ser humano en el que se escribe
el cdigo necesario para realizar las operaciones que se requieren (miles y miles de lneas
generalmente), que posteriormente es traducido o compilado generando un programa
ejecutable. Los ms conocidos son: el PASCAL, el BASIC, el C, el COBOL, y el CLIPPER.
Dependiendo del programa que se requiera realizar pueden ser mejores unos u otros.
LENGUAJES VISUALES:
Son lenguajes ms avanzadas que los lenguajes clsicos y estn basados en objetos.
Cada entidad del programa (eventos, acciones, datos, etc.), es un objeto sobre el que se
definen operaciones. Esto permite almacenar los objetos (con todo su cdigo de
11
FUNDAMENTOS DE PROGRAMACIN
LENGUAJES DE INTERNET:
Son los lenguajes especficos para la creacin de pginas Web de Internet, y realizar su
programacin (motores de bsqueda, seguridad, establecimiento de comunicaciones, etc.).
Son la ltima generacin de lenguajes. Existen distintos tipos, dependiendo del grado de
especializacin, aunque algunos, como el HTML, son lenguajes basados en sencillas
marcas o TAG.
Lenguajes. Utilidad.
12
FUNDAMENTOS DE PROGRAMACIN
Por ultimo para la resolucin de un problema, deben seguirse por lo menos los siguiente
pasos:
Estas fases constituyen lo que se denomina: Ciclo del Vida del Software o Ciclo de Vida del
Desarrollo de un Sistema, son realizadas por seres humanos, solo la ejecucin de los
programas es realizada por la computadora.
El programador debe reconocer cul es el problema, estableciendo con claridad cuales son
los datos disponibles y a qu resultados se desea llegar.
13
FUNDAMENTOS DE PROGRAMACIN
TIPOS DE LENGUAJE.
El primer lenguaje de alto nivel fue el FORTRAN (FORmula TRANslator), es decir traductor
de formulas, que estaba orientado a clculos tcnicos. Despus apareci el COBOL
(Commom Business Orientated Language) orientado a la gestin. Mas adelante
aparecieron PL1, BASIC, APL, PASCAL, ADA, RPG, etc.
En treinta aos se han definido mas de 400 lenguajes, algunos de los cuales han tenido
gran aceptacin.
FORTRAN.
Es el ms antiguo, ha tenido muchas mejoras con el paso de los aos pero sigue siendo de
diseo anticuado e incmodo a pesar de ser muy usado.
La escritura del programa se hace en hojas de programacin con un formato que no es libre,
es fcil de entender pero no de manejar.
El lenguaje a llegado a ser un estndar, lo que hace que no haya serios problemas para
transportar un programa de una mquina a otra que tenga el mismo compilador. Un
problema a considerar en este lenguaje es la relativa dificultad para el mantenimiento de
programas al no ser un lenguaje estructurado en mdulos que faciliten su mantenimiento.
Est orientado a clculos tcnicos y cientficos.
14
FUNDAMENTOS DE PROGRAMACIN
BASIC.
Respecto al mantenimiento podemos decir que es fcil de construir programas claros, pero
no dispone de suficientes facilidades para ello. Es un lenguaje muy usado en el rea de
microinformtica.
Ok
Despus de teclear PRINT Hola, pulsamos enter y
PRINT Hola
obtenemos lo que se muestra en pantalla.
Hola
Ok
COBOL.
Este lenguaje est orientado a la gestin y tiene una sintaxis lgica y estructurada y un
vocabulario semejante al ingles; es muy potente en el tratamiento de textos (el mejor
probablemente). Y en la definicin de datos.
Las instrucciones de calculo estn reducidas al mnimo, pero la gestin de ficheros es muy
buena, la transportabilidad no es mala pero presenta problemas, puesto que muchos
ordenadores personales no disponen todava de compilador COBOL.
IF A > B IF A>C
15
FUNDAMENTOS DE PROGRAMACIN
DISPLAY A ES EL MAYOR
GO TO PAR-1
ELSE
DISPLAY C ES EL MAYOR
GO TO PAR-1
ELSE
IF B>C
DISPLAY B ES EL MAYOR
GO TO PAR-1
ELSE
DISPLAY C ES EL MAYOR
GO TO PAR-1
PASCAL.
La gestin de ficheros es muy variable segn las versiones de PASCAL, hay de todos los
tipos. La gestin de perifricos es deficiente y la transportabilidad muy buena.
Program suma:
Uses crt;
Var a, b, c: integer;
Begin
a :=2; b :=3;
c := a + b;
End.
16
FUNDAMENTOS DE PROGRAMACIN
APL.
FORTH
Trata las cadenas y los clculos sin problemas, es deficiente en la gestin de ficheros y
optimo en la gestin de perifricos. En cuanto a la transportabilidad es deficiente, debido a
que se construyen muchas funciones personalizadas difciles de traspasar.
Los programas escritos con FORTH son difciles de leer, y, por tanto de mantener.
LOGO.
El lenguaje C se cre en 1972 en los laboratorio Bell. Es una herramienta muy potente que
resulta especialmente til si se emplea con el sistema operativo UNIX, una prueba de las
prestaciones de este lenguaje es que se han escrito muchos sistemas operativos con l en
lugar de hacerlo en ensamblador como vena siendo normal.
17
FUNDAMENTOS DE PROGRAMACIN
# include <stdio.h>
int main()
printf(Este es un ejemplo);
return 0;
PROLOG.
Este es un lenguaje inicio de la serie de lenguajes que son del futuro de la informtica, el
PROgrammer en LOGIQUE (PROLOG), est basado en la lgica y es el ideal para el
manejo de conocimientos que es la base de los lenguajes de inteligencia artificial.
Un lenguaje puede ser considerado como de <<cuarta generacin>> si cumple los requisitos
que se detallan a continuacin:
Los usuarios deben poder obtener los resultado en un tiempo mucho menor del necesario
con los lenguajes de la tercera generacin, como puede ser COBOL o FROTRAN.
18
FUNDAMENTOS DE PROGRAMACIN
La herramienta ser adecuada para su utilizacin, tanto por los usuarios finales como por los
profesionales de proceso de datos.
La tendencia actual hacia la informtica distribuida hace que muchos usuarios dispongan de
su terminal o microordenador para desarrollo de aplicacin generalmente conectado a los
ordenadores corporativos. Esto exige disponer de herramientas de desarrollo de
programas fciles de usar y potentes; estas herramientas de lenguaje conforman lo que se
ha dado en llamar lenguajes de <<cuarta generacin>>.
Entre las herramientas de generacin de aplicaciones que estn orientadas al usuario final,
cabe citar el FOCUS, el MAPPER y el NOMAD.
19
FUNDAMENTOS DE PROGRAMACIN
20
FUNDAMENTOS DE PROGRAMACIN
CONCLUSIN
Como puede verse, existen lenguajes especficos para cada tarea diferente.
21
FUNDAMENTOS DE PROGRAMACIN
REFERENCIAS
https://es.wikibooks.org/wiki/Fundamentos_de_programaci%C3%B3n/Introducci%C3
%B3n_a_la_programaci%C3%B3n_estructurada
http://html.rincondelvago.com/lenguajes-de-programacion_13.html
https://www.planet-source-code.com/vb/default.asp?lngWId=9
https://www.planet-source-code.com/vb/default.asp?lngWId=7
https://www.planet-source-code.com/vb/default.asp?lngWId=3
https://www.planet-source-code.com/vb/default.asp?lngWId=2
https://www.google.com.pe/search?q=lenguajes+de+programaci%C3%B3n&source=l
nms&tbm=isch&sa=X&ved=0ahUKEwi6iYq087_KAhXJ6CYKHTP9A4MQ_AUIBygB&
biw=1455&bih=726
22
FUNDAMENTOS DE PROGRAMACIN
GLOSARIO
23
FUNDAMENTOS DE PROGRAMACIN
tipo de dato, por ejemplo entero, lgico o Base de Datos. Coleccin de datos
de clase. Un array est formado por un organizados de forma que los contenidos
conjunto de casillas que almacenan pueden ser recuperados o actualizados
variables. Cada casilla o elemento del fcilmente. Los modelos empleados por
array se identifica por un nmero de los sistemas de base de datos son: el
posicin. relacional y el orientado a objetos.
24
FUNDAMENTOS DE PROGRAMACIN
realizar peticiones a servidores web propietario del dominio con una direccin
a travs de Internet y desplegar de IP. nebrija es un ejemplo de un dominio
forma grfica al usuario la informacin de segundo nivel.
recibida del servidor.
C E
Encapsulacin. Consiste en definir
Clase. Una clase describe a un conjunto todos los datos y mtodos dentro de una
de objetos que comparte los mismos clase. La encapsulacin consiste en
atributos, comportamiento y semntica. formar un paquete con los atributos
(datos) y el comportamiento (mtodos) de
Comentario. Parte de un programa Java un objeto.
delimitado por los smbolos /* y */ o por
// si se trata de un comentario de una Enterprise Java Bean (EJB). Arquitectura
lnea. Los comentarios son tiles para de componentes desarrollada por Sun
explicar el diseo o el comportamiento de Microsystems para diseo de objetos
un programa. distribuidos en Java. Un EJB se construye
a partir de la tecnologa JavaBeans. Un
Compilador. Programa que traduce el componente EJB tiene la
cdigo fuente de un lenguaje en un cdigo ventaja de ser un elemento
ejecutable o en un cdigo intermedio como reutilizable en diferentes aplicaciones.
el Bytecode. Al proceso de anlisis y
traduccin del lenguaje de programacin Excepcin. Evento inesperado que se
se le denomina compilacin. produce durante la ejecucin de un
programa. Una excepcin rompe
Constante. Se refiere a las variables de interrumpe el flujo de ejecucin normal
un programa que mantienen el mismo de un programa.
valor durante la ejecucin de un
programa. Las constantes en Java se
Expresin. Cdigo que se forma uniendo
declaran con el delimitador final.
expresiones simples formadas por literales
o variables con operadores. El valor de
Constructor. Mtodo que se utiliza una expresin se calcula considerando la
para crear un objeto en una clase. precedencia de los operadores aritmticos
y lgicos.
25
FUNDAMENTOS DE PROGRAMACIN
26
FUNDAMENTOS DE PROGRAMACIN
27
FUNDAMENTOS DE PROGRAMACIN
J
Java. Entorno de desarrollo de L
aplicaciones web diseado por Sun
MicroSystems. Local Area Network (LAN). Red de
rea local que une servidores y puestos
Java Database Connectivity (JDBC). cliente. La extensin de este tipo de
Estndar para acceso a bases de datos redes suele estar restringida a una sala
desde programas desarrollados en Java. o edificio, aunque tambin podra
JDBC utiliza una API basada en el utilizarse para conectar dos ms edificios
lenguaje de consulta de bases de datos prximos.
SQL.
Java Development Kit (JDK). Entorno de
desarrollo y libreras para diseo de
programas Java.
Java Runtime Environment (JRE).
Subconjunto del JDK que permite ejecutar
M
programas compilados en Bytecode. Est Mainframe. Trmino que se utiliza
formado por una mquina virtual de Java para denominar a grandes ordenadores
y por libreras estndar. diseados para satisfacer las
necesidades de procesamiento de
Java Server Page (JSP). Java Server informacin de las organizaciones de
Page es una tecnologa que se utiliza para mayor tamao a nivel mundial.
controlar el contenido y apariencia de las
pginas web mediante el uso de servlets. Mtodo. Funcin definida dentro de una
Un servlet es un pequeo programa Java clase. Un mtodo puede devolver un valor
que se direcciona desde la pgina web o no, en tal caso se indica que devuelve
y es ejecutado en el servidor web para void.
modificar el contenido de la pgina antes
de que sta sea enviada al usuario que la
ha solicitado. Una pgina JSP contiene
servlets para consultar bases de datos y N
generar de forma dinmica el contenido de
una pgina HTML. Network User Interface (NUI). Interfaz de
usuario de red en un entorno Internet.
Java Virtual Machine (JVM). Programa
que ejecuta programas java compilados en
Bytecode. La mquina virtual de Java es
un entorno seguro de ejecucin de O
aplicaciones.
Open System Interconnection (OSI). El
Javascript. Lenguaje de programacin modelo OSI es utilizado por prcticamente
que permite dinamizar el contenido la totalidad de las redes de ordenadores
de una pgina HTML. Javascript del mundo. Este modelo fue creado por
es un lenguaje interpretado. Se utilizan el International Standard Organization
normalmente para desarrollar funciones ISO, consiste en siete niveles o capas
tales como: donde cada una de ellas define las
funciones que deben proporcionar los
1. Cambiar el formato de una fecha protocolos con el propsito de
de forma automtica en una pgina web intercambiar informacin entre varios
sistemas. Esta clasificacin permite que
2. Desplegar un enlace a una pgina cada protocolo se desarrolle con una
web en una ventana pop- up. finalidad determinada, lo cual simplifica el
proceso de desarrollo e implementacin.
3. Modificar textos o grficos mientras se Cada nivel depende de los que estn por
realiza una accin de ratn de tipo debajo de l, y a su vez proporciona
mouse rollover. alguna funcionalidad a los niveles
28
FUNDAMENTOS DE PROGRAMACIN
29
FUNDAMENTOS DE PROGRAMACIN
30
FUNDAMENTOS DE PROGRAMACIN
31
FUNDAMENTOS DE PROGRAMACIN
32