Programación


ASIGNATURA: PROGRAMACIÓN
DEPARTAMENTO: SISTEMAS INFORMÁTICOS Y COMPUTACIÓN.
CRÉDITOS ASIGNADOS: 7,5

PROFESOR RESPONSABLE:

Fco. Javier Oliver Villarroya

PROFESORES DE LA ASIGNATURA :

Elvira Albert Albiol (e-mail: ealbert@dsic.upv.es)
Jaume Devesa Llinares (e-mail: jdevesa@dsic.upv.es)
Fco. Javier Oliver Villarroya (e-mail: fjoliver@dsic.upv.es)

PRERREQUISITOS

Ninguno.
OBJETIVOS DE LA ASIGNATURA
Introducir al alumno en los conceptos básicos de la Computación.
Enfocar la resolución de problemas mediante el diseño de algoritmos.
Introducir el concepto de tipo de datos como un conjunto de valores y operaciones para su manipulación.
Apreciar el papel central que juega la abstracción en la Computación, introducciendo el concepto de abstracción operacional y de datos.
Introducir las técnicas de diseño descendente de algoritmos.
Estudiar algunos algoritmos clásicos y su eficiencia.
Estudiar comparativamente diversos algoritmos que resuelven problemas similares realizando para ello medidas temporales.
Conocer un lenguaje de programación imperativo.
Conocer y saber trasladar las estructuras de Pascal a C, y viceversa.
Desarrollar, probar y documentar programas utilizando un estilo adecuado de programación.
TEMARIO RESUMIDO
  1. Introducción a la computación.
  2. Metalenguajes.
  3. Datos, expresiones. asignación.
  4. Estructuras de control.
  5. Abstracción de operaciones.
  6. El tipo vector.
  7. El tipo cadena.
  8. El tipo registro.
  9. Estudio y medida de algunos algoritmos.
  10. El tipo conjunto.
  11. Ficheros.
  12. Estructuras de datos dinámicas: Listas, pilas, colas, árboles.
  13. Otros lenguajes imperativos: C.
BIBLIOGRAFÍA
-PROGRAMACIÓN.
J. Oliver, J. Devesa, P. Alonso
SPUPV-99.4129

- PASCAL.
N. Dale.
Mc Graw-Hill, 1989.

- PASCAL USER MANUAL AND REPORT.
N. Wirth, K. Jensen.
Springer Verlag, 1978.

- PROGRAMACIÓN EN PASCAL.
S. Leestma, L. Nyhoff.
Prentice Hall, 1999.

- PROGRAMACIÓN EN PASCAL.
O. Grogono.
Addison Wesley Iberoamericana, 1996.

- INTRODUCCIÓN A LA PROGRAMACIÓN (TOMO 1: ALGORÍTMICA Y LENGUAJES).
J. Biondi, G. Clavel.
Masson, 1985.

- ALGORITMOS. PROBLEMAS RESUELTOS Y COMENTADOS.
J. Fernández, J. Oliver, J. L. Sánchez.
Paraninfo.

- PASCAL Y TURBO PASCAL. UN ENFOQUE PRÁCTICO.
L. Joyanes, A. Hermoso, I. Zahonero.
McGraw-Hill, 1995.

- ADVANCED PROGRAMMING AND PROBLEM SOLVING WITH PASCAL.
G. M. Schneider, S. C. Bruell.
John Wiley & Sons, 1981.

- ALGORITMOS + ESTRUCTURAS DE DATOS = PROGRAMAS.
N. Wirth.
Ediciones del Castillo, 1976.

- EL LENGUAJE DE PROGRAMACIÓN C.
B. Kernighan, D. Ritchie.
Prentice-Hall, 1988.

- PROGRAMACIÓN ESTRUCTURADA EN C.
J. Antonakos.
Prentice-Hall, 1997.


Referencias de C

COMPILADORES FREEWARE o SHAREWARE:
Libre distribucion: De Free Software Foundation el GNU C. Disponible a través de muchos sitios FTP como por ejemplo ftp://prep.ai.mit.edu/pub/gnu. Hay un porte a DOS llamado djgpp en http://www.delorie.com/djgpp
El compilador PCC es shareware y disponible como pcc12c.zip
Uno muy barato es Power C de Mix Software
Uno más reciente: lcc disponible vía ftp en ftp://ftp.cs.princenton.edu/pub/lcc
Para Macintosh no hay versiones SHAREWARE disponibles.
TUTORIALES
http://members.xoom. com/tomtorfs/cintro.html
ftp://garbo.uwasa.fi/pc/c-lang/c-lesson.zip
http:// www-h.eng.cam.ac.uk/help/tpl/languages/C/teaching_C/teaching_C.html
http://www.swcp.com/~dodrill
ftp://ftp.netcom.com en pub/rowe/tutorde.zip
http://ww w.strath.ac.uk/CC/Courses/CCourse/CCourse.html
http://www- isis.ecs.soton.ac.uk/computing/c/Welcome.html
http://www.eskimo.c om/~scs/cclass/cclass.html
http://www.lysator.liu.se/ c/index.html
MANUAL DE REFERENCIA DE C
http://www.cs.man. ac.uk/standard_c/_index.html
http://www.dinkumware .com/htm_cl/index.html

Referencias de PASCAL

http://www.brain.uni- freiburg.de/~klaus/pascal/runerr200/index.html
http:// www.multimania.com/jmy51/bug/err200.html#Solutions (en frances)
http://www.freepascal.org/