Una posible solución se basaría en utilizar variables booleanas (cuyo valor es verdadero o falso). Como los números pares e impares se alternan, en cada repetición del ciclo cambiamos el valor de verdadero a falso , p.ej. con 2 impar = falso, con 3 impar = verdadero, con 4 impar = falso, con 5 impar = verdadero, con 6 impar = falso... y así sucesivamente. Con los asteriscos y guiones igual, vamos cambiando una variable booleana que nos dice si hay que poner asterisco o guión:
Inicio
Variables:i, base, potencia, exponente:Entero; impar, marcaAsterisco:Booleano;
Imprimir "Programa que muestra las potencias de 2 con exponente 1 a 100";
base = 2;
exponente = 1
potencia = 2
Imprimir "La potencia de", base, "^", exponente, " es ", potencia, "*";
impar=falso;
marcaAsterisco = falso;
desde exponente = 2 hasta 100
potencia = potencia * 2;
Si (impar = falso) entonces {
Imprimir "La potencia de", base, " ^ ", exponente, "es ", potencia
impar = verdadero;
}
SiNo
{ Si marcaAsterisco = verdadero {Imprimir "La potencia de", base, " ^ ", exponente, "es ", potencia, "*"; marcaAsterisco=falso;}
SiNo {Imprimir "La potencia de", base, " ^ ", exponente, "es ", potencia, "-"; marcaAsterisco=verdadero;}
impar = falso;
}
siguiente
Fin