Vous êtes sur la page 1sur 9

3/10/2017

UNIDAD I Lenguaje de programacin:


Es un conjunto de smbolos

Lenguajes de Programacin que combinados entre s,


junto con un grupo de reglas
sintcticas, permiten expresar
los datos e instrucciones
necesarios para que las
segundas sean ejecutadas
por la computadora.

Ing. Luis Barrera 1 2


Ing Luis Barrera - IAI115 - 2012 Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

Por la Facilidad de Comprensin para el ser Humano.


Lenguaje de Bajo Nivel
Lenguaje de Alto Nivel
Por el Mtodo de Programacin
Orientado a Estructurado
Orientado a Objetos
Orientado a Eventos
Orientado a Funcional
Orientado a Logica
Por la Forma Lgica de construir los programas
Lenguaje no Estructurado
Lenguaje Estructurado
Por el rea de aplicacin.
Lenguaje de propsito general
Lenguaje de propsito especifico
Por la generacin
Lenguaje de 1ra., 2, 3, 4, 5 Generacin

3 Ing. Luis Barrera 4


Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012

Estructurada

5 6
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

Ing. Luis Barrera + IAI115 1


3/10/2017

Programacin Imperativa ALGORITMO


En la PI Se describe paso a
paso un conjunto de Es un conjunto de pasos,
instrucciones que deben
ejecutarse para variar el estado procedimientos o acciones
del programa y hallar la
solucin, es decir, un algoritmo
ordenadas que nos permiten
en el que se describen los alcanzar un resultado o resolver un
pasos necesarios para
solucionar el problema. problema.
Se basa en dar instrucciones al
ordenador de cmo hacer las
cosas en forma de algoritmos.
Principales programas
Imperativos: C, Java y PHP.
7 8
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

Programacin Declarativa Programacin Declarativa


Son razonados matemticamente, lo que
En la PD Se desarrolla programas especificando o declarando un permite el uso de mecanismos matemticos
conjunto de condiciones, proposiciones, restricciones, ecuaciones para optimizar el rendimiento de los programas.
o transformaciones que describen el problema y detallan su
solucin; sin especificar exactamente cmo encontrarla. Son fiables, elegantes y expresivos
Interesa ms qu deseamos obtener, que cmo.
Un programa se describe en trminos de proposiciones y Existen varios tipos de lenguajes declarativos:
afirmaciones que son declaradas para describir el problema, sin
especificar los pasos para resolverlo; en este tipo de programas, el Los lenguajes lgicos, como Prolog.
estado no puede ser modificado ya que todos los tipos de datos
son inmutables. De esta familia hacen parte lenguajes como: Los lenguajes algebraicos, como Maude y SQL
Prolog, Lisp, SQLScala, Haskell, Erlang y Elixir. Los lenguajes funcionales, como Haskell, Lisp y
Erlang

9 10
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

Programacin QUE ES UN PARADIGMA


Imperativa y Declarativa
Un paradigma es una forma de
representar y manipular el conocimiento.
Representan un enfoque particular o
filosofa para la construccin del software.
No es mejor uno que otro sino que cada
uno tiene ventajas y desventajas.
Tambin hay situaciones donde un
paradigma resulta ms apropiado que
otro.

11 12
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

Ing. Luis Barrera + IAI115 2


3/10/2017

13 14
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012

Paradigmas de Programacin A) Programacin Estructurada


A) Programacin Estructurada
Representacin de las Estructuras Bsicas:
La PE es una metodologa que consiste en aplicar un conjunto de
tcnicas que nos permiten programar de forma fcil, ordenada y
eficaz.

Es una tcnica de programacin, que nos ayuda a disear


sistemticamente algoritmos correctos. Un algoritmo correcto es
F V
aquel que no tiene errores (Sintaxis, Ejecucin y Lgicos) y por lo
tanto, hace lo que se espera que haga.

Divide y vencers

15 16
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

18

A) Programacin Estructurada A) Programacin Estructurada


Un programa diseado con este estilo de programacin,
consta de instrucciones que describen la solucin del Utilizando la Programacin Estructurada se obtiene ventajas
problema. Las tcnicas fundamentales de Programacin tales como:
Estructurada son cuatro: Permite disear fcilmente, programas efectivos y correctos.
Lgica Estructurada La depuracin del programa es mucho ms fcil.
Documentacin El programa generado puede ser utilizado por cualquier
Anlisis Estructurado usuario.
Estructura de datos. El diseo de programas se vuelve una tarea sistemtica.
El mantenimiento o modificacin de los programas es ms
Ejemplos: Pascal, Basic, FORTRAN, C rpido y fcil.

17 18
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

Ing. Luis Barrera + IAI115 3


3/10/2017

B) PROGRAMACION ORIENTADA A B) PROGRAMACION ORIENTADA A


OBJETOS OBJETOS
La Programacin Orientada a Objetos,
Qu es la POO? permite descomponer ms fcilmente un
Un mtodo de implementacin en el que los programas se organizan problema en subgrupos de partes
como colecciones cooperativas de objetos, cada uno de los cuales relacionadas del problema.
representan una instancia de alguna clase, y cuyas clases son todas
miembros de una jerarqua de clases unidas mediante relaciones de
herencia. Booch. Las mejores ideas de la PE combinadas con
varios conceptos nuevos y potentes que
incitan a contemplar las tareas de
programacin desde un nuevo punto de vista.

19 20
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

B) PROGRAMACION ORIENTADA A B) PROGRAMACION ORIENTADA A


OBJETOS OBJETOS
COMO SE PIENSA EN OBJETOS COMO SE PIENSA EN OBJETOS
Pensar en trminos de objetos es muy
parecido a cmo lo haramos en la vida real. Pues en un esquema POO el carro
Por ejemplo vamos a pensar en un carro
sera el objeto, las propiedades seran
para tratar de modelarlo en un esquema de las caractersticas como el color o el
POO. Diramos que el carro es el elemento modelo y los mtodos seran las
principal que tiene una serie de funcionalidades asociadas como
caractersticas, como el color, el modelo o la ponerse en marcha o parar.
marca. Adems tiene una serie de
funcionalidades asociadas, como pueden ser
ponerse en marcha, parar o aparcar.
21 22
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

B) PROGRAMACION ORIENTADA A B) PROGRAMACION ORIENTADA A


OBJETOS OBJETOS
COMO SE PIENSA EN OBJETOS
Objeto: Una estructura de datos y conjunto de
procedimientos que operan sobre dicha estructura.
Clase: coleccin de objetos que poseen caractersticas
y operaciones comunes. Una clase contiene toda la
informacin necesaria para crear nuevos objetos.
Tcnicas:
Herencia, Abstraccin, Polimorfismo, Encapsulamiento
Ejemplos de Lenguajes orientados a Objeto: C++,
Java,

23 24
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

Ing. Luis Barrera + IAI115 4


3/10/2017

B) PROGRAMACION ORIENTADA A OBJETOS B) PROGRAMACION ORIENTADA A OBJETOS


Entre los lenguajes orientados a objetos
se destacan los siguientes:
Ada
C++
C Sharp (C#)
Clarion
Clipper
Object Pascal (Embarcadero Delphi)
Java
JavaScript
Python
Ruby
VB.NET
Visual Basic
25 26
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

B) PROGRAMACION ORIENTADA A OBJETOS


C) Programacin Funcional
VENTAJAS
Este paradigma concibe a la computacin como la
Reusabilidad. Cuando hemos diseado adecuadamente las evaluacin de funciones matemticas y evita declarar y
clases, se pueden usar en distintas partes del programa y en cambiar datos.
numerosos proyectos.
Son razonados matemticamente, lo que permite el uso de
Mantenibilidad. Debido a las sencillez para abstraer el mecanismos matemticos para optimizar el rendimiento de
problema, los programas orientados a objetos son ms sencillos los programas. Son fiables, elegantes y expresivos
de leer y comprender, pues nos permiten ocultar detalles de
implementacin dejando visibles slo aquellos detalles ms Es decir hace hincapi en la aplicacin de las funciones y
relevantes. composicin entre ellas, ms que en los cambios de
estados y la ejecucin secuencial de comandos (como lo
Modificabilidad. La facilidad de aadir, suprimir o modificar
hace el paradigma procedimental). Permite resolver ciertos
nuevos objetos nos permite hacer modificaciones de una forma
muy sencilla. problemas de forma elegante y los lenguajes puramente
funcionales evitan los efectos secundarios comunes en
Fiabilidad. Al dividir el problema en partes ms pequeas
otro tipo de programaciones.
podemos probarlas de manera independiente y aislar mucho
ms fcilmente los posibles errores que puedan surgir. Ejemplo de lenguajes funcionales son: Haskell, Lisp y
Erlang
27 28
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

C) Programacin Funcional D) Programacin Lgicos Algebraicos


Ejemplo de lenguaje Haskell y Lisp Se basa en la definicin de reglas lgicas para
luego, a travs de un motor de inferencias
lgicas, responder preguntas planteadas al
sistema y as resolver los problemas.
Ejemplo de lenguajes: Los lenguajes lgicos,
como Prolog. Los lenguajes algebraicos, como
Maude y SQL.

29 30
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

Ing. Luis Barrera + IAI115 5


3/10/2017

D) Programacin Lgicos Algebraicos E) Programacin Orientada por Eventos


Ejemplo de lenguaje Prolog
La Programacin dirigida u Orientada por
Eventos es un estilo de programacin en el
que tanto la estructura como la ejecucin de
los programas van determinados por los
sucesos que ocurran en el sistema, definidos
por el usuario o que ellos mismos
provoquen.
Ejemplo: Lexico, Visual Basic, Javascript,
Java(AWT,swing), Visual C++, Visual .Net,
Visual C#, Visual J#, ASP .Net
31 32
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

E) Programacin Orientada por Eventos E) Programacin Orientada por Eventos


Un ejemplo claro lo tenemos en los sistemas de
programacin Lexico y Visual Basic, en los que a
La programacin orientada a cada elemento del programa (objetos, controles,
eventos es la base de lo que etctera) se le asignan una serie de eventos que
generar dicho elemento, como la pulsacin de
llamamos interfaz de usuario, un botn del ratn sobre l o el redibujado del
aunque puede emplearse control.
tambin para desarrollar Ejemplo: los programas de Windows tales como
Word, Excel y otros cuando uno de estos
interfaces entre componentes programas arranca, lo nico que hace es
de Software quedarse a la espera de las acciones del usuario,
que en este caso son llamados eventos.
33 34
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

ETAPAS EN LA
RESOLUCION DE PROBLEMAS Proceso de creacin de un programa
Tenemos que tener muy claro lo que queremos que haga el programa
que vamos a crear.
RESOLUCION
DE UN PROBLEMA Hacer un esquema que nos servir de gua, esto es metodologa de
programacin, y es necesaria cuando hacemos un programa de
varios cientos o miles de lneas de cdigo.
RESOLUCION
ANALISIS DEL DISEO DEL Ahora abrimos un editor de texto y empezamos a teclear cdigo en
DEL PROBLEMA EN
PROBLEMA ALGORITMO un lenguaje de programacin, hay muchos pero unos de los mas
COMPUTADORA
usados es C#.
CODIFICACION Despus de escribir el cdigo hay que compilar.
DEL PROGRAMA
Si despus de compilar todo ha ido bien hay que crear un
COMPROBACION ejecutable.
DEL PROGRAMA
Finalmente nos queda usar el programa.
EJECUCION
DEL PROGRAMA

35 36
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

Ing. Luis Barrera + IAI115 6


3/10/2017

Almacenamiento de datos en Memoria


El procesamiento electrnico de datos requiere el almacenamiento de los datos de
Programa: Conjunto de rdenes o instrucciones, que entrada (para su procesamiento) y los datos de salida.
se le dan a una computadora para que realice una Memoria Auxiliar (Soportes magnticos, pticos, estado solido)
tarea.
U.C.P
Programa Fuente: Conjunto de instrucciones escritas
Procesador
en un lenguaje de programacin de alto nivel.
Programa Objeto: Conjunto de instrucciones como C.U
resultado de la traduccin de un programa fuente, pero Elemento de Elemento de
an no directamente ejecutables por la mquina. Entrada Salida

Programa ejecutable: Conjunto de instrucciones ALU


directamente ejecutables por la mquina. Estas
instrucciones estn escritas en lenguaje binario y el
archivo que las contiene puede tener las extensiones, Memoria Central
EXE o COM para Windows bin para Unix/Linux.
37 38
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

Lenguaje Mquina Lenguajes de bajo nivel


Es el programa de programacin que entiende Son mucho mas fciles de usar. Las
directamente la computadora. Este lenguaje instrucciones son conocidas nemocticos.
utiliza el alfabeto binario, es decir, el 0 y el 1,
formando cadenas binarias con las que se Tambin tiene inconvenientes como por
elaboran las instrucciones que la CPU del ejemplo que se necesitan muchas instrucciones
ordenador procesa. Este lenguaje dej de para realizar tareas simples y exige grandes
utilizarse por la complejidad y facilidad para conocimientos de los hardware.
cometer errores al usarlo.

Tipos Tipos

39 40
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

Lenguajes de alto nivel


Estos lenguajes estn diseados para que los
programadores escriban y entiendan
Lenguajes de Mquina:
instrucciones lo ms parecidas al lenguaje Lenguaje directamente inteligibles por la mquina ya que
humano, lo que hace que se requiera menos sus instrucciones son cadenas binarias.
tiempo para aprender a programar. Son los ms
utilizados. Este lenguaje es pasado a cdigo Lenguajes de Bajo Nivel o Ensamblador
(Assembler):
binario mediante un intrprete. Permiten crear programas muy rpidos, pero que son a
menudo difciles de aprender.

Lenguajes de Alto Nivel:


Son los ms utilizados por lo programadores y por
cualquier persona.
Tipos

41 42
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

Ing. Luis Barrera + IAI115 7


3/10/2017

Traductores Lenguaje de Programacin


Cdigo de
Traductor. Cualquier programa que toma como entrada un texto ensamble
escrito en un lenguaje llamado fuente y da como salida un programa
equivalente en otro lenguaje, el lenguaje objeto.
Si el lenguaje fuente de un lenguaje de programacin de alto nivel y el
objeto un lenguaje de bajo nivel (ensamblador o cdigo de mquina), al
traductor se le denomina compilador.
Ensamblador. Es un programa traductor cuyo lenguaje fuente es el
lenguaje ensamblador.
Intrprete. Es un programa que no genera un programa equivalente,
sino que toma una sentencia del programa fuente en un lenguaje de
alto nivel y la traduce al cdigo equivalente y al mismo tiempo lo
ejecuta. Ensamblador
En un principio debido a la escasez de memoria se utilizaban ms los
intrpretes, ahora se usan ms los compiladores (a excepcin de cdigo de Objeto
JAVA)
43 44
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

Intrpretes:
Es un traductor que toma un programa fuente, lo traduce y
a continuacin lo ejecuta
Compiladores:
Es aquel programa que traduce un programa en lenguaje
de alto nivel.
Fases de compilacin; proceso por el cual el programa
fuente es transformado a programa ejecutable

45 46
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

Traductores Lenguaje de Programacin Traductores Lenguaje de Programacin

Ventajas de compilar vs a interpretar

Se compila una vez, se ejecuta n veces


En ciclos, la compilacin genera cdigo equivalente,
interpretndolo se traduce tantas veces una lnea como veces se
repite el ciclo
El compilador tiene un visin global del programa

Ventajas del intrprete vs el compilador

Un intrprete necesita menos memoria que un compilador


Permiten una mayor interactividad con el cdigo en tiempo de
desarrollo

47 48
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

Ing. Luis Barrera + IAI115 8


3/10/2017

Fases de compilacin Traductores Lenguaje de Programacin


INICIO
Common Language Runtime
Editar Programa
Fuente Recordemos la figura anterior que ilustra el proceso de
Modificacin
Programa
Compilar el
compilacin de un programa en .NET
Fuente
Programa

Cdigo fuente C#, Visual Basic...


Existen
V
errores en la Compilador
compilacin

Cdigo intermedio MSIL(Microsoft


F
Intermediate Language)
Programa Objeto
CLR

Visual Studio IDE


Programa
Enlazador
Ejecutable Cdigo nativo Intel 8086, Windows,
Solaris...
Ejecucin

FIN
49 50
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

Traductores Lenguaje de Programacin Traductores Lenguaje de Programacin


Proceso de Ejecucin CLR
Cdigo VB C# C++
Fuente
Componente
Compiler Compiler Compiler
No Gestionado

Cdigo Assembly Assembly Assembly


Gestionado Cdigo MSIL Cdigo MSIL Cdigo MSIL

Compila CLR Common Language Runtime

JIT Compiler

Native Code

Operating System Services


Archivo.cs Archivo:AssemblyInfo.cs Archivo.exe

51 52
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

Traductores Lenguaje de Programacin


Visual Studio Compilacin en C#

Visual Studio

53
Ing Luis Barrera - IAI115 - 2012 Ing. Luis Barrera

Ing. Luis Barrera + IAI115 9

Vous aimerez peut-être aussi