miércoles, 3 de junio de 2026

Generar la siguiente serie 1,2,4,5,7,8,10,11,13,... en C++

Código del ejercicio:

#include <iostream>
#include <clocale>

using namespace std;

int main()
{
    setlocale(LC_CTYPE, "Spanish");
    int w = 1, c = 1, sw = 1, x;
    cout<<"Ingrese un número: "; cin>>x;
    while(c <= x){
        cout<<w<<",";
        if(sw == 1){
            w++;
            sw = 2;
        }else{
            w += 2;
            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 o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
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.
== --> 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:

#include <iostream>
#include <clocale>

using namespace std;

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

    int w = 1, c = 1, sw = 1, x;

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

    while(c <= x){

        cout<<w<<",";

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

        c++;
    }

    return 0;
}

¿Qué hace este programa?

Este programa genera la siguiente serie numérica:

1, 2, 4, 5, 7, 8, 10, 11, 13...

La serie funciona alternando incrementos:
• Primero suma 1
• Luego suma 2
• Después vuelve a sumar 1
• Y el proceso se repite.

Explicación simple de cada parte del código

Código Explicación
#include <iostream> Permite utilizar funciones de entrada y salida como: cout y cin.
#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 para mostrar correctamente caracteres especiales.
int w = 1 Variable que almacena el número actual de la serie.
int c = 1 Contador que controla cuántos números se mostrarán.
int sw = 1 Bandera que decide si se suma 1 o 2.
int x Guarda la cantidad de números que el usuario desea generar.
cout<<"Ingrese un número: "; Muestra un mensaje solicitando un número.
cin>>x; Lee el número ingresado por el usuario.
while(c <= x) Repite el proceso mientras el contador sea menor o igual al número ingresado.
cout<<w<<","; Muestra el número actual de la serie.
if(sw == 1) Verifica si corresponde sumar 1.
w++; Incrementa el valor de w en 1.
sw = 2; Cambia la bandera para que luego se sume 2.
else Se ejecuta cuando ya no corresponde sumar 1.
w += 2; Incrementa el valor de w en 2.
sw = 1; Cambia nuevamente la bandera para volver a sumar 1.
c++; Incrementa el contador en 1.
return 0; Indica que el programa terminó correctamente.

Funcionamiento de la serie

1 → +1 = 2
2 → +2 = 4
4 → +1 = 5
5 → +2 = 7
7 → +1 = 8
8 → +2 = 10

No hay comentarios.:

Publicar un comentario

Convertir millas a pies en HTML y JavaScript

Código del ejercicio: <! DOCTYPE html > < html lang = "es" > < head >     < meta charset = ...

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