jueves, 4 de junio de 2026

Mostrar los x primeros números de la siguiente serie: 1,2,4,7,8,10,13,14,16,19,... en C++

Código del ejercicio:

#include <iostream>
#include <clocale>

using namespace std;

int main()
{
    setlocale(LC_CTYPE, "Spanish");
    int s = 1, sw = 1, c = 0, x;
    cout<<"Ingrese un número: "; cin>>x;
    while(c < x){
        cout<<s<<",";
        if(sw == 1){
            s++;
            sw = 2;
        }else if(sw == 2){
            s += 2;
            sw = 3;
        }else{
            s += 3;
            sw = 1;
        }
        c++;
    }
    return 0;
}

Definición de los códigos del ejercicio:

#include <iostream> --> significa flujo de entrada-salida estándar. Este archivo de encabezado contiene definiciones de objetos como cin, cout, cerr, etc.
#include <clocale> --> especificador de configuración regional.
using namespace std; --> un espacio de nombres es una colección de nombres o identificadores relacionados (funciones, clases, variables) que ayudan a separar estos identificadores de identificadores similares en otros espacios de nombres o en el espacio de nombres global. Los identificadores de la biblioteca estándar de C++ se definen en un espacio de nombres llamado std.
int --> dato entero de 32 bits.
main() --> la función main() es el punto de entrada de cualquier programa C++. Es el punto en el que se inicia la ejecución del programa. Cuando se ejecuta un programa C++, el control de ejecución va directamente a la función main(). Cada programa C++ tiene una función main().
return 0; --> devolver 0 en la función principal significa que el programa se ejecutó correctamente.
setlocale(); --> sirve para configurar nuestro programa acorde a los parámetros locales de la computadora donde se ejecuta el programa, uno de estos parámetros es el idioma.
LC_CTYPE --> selecciona la categoría de clasificación de caracteres del entorno local.
setlocale(LC_CTYPE, "Spanish"); --> dentro de las comillas del segundo parámetro colocaremos la palabra "Spanish" para que así se utilicen los parámetros hispanos por defecto.
cout<<""; --> se utiliza para mostrar la salida al dispositivo de salida estándar, es decir, monitor.
cin>> --> se utiliza para aceptar la entrada del dispositivo de entrada estándar, es decir, el teclado.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
else if --> use else if para especificar una nueva condición para probar, si la primera condición es falsa.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.

Explicación del Código:

¿Qué hace el programa?

El programa muestra los primeros números de la siguiente serie:

1, 2, 4, 7, 8, 10, 13, 14, 16, 19...

La serie funciona sumando:

  • Primero suma 1
  • Después suma 2
  • Luego suma 3
  • Y vuelve a repetir el mismo patrón

Código del programa

#include <iostream>
#include <clocale>

using namespace std;

int main()
{
    setlocale(LC_CTYPE, "Spanish");

    int s = 1, sw = 1, c = 0, x;

    cout<<"Ingrese un número: ";
    cin>>x;

    while(c < x){

        cout<<s<<",";

        if(sw == 1){
            s++;
            sw = 2;
        }else if(sw == 2){
            s += 2;
            sw = 3;
        }else{
            s += 3;
            sw = 1;
        }

        c++;
    }

    return 0;
}

Explicación simple del código

  • #include <iostream>
    Permite usar entrada y salida de datos con cin y cout.
  • #include <clocale>
    Permite configurar caracteres en español.
  • using namespace std;
    Evita escribir std:: antes de cout y cin.
  • int main()
    Función principal donde inicia el programa.
  • setlocale(LC_CTYPE, "Spanish");
    Configura el idioma español.
  • int s = 1
    Guarda el número actual de la serie.
  • int sw = 1
    Controla qué cantidad se sumará: 1, 2 o 3.
  • int c = 0
    Contador de repeticiones.
  • int x
    Guarda cuántos números quiere mostrar el usuario.
  • cout << "Ingrese un número: ";
    Solicita un número al usuario.
  • cin >> x;
    Guarda el número ingresado.
  • while(c < x)
    Repite el proceso mientras el contador sea menor que x.
  • cout << s << ",";
    Muestra el número actual de la serie.
  • if(sw == 1)
    Si sw vale 1, suma 1 al número actual.
  • s++;
    Incrementa el valor de s en 1.
  • sw = 2;
    Cambia el estado para que luego sume 2.
  • else if(sw == 2)
    Si sw vale 2, suma 2.
  • s += 2;
    Incrementa s en 2.
  • sw = 3;
    Cambia el estado para que después sume 3.
  • else
    Si no es 1 ni 2, entonces suma 3.
  • s += 3;
    Incrementa s en 3.
  • sw = 1;
    Reinicia el ciclo para volver a sumar 1.
  • c++;
    Incrementa el contador.
  • return 0;
    Finaliza correctamente el programa.

Funcionamiento de la serie

Número actual Operación Resultado
1 +1 2
2 +2 4
4 +3 7
7 +1 8
8 +2 10

No hay comentarios.:

Publicar un comentario

Mostrar los números de N número hasta 1 en C++

Código del ejercicio: #include <iostream> #include <clocale> using namespace std ; int main () {     setlocale...

Copyright ©2025 Ejercicios de programación. Todos los derechos reservados. ❤️