El código compila perfectamente, por lo que con un copiar pegar lo podeis meter en vuestro IDE, y hacer pruebas, cambios, y todo lo que haga falta para comprenderlo mejor.
Y como no, un poco de tarea fácil. Este programa introduce los números del 1 al 10 en un array, empecemos por cambiar eso, y ahora meterá las decenas hasta el 100 (10,20,30.....100) y seguidamente, sorpresa, no los sumaremos, los invertiremos dentro del array, se me acaba de ocurrir, y cuando digo que los invertiremos digo eso, invertirlos, del 100 al 10, y no pido repetir el algoritmo invertido, no, eso sería muy fácil, me interesa más que el programa invierta el contenido del array, haya lo que haya dentro del array. Intentemos no utilizar demasiada memoria, variables, y código. Seguro que se nos ocurre un algoritmo interesante.
Si veo que sale fácil, cosa que estoy seguro, a mitad de semana igual se me ocurre algo nuevo.
______________________________________________________________________
/* SUMA DE NUMEROS DE UN ARRAY */
int count=0;
int NUMEROS[10];
bool FLAG = 1;
int RESULTADO = 0;
void setup()
{
pinMode(8,INPUT);
Serial.begin(9600);
Serial.println("PROGRAMA DE SUMA DE LOS NÚMEROS DE UN ARRAY");
Serial.println("");
}
void loop()
{
if (digitalRead(8) & FLAG){
Serial.print("Pulsado botón____ ");
delay (2);
count ++;
Serial.print("Pulsaciones = ");
Serial.println(count);
NUMEROS[count -1]=count;
Serial.print("NUMEROS[");
Serial.print(count-1);
Serial.print("] = ");
Serial.println(NUMEROS[count-1]);
Serial.print("\t");
FLAG = 0;
}
if (count == 10){
Serial.print("SUMANDO LOS NÚMEROS DEL ARRAY - ");
for (int i = 0; i < 10; i ++){
RESULTADO = RESULTADO + NUMEROS[i];
Serial.print("* ");
delay(250);
}
Serial.print("\t");
Serial.print("RESULTADO = ");
Serial.println(RESULTADO);
count = 0;
for (int i = 0; i < 10; i ++)NUMEROS[i] = 0;
RESULTADO = 0;
}
if (!digitalRead(8)) FLAG = 1;
}
si se supone que el ultimo FLAG es un estamento que deberia estar dentro del ultimo if, no entiendo porque no veo lo corchetes para enlazar el if con ese FLAG. Alguien me lo podria explicar... porfavor.
ResponderEliminarCuando en un condicional if, únicamente ejecuta una instrucción, no necesita los corchetes. Únicamente sería necesario incluir los corchetes si queremos que varias instrucciones cuelguen del condicional. Si se ponen los corchetes con una sola instrucción el programa funciona igualmente.
EliminarEspero haberte aclarado la duda.
gracias, resuelta!!!
EliminarHe resuelto la modificación planteada del ARRAY, en lugar de 1,2,3 cambiarlo por 10,20, 30 ha sido muy sencillo.
ResponderEliminarLa segunda parte lo he resuelto utilizando otro Array para guardar el valor de cada uno de los puestos que se van modificando, para no perder el dato original. Supongo que se podría utilizar un Array de dos filas o un int, pero lo he hecho utilizando un segundo Array.
Intentarlo chicos, se puede hacer...
A mi me falta la segunda parte
ResponderEliminaryo no entiendo muy bien la parte del for del programa
ResponderEliminar