Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Curso 2007-2008
La informtica
El ordenador y la informtica
Un ordenador es un ejemplo de mecanismo, es
decir, una mquina que, una vez que se pone en
marcha, realiza una tarea de forma automtica, en
un cierto intervalo de tiempo, y luego se detiene.
Informacin
Automtica
Informtica:
Tratamiento automtico de informacin
4
Continuas
Mquinas analgicas
Discretas
Mquinas digitales
problema algortmico
El algoritmo es la solucin a ese problema (software)
Cuando un algoritmo es ejecutado por los circuitos de
un ordenador (hardware) se origina un proceso que
genera resultados a partir de los datos
Un proceso se caracteriza por una sucesin de estados
de determinadas magnitudes que estn almacenadas en
la memoria del ordenador, y que llamaremos variables.
Propiedades de un algoritmo
Finitud. Longitud y duracin finitas (Eficiencia)
Los programas
Programa = DATOS + ALGORITMOS.
Algoritmos:
Datos:
Estructuras algebraicas.
Conjunto de valores.
Propiedades y operaciones.
Sencillos y compuestos.
Lenguajes de Programacin
La comunicacin con el ordenador se realiza utilizando un lenguaje
de programacin
Cuanto menos haya que indicar al ordenador, de mayor nivel se
considera el lenguaje:
Lenguajes de mquina
Lenguajes ensamblador
Lenguajes de alto nivel (llamados de tercera generacin)
Lenguajes de cuarta generacin
10
1 byte = 8 bits
12
13
14
15
16
17
Compiladores e Intrpretes
El nico lenguaje que entiende directamente una mquina es su propio
lenguaje mquina.
Los programas escritos en un lenguaje distinto deben ser traducidos a
lenguaje mquina para poder ser ejecutados.
Ensamblador:
Ensamblador Lenguaje mquina.
Compiladores e intrpretes:
Lenguaje de alto nivel Lenguaje mquina.
19
JAVA
Editar
Compilar
Programa.java
Nombre1.class
Nombre2.class
CODIGO DE BYTES
Enlazar
Intrprete dependiente de la
plataforma
Probar
Mantener el programa
Eficiente
Uso eficaz de los recursos (memoria, disco, CPU ...)
Fcilmente modificable
Los clientes cambian.
Los problemas evolucionan.
La comprensin del problema y de la solucin mejoran.
21
Errores de Programacin
Sintcticos
Los detecta el compilador (errores en tiempo de compilacin).
Mal uso de los elementos lexicogrficos
Ejemplo: Falta un parntesis, falta una coma, etc, ...
Semnticos
Lo que se dice no tiene sentido.
Estticos (los detecta el compilador): p.e
p.e.:
.: intento de sumar churras con merinas.
Dinmicos (errores en tiempo de ejecucin). Algunos se detectan al ejecutar
ejecutar (se
aborta el programa) y otros al observar detenidamente el comportamiento.
comportamiento.
Algunos son extremadamente difciles de detectar y corregir.
CPU
UC
UAL
MEMORIA
CENTRAL
Ctrl_1
Ctrl_N
Unidades
de E/S
Unidad_1
Unidad_N
Unidad_
N
25
26
Registro de
Instrucciones
Contador de
Programa
Decodificador
Bus de
Direcciones
Secuenciador
Reloj
Circuito Operacional Realiza las operaciones con los datos de los registros de
entrada.
Registros de Entrada Contienen los operandos de la operacin.
Registro acumulador Almacena los resultados de las operaciones.
Registro de estado Registra las condiciones de la operacin anterior.
28
El sistema operativo
Programa que acta de interfaz entre el usuario de un ordenador y el
hardware del mismo, ofreciendo el entorno necesario para que el usuario
pueda ejecutar programas.
Objetivos:
Facilitar el uso del sistema informtico.
Emplear el hardware del ordenador de forma eficiente.
Servicios dirigidos al usuario:
Ejecucin de programas.
Operaciones de E/S.
Asignacin de recursos.
Contabilidad.
Manipulacin de ficheros.
Deteccin de errores
Proteccin.
30
La asignatura
31
Objetivos de la asignatura
Aprender las tcnicas bsicas de la programacin
Desarrollar programas correctos no slo desde el punto
de vista computacional, sino desde el punto de vista de su
mantenimiento y uso.
Conocer un lenguaje de programacin concreto (Java) y
aprender a codificar en l.
Aprender a programar usando el lenguaje Java
33
Cmo usarlo
- Organizacin de las estructuras de datos:
Soporte de la realidad que estamos modelando
- Organizacin de los algoritmos:
Soporte de los procesos que estamos modelando
34
Cmo se aprende?
Practicando
- Prcticas y ejercicios del curso
- Plantear problemas propios, variantes de los vistos en la
asignatura
- Hacer evolucionar los programas con nuevas funciones
que no deben destrozar lo que ya funcionaba
35
El programa de la asignatura
Tema 1. Presentacin: La asignatura y la informtica
Tema 2. Tipos de datos primitivos y operadores
Tema 3. Estructuras de control
Tema 4. Estructuras estticas de datos: matrices
Tema 5. Abstraccin funcional
Tema 6. Programacin basada en objetos
36
Las prcticas
Libros recomendados
C. Muoz, A. Nio, A. Vizcaino. Introduccin a la Programacin con
Orientacin a Objetos. Prentice-Hall, 2000.
Deitel&Deitel. Cmo programar en Java. 5 Ed. Prentice Hall,
2004.
J. Snchez, G. Huecas, B. Fernndez y P. Moreno Iniciacin y
referencia: Java 2 .2 edicin en castellano, Osborne McGraw-Hill,
2005.
K. Arnold, J. Gosling, D. Holmes.El lenguaje de programacin
Java. 3 edicin, Addison-Wesley, 2001.
D. Arnow, G. Weiss. Introduccin a la programacin con Java: un
enfoque orientado a objetos. 1 edicin castellano, Addison-Wesley,
2000
38
Libros complementarios
B. Eckel. Piensa en Java. 2 Ed. Prentice-Hall, 2002.
J. Bishop. Java: Fundamentos de programacin. 2 Ed. AddisonWesley, 1999.
J. Jaworski. Java 1.2 Al descubierto. Prentice-Hall, 1999.
D. Camacho. Programacin, Algoritmos y Ejercicios resueltos en
Java.Ed. Prentice-Hall, 2003.
J.M. Prez, J. Carretero, et al. Problemas resueltos de
Programacin en lenguaje Java. Ed. Thomson, 2002.
39
Evaluacin de la asignatura
Examen escrito sobre 10 puntos
- Cuestiones terico-prcticas acerca de conceptos
impartidos en la asignatura + ejercicios o problemas
Evaluacin prcticas:
- Asistencia y realizacin de los ejercicios
Apto o no apto
Un alumno no apto podr optar a examinarse de las prcticas
40
Asignaturas complementarias
Fundamentos de Programacin es una asignatura
prctica y bsica:
Primera asignatura de naturaleza informtica de la
carrera (primer curso, primer cuatrimestre)
Se complementa con Laboratorio de Programacin
en el segundo cuatrimestre del curso
Opcionalmente, se complementa con Programacin
Avanzada en cuarto curso.
41