Práctica 8 de FPI

Fundamentos de la programación y la informática
Grados en ingeniería aeroespacial, turno de tarde, 2020-2021
Escuela Técnica Superior de Ingeniería de Telecomunicación
Universidad Rey Juan Carlos

Práctica 8.1. Uso básico de un Array

Escribe un programa en el fichero ~/fpi/practica08/tabla.pas que:

  1. Genere N números reales aleatorios mayores o iguales que 0 y menores que Valor_maximo, donde N será una constante global y Valor_maximo será una constantes local del cuerpo del programa principal. Dale a estas constantes el valor que quieras.

  2. Guarde los resultados en un array.

  3. Muestre todos los valores almacenados en el array.

  4. Muestre todos los valores del array, en orden inverso.

  5. Calcule (y muestre) la suma y la media de los valores del array.

  6. Calcule (y muestre) el máximo y el mínimo de los valores del array.

  7. Muestre solamente los valores del array mayores o iguales que K * valor_maximo, donde K será un número real mayor que 0 y menor o igual que 1.

    Ejemplo: si K = 0.9 y el máximo es 1000, se mostrarán los valores mayores o iguales a 900.

  8. K será una constante local del cuerpo del programa principal. Si no se cumple la precondición de ser mayor que 0 y menor o igual a 1, el programa mostrará un mensaje y finalizará.

Práctica 8.2. Búsqueda de matriz aleatoria

Escribe un programa en el fichero ~/fpi/practica08/busca_matriz.pas que:

Por ejemplo, una ejecución podría ser algo similar a esto:

Esperanza matemática de un dado de 6 caras: 3.50
Buscando una matriz de 2x3 cuyo valor promedio coincida con la esperaza matemática
6 4 5 
4 2 4 
Media obtenida: 4.17
4 4 4 
6 2 2 
Media obtenida: 3.67
4 4 4 
1 3 3 
Media obtenida: 3.17
6 3 2 
2 2 1 
Media obtenida: 2.67
1 6 4 
3 3 5 
Media obtenida: 3.67
5 3 2 
3 2 4 
Media obtenida: 3.17
5 3 1 
4 2 6 
Media obtenida: 3.50
Conseguido en 7 intentos
  

Práctica 8.3. Valores únicos

Escribe un programa en el fichero ~/fpi/practica08/unicos.pas que rellene una matriz con valores aleatorios de un dado, de forma que no haya ningún valor repetido. El programa comprobará la precondición de que el número de caras sea mayor o igual que el número de elementos en la matriz, y mostrará un error o hará el cálculo, según corresponda.

Una forma muy sencilla de resolver el problema es:

Aclaración adicional:

Práctica OPTATIVA 8.4. Valores únicos, algoritmo mejorado

Si deseas mejorar tu nota, escribe un programa en el fichero ~/fpi/practica08/unicos2.pas que resuelva el problema del programa anterior con un algoritmo más eficiente: Cada vez que lance un dado, en vez de comprobar si existe el valor en cualquier posición de la matriz, haz que sea buscado solamente en las posiciones que ya están rellenas. Observa que en este caso no hace falta iniciar la matriz a cero.

Práctica 8.5. Sustitución de espacios

Escribe un programa llamado ~/fpi/practica08/quitaespacios.pas que tenga una función que reciba una cadena, y que devuelva esa misma cadena, pero reemplazando los espacios por barras bajas (_)

Práctica 8.6. Repetición de letras

Escribe un programa llamado ~/fpi/practica08/repiteletras.pas que tenga una función que

Ejemplo, si recibe hola mundo y 3, debe devolver hhhooolllaaa mmmuuunnndddooo

Revisión de los nombres de los ficheros

Ejecuta ~mortuno/revisa practicas fpi para comprobar que los nombres de los programas son los correctos.