Vous êtes sur la page 1sur 34

Introduccin a la programacin

Conceptos fundamentales.

Informtica y computador.
Sistemas de procesamiento de la informacin.
Hardware
Software
Sistemas Operativos.

Desarrollo de un programa

Que es un programa
Lenguajes de programacin: Lenguaje mquina.

Lenguaje ensamblador. Lenguaje de alto nivel.


Traductores. Proceso de Traduccin. Compiladores.
Interpretes.
Paradigmas de programacin.
Introduccin a la POO.

Introduccin a la programacin

INFORmacin autoMTICA.
Conjunto de conocimientos cientficos y tcnicas que

hacen posible el tratamiento automtico de la


informacin por medio de los ordenadores.
La Informtica es la ciencia que trata la adquisicin,
representacin, tratamiento y transmisin de la
informacin.

Computador.
Mquina programable para el tratamiento de la

informacin.
Datos COMPUTADOR Resultados

Introduccin a la programacin

Un sistema de informacin es cualquier sistema que se


utilice para obtener, almacenar, manipular, administrar,
controlar, procesar, transmitir o recibir datos, para
satisfacer una necesidad de informacin.

Introduccin a la programacin

Equipo fsico. Conjunto de componentes


fsicos de un computador. Elementos fijos.
Unidades de entrada/salida (E/S). Dispositivos que

permiten al usuario comunicarse con la computadora


(teclado, impresora,)

Memoria. Dispositivo donde se almacenan los datos


(datos e instrucciones).

Unidad Central de Proceso (CPU). Conjunto de


circuitos electrnicos capaces de realizar operaciones
elementales de tratamiento de la informacin o de
entrada/salida, de acuerdo con los cdigos del
programa almacenado en memoria.

Introduccin a la programacin

Equipo lgico. Conjunto de programas que


pueden ser ejecutados en un computador.
Tambin materias o reas involucradas en
la construccin de programas.
Software de aplicacin: contabilidad,
facturacin
Software de sistemas: sistemas operativos,
compiladores, etc.

Introduccin a la programacin

Conjunto de programas que facilitan y


optimizan el empleo del computador.
Acta como interfaz entre el usuario y el
hardware.
Intrprete de rdenes, gestin de
recursos (CPU, memoria, E/S, ficheros)

Introduccin a la programacin

Un programa es una serie de instrucciones dadas


al ordenador en un lenguaje entendido por l.
Mediante estas instrucciones le indicamos que
queremos que haga.
Si el ordenador no entiende la instruccin, lo
comunicar generalmente mediante mensajes
visualizados en pantalla.

Introduccin a la programacin

La programacin de ordenadores es el
conjunto de tcnicas, mtodos y reglas
para construir programas de ordenador
legibles, correctos y eficientes.
Un programa debe escribirse en un
lenguaje entendible por el ordenador.
Para definir un lenguaje de programacin
es necesario especificar:

Conjunto

de

smbolos

palabras

clave

utilizables
Reglas gramaticales para construir sentencias
sintctica y semnticamente correctas.
Introduccin a la programacin

Sintaxis: nos dice cmo hay que escribir las


sentencias del lenguaje.
Semntica: nos dice qu significan las
sentencias.
Los lenguajes de programacin siguieron
un desarrollo histrico:

Lenguaje mquina
Lenguaje ensamblador
Lenguajes de alto nivel

Introduccin a la programacin

10

El ordenador es una mquina electrnica y


almacena los datos en binario (0 o 1).
Cuando un programa le da una instruccin al
ordenador, esta debe estar almacenada en
memoria forma de 0 y 1.
Podemos escribir un programa utilizando 0 y 1. Esto
es el lenguaje mquina.
Pero
llevara
mucho
tiempo
y
muchas
posibilidades de cometer errores.
Reducido nmero de instrucciones y muy
dependientes del hardware.

Introduccin a la programacin

11

Utiliza cdigos nemotcnicos para indicarle al


hardware las operaciones que tiene que realizar.
Un nemotcnico es una palabra o abreviatura fcil de
recordar que representa una tarea, por ejemplo:
MOV AH, 4CH
Se mantiene una relacin 1 a 1 respecto al lenguaje
mquina.
Siguen siendo cercanos a la mquina y por tanto el
programador debe conocer el microprocesador
utilizado.
Para traducir un programa escrito en ensamblador a
lenguaje
mquina (binario) se usa un programa
llamado ensamblador.
Introduccin a la programacin

12

Utilizan una terminologa ms comprensible


ya que se acerca mas al lenguaje humano.
Amplio juego de instrucciones
Instrucciones de gran potencia
Rpida y sencilla codificacin
Programas legibles, por lo tanto son ms
fciles de mantener y verificar
En este caso la traduccin al lenguaje
mquina se lleva a cabo por otro
programa llamado compilador.
Introduccin a la programacin

13

Un traductor es un programa que toma como entrada


un programa escrito en un lenguaje fuente y lo
transforma en un programa escrito en lenguaje objeto.
L. Fuente TRADUCTOR L. Objeto
Identificar errores del programa fuente e informar al
programador con la mayor exactitud posible.
Generar cdigo.
El proceso de conversin se denomina traduccin, que
puede realizarse de dos formas diferentes:
Por interpretacin
Por compilacin

Introduccin a la programacin

14

Se divide en dos grandes fases: anlisis y sntesis


Fase de anlisis: consiste en ver si el cdigo del programa
fuente est escrito de acuerdo a las reglas sintcticas y
semnticas que define el lenguaje fuente.
Anlisis lxico: elimina del programa fuente toda la
informacin innecesaria (espacios y lneas en blanco,
comentarios, etc.)
Anlisis sintctico: se comprueba si lo obtenido de la fase
anterior es sintcticamente correcto (obedece a la
gramtica del lenguaje)
Anlisis semntico: se comprueba el significado de lo
anterior
Fase de sntesis: Consiste en generar el cdigo objeto
equivalente al programa fuente.
Slo se genera cdigo objeto cuando el programa fuente
est libre de errores de anlisis, lo cual no quiere decir que
el programa se ejecute correctamente.
Introduccin a la programacin

15

Compilador:

Es un programa que toma como entrada un

programa fuente escrito en un lenguaje de alto nivel


y genera un programa en lenguaje mquina
equivalente llamado programa objeto.
P.fuente COMPILADOR P.Objeto
Por ejemplo, un programa escrito en C necesita un
compilador C para ser traducido. Pero para traducir un
programa escrito en Java, se necesita un compilador
Java.
Pero Java tiene otra peculiaridad, el lenguaje mquina
que da como resultado el compilador no corresponde
al del ordenador sino al que una mquina ficticia,
denominada
mquina
virtual
Java
(JRE).
Multiplataforma.

Introduccin a la programacin

16

Intrprete:
Es un programa que toma como entrada un
programa escrito en lenguaje fuente y lo traduce
y ejecuta instruccin a instruccin. No genera un
programa escrito en lenguaje mquina.
Por ejemplo, un programa escrito en lenguaje
Basic necesita el interprete Basic para ser
ejecutado.
A diferencia de un compilador, un interprete verifica
cada lnea del programa cuando se escribe, facilita
la puesta a punto del programa pero la ejecucin
es mas lenta ya que acarrea una traduccin
simultanea.

Introduccin a la programacin

17

Un paradigma de programacin es una


coleccin de patrones conceptuales que
moldean la forma de razonar sobre
problemas, de formular soluciones y de
estructurar programas.

Programacin imperativa
Programacin funcional
Programacin lgica
Programacin orientada a objetos

Introduccin a la programacin

18

Programacin imperativa.

Un programa es una secuencia finita de

instrucciones, que se ejecutan una tras otra.


Le indicamos a la mquina cmo tiene que
resolver un problema paso a paso.
Los datos utilizados se almacenan en memoria
principal y se referencian utilizando variables.
Ej: pascal, C, ada, etc.
leer(X)
leer(Y)
resultado= x+y
escribir(resultado)

Introduccin a la programacin

19

Programacin declarativa.

Le indicas a la mquina qu tiene que resolver, no cmo.


Se divide en programacin funcional y lgica :
Ejemplo: PROLOG.
Hermano(x,y):- ((madre(x,z), madre(y,z))

Programacin funcional.

Son aquellos en los que todas las construcciones son

funciones en el sentido matemtico del trmino.


Un programa es una funcin que se define por
composicin de funciones ms simples.
La misin del ordenador ser evaluar funciones.
Ejemplo: LISP.
sucesor(x)= x+1
suma(x,0)= x
suma(x,y)= sucesor(suma(x,predecesor(y))
?- suma(3,2)
Introduccin a la programacin

20

Programacin lgica.
Un programa consise en declarar una serie de hechos

(elementos conocidos, relacin de objetos concretos) y reglas


(relacin general entre objetos que cumplen unas
propiedades) y luego preguntar por un resultado.
Ejemplo: Prolog.
mujer(rosa)
padres(rosa,carlos,pilar)
hermanas(X,Y):- mujer(X),mujer(Y), padres (X,P,M), padres(Y,P,M)
?- hermanas(rosa,X)

Introduccin a la programacin

21

Programacin orientada a objetos:


Aunque algunos la clasifican como

imperativa, la orientacin a objetos es un


estilo de programacin caracterizada por la
forma de manejar la informacin. Esta
manera se basa en 3 conceptos clave:
clase, objeto, y herencia.

Ejemplo: Smalltalk, C++, Java.

Introduccin a la programacin

22

La POO es un modelo de programacin que utiliza


objetos, ligados mediante mensajes, para la solucin de
problemas.
Los seres humanos perciben el mundo como si estuviera
formado por objetos: mesas, sillas, computadoras, coches,
cuentas bancarias, etc.
Los objetos poseen un conjunto de
propiedades o
atributos, y un conjunto de mtodos mediante los cuales
muestran su comportamiento.
Ejemplo: Una entidad bancaria sera una clase en la
tenemos objetos que son las cuentas, las cuentas tienen
atributos que son titular, saldo, n cta, y mtodos como
Reintegro, Ingreso, Transferencia,

Las clases pueden tener subclases, por ejemplo la clase vehculo


puede tener las subclases Coche, Velero y Avin, seran subclases o
clases heredadas:
Vehculo: Es una clase padre

Coche. Atributos:
Color
Potencia
Marca
Modelo
Coche.Mtodos:
Arrancar
Frenar
Acelerar
Cambiar
Marcha

Figura

Coche Son subclases


Velero o clases heredadas
Avin de vehculo

Animal

Cuando escribimos un POO, lo que hacemos es disear un


conjunto de clases, desde las cuales se crearn objetos
necesarios cuando el programa se ejecute:
Cada una de estas clases incluye dos partes fcilmente
diferenciales: los atributos y los mtodos.
Los atributos definen el estado de cada objeto de esa clase y
los mtodos definen su comportamiento

Un objeto, no es ms que una instancia de una clase. La


instancia de una clase significa definir un objeto dndole
valores a sus atributos y comportamiento, y realizando
operaciones permitidas por la clase.

Clase
Objeto
Atributos
Mtodos
Instancia
Abstraccin
Encapsulamiento
Modularidad
Jerarqua
Generalizacin

Herencia
Asociacin
Agregacin
Polimorfismo
Constructor
Destructor
Miembro Pblico
Miembro Privado
Miembro Protegido

Abstraccin: La abstraccin es la capacidad que


permite representar las caractersticas esenciales
de un objeto sin preocuparse de las restantes
caractersticas (no esenciales). Sera el mecanismo
para determinar los tipos de clases, con el fin de
agrupar datos y funciones.
Encapsulamiento: Gracias a la creacin de una
clase se consigue que al declarar un objeto,
podamos usar los mtodos que tiene esa clase.
Para ello, lo nico que necesita el programador es
conocer la cabecera de dichos mtodos para
saber como llamarlos sin tener la necesidad de
conocer los detalles de su implementacin.

Modularidad: Consiste en agrupar cdigo en


bloques, con el fin de poder reutilizarlo. La POO
tiene la ventaja de que dichos bloques se agrupan
con los datos que manejan, consiguiendo as
ahorrar muchos envos de datos a travs de los
llamados parmetros.

Jerarqua: Es una clasificacin u ordenacin de las


abstracciones.

Generalizacin: Una clase que comparte atributos y


mtodos similares con otras clases se le llama
superclase o clase padre. Cuando definimos una clase
padre estamos generalizando. Lo contrario se llama
especializacin, partir de la clase padre y especializar
las clases hijos.

Por ejemplo, si partimos de una clase vehculo, avin y barco, podramos


generalizar en la clase vehculo (esto favorece la reutilizacin de cdigo)

Herencia: Del mismo modo, cuando definimos una


clase a partir de una clase padre estamos creando
una subclase. La definicin de esta subclase se le
denomina herencia, y la subclase hereda de la clase
padre todo lo que tenga definido como pblico y
protected.

Asociacin: Una asociacin es una relacin


semntica entre objetos. Cuando un objeto
accede a los atributos y mtodos de otro objeto
estamos definiendo una asociacin entre ellos.

Agregacin: La agregacin es una relacin que


define que un objeto es parte de otro objeto.
Cuando definimos que un objeto tiene como
atributo otro objeto decimos que es una
agregacin. A travs de la agregacin se definen
objetos compuestos.
Ejemplo, puedes definir una clase color con sus atributos y mtodos, y
dentro de la clase coche puedo definir un atributo de tipo color.

Polimorfismo: Es el mecanismo de definir un mismo


mtodo en varios objetos de diferentes clases pero
con distintas formas de implementacin.
Ejemplo: La clase polgono, sera una clase padre de las
subclases triangulo, cuadrado, crculo. El mtodo rea
podramos definirlo en la clase polgono e implementarlo de

diferentes maneras en las subclases triangulo, cuadrado


crculo.

Constructor: Es un mtodo que se invoca cuando


un objeto es construido.

Destructor: Es un mtodo que se invoca cuando


un objeto es destruido.

Miembro Pblico: Atributo o mtodo de una


clase que puede ser accedido desde cualquier
parte del programa.

Miembro Privado: Atributo o mtodo de una


clase que puede ser accedido solo dentro de
esa clase.

Miembro Protegido: Atributo o mtodo de una


clase que puede ser accedido desde esa clase
y sus clases heredadas.

Vous aimerez peut-être aussi