El primer ejercicio consiste en diseñar e implementar un algoritmo que dada una serie (array) de números enteros, devuelva la longitud de la secuencia más larga de números iguales consecutivos.
Para ello:
Primero piensa el diagrama de flujo dibujándolo con lápiz en un papel.
Luego escribe el pseudocódigo del algoritmo, incluso en el propio papel.
Ahora ya puedes empezar a codificar: programa una clase con un método que implemente dicho algoritmo.
Y por último, haz todas las pruebas necesarias para comprobar que el código funciona correctamente. Para ello incluye un método para leer un array desde la entrada estándar (teclado) con el que poder realizar las pruebas.
Ejercicio 2.- Producto de matrices
Diseña y escribe el método:
public double [][]producto(double [][]a, double [][]b)
que calcula el producto de dos matrices.
Si no recuerdas cómo se multiplican dos matrices, echa un vistazo al artículo sobre producto de matrices de la Wikipedia. Por ejemplo, para matrices de 2x2, el producto sería:
En el caso general, cada celda de la matriz producto sería:
Para hacerlo bien, antes de empezar a escribir el código, ¡piensa un poco!
Analiza las condiciones de ejecución: ¿es siempre posible multiplicar dos matrices?
Reescribe (con papel y lápiz) el ejemplo anterior, usando la terminología de arrays.
Ahora piensa en la secuencia de ejecución de las operaciones: ¿cuáles son las operaciones básicas? ¿cuáles se repiten? ¿cuántas veces? ... en definitiva, diseña el algoritmo que solucione el problema, en pseudocódigo, con lápiz y papel.
Una vez que lo tengas, escribe el código en Java del algoritmo que has diseñado. Además, es conveniente que incluyas comentarios en el código, para entenderlo mejor.
Y, por último, prueba tu algoritmo, escribiendo código de prueba.