You are on page 1of 41

Copyright 2005 Pedro lvarez , Jos ngel Baares, Pedro Latorre, Santiago Velilla

Tema 1.
Conceptos Bsicos de Programacin

Departamento de Informtica e Ingeniera de Sistemas


C.P.S. Universidad de Zaragoza
ltima revisin: Septiembre, 2006

Conceptos Bsicos de Programacin

Problemas y soluciones
Objetivos de la programacin
Nocin de algoritmo
El computador (hardware)
Cuestiones generales sobre el Software
Estilo de programacin
Lenguajes de Programacin
Elementos de un programa

Propiedades de los algoritmos


Ciclo de vida de los programas
Entorno de Programacin

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

Problemas y soluciones

Cmo se resuelve un problema en general?

Datos

Resultados

Modelado o representacin
Datos (iniciales, intermedios, resultados)
+ algoritmos
Visualizacin
del modelo de resultados

Implementacin
en la plataforma de trabajo
(codificacin: Pascal, Java, C)

Ejecucin
de los procesos

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

Objetivo de la programacin.

Problemas que se tratan de resolver en


Programacin
Cmputo o clculo
Gestin comercial
Control
Tratamiento de la seal
Ldicos
Inteligencia Artificial
E-bussines
Etc.
Problemas cuya solucin puede ser llevada
a cabo por un COMPUTADOR
Computador: Herramienta que permite tratar
de forma automtica problemas de
tratamiento de la informacin.
Informtica: Ciencia del tratamiento de la
informacin.

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

Objetivo de la programacin: - Construir programas

Programa: texto formado por instrucciones para


que una mquina las ejecute
Los lenguajes de programacin estn diseados
de forma que slo se requiere que los
programadores establezcan sus intenciones
explcitamente

Cmo transformar un problema en un


programa ejecutable por un computador?
Entre problema y programa hay algunos pasos
importantes:

Anlisis /
Diseo

Problema
Lenguaje
Natural

Codificacin

Algoritmo
Lenguaje Algortmico /
pseudocdigo

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

Programa
PASCAL, C, Ada,
Basic, Fortran,
COBOL, Java, C++,
Lisp, ...

09/09/2004

Nocin de algoritmo

Accin: Es un acontecimiento producido por un


actor (o ejecutante de una accin) que tiene
lugar durante un periodo de tiempo finito y que
tiene como consecuencia o resultado una
nueva situacin bien definida y previsible.
Estado: Es el conjunto de objetos (con sus
circunstancias) disponibles en un instante
determinado.
Algoritmo: Es la descripcin de una sucesin
finita de acciones que permite transformar el
entorno del estado inicial dado en el final
deseado.

Iremos calculando
factorial de n =
1* 2 * ...*i * ... n
para valores crecientes de i
hasta n

Algoritmo en
lenguaje algortmico

Solucin informal
en lenguaje natural

Read(n);i:=1;
factorial:=1;
Mientras Que i < n hacer
i:= i+1;
factorial:= factorial * i
FinMientrasQue;

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

Nocin de Programa

Programa: Es un algoritmo escrito en trminos


que pueda interpretar (ejecutar) un computador.
A l se llega tras codificar el algoritmo en algn
lenguaje de programacin.
i:=1;

lenguaje
algortmico

factorial:=1;
Mientras Que i < n hacer
i:= i+1;
factorial:= factorial * i
FinMientrasQue;

i:=1; factorial:=1;
While i < n do
begin

Pascal

i:= i+1;
factorial:= factorial * i
end;
i=1; factorial=1;

While (i < n) factorial*=++i;

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

Cuestiones generales sobre el software

En los ltimos aos


El avance espectacular del hardware no ha
ido acompaado por el software en cuanto a
calidad y coste
Aumento de la demanda del software:
cantidad, prestaciones, calidad
La capacidad de mantenimiento est
amenazada por el mal diseo y el uso
inadecuado de recursos
La parte principal del coste de una solucin
informtica es el software
El efecto 2000.
cmo pudo difundirse ese miedo?
Por falta de credibilidad
Hacia una solucin
Construccin
sistemtica
frente
a
improvisada
Construccin
usando
componentes:
reusabilidad, libreras
Uso de herramientas de alto nivel: que
construyen programas.

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

Ciclo de vida de un programa

Especificacin
Anlisis
Diseo
Codificacin
Pruebas
Mantenimiento

Mantenimiento: En general el software sufrir cambios:


Errores detectados
Aparicin de nuevos requisitos:
Externos: perifricos, sistema operativo
Nuevas prestaciones

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

El computador (Hardware)

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

10

El computador (Hardware)

Perifricos

CPU (Central Process Unit)

Memoria

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

11

Memoria de un computador

Memoria
Se
realiza
mediante
millones
de
transistores que se utilizan a modo de
interruptores
que pueden estar
encendidos o apagados

Cada transistor contiene


un bit de informacin

De teora del lenguaje:


La unidad mnima de
informacin es el bit.

8 bits = 1 byte Podemos representar 256


valores del 0 al 255 en binario
Base 10
Base 2
2562 = 2 * 10^3
1101= 1 * 2^3= 8
5 * 10^2
1 * 2^2= 4
6 * 10^1
0 * 2^1= 0
2 * 10^0
1 * 2^0= 1
13

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

12

Memoria

Podemos
representar
en
memoria
informacin numrica y no numrica:
1101= 13 (Nmero 13)

Utilizar una codificacin para los caracteres


(ASCII)
El 65 representa la a
El 66 representa la b
....
Agrupando caracteres representamos palabras ...

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

13

Direccin de memoria

Como almacenar y encontrar la informacin


En direcciones de memoria
ia
r
o
em
..
em

sd
e
n
io 3 4
c
c

.
.
.
.
..

re 2
i
D
1

Palabra*

*Palabra del computador = Nmero de bytes


del mnimo bloque direccionable

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

14

Memoria Principal/Memoria Secundaria

Tipos de memoria
Memoria Principal
RAM (Read Access Memory)
ROM (Read Only Memory)

Memoria Secundaria
Acceso secuencial
Acceso directo

La memoria secundaria solo se debe utilizar


para almacenar datos:
Vel. mem. primaria >>>> Vel. mem.secundaria

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

15

Cargando un programa en memoria

1. Inicializas el programa

2. La cabeza lectura/escritura del disco


duro busca el programa

3. Se copia el programa en
memoria(RAM)

4. Se ejecuta el programa (La CPU


ejecuta las instrucciones del
programa)

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

16

Funcionamiento del computador

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

17

Cuanta memoria se precisa...

1 Byte: Bloque de bits. Es la unidad de medida de la


capacidad de la memoria o de los discos
1 Kilobyte (KB o K) = 1,024 bytes. Desde el punto
de vista de un computador es un nmero redondo
(Los computadores representan informacin en base
2, y 1024 es 2^10. Como las personas pensamos en
base 10, solemos redondear un k a 1000 bytes.
Un disco con 360KB de datos, puede representar
unos 360.000 caracteres.
1 Megabyte (MB or M) es un kilobyte al cuadrado
(1,024 veces 1,024), o aproximadamente un milln
de bytes. Un disco con una capacidad de 1.44MB
puede contener 1.440.000 caracteres.
1.44MB es un tamao estndar para los discos de
3 pulgadas de doble densidad.
1 Gigabyte y Terabyte El termino gigabyte (GB or
G) significa un kilobyte al cubo (1,024 * 1,024 *
1,024), o aproximadamente mil millones de bytes. El
termino terabyte (TB o T) significa un kilobyte a la
cuarta (1,024^4), ms de un billn de bytes. Por
ahora no hay en el mercado discos duros de tamao
de terabyte a precio razonable.

Cuanta memoria se precisa?:


Hace unos pocos aos los computadores se
vendan de serie con 1MB de RAM. Hoy se
ofrecen con 500 MB, 1 GB... o ms. Los
discos duros estn en cientos de gigabytes.
Una pgina de texto tpico contiene entre
2,500 y 3,000 caracteres. 1MB equivale
aproximadamente a 400 paginas de texto.

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

18

Cuestiones generales sobre el software

Estilo de Programacin
Programacin imperativa
Lenguajes orientados a instrucciones
Programas = Receta
Se encadenan de forma explicita las
instrucciones.

Influenciado por la arquitectura de la


mquina
VARIABLES: Direcciones de memoria.
Datos
INSTRUCCIN BASICA: Asignacin.
Accin. (Dar valor a una variable)
COMPOSICIN SECUENCIAL DE
ACCIONES.

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

19

Cuestiones generales sobre el software

Metodologa de Programacin
Programacin Estructurada
Conjunto de ideas gestadas en torno al grupo de trabajo WG2.3
(Programming Methodology) de IFIP:

Utilizacin de mecanismos de abstraccin


(funcional y de datos) como herramienta para
dominar la complejidad.
Utilizacin de una metodologa de diseo
descendente o por refinamientos sucesivos
(abstraccin funcional)
Reducido nmero de estructuras de control:

Composicin secuencial
Composicin condicional
Composicin iterativa

nfasis en los mecanismos de estructuracin


de datos.

Se introduce la idea de tipo


abstracto de dato:
Separacin de los aspectos ligados a la especificacin de
un tipo de los de la implementacin.

Definicin de mtodos que garanticen la


correccin de programas (verificacin formal)
Notacin independiente del lenguaje de
programacin.
Programas =

Algoritmos + Estructuras de datos

Estructuras de datos = Abstracciones de la realidad que


nos permiten representar el conjunto de situaciones
esperables al resolver el problema.
Algoritmos = Esquemas de composicin de instrucciones
que permiten representar de forma no ambigua el flujo de
control (El orden en el que se ejecutarn las instrucciones)

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

20

Lenguajes de Programacin

Jerarqua de Niveles de lenguajes de


programacin
Ejemplo del Procesador Tractor Oruga

MI

MD

Avanza 1 m

Retrocede 1 m

Gira Derecha 90

Gira Izquierda

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

21

Procesador tractor oruga

Problema
El tractor se encuentra en A, mirando al norte, y tengo que
llevarlo a B
Algoritmo
Sigue recto hasta el fondo
Gira a la derecha
Sigue recto hasta el fondo
Programa
MI A
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1

R MD A R
0 1 1 0
0 1 1 0
0 0 0 0
0 1 1 0
0 1 1 0
0 1 1 0
0 1 1 0
0 1 1 0
0 1 1 0

Lo lleva a I
Lo direcciona hacia B
Lo lleva a B

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

22

Lenguaje de Maquina

Es farragoso programar a nivel MAQUINA


Para facilitar la programacin nos inventamos:
Nemotcnicos
AV Avanza
GD Giro Derecha
RE Retrocede
GI Giro Izquierda
Programa
AV
AV
GD
AV
AV
AV
AV
AV
AV

Lo lleva a I
Lo direcciona hacia B

Lo lleva a B

Esquemas de composicin
Programa
Avanza 2
Derecha 1
Avanza 6

110110
110000
101101
000110

Avanza x AV x
Derecha x GD x
Izquierda x GI x
Retrocede x RE x

Hemos mejorado en ABSTRACCION pero nos


hemos alejado de lo que interpreta la maquina.
NECESIDAD DE TRADUCCION

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

23

Lenguaje Maquina

Supongamos otro procesador: Una maquina


con un nico motor que puede:
Avanzar 1 m
0 1
Retroceder 1 m
1 0
Girar Izquierda 90 1 1
Problema: El mismo
Algoritmo: El mismo
Programa: 01 01 11 11 11 01 01 01 01 01 01
DISTINTO
Pero el programa, en alto nivel, puede ser el
mismo, basta con el traductor adecuado
1 1 0 1 1 0
1 1 0 1 1 0
1 1 0 0 0 0
1 1 0 1 1 0
1 1 0 1 1 0

Programa

1 1 0 1 1 0

Avanza 2
Derecha 1
Avanza

Cdigo para
el primer
tractor

1 1 0 1 1 0
1 1 0 1 1 0
1 1 0 1 1 0

6
010111
111101
0 1 0 10 1
01 01

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

Cdigo para
el tractor con
Un solo giro
09/09/2004

24

Lenguaje Mquina / CPU / Memoria

ENSAMBLADOR

LENGUAJE MQUINA

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

25

Lenguaje Mquina / CPU / Memoria

<

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

26

Lenguaje Mquina / CPU / Memoria

<

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

27

Lenguaje Mquina / CPU / Memoria

<

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

28

Lenguaje Mquina / CPU / Memoria

<

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

29

Niveles de lenguajes de programacion

Alto Nivel
Mas fciles de programar
Independencia de la maquina
Necesidad de traductores compiladores
Menor coste de desarrollo
Mas fcilmente mantenibles
Deteccin de errores
Transportables
Son un compromiso entre eficiencia y
manejabilidad
Bajo Nivel
Programas especficos para un tipo de
mquina
Pueden permitir hacer cosas de forma ms
eficiente.

Maquina

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

30

Lenguajes de Programacin

FORTRAN (1965): FORmula TRANslator. Calculo


cientfico.
COBOL (1959). Ideal para gestin: Pocas
estructuras de control, muchas capacidades de
manejo de dato.
ALGOL (1960): Primer intento de formalizar la
resolucin
de
problemas.
Programas
estructurados con tipos de datos.
Lisp (1960): Sigue en uso. Estructura de datos
simple (La lista). Tratamiento simblico de la
informacin. Su xito se debe a que soporta ms
estrategias de descomposicin modular que
cualquier otro lenguaje.
BASIC (1965): Beginners All Purpose Symbolic
Language. Lenguaje interpretado, sin nfasis en
tipos de datos.
PASCAL (1971): Desciende de ALGOL. Paradigma
de la programacin estructurada.
C (1972): Desarrollado por Dennis Ritchie de AT&T
Bell Laboratories para ofrecer un lenguaje de alto
nivel en el cual se pudiera programar UNIX.
Lenguajes orientados a objetos (C++, Eiffel,
C#,): A la hora de organizar el software se
focaliza en las abstracciones de datos en lugar de
en la funcionalidad.
JAVA: Lenguaje orientado a objeto, que se puede
ejecutar en cualquier mquina! Idea de mquina
virtual.

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

31

Lenguajes Interpretados/Compilados

Ejecucin interpretada del programa fuente


Se iteran los siguientes pasos
1. Obtencin de la siguiente instruccin a
ejecutar del cdigo fuente
2. Anlisis de la instruccin y determinacin
de las acciones a ejecutar
3. Ejecucin de las correspondientes acciones

Ejecucin del programa compilado


Se realiza previamente la compilacin del
programa fuente en la versin equivalente
del programa en lenguaje mquina. Esta
versin se conoce como programa objeto.
El
programa
objeto
se
une,
eventualmente, con los subprogramas de
biblioteca descritos en el programa fuente
para obtener el programa ejecutable.
Esta operacin se denomina edicin de
uniones (link en ingls).

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

32

Java, cdigo objeto que se ejecuta en


cualquier mquina
Un applet es un programa escrito en Java
que anima una porcin de la pgina Web
El usuario puede interaccionar con un
applet, gracias a que se trata de un
programa.
Un applet se ejecuta completamente en el
cliente:
Una vez transmitido la velocidad de la
interaccin no depende de la red

Si es necesario el applet
comunicar con el servidor

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

se

puede

09/09/2004

33

Java, cdigo objeto que se ejecuta en


cualquier mquina
Una aplicacin java debe poderse ejecutar
en una amplia gama de plataformas con
diferentes SO y procesadores.
Las aplicaciones Java se almacenan en un
cdigo intermedio independiente de la
plataforma (el byte-code)
Applet
java
Compilador de java

Bycodes

Verificador de Bytecode

Cargador de clase

Almacn de
Applets

Servidor
Intrprete de
Java (JVM)

Plataforma

Cliente
Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

MacOS
UNIX
Windows
etc.
09/09/2004

34

Elementos de un Lenguaje

Los elementos que definen un lenguaje son:


SIMBOLOS

Palabras clave = {IF, THEN, WHILE, }


Caracteres = {a,..z,A..Z,#,?,. }
Dgitos = {0,..,9}
Otros smbolos = {. , , , ; ,}

SINTAXIS
Conjunto de reglas sintcticas
Notaciones para expresar las reglas:
Backus-Naur
Grafo Sintctico

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

35

Sintaxis

Grafos Sintcticos

Backus-Naur

A
1
B
2
letra
digito

<letra>::= A I B I IZ

Z
9
alternativa

0
21
digito

<digito>::= 0 I 1 I I9
9
identificador

letra

0 o ms veces
digito
_

<identificador>::=
<letra> {<letra> I <digito> I_}

Ejemplos identificadores vlidos: P3Q NUMERO_PI


Ejemplo identificadores no vlidos: 3PQ _numero
Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

36

Sintaxis

sentencia
IF

IF

expresin
booleana

THEN

sentencia

ELSE

sentencia

0 o 1 vez
<Sentencia IF> ::=
IF <expresion booleana> THEN <sentencia>
[ELSE <sentencia>]

sentencia
W HILE

WHILE

expresin
booleana

DO

sentencia

<Sentencia WHILE> ::=


WHILE <expresion booleana> DO <sentencia>

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

37

Sintaxis

entero sin signo

numero
sin
signo
entero
sin signo

digito

+
.

digito

entero
sin signo

E
-

expresion constante

identificador
constante

numero sin signo

constante

'

caracter

'

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

38

Propiedades de los algoritmos

Condiciones Necesarias
Finitud
No ambigedad
Propiedades deseables
Generalidad
Eficiencia
Independencia de la mquina

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

39

Sistema Operativo

Sistema Operativo
Conjunto de programas que tienen por
misin facilitar la utilizacin del computador

Acceso a los usuarios autorizados


Edicin de ficheros de texto
Puesta a punto y ejecucin de programas
Seguridad y proteccin
Facturacin y contabilidad de uso de
recursos
Etc.

Gestin ptima de la mquina


Gestin de memoria
Control de dispositivos perifricos
Acceso a ficheros
Asignacin de recursos y ordenacin de
tareas
Etc.

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

40

Entorno de programacin

Entorno de trabajo:
Programa cuya misin es facilitar el
desarrollo de programas utilizando un
determinado lenguaje
Integra herramientas:
Edicin e programas fuente (C, C++, Java,
Pascal, Ada, ...)
Compilacin de programas fuente
Depuracin de programas
Ejecucin y prueba de programas
Construccin de programas ejecutables y
bibliotecas

Programacin. Pedro lvarez, Jos ngel Baares, Pedro Latorre, Santiago Velilla
Tema 1. Conceptos Bsicos de Programacin

09/09/2004

41

You might also like