INPUT NUM(i)
NEXT
FOR i = 0 TO 4
IF NUM(i) MOD 2 = 0 THEN
PRINT "SON PARES"
ELSE
PRINT "NO SON PARES"
END IF
NEXT
FOR i = 5 TO 9
IF NUM(i) MOD 2 = 0 THEN
PRINT "NO SON IMPARES"
ELSE
PRINT "SON IMPARES"
END IF
NEXT
Ahora bien, este código, lejos de decirme, cito al enunciado "con UN mensaje, si los primeros 5 elementos son pares, y los últimos 5 impares", me indica para cada uno de los elementos, si son impares o pares. Por ejemplo, si yo ejecuto el código para el arreglo 1,2,3,4,5,6,7,8,9,10, imprimirá en pantalla
SON IMPARES
NO SON IMPARES
SON IMPARES
NO SON IMPARES
SON IMPARES
NO SON IMPARES
Cuando debía decirme que "El arreglo no cumple con la propiedad", o "El arreglo no cumple", o cualquier mensaje que me indique que no pasaba que primeros 5 eran pares y los últimos 5 impares.
Si el arreglo tiene los valores 2,2,2,2,2,3,3,3,3,3. El programa indica en pantalla
SON PARES
SON PARES
SON PARES
SON PARES
SON PARES
SON IMPARES
SON IMPARES
SON IMPARES
SON IMPARES
SON IMPARES
que si bien me muestra la paridad de cada elemento, no me indica, con UN mensaje, que el arreglo cumple con la propiedad de tener los 5 primeros pares y los últimos 5 impares.
La solución podría haber sido, con dos FORs, así:
pares = 1
FOR i = 0 to 4
IF NOT NUM(i) MOD 2 = 0 THEN pares = 0
NEXT
FOR i = 5 to 9
IF NOT NUM(i) MOD 2 = 1 THEN impares = 0
NEXT
IF impares = 1 AND pares = 1 THEN PRINT "El arreglo cumple con la propiedad"
O sino, con un sólo FOR
pares = 1
impares = 1
FOR i = 0 to 4
IF NOT NUM(i) MOD 2 = 0 THEN pares = 0
IF NOT NUM(i+5) MOD 2 = 1 THEN impares = 0
NEXT
IF impares = 1 AND pares = 1 THEN PRINT "El arreglo cumple con la propiedad"
Bueno, es por eso que los ejercicios 1, 2 y 3 fueron considerados mal.
Espero que haya aclarado tus dudas, cualquier cosa avisame!
saludos!
rodrigo