Universidad de Costa Rica
|
|
Complete la
implementación del
método alVerres()
para que funcione de
acuerdo a su
especificación. Note que el vector R[]
siempre queda lleno de ceros pues el programa nunca calcula el
valor del vector invertido porque falta el ciclo en que se rellena
el valor de R[]
con base al valor del vector
V[]
.
Además, incluya más datos de prueba para el
métdodo
testAlVerres()
, pues
los que tiene no son suficientes. Recuerde usar
DrJava como platforma de
desarrollo. También recuerde pulsar el botón
[Test]
para activar el programa usando pruebas tipo
JUnit (es más complicado
ejecutar el programa activando el botón "run").
Recuerde: agregue su algoritmo dentro del bloque marcado
"{ ***
RELLENE CON SU ALGORITMO
*** }
"... ¡No
modifique ninguna otra parte del programa!
Para esta tarea programada ustedes debe enviarme estos archivos:
TestAlVerres.java
CARNET.docx
En el documento CARNET.docx
deben describir su
experiencia de aprendizaje para completar esta tarea. Explique
qué hizo, cómo lo hizo y por qué lo hizo. En
especial, es importante que mencionen por qué escogieron
las instrucciones que incluyeron y cuáles fueron las
dificultades que enfrentaron.
alVerres()
donde
está el cuadrado "RELLENE CON SU ALGORITMO".assertTrue()
en
testAlVerres()
para completar por lo menos 20
pruebas.testAlVerres()
no
deben ser repetitivas y deben mostrar diferentes datos de
entrada. Para eso pueden usar nuevos vectores además
de los que aparecen en la implementación de la clase
TestAlVerres
.Cuando el programa funcione, la barrita "Test Progress" del DrJava se pondrá toda verde .
TestAlVerres.java
en Jeliot?
TestAlVerresJeliot.java
debe calzar con el nombre de
la
clase
TestAlVerresJeliot
que contiene al programa principal
main()
.
/** @(#)TestAlVerresJeliot.java 2010,2012 adolfo@di-mare.com Programa de prueba para {@code alVerres()}. @author Adolfo Di Mare <adolfo@di-mare.com> */ /** Datos de prueba para el método {@code alVerres()}. */ public class TestAlVerresJeliot { /** Retorna una copia de {@code A[]} con los valores invertidos. <li> alVerres( {'a','b','c'} ) retorna {'c','b','a'} </li> */ public static char[] alVerres( char V[] ) { if ( V == null ) { return null; } int size = V.length ; // dimensión de V[] y de R[] char R[] = new char[ size ]; // R[] es la copia invertida de V[] int i,j; // indices para V[] && R[] { /******************************\ * * * RELLENE CON SU ALGORITMO * * * \******************************/ // System.out.println( "R" + vString(R) ); } return R; } /** Programa principal. */ public static void main( String args[] ) { char Z[]; if (true) { char A[]={ 'b','c','d','e','f','g','h' }; Z = alVerres(A); } if (true) { char A[]={ 'a','b','c','b','c','b','a' }; Z = alVerres(A); } if (true) { char A[]={ 'h','g','f','e','d','c','b' }; Z = alVerres(A); } if (false) { char A[]={ 'b','b','b','b' }; Z = alVerres(A); } if (false) { char A[]={ 'a','b','c','d' }; Z = alVerres(A); } if (false) { char A[]={ 'd','c','b','a' }; Z = alVerres(A); } if (false) { char A[]={ 'b','a' }; Z = alVerres(A); } if (false) { char A[]={ 'a','b' }; Z = alVerres(A); } if (false) { char A[]={ 'b' }; Z = alVerres(A); } if (false) { char A[]={ 'j','j','a','b','c','d' }; Z = alVerres(A); } if (false) { char A[]={ 'd','c','b','a','j','j' }; Z = alVerres(A); } if (false) { char A[]={}; Z = alVerres(A); } // NOTA: active con (true) el ejemplo que desea visualizar } } // Jeliot: // - http://cs.joensuu.fi/jeliot/javaws/jeliot.jnlp // EOF: TestAlVerresJeliot.java |
for ( int i=123 ; i<=126 ; ++i ) { }
for(;;){}
para que haga cáculo
a la inversa, desde 126 bajando hasta 123 (alVerres).
>=
" o "<=".
for(;;){}
que haga los 2
cálculos simultáneamente:
sumaArriba
&& i
sirven para hacer el cálculo hacia adelante (123->126)
sumaAbajo
&& j
sirven para hacer el cálculo hacia atrás (126->123)
for(;;){}
TestAlVerresJeliot.java
).
TestAlVerres.java
).
Entregue su tarea por correo electrónico, como lo hizo anteriormente.
Adolfo Di Mare <adolfo@di-mare.com>.
|