OIE Madrid

Fundamentos de programación

Transparencias de programación

En esta página encontrarás las más de 1.000 transparencias que se utilizan en la asignatura Fundamentos de Programación impartida en la Facultad de Informática de la Universidad Complutense de Madrid desde donde se organiza la Olimpiada Informática de Madrid.

Fueron creadas por el profesor Luis Hernández Yañez en 2011 y son revisadas periódicamente. Han pasado por las manos de más de 2.000 estudiantes. Los ficheros que os dejamos aquí están en formato PDF pensados para ser leídos en pantalla, pero no para ser impresos. El autor las proporciona en otros formatos en su web.

Estas transparencias son una buena fuente de conocimiento para introducirte en la programación en C++ en general. Para la preparación de la Olimpiadas los temas I y VIII no son muy relevantes, y el tema IX rara vez lo es (solo si hay que implementar estructuras de datos específicas). Además, la parte de ordenación del tema VII debe utilizarse solo como ejemplo de algoritmos, pero durante un concurso es mucho mejor utilizar las funciones de ordenación que proporcione el lenguaje.

Recuerda que el siguiente paso es aprender conceptos de algoritmia. Aquí puedes encontrar algunos enlaces.

I
Computadoras y programación

Una introducción a la historia de la informática y la programación de ordenadores.

II
Tipos e instrucciones I

Tipos de variables, expresiones, condicionales, primeros bucles y entrada/salida, y un anexo con detalles técnicos sobre los tipos de datos básicos.

III
Tipos e instrucciones II

Condicionales anidados, más bucles y primeros pasos con vectores, con un anexo sobre el operador ternario y otro con ejemplos de secuencias.

IV
La abstracción procedimental

Funciones, argumentos y resultados. Diseño descendente. Y un anexo con detalles adicionales.

V
Tipos de datos estructurados

Vectores, cadenas, estructuras, listas de longitud variable con capacidad máxima limitada. Y un anexo sobre cadenas al estilo de C.

VI
Recorrido y búsqueda en arrays

Recorrido y búsqueda con centinela y contador. Arrays multidimensionales.

VII
Algoritmos de ordenación

Introducción a la ordenación y búsqueda (binaria) en colecciones ordenadas. Y un anexo con detalles adicionales.

VIII
Programación modular

Proyectos de varios archivos. Preprocesador. Inclusiones. Módulos y bibliotecas. Y un anexo con ejemplos.

X
Introducción a la recursión

Algoritmos recursivos. Modelo de ejecución. Tipos.