Publicidad

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.

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 - Programación - Series númericas - ilustración (Ney)

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

Publicidad

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.

 

Publicidad


Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments