Fundamentos
Fundamentos
de programación
M. Jesús Marco Galindo
Jordi Àlvarez Canal
Josep Vilaplana Pastó (coordinadores)
XP07/75062/02505
© FUOC • XP07/75062/02505 Fundamentos de programación
Ninguna parte de esta publicación, incluido el diseño general y la cubierta, puede ser copiada,
reproducida, almacenada o transmitida de ninguna forma, ni por ningún medio, sea éste eléctrico,
químico, mecánico, óptico, grabación, fotocopia, o cualquier otro, sin la previa autorización escrita
de los titulares del copyright.
© FUOC • XP07/75062/02505 3 Fundamentos de programación
Introducción
Como veréis más adelante, podemos definir el término algoritmo como un pro-
cedimiento de cálculo que consiste en seguir un conjunto ordenado y finito de
instrucciones que conduce a la solución de un problema. Lo que este curso pre-
tende es enseñaros a construir algoritmos para resolver problemas concretos.
Esto no es una tarea nada fácil. Requiere la asimilación de una serie de concep-
tos y técnicas que, a pesar de no ser demasiado numerosas, sí que necesitan un
esfuerzo inicial de comprensión y una práctica constante.
Por otro lado, si en vuestra vida profesional tenéis que participar en el desarrollo
de proyectos de grandes dimensiones, haréis vuestro trabajo de forma mucho
más eficiente si habéis asimilado correctamente lo que se explica en este curso.
El uso del lenguaje algorítmico como paso previo al del lenguaje de programa-
ción puede parecer innecesario de entrada, pero tiene la importante ventaja
de desvincular el desarrollo de un algoritmo del lenguaje de programación uti-
lizado por su codificación en el ordenador. Esto nos permite utilizar cualquier
lenguaje de programación imperativo sin demasiados problemas.
El curso está estructurado en cinco módulos, de forma que, a medida que avanza,
podemos ir generando algoritmos de una mayor complejidad. El primer módulo
contiene una visión general de lo que es la programación, ya que introduce una
serie de conceptos que utilizaremos a lo largo del curso, y pone la mirada en lo
que debe ser a la larga nuestro objetivo real: ser capaces de desarrollar aplicacio-
nes informáticas de una medida considerable (a pesar de que en esta asignatura
sólo aprenderemos a diseñar algoritmos de una complejidad baja o media).
© FUOC • XP07/75062/02505 5 Fundamentos de programación
Objetivos
Con los materiales asociados a esta asignatura, los estudiantes alcanzaréis los
objetivos siguientes:
3. Conocer bien el lenguaje algorítmico que se utiliza en este curso, como pla-
taforma para expresar de una forma rigurosa los algoritmos.
5. Decidir qué estructuras de datos (de las presentadas en este curso) nos
hacen falta para resolver un problema de forma eficiente, y saber cómo
utilizarlas.
Contenidos
Módulo didáctico 1
Introducción a la programación
Maria Jesús Marco Galindo, Josep Vilaplana i Pastó
1. Conceptos básicos de programación
2. La programación como disciplina de ingeniería
3. Objetivos de la asignatura
Módulo didáctico 2
Introducción a la algorítmica
Jordi Álvarez i Canal, Josep Vilaplana i Pastó
1. Objetos elementales del lenguaje algorítmico
2. Especificación de algoritmos
3. Estructuras algorítmicas
4. Acciones y funciones
Módulo didáctico 3
Tratamiento secuencial
Jordi Álvarez i Canal, Xavier Burgués i Illa
1. Algoritmos y secuencias
2. Esquema de recorrido de una secuencia
3. Esquema de búsqueda en una secuencia
4. Esquemas aplicados a secuencias de entrada/salida
5. Combinación de esquemas
Módulo didáctico 4
Tipos estructurados de datos
Raymond Lagonigro i Bertran, Ramon Vilanova i Arbós
1. Introducción y motivación. Estructuración de datos
2. Tablas
3. Tuplas
Módulo didáctico 5
Introducción a la metodología de diseño descendente
Josep Vilaplana i Pastó, Maria Jesús Marco Galindo
1. Diseño descendente
© FUOC • XP07/75062/02505 8 Fundamentos de programación
Bibliografía
Botella, P.; Bofill, M.; Burgués, X.; Franch, X.; Lagonigro, R; Vancells, J.
(1998). Fundamentos de programación I. Barcelona: Ediuoc.
Castro, J.; Cucker, F.; Messeguer, X.; Rubio, A.; Solano, L.; Vallés, B.
(1992). Curs de programació. Madrid, etc.: McGraw-Hill.