Este documento presenta un curso de introducción a la informática y programación. Cubre temas como problemas, algoritmos y programas, lenguajes y modelos de programación, programación orientada a objetos y Java. También incluye ejemplos de programas y elementos del entorno de programación como editores, depuradores y bases de datos. El curso se impartirá en el departamento de sistemas informáticos y computación durante el año académico 2011-2012.
2. Contenidos
1. Problemas, algoritmos y programas
2. Programas y la actividad de la programación
3. Lenguajes y modelos de programación
4. Compiladores e intérpretes
5. La programación orientada a objetos (POO)
6. El lenguaje Java
7. Ejemplos de programas
8. Elementos del entorno de programación
a) Depuradores
b) Generadores de Documentación
c) Sistemas Operativos
d) Editores. IDEs
e) Interfaz Gráfico de Usuario: el Escritorio
f) Bases de Datos
g) Servidores Web y Navegadores
08/09/2011 IIP ‐ Curso 2011/12 2
3. 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 52
para 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
4. Problemas, algoritmos y programas
• El término informática viene del francés informatique
(Philippe Dreyfus, 1962), que es un acrónimo de information y
automatique.
08/09/2011 IIP ‐ Curso 2011/12 4
Definición de Informática
Conjunto de conocimientos científicos y técnicas que hacen posible el
tratamiento automático de la información por medio de ordenadores.
R.A.E.
Información es la comunicación o adquisición de conocimientos que
permiten ampliar o precisar los que se poseen sobre una materia
determinada.
Un ordenador es una máquina electrónica dotada de una memoria de
gran capacidad y de métodos de tratamiento de la información, capaz
de resolver problemas aritméticos y lógicos gracias a la utilización
automática de programas registrados en ella.
5. 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 tarea
concreta
– 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 manera
automática, en un cierto intervalo de tiempo y después se
detiene.
08/09/2011 IIP ‐ Curso 2011/12 5
6. Problemas, algoritmos y programas
• Un ordenador es un mecanismo digital de propósito general,
que se convierte en un mecanismo para un uso específico
cuando procesa un algoritmo determinado.
• El algoritmo o secuencia de instrucciones especifica las
acciones que ha de ejecutar y en qué orden para completar
una tarea determinada.
• La ejecución o procesamiento de un algoritmo supone la
transformación de una información de entrada o datos en una
información de salida o resultados.
08/09/2011 IIP ‐ Curso 2011/12 6
8. Problemas, algoritmos y programas
• No todos los problemas se pueden resolver utilizando un
ordenador. Sólo aquellos que puedan resolverse de forma
mecánica, es decir, mediante una secuencia de instrucciones u
operaciones 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, el
tratamiento de palabras o la representación gráfica.
08/09/2011 IIP ‐ Curso 2011/12 8
9. 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
10. Problemas, algoritmos y programas
• Los problemas deben definirse de forma general y precisa,
evitando ambigüedades.
• Por ejemplo, el siguiente enunciado: “Determinar la raíz
cuadrada positiva de un número n” no es lo suficientemente
preciso.
• “Determinar la raíz cuadrada positiva de un número n, entero
no negativo, cualquiera”.
08/09/2011 IIP ‐ Curso 2011/12 10
Dado un problema P, un algoritmo A que da la solución a P
es un conjunto de reglas (o instrucciones) que define cómo
resolver P en un tiempo finito.
11. 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 manera
precisa las operaciones que un ordenador ha de ejecutar para llevar a cabo
una tarea en un tiempo finito
“The Art of Computer Programming”, Donald E. Knuth, 1968
Descripción de un esquema de comportamiento expresado mediante un
repertorio 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 la
solución de un problema
R.A.E.
12. Problemas, algoritmos y programas
• Ejemplos de algoritmos son las secuencias de reglas básicas que utilizamos
para realizar operaciones aritméticas: sumas, restas, productos y
divisiones.
• Son algoritmos porque definen de manera precisa los pasos a seguir para
encontrar 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
981
x 1234
3924
2943
1962
981
1210554
Se multiplica sucesivamente el multiplicando
(981) por cada una de las cifras del
multiplicador (1234), tomadas de derecha a
izquierda, escribiendo estos resultados
intermedios uno tras otro, desplazando cada
línea un lugar a la izquierda; finalmente se
suman todas estas filas para obtener el
producto (1210554)
13. 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úmero
finito de pasos.
– Preciso: ha de estar definido de forma exacta y precisa, sin
ambigüedades.
– Efectivo: las reglas o instrucciones puede ejecutarlas una
persona haciendo uso de papel y lápiz.
– General: un algoritmo debe resolver toda una clase de
problemas y no un problema aislado particular.
– Entradas y salidas: un programa puede tener varias
entradas o ninguna, sin embargo, al menos debe tener una
salida, el resultado que se desea obtener.
08/09/2011 IIP ‐ Curso 2011/12 13
“The Art of Computer Programming”, Donald E. Knuth, 1968
14. Problemas, algoritmos y programas
• Se plantea el problema de adivinar si un número entero n es
primo.
• La solución tiene que comprobar que ninguno de los posibles
divisores lo divide exactamente, entonces podremos decir que
n es primo.
• El truco está en considerar que es primo e intentar demostrar
lo contrario que es más fácil.
08/09/2011 IIP ‐ Curso 2011/12 14
15. Problemas, algoritmos y programas
08/09/2011 IIP ‐ Curso 2011/12 15
Algoritmo 1.- Considerar todos los números
comprendidos entre 2 y n (excluido).
Para cada número de dicha sucesión comprobar si ese
nú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 orden
ascendente:
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ón
distinta
¿es n, entero mayor que uno, un número primo?
16. Problemas, algoritmos y programas
08/09/2011 IIP ‐ Curso 2011/12 16
Algoritmo 3.- Seguir los pasos siguientes en orden
ascendente:
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 3
Paso 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 problema
en términos algorítmicos depende de qué o quién debe
entenderlo, interpretarlo y resolverlo.
17. Programas y la actividad de la
programación
08/09/2011 IIP ‐ Curso 2011/12 17
Un procesador es cualquier entidad capaz de interpretar y
ejecutar un cierto repertorio de instrucciones.
Un programa es uno o más algoritmos escritos con una notación
precisa para que puedan ser ejecutados por un procesador
(ordenador).
La programación es la actividad de resolución de problemas por
ordenador.
Un lenguaje de programación es una notación, conjunto de reglas
y definiciones que determinan tanto lo que se puede escribir en
un programa (y el procesador puede interpretar) como el
resultado de la ejecución de dicho programa por el procesador.
18. 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ón
caracterizado por una sucesión de estados.
Estado de un programa es un conjunto de valores en un momento
determinado que determina el grado de progreso de un proceso.
Cómputo es la transformación del estado del programa al
ejecutarse una o más instrucciones.
Instrucción es una expresión formada por números y letras que
indica, en una computadora, la operación que debe realizar y los
datos correspondientes.
Dato es cualquier información dispuesta de manera adecuada
para su tratamiento por un ordenador..
19. Programas y la actividad de la
programación
• La tarea de la programación en aplicaciones reales de cierta
envergadura es bastante compleja.
• Según la complejidad del problema a resolver podemos
hablar de:
– Programación a pequeña escala: nº reducido de líneas de
programa, 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 un
sistema operativo.
08/09/2011 IIP ‐ Curso 2011/12 19
21. 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áquina
analógica para computar, primero la máquina diferencial y después
la máquina analítica.
http://es.wikipedia.org/wiki/Charles_Babbage
08/09/2011 IIP ‐ Curso 2011/12 21
22. 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_Neumann
http://es.wikipedia.org/wiki/Arquitectura_von_Neumann
08/09/2011 IIP ‐ Curso 2011/12 22
Memoria
principal CPU
ALU
PROGRAMA
DATOS
Unidad de Control
Memoria
externa
Dispositivo
de salida
Dispositivo
de entrada
23. 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), en
posiciones consecutivas de memoria que representan
instrucciones o datos. Es el lenguaje máquina.
• Ejemplo: c = a * b
• Es evidente que los programas escritos en lenguaje máquina
resultan ilegibles.
• Los lenguajes ensambladores hacen uso de mnemónicos e
identificadores para instrucciones y datos.
• Los dos son lenguajes tan cercanos a la máquina que se
conocen como lenguajes de bajo nivel.
08/09/2011 IIP ‐ Curso 2011/12 23
Load 24, 10111100 00100100 a está en la dir. 24h
Multiply 33, 10111111 00110011 mult. por b que está en 33h
Store 3C, 11001110 00111100 almacenar en c en la dir. 3Ch
24. Lenguajes y modelos de programación
• Frente a los lenguajes de bajo nivel tenemos a los lenguajes
de alto nivel que:
– disponen de operadores y estructuras más cercanas a las
humanas, lo que permite al programador dar órdenes no
ambiguas al computador.
– son más seguros que el código máquina y ayudan a no
cometer 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
26. 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 forma
disciplinada en vez de saltar de un sitio a otro de forma
impredecible.
• Gracias a ello, los programas: resultan más fáciles de probar,
se pueden leer más fácilmente y se pueden modificar con
mayor comodidad.
08/09/2011 IIP ‐ Curso 2011/12 26
27. 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 en
orden (sentencias de asignación y llamadas a métodos).
– Selección: elige qué sentencias se ejecutan en función de
una condición (estructuras de control condicional if-then-
else y switch).
– Iteración: estructuras de control repetitivas que repiten un
conjunto de instrucciones (bucles while, do…while, for).
08/09/2011 IIP ‐ Curso 2011/12 27
Teorema de Böhm y Jacopini (1966): Cualquier programa de
ordenador puede diseñarse e implementarse utilizando
únicamente las tres construcciones estructuradas (secuencia,
selección e iteración; esto es, sin sentencias goto).
28. Compiladores e intérpretes
• Hay dos maneras de traducir un programa escrito en un
lenguaje de alto nivel a lenguaje máquina: la interpretación y
la compilación.
• En la interpretación se traduce a lenguaje máquina cada
instrucción del lenguaje de alto nivel, una a una, en tiempo de
ejecución.
• En la compilación se traducen (compilan) mediante un
programa (compilador) todas las instrucciones del lenguaje a
lenguaje máquina, previamente a su ejecución.
08/09/2011 IIP ‐ Curso 2011/12 28
30. 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 estructurada
cuando apareció.
• El elemento principal de un programa orientado a objetos es
la clase.
• Una clase determina completamente el comportamiento y las
caracterí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
31. 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 la World 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
32. 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 programa
Java ya compilado, independientemente de la plataforma en
que 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 cada
sistema o plataforma sobre la que queramos trabajar.
• Todo navegador dispone de una JVM, de ahí la universalidad
de su uso.
08/09/2011 IIP ‐ Curso 2011/12 32
33. 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
Compilador
de
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: Application
Programming
Interface
Bytecode
35. 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
begin
primo:= ((n mod i) <> 0);
i:= i+2;
end;
end;
es_primo:= primo;
end;
36. 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;
}
37. 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;
}
38. 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)
39. 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)
40. 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)
41. Elementos del entorno de
programación
• Editores. IDEs
– http://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado
– Algunos ejemplos:
• Eclipse http://www.eclipse.org
http://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 y
documentación en línea. (Comprensión)
42. 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)
43. 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ás
conveniente hacer uso de uno u otro. (Comprensión)
44. 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 poder
responder rápidamente a nuestras consultas. (Conocimiento)