introducción a la programación y la informática. tema 1
DESCRIPTION
Introduccion a la programación y la informática, Universitat Politècnica de València.TRANSCRIPT
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]
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
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
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.
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
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
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
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
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
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.
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.
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)
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
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
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?
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.
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.
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..
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
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
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
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
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
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
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
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
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).
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
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)
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
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
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
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
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
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;
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;}
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;}
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)
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)
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)
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)
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)
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)
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)