Introducción:
Descansando un poco de los ejercicios de física, hoy resolveremos un ejercicio de la materia de introducción a la informática, espero explicarlo lo mejor que pueda, así que comencemos.
Problema:
Generar y mostrar los primeros N términos de la siguiente serie: 1,2,3,4,5,2,1,2,3,4,5,2,1,2,3,4,5,2.

Solución:
Podemos empezar aclarando hasta que número de la serie debe mostrar, si el valor de N es:
N=6
devolverá: 1,2,3,4,5,2
N=1
devolverá: 1
N=12
devolverá: 1,2,3,4,5,2,1,2,3,4,5,2
N=4
devolverá: 1,2,3,4
N=18
devolverá: 1,2,3,4,5,2,1,2,3,4,5,2,1,2,3,4,5,2
El patrón de esta serie no es tan complejo, solo hay que poner un dos cada cinco números, los números anteriores al dos devén ir incrementando desde el uno al cinco y los números posteriores al dos igual, incrementa desde el un al cinco.
Primera parte:
Para ir incrementando los números de uno en uno hasta el cinco, a la variable le sumamos uno y detenemos el proceso cuando llegue a cinco, también reiniciamos la variable en ese momento para que pueda incrementar nuevamente.
La variable en este caso es m2 y su valor es 0.
Primera tanda:
m2=0
m2 es igual a 5—> no
m2=m2+1
Segunda tanda:
m2=1
m2 es igual a 5—> no
m2=m2+1
Tercera tanda:
m2=2
m2 es igual a 5—> no
m2=m2+1
Cuarta tanda:
m2=3
m2 es igual a 5—> no
m2=m2+1
Quinta tanda:
m2=4
m2 es igual a 5—> no
m2=m2+1
Sexta tanda:
m2=5
m2 es igual a 5—> si
m2=0
Segunda parte:
Para agregarle el dos tenemos que concatenar m2 en otra variable que nos permita poner la «coma», para usarla de separador, cada que m2 sea igual a cinco concatenaremos el dos y reiniciaremos m2 en 0.
La variable es serie y no tiene almacenado nada dentro.
Primera tanda:
m2=0
m2 es igual a 5—> no
m2=m2+1
serie=m2+»,»+serie
Segunda tanda:
m2=1
m2 es igual a 5—> no
m2=m2+1
serie=m2+»,»+serie
Tercera tanda:
m2=2
m2 es igual a 5—> no
m2=m2+1
serie=m2+»,»+serie
Cuarta tanda:
m2=3
m2 es igual a 5—> no
m2=m2+1
serie=m2+»,»+serie
Quinta tanda:
m2=4
m2 es igual a 5—> no
m2=m2+1
serie=m2+»,»+serie
Sexta tanda:
m2=5
m2 es igual a 5—> si
serie=serie+2+»,»
m2=0
Todo esto lo expresaremos mejor en pseudocódigo, para tener una idea más clara del funcionamiento.
Pedir n
m1=1
m2=0
serie=vacío
mientras(n>=m1){
m1=m1+1
si(m2=5){
serie=serie+2+","
m2=0
}falso{
m2=m2+1
serie=serie+m2+","
}
}
retorna serie
Aquí les dejo el código escrito en c++, por si desean probar el código directamente:
Donde:
- m1 vale 0.
- n es la cantidad de números que retornara.
- m2 incrementara hasta llegar a 5.
- serie es una variable de tipo cadena o string.
#include <iostream>
#include <string>
using namespace std;
int main(){
int m1,m2,n;
m1=1;
m2=0;
string serie="";
cout<< "por favor ingrese un número: ";
cin>>n;
while(n>=m1){
m1=m1+1;
if(m2==5){
serie=serie+to_string(2)+",";
m2=0;
}else{
m2=m2+1;
serie=serie+to_string(m2)+",";
}
}
cout<< serie;
cout <<"\n"<<endl;
return 0;
}
Si, encuentras algún error por favor dejalo en los comentarios, para que pueda rectificar el ejercicio.