febrero 26, 2013

PROGRAMA DE SECUENCIA DE NUMEROS QUE LLEGUE HASTA 23, DO - WHILE


Esribir programa que de secuencia

1, 5, 3, 7, 5, 9, 7, ..., 23

La secuencia debe detenerse al llegar al 23.
El enunciado es rebuscado, pero ilustra el uso de los bucles do..while.
La secuencia se obtiene partiendo de 1 y sumando y restando 4 y 2, alternativamente. Veamos cómo resolverlo:


// Programa que genera la secuencia:
// 1, 5, 3, 7, 5, 9, 7, ..., 23

#include <iostream> // biblioteca para uso de cout
using namespace std;

int main() // función principal
{
   int i = 1; // variable para bucles
   bool sumar = true; // Siguiente operación es suma o resta
   bool terminado = false; // Condición de fin

   do { // Hacer
      cout << i; // muestra el valor en pantalla
      terminado = (i == 23); // Actualiza condición de fin
      // Puntuación, separadores
      if(terminado) cout << "."; else cout << ", ";
      // Calcula siguiente elemento
      if(sumar) i += 4; else i -= 2;
      sumar = !sumar; // Cambia la siguiente operación
   } while(!terminado); // ... mientras no se termine
   cout << endl; // Cambio de línea

   return 0;
}

No hay comentarios:

Publicar un comentario