German Rigau i Claramunt
Associate Professor

home
research
publications
teaching
demos
Ingenieria del Software MOISE 2008-2009

Laboratorio 1: Introducción a la programación
  • Editar y compilar el siguiente programa: Hello World.
  • Construir un programa que imprima sin inicializar variables de tipos elemental. ¿Qué ocurre? ¿Todas las ejecuciones obtienen el mismo valor?
  • Construir un programa que solicite el radio de una circunferencia y calcule su área.
  • Construir un programa que solicite el radio de una circunferencia y calcule su longitud.
  • Construir un programa que nos diga si un año es bisiesto.
  • Construir un programa que descomponga una cantidad dada de segundos en días, horas, minutos y segundos.
  • Construir un programa que solicite un natural N y calcule la suma de los N primeros números.
Laboratorio 2: Subprogramas
  • Construir el programa que implementa el algoritmo que calcula el número combinatorio: Combinatorio.
  • Construir el programa que implementa el algoritmo que ordena tres enteros: Ordena.
  • Construir un programa que incremente en un segundo una cantidad de tiempo expresada en términos de días, horas, minutos y segundos, usando el programa del laboratorio 1 como subprograma.
  • Construir un programa que calcule la media de una secuencia de números reales acabada en 0.0.
  • Construir un programa que encuentre el primer mínimo local en una secuencia de enteros acabada en 0.
  • Construir un programa que determine cuantas palabras hay en una frase acabada en punto.
  • Construir un programa que determine si un texto dado (saltándonos los espacios en blanco) es palíndromo utilizando una función "invierte". Por ejemplo, "no deseo yo ese don".
Laboratorio 3: Estructuras y TADs
  • (Opcional) Implementad la función que busca un número n en un vector t. Si lo encuentra devuelve la posición de la primera aparición de n en t, en otro caso devuelve -1.
  • (Opcional) Construir un programa que determine si dos textos forman un anagrama. Por ejemplo, son anagramas: "roma", "amor", "ramo", "mora", etc.
  • Construir el TAD conjunto de enteros siguiendo la siguiente especificación: conjunto. Diseñar y probar un juego de pruebas.
  • (Opcional) Construir el TAD pila de enteros siguiendo la siguiente especificación: pila. Diseñar y probar un juego de pruebas.
  • Construir el TAD cola de enteros siguiendo la siguiente especificación: cola. Diseñar y probar un juego de pruebas.
  • Construir el TAD lista de enteros siguiendo la siguiente especificación y código: lista. Diseñar y probar un juego de pruebas.
  • (Opcional) Construir el programa que implementa el algoritmo recursivo que realiza una búsqueda dicotómica sobre un vector ordenado: búsqueda.
  • Construir el TAD árbol de enteros siguiendo la siguiente especificación y código: árbol. Diseñar y probar un juego de pruebas.
  • Ejemplo de lectura y escritura de un fichero: ficheros
Laboratorio X: Análisis de datos con Linux
Last updated:  October 17, 2008