introducción a la programación y la informática. tema 1

44
Tema 1. Introducción: Informática y Programación Introducción a la Informática y a la Programación (IIP) Curso 2011/12 Departamento de Sistemas Informáticos y Computación Jon Ander Gómez Marisa Llorens Paco Marqués Nati Prieto [email protected] [email protected] [email protected] [email protected]

Upload: andres-garcia-garcia

Post on 06-Jul-2015

203 views

Category:

Education


0 download

DESCRIPTION

Introduccion a la programación y la informática, Universitat Politècnica de València.

TRANSCRIPT

Page 1: Introducción a la programación y la informática. Tema 1

Tema 1. Introducción: Informática y Programación

Introducción a la Informática y a la Programación (IIP)Curso 2011/12

Departamento de Sistemas Informáticos y Computación

Jon Ander Gómez Marisa Llorens Paco Marqués Nati Prieto

[email protected] [email protected] [email protected] [email protected]

Page 2: Introducción a la programación y la informática. Tema 1

Contenidos1. Problemas, algoritmos y programas2. Programas y la actividad de la programación3. Lenguajes y modelos de programación4. Compiladores e intérpretes5. La programación orientada a objetos (POO)6. El lenguaje Java7. Ejemplos de programas8. Elementos del entorno de programación

a) Depuradores b) Generadores de Documentaciónc) Sistemas Operativos d) Editores. IDEse) Interfaz Gráfico de Usuario: el Escritoriof) Bases de Datosg) Servidores Web y Navegadores

08/09/2011 IIP ‐ Curso 2011/12 2

Page 3: Introducción a la programación y la informática. Tema 1

Bibliografía– “Empezando a programar usando Java”Apuntes de la asignatura. PoliformaT de IIP, 2011. Capítulo 1 para Puntos 1 al 7– “Una introducción a la programación. Un enfoque algorítmico”García, J. J. y otros. Ed. Thomson, 2005.  Capítulo 1 para Puntos 1 al 4– “Introducción a la Ciencia de la Computación, de la manipulación de datos a la teoría de la 

computación”Forouzan, B. A. Ed. Thomson, 2004. Capítulos 1, 5, 7, 9.1 a 9.4 y 14 

para Puntos 1 al 4, 8.3 y 8.6– “Introduction to Programming Using Java, Fifth Edition”Eck, D. J. 2006. Capítulo 1 para Puntos 5 y 6– “Estructuras de datos en Java: compatible con Java 2”Weiss, M. A. Ed. Addison Wesley,  2000 ‐ 2006.            Capítulo 1 – pág. 3 y 4   

Capítulo 3 – pág. 51 y 52para Puntos 5 y 6

Más información para Puntos 5 y 6 en:– “Problemas resueltos de programación en lenguaje Java”Pérez Menor, J. M. y otros. Ed. Thomson, 2002, 2003. Capítulo 1 – pág. 1 – 8

– “Programación, algoritmos y ejercicios resueltos en Java”Camacho, D. y otros. Ed. Pearson Prentice Hall, 2003. Capítulo 1 – pág. 1 – 6

– “Java 2: Manual de Programación”Joyanes, L. y Fernández, M. Ed. McGraw‐Hill, 2001. Capítulo 1 – pág. 1 – 18

08/09/2011 IIP ‐ Curso 2011/12 3

Page 4: Introducción a la programación y la informática. Tema 1

Problemas, algoritmos y programas• El término informática viene del francés informatique

(Philippe Dreyfus, 1962), que es un acrónimo de information yautomatique.

08/09/2011 IIP ‐ Curso 2011/12 4

Definición de InformáticaConjunto de conocimientos científicos y técnicas que hacen posible eltratamiento automático de la información por medio de ordenadores.

R.A.E.

Información es la comunicación o adquisición de conocimientos quepermiten ampliar o precisar los que se poseen sobre una materiadeterminada.

Un ordenador es una máquina electrónica dotada de una memoria degran capacidad y de métodos de tratamiento de la información, capazde resolver problemas aritméticos y lógicos gracias a la utilizaciónautomática de programas registrados en ella.

Page 5: Introducción a la programación y la informática. Tema 1

Problemas, algoritmos y programas

• Los ordenadores son máquinas que ejecutan algoritmos.• No están diseñados para una tarea concreta.• Pero hay que saber:

– cómo conseguir que un ordenador realice una tareaconcreta

– cuáles son las tareas que puede realizar un ordenador• Un ordenador es un ejemplo de mecanismo: una máquina

que, una vez puesta en marcha, realiza una tarea de maneraautomática, en un cierto intervalo de tiempo y después sedetiene.

08/09/2011 IIP ‐ Curso 2011/12 5

Page 6: Introducción a la programación y la informática. Tema 1

Problemas, algoritmos y programas

• Un ordenador es un mecanismo digital de propósito general,que se convierte en un mecanismo para un uso específicocuando procesa un algoritmo determinado.

• El algoritmo o secuencia de instrucciones especifica lasacciones que ha de ejecutar y en qué orden para completaruna tarea determinada.

• La ejecución o procesamiento de un algoritmo supone latransformación de una información de entrada o datos en unainformación de salida o resultados.

08/09/2011 IIP ‐ Curso 2011/12 6

Page 7: Introducción a la programación y la informática. Tema 1

Problemas, algoritmos y programas

08/09/2011 IIP ‐ Curso 2011/12 7

OrdenadorOrdenador

Algoritmoo

programa

Datos

Información de entrada Información de salida

Resultados

Page 8: Introducción a la programación y la informática. Tema 1

Problemas, algoritmos y programas

• No todos los problemas se pueden resolver utilizando unordenador. Sólo aquellos que puedan resolverse de formamecánica, es decir, mediante una secuencia de instrucciones uoperaciones que se puedan llevar a cabo de manera“automática” pueden resolverse utilizando un ordenador.

• Son los llamados problemas computacionales o algorítmicos,como por ejemplo los relacionados con el cálculo numérico, eltratamiento de palabras o la representación gráfica.

08/09/2011 IIP ‐ Curso 2011/12 8

Page 9: Introducción a la programación y la informática. Tema 1

Problemas, algoritmos y programas

• Ejemplos concretos de problemas computacionales:

• Determinar el producto de dos números a y b.

• Determinar la raíz cuadrada positiva del número 2.

• Determinar la raíz cuadrada positiva de un número n cualquiera.

• Determinar si el número n, entero mayor que uno, es primo.

• Dada la lista de palabras l, determinar las palabras repetidas.

• Determinar si la palabra p es del idioma castellano.

• Separar silábicamente la palabra p.

• Ordenar y listar alfabéticamente todas las palabras del castellano.

• Dibujar en pantalla un círculo de radio r.

08/09/2011 IIP ‐ Curso 2011/12 9

Page 10: Introducción a la programación y la informática. Tema 1

Problemas, algoritmos y programas

• Los problemas deben definirse de forma general y precisa,evitando ambigüedades.

• Por ejemplo, el siguiente enunciado: “Determinar la raízcuadrada positiva de un número n” no es lo suficientementepreciso.

• “Determinar la raíz cuadrada positiva de un número n, enterono negativo, cualquiera”.

08/09/2011 IIP ‐ Curso 2011/12 10

Dado un problema P, un algoritmo A que da la solución a Pes un conjunto de reglas (o instrucciones) que define cómoresolver P en un tiempo finito.

Page 11: Introducción a la programación y la informática. Tema 1

Problemas, algoritmos y programas

08/09/2011 IIP ‐ Curso 2011/12 11

Definiciones de Algoritmo

Secuencia finita de instrucciones, reglas o pasos que describen de maneraprecisa las operaciones que un ordenador ha de ejecutar para llevar a cabouna tarea en un tiempo finito

“The Art of Computer Programming”,  Donald E. Knuth, 1968

Descripción de un esquema de comportamiento expresado mediante unrepertorio finito de acciones y de informaciones elementales, identificadas,bien entendidas y realizables a priori. Este repertorio se denomina léxico

“Esquemas algorítmicos fundamentales”, Pierre Claude Scholl y Jean Pierre Peyrin, 1988

Conjunto ordenado y finito de operaciones que permite encontrar lasolución de un problema

R.A.E.

Page 12: Introducción a la programación y la informática. Tema 1

Problemas, algoritmos y programas• Ejemplos de algoritmos son las secuencias de reglas básicas que utilizamos

para realizar operaciones aritméticas: sumas, restas, productos ydivisiones.

• Son algoritmos porque definen de manera precisa los pasos a seguir paraencontrar la solución en un tiempo finito.

• Supongamos que se nos plantea el problema de multiplicar 981 por 1234

08/09/2011 IIP ‐ Curso 2011/12 12

981x 1234

39242943

1962981

1210554

Se multiplica sucesivamente el multiplicando(981) por cada una de las cifras delmultiplicador (1234), tomadas de derecha aizquierda, escribiendo estos resultadosintermedios uno tras otro, desplazando cadalínea un lugar a la izquierda; finalmente sesuman todas estas filas para obtener elproducto (1210554)

Page 13: Introducción a la programación y la informática. Tema 1

Problemas, algoritmos y programas• Según Donald E. Knuth , un algoritmo ha de ser:

– Finito: ha de llevarse a cabo en un tiempo finito, es decir,el algoritmo ha de acabar necesariamente tras un númerofinito de pasos.

– Preciso: ha de estar definido de forma exacta y precisa, sinambigüedades.

– Efectivo: las reglas o instrucciones puede ejecutarlas unapersona haciendo uso de papel y lápiz.

– General: un algoritmo debe resolver toda una clase deproblemas y no un problema aislado particular.

– Entradas y salidas: un programa puede tener variasentradas o ninguna, sin embargo, al menos debe tener unasalida, el resultado que se desea obtener.

08/09/2011 IIP ‐ Curso 2011/12 13

“The Art of Computer Programming”,  Donald E. Knuth, 1968

Page 14: Introducción a la programación y la informática. Tema 1

Problemas, algoritmos y programas

• Se plantea el problema de adivinar si un número entero n esprimo.

• La solución tiene que comprobar que ninguno de los posiblesdivisores lo divide exactamente, entonces podremos decir quen es primo.

• El truco está en considerar que es primo e intentar demostrarlo contrario que es más fácil.

08/09/2011 IIP ‐ Curso 2011/12 14

Page 15: Introducción a la programación y la informática. Tema 1

Problemas, algoritmos y programas

08/09/2011 IIP ‐ Curso 2011/12 15

Algoritmo 1.- Considerar todos los númeroscomprendidos entre 2 y n (excluido).

Para cada número de dicha sucesión comprobar si esenúmero divide al número n.

Si alguno divide a n, entonces parar, n no es primo.

Si ningún número divide a n, entonces n es primo.

Algoritmo 2.- Seguir los pasos siguientes en ordenascendente:

Paso 1 - Sea i un número entero de valor igual a 2.Paso 2 - Si i es igual a n parar, n es primo.Paso 3 - Comprobar si i divide a n, entonces parar,

n no es primo.Paso 4 - Reemplazar el valor de i por i+1, volver al

Paso 2.

notacióndistinta

¿es n, entero mayor que uno, un número primo? 

Page 16: Introducción a la programación y la informática. Tema 1

Problemas, algoritmos y programas

08/09/2011 IIP ‐ Curso 2011/12 16

Algoritmo 3.- Seguir los pasos siguientes en ordenascendente:

Paso 1 - Si n vale 2 entonces parar, n es primo.Paso 2 - Si n es múltiplo de 2 (acaba en 0,2,4,8)

acabar, n no es primo.Paso 3 - Sea i un número primo de valor igual a 3Paso 4 - Si i es mayor que la raíz cuadrada positiva

de n parar, n es primo.Paso 5 - Comprobar si i divide a n, entonces parar,

n no es primo.Paso 6 - Reemplazar el valor de i por i+2, volver al

Paso 4. mejor que los anteriores

• La descripción o nivel de detalle de la solución de un problemaen términos algorítmicos depende de qué o quién debeentenderlo, interpretarlo y resolverlo.

Page 17: Introducción a la programación y la informática. Tema 1

Programas y la actividad de la programación

08/09/2011 IIP ‐ Curso 2011/12 17

Un procesador es cualquier entidad capaz de interpretar yejecutar un cierto repertorio de instrucciones.

Un programa es uno o más algoritmos escritos con una notaciónprecisa para que puedan ser ejecutados por un procesador(ordenador).

La programación es la actividad de resolución de problemas porordenador.

Un lenguaje de programación es una notación, conjunto de reglasy definiciones que determinan tanto lo que se puede escribir enun programa (y el procesador puede interpretar) como elresultado de la ejecución de dicho programa por el procesador.

Page 18: Introducción a la programación y la informática. Tema 1

Programas y la actividad de la programación

08/09/2011 IIP ‐ Curso 2011/12 18

Un proceso es un algoritmo o programa en ejecucióncaracterizado por una sucesión de estados.

Estado de un programa es un conjunto de valores en un momentodeterminado que determina el grado de progreso de un proceso.

Cómputo es la transformación del estado del programa alejecutarse una o más instrucciones.

Instrucción es una expresión formada por números y letras queindica, en una computadora, la operación que debe realizar y losdatos correspondientes.

Dato es cualquier información dispuesta de manera adecuadapara su tratamiento por un ordenador..

Page 19: Introducción a la programación y la informática. Tema 1

Programas y la actividad de la programación

• La tarea de la programación en aplicaciones reales de ciertaenvergadura es bastante compleja.

• Según la complejidad del problema a resolver podemoshablar de:– Programación a pequeña escala: nº reducido de líneas deprograma, intervención de una sola persona. Por ejemplo,un programa para ordenar listas.

– Programación a gran escala: muchas líneas de programa,equipo de programadores. Por ejemplo, el desarrollo de unsistema operativo.

08/09/2011 IIP ‐ Curso 2011/12 19

Page 20: Introducción a la programación y la informática. Tema 1

Programas y la actividad de la programación

• Los programas tienen un ciclo de vida en el que de manera simplificada podemos distinguir dos etapas:

08/09/2011 IIP ‐ Curso 2011/12 20

I ‐ Desarrollo

Creación inicial yvalidación de la aplicación

I ‐ Desarrollo

Creación inicial yvalidación de la aplicación II ‐Mantenimiento

Correcciones y cambios a partir del desarrollo inicial

II ‐Mantenimiento

Correcciones y cambios a partir del desarrollo inicial

Page 21: Introducción a la programación y la informática. Tema 1

Lenguajes y modelos de programación• Los orígenes de los lenguajes de programación se encuentran en las

máquinas de cálculo.• Los primeros diseños de máquinas de cálculo provienen de Blaise

Pascal y de Gottfried Leibniz.

http://es.wikipedia.org/wiki/Blaise_Pascal

http://es.wikipedia.org/wiki/Gottfried_Leibniz

• Pero es Charles Babbage quien realiza el primer diseño de máquinaanalógica para computar, primero la máquina diferencial y despuésla máquina analítica.

http://es.wikipedia.org/wiki/Charles_Babbage

08/09/2011 IIP ‐ Curso 2011/12 21

Page 22: Introducción a la programación y la informática. Tema 1

Lenguajes y modelos de programación• Pero es la arquitectura de John von Neumann la que supone “un

antes y un después”.http://es.wikipedia.org/wiki/John_von_Neumannhttp://es.wikipedia.org/wiki/Arquitectura_von_Neumann

08/09/2011 IIP ‐ Curso 2011/12 22

Memoriaprincipal CPU

ALU

PROGRAMA

DATOS

Unidad de Control

Memoriaexterna

Dispositivode salida

Dispositivode entrada

Page 23: Introducción a la programación y la informática. Tema 1

Lenguajes y modelos de programación• A nivel máquina, un programa es una sucesión de palabras

expresadas en código binario (secuencia de 0s y 1s), enposiciones consecutivas de memoria que representaninstrucciones o datos. Es el lenguaje máquina.

• Ejemplo: c = a * b

• Es evidente que los programas escritos en lenguaje máquinaresultan ilegibles.

• Los lenguajes ensambladores hacen uso de mnemónicos eidentificadores para instrucciones y datos.

• Los dos son lenguajes tan cercanos a la máquina que seconocen como lenguajes de bajo nivel.

08/09/2011 IIP ‐ Curso 2011/12 23

Load 24, 10111100 00100100 a está en la dir. 24hMultiply 33, 10111111 00110011 mult. por b que está en 33hStore 3C, 11001110 00111100 almacenar en c en la dir. 3Ch

Page 24: Introducción a la programación y la informática. Tema 1

Lenguajes y modelos de programación

• Frente a los lenguajes de bajo nivel tenemos a los lenguajesde alto nivel que:– disponen de operadores y estructuras más cercanas a lashumanas, lo que permite al programador dar órdenes noambiguas al computador.

– son más seguros que el código máquina y ayudan a nocometer errores evidentes.

– el código es transportable (independiente de la máquina).– el código es más legible.

08/09/2011 IIP ‐ Curso 2011/12 24

Page 25: Introducción a la programación y la informática. Tema 1

Lenguajes y modelos de programación• Lista cronológica reducida

• Árbol genealógico de los lenguajes de programación

08/09/2011 IIP ‐ Curso 2011/12 25

Programación Estructurada

Prog. Orientada a Objetos

http://www.levenez.com/lang/history.html

1950 1960 1970 1980 1990 2000

Page 26: Introducción a la programación y la informática. Tema 1

Lenguajes y modelos de programación• Estructurado significa que la estructura del texto del programa

ha de ayudar a entender qué hace el programa.• Las estructuras de control de un programa sólo deben tener

un punto de entrada y un punto de salida.• La programación estructurada mejora

– la productividad de los programadores,– la legibilidad del código resultante.

• La ejecución de un programa estructurado progresa de formadisciplinada en vez de saltar de un sitio a otro de formaimpredecible.

• Gracias a ello, los programas: resultan más fáciles de probar,se pueden leer más fácilmente y se pueden modificar conmayor comodidad.

08/09/2011 IIP ‐ Curso 2011/12 26

Page 27: Introducción a la programación y la informática. Tema 1

Lenguajes y modelos de programación• En programación estructurada sólo se emplean tres tipos de

instrucciones:– Secuencia: conjunto de sentencias que se ejecutan enorden (sentencias de asignación y llamadas a métodos).

– Selección: elige qué sentencias se ejecutan en función deuna condición (estructuras de control condicional if-then-else y switch).

– Iteración: estructuras de control repetitivas que repiten unconjunto de instrucciones (bucles while, do…while, for).

08/09/2011 IIP ‐ Curso 2011/12 27

Teorema de Böhm y Jacopini (1966): Cualquier programa deordenador puede diseñarse e implementarse utilizandoúnicamente las tres construcciones estructuradas (secuencia,selección e iteración; esto es, sin sentencias goto).

Page 28: Introducción a la programación y la informática. Tema 1

Compiladores e intérpretes

• Hay dos maneras de traducir un programa escrito en unlenguaje de alto nivel a lenguaje máquina: la interpretación yla compilación.

• En la interpretación se traduce a lenguaje máquina cadainstrucción del lenguaje de alto nivel, una a una, en tiempo deejecución.

• En la compilación se traducen (compilan) mediante unprograma (compilador) todas las instrucciones del lenguaje alenguaje máquina, previamente a su ejecución.

08/09/2011 IIP ‐ Curso 2011/12 28

Page 29: Introducción a la programación y la informática. Tema 1

Compiladores e intérpretes

08/09/2011 IIP ‐ Curso 2011/12 29

Fichero fuente

1.‐ Edición

algoritmo nprimo..........

Fichero máquina

3.‐ Ejecución

2.‐ Compilación

Fichero fuente

1.‐ Edición

algoritmo nprimo..........

2.‐ Interpretación(Traducción y Ejecución 

simultánea)

Page 30: Introducción a la programación y la informática. Tema 1

La programación orientada a objetos• Es un nuevo modelo de programación de gran relevancia e

implantación desde los años 90 del siglo XX.• Aporta mejoras para el desarrollo de programas iguales o más

importantes que las que aportó la programación estructuradacuando apareció.

• El elemento principal de un programa orientado a objetos esla clase.

• Una clase determina completamente el comportamiento y lascaracterísticas de sus componentes.

• Las instancias particulares de las clases se denominan objetos.• En la POO un programa se entiende como un conjunto de

objetos que interactúan entre sí.• La POO facilita la reutilización de código y la ocultación de

detalles irrelevantes (abstracción).08/09/2011 IIP ‐ Curso 2011/12 30

Page 31: Introducción a la programación y la informática. Tema 1

El lenguaje Java

• Es un lenguaje orientado a objetos.• Un programa en Java consta de una o más clases

interdependientes.• Cabe destacar que resulta muy apropiado para programar

tareas relacionadas con laWorld Wide Web.• Los programas Java que se ejecutan a través de la red se

denominan applets.• La ejecución de los programas Java es independiente 100% de

la plataforma.• Incluso ya compilados. No necesitan ninguna adaptación.

08/09/2011 IIP ‐ Curso 2011/12 31

Page 32: Introducción a la programación y la informática. Tema 1

El lenguaje Java• El secreto reside en la Máquina Virtual Java o Java Virtual

Machine (JVM).• La JVM es una extensión del sistema real en el que se trabaja,

que permite ejecutar el código resultante de un programaJava ya compilado, independientemente de la plataforma enque se esté utilizando.

• La JVM es un programa compilado a lenguaje máquina que sídepende de cada plataforma o arquitectura.

• Por tanto, es necesario disponer de una JVM para cadasistema o plataforma sobre la que queramos trabajar.

• Todo navegador dispone de una JVM, de ahí la universalidadde su uso.

08/09/2011 IIP ‐ Curso 2011/12 32

Page 33: Introducción a la programación y la informática. Tema 1

El lenguaje Java• Compilación y ejecución en Java

08/09/2011 IIP ‐ Curso 2011/12 33

C1.java

C2.java

Cn.java

C1.class

C2.class

Cn.class

String.class

Object.class

Scanner.class

Compiladorde

Java

Máquina Virtual

de Java

Sistema Operativo

Código fuente del programa

Código objeto del programa

Ficheros class del API de Java

API: ApplicationProgramming

Interface

Bytecode

Page 34: Introducción a la programación y la informática. Tema 1

El lenguaje Java

08/09/2011 IIP ‐ Curso 2011/12 34

Fichero

1.‐ Edición:

algoritmo nprimo..........

Fichero fuente

Fichero máquina

3.‐ Ejecución

2.‐ Compilación

nprimo.java

emacs nprimo.java

javac nprimo.java

3.‐ InterpretaciónJVM 

java nprimo

nprimo.class Bytecode Java

Page 35: Introducción a la programación y la informática. Tema 1

Ejemplos de programas• Ejemplo en Pascal

08/09/2011 IIP ‐ Curso 2011/12 35

function es_primo (n:integer):boolean;

(* determina si n, entero mayor que uno, es primo *)

var i:integer; primo:boolean; raiz:real;

begin

if n = 2 then primo:= true

else if n mod 2 = 0 then primo:= false

else begin

primo:= true; i:= 3; raiz:= sqrt(n);

while (i<= raiz) and primo do

beginprimo:= ((n mod i) <> 0);

i:= i+2;end;

end;es_primo:= primo;

end;

Page 36: Introducción a la programación y la informática. Tema 1

Ejemplos de programas• Ejemplo en C

08/09/2011 IIP ‐ Curso 2011/12 36

int es_primo (int n){

/* determina si n, entero mayor que uno, es primo */

int i, primo; float raiz;

if n == 2 primo = 0;

else if (n%2) primo = 1;

else {

i = 3; raiz = sqrt(n);

while ((i<= raiz) && !(n%i)) {i += 2;}primo = !(n%i);

}return primo;}

Page 37: Introducción a la programación y la informática. Tema 1

Ejemplos de programas• Ejemplo en Java

08/09/2011 IIP ‐ Curso 2011/12 37

static boolean es_primo (int n){

// determina si n, entero mayor que uno, es primo

int i; boolean primo; double raiz;

if (n == 2) primo = true;

else if (n%2 == 0) primo = false;

else {

i = 3; raiz = Math.sqrt(n);

while ((i<= raiz) && (n%i != 0)) {i += 2;}primo = (n%i != 0);

}return primo;}

Page 38: Introducción a la programación y la informática. Tema 1

Elementos del entorno de programación

• Depuradores– http://es.wikipedia.org/wiki/Depurador– ¿qué son?– ¿para qué sirven?– ¿cómo funcionan?– Algunos ejemplos:

• gdb http://www.gnu.org/software/gdb/• valgrind http://valgrind.org/

08/09/2011 IIP ‐ Curso 2011/12 38

Objetivo 11 enumerar las ventajas que ofrece un depurador: ejecución paso a paso,inspección, pila de ejecución, etc. (Conocimiento)

Page 39: Introducción a la programación y la informática. Tema 1

Elementos del entorno de programación

• Generadores de documentación– http://es.wikipedia.org/wiki/Generador_de_documentación– ¿qué son?– ¿para qué sirven?– ¿cómo funcionan?– Algunos ejemplos:

• javadoc http://java.sun.com/j2se/javadoc/• doxygen http://www.stack.nl/~dimitri/doxygen/

08/09/2011 IIP ‐ Curso 2011/12 39

Objetivo 12 distinguir y consultar eficazmente los distintos tipos de documentación:tutoriales, manuales de referencia, libro de especificaciones del lenguaje y libros de texto.(Conocimiento)

Page 40: Introducción a la programación y la informática. Tema 1

Elementos del entorno de programación

• Sistemas Operativos– Capítulo 7 de Forouzan– http://es.wikipedia.org/wiki/Sistema_operativo– ¿qué son?– ¿para qué sirven?– ¿cómo funcionan?– Algunos ejemplos:

• MS‐DOS http://es.wikipedia.org/wiki/MS‐DOS• Windows http://es.wikipedia.org/wiki/Windows• Linux http://es.wikipedia.org/wiki/Linux• Mac OS http://es.wikipedia.org/wiki/Mac_OS• Solaris http://es.wikipedia.org/wiki/Solaris_(sistema_operativo)

08/09/2011 IIP ‐ Curso 2011/12 40

Objetivo 1 expresar en los términos adecuados el concepto de sistema operativo.(Conocimiento)

Page 41: Introducción a la programación y la informática. Tema 1

Elementos del entorno de programación

• Editores. IDEs– http://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado– Algunos ejemplos:

• Eclipse http://www.eclipse.orghttp://es.wikipedia.org/wiki/Eclipse_(software)

• BlueJ http://www.bluej.org• NetBeans http://www.netbeans.org

http://es.wikipedia.org/wiki/NetBeans• Visual Studio http://es.wikipedia.org/wiki/Visual_Studio• vi http://es.wikipedia.org/wiki/Vi• emacs http://es.wikipedia.org/wiki/Emacs

08/09/2011 IIP ‐ Curso 2011/12 41

Objetivo 9 distinguir entre editor (de programas) y procesador de texto. (Comprensión)Objetivo 10 diferenciar los componentes de un entorno de desarrollo integrado o IDE"Integrated Development Environment", que son editor, compilador, depurador ydocumentación en línea. (Comprensión)

Page 42: Introducción a la programación y la informática. Tema 1

Elementos del entorno de programación

• Interfaz Gráfica de Usuario: Escritorio– http://en.wikipedia.org/wiki/Desktop_environment– http://es.wikipedia.org/wiki/IGU– Algunos ejemplos:

• GNOME http://en.wikipedia.org/wiki/GNOME• KDE http://en.wikipedia.org/wiki/KDE

08/09/2011 IIP ‐ Curso 2011/12 42

Objetivo 18 describir qué es un interfaz gráfico de usuario o GUI "Graphical User Interface".(Conocimiento)

Page 43: Introducción a la programación y la informática. Tema 1

Elementos del entorno de programación

• Bases de Datos– Capítulo 14 de Forouzan– http://es.wikipedia.org/wiki/Bases_de_datos– http://es.wikipedia.org/wiki/Sistema_de_gestión_de_base_de_datos

• MySQL www.mysql.com, http://dev.mysql.com/• PostgreSQL www.postgresql.org• SQLite http://es.wikipedia.org/wiki/SQLite• Oracle www.oracle.com• Java DB http://developers.sun.com/javadb/

08/09/2011 IIP ‐ Curso 2011/12 43

Objetivo 14 describir el concepto de fichero. (Conocimiento)Objetivo 15 enumerar las características que diferencian un fichero de texto de un fichero binario.(Comprensión)Objetivo 16 describir qué es una base de datos, qué es un gestor/servidor de base de datos ‐DBMS‐, y qué es un protocolo de conexión a base de datos ‐ODBC‐. (Conocimiento)Objetivo 17 distinguir entre una base de datos y un fichero en disco y en qué situaciones es másconveniente hacer uso de uno u otro. (Comprensión)

Page 44: Introducción a la programación y la informática. Tema 1

Elementos del entorno de programación

• Servicios Web y Navegadores– http://es.wikipedia.org/wiki/Servicios_Web

• Apache http://es.wikipedia.org/wiki/Servidor_HTTP_Apache• Apache TomCat http://tomcat.apache.org/

– http://es.wikipedia.org/wiki/Navegador_web• Firefox http://es.wikipedia.org/wiki/Mozilla_Firefox• Google Chrome http://es.wikipedia.org/wiki/Google_Chrome• Internet Explorer http://es.wikipedia.org/wiki/Internet_Explorer• Konqueror http://es.wikipedia.org/wiki/Konqueror• Safari http://es.wikipedia.org/wiki/Safari_(navegador)

08/09/2011 IIP ‐ Curso 2011/12 44

Objetivo 19 describir qué es una página Web, un servidor Web, un navegador. (Conocimiento)Objetivo 20 explicar el concepto de hiperenlace. (Conocimiento)Objetivo 21 distinguir las tareas que realiza el servidor Web de las que realiza el navegador.(Compresión)Objetivo 22 describir qué es un buscador y explicar cómo recaba información para poderresponder rápidamente a nuestras consultas. (Conocimiento)