Ayuda, acabo de empezar

B

Buenas, acabo de empezar en el mundillo de programacion C++ y "estudio" autodidactamente y bueno tengo un problemilla con un ejercicio q me ponen en un libro, es el siguiente:

int x=0, y=0;
do {
     if(x>4) { x %= 4; y++; }
     else x++;
} while(y < 2);

y como respuestas me da

0,1,2,3,4,5,1,2,3,4,5,1
0,1,2,3,4,5,1,2,3,4,5
0,1,2,3,4,5,1,2,3,4,5,1,2

me podriais explicar la razon de la respuesta es decir como y por q y dnd?

yo segun he interpretado la respuesta pienso q es: 0,1,2,3,4,5,1,2,3,4,5 NO? xD sino pegarme, corregirme y explicarme por favor :$

gracias y no me mateis por mi respuesta si esta mal

B

Pero qué tienes que saber ? Lo que vale x en cada vuelta ?

1 respuesta
B

#2

siip, se me olvido mencionarlo, lo siento

B

Pues yo diría que tu respuesta es la buena. La X máximo va a valer 5 porque en la siguiente vuelta le hace mod4 (5%4=1) y vuelta a empezar,pero con x=1 hasta pasarse de 5. No lo he probado,pero vaya,diría que es eso.

1 respuesta
Thanat0s

Es la primera.

Mientras y = 0, x vale de 0 a 5.

Una vez x vale 5 por primera vez, y pasa a valer 1.

Mientras y = 1, x vale de 0 a 5.

Cuando x vale 5 por segunda vez, y pasa a valer 2 y el último valor de x es 1, antes de hacer la comprobación del while ( y < 2).

1 respuesta
B

#4 xD nos hemos equivocado los 2 pues

#5 muchisimas gracias, todo bien aclarado y explicado ;) la prox q tenga dudas otra vez y te cito si no te molesta :P

1 respuesta
NeV3rKilL

#6 Lo mejor para saber estos resultados en algoritmos sencillos es cojer una hoja dibujarse una tabla donde poner las variables en columnas y las filas que representen cada ciclo. Así sabes exactamente cuanto vale cada variable en cada ciclo. Es lento pero va bien para este tipo de ejercicios.

Aun que quizá en este problema t ehabrían cojido igual porque es más un problema de saber como funciona un do while que es diferente al típico while do.

1
Soltrac

Se aprende algo con estas cosas? Quiero decir, esto es álgebra básica, no es programación.

Yo sinceramente me saltaría ejemplos donde me ponen bucles e ifs horrorosos, yo también puedo poner un if con 20 xor encadenados y 450 paréntesis y tardar media hora en saber que va a ocurrir, pero me va a servir algo eso?

2 1 respuesta
Buffoncete

#8 Claro que te va a servir, te va a servir a entender el flujo de un bucle.

O el libro debería ponerte como primer ejercicio una Abstract Factory en C++, seguido del uso de un Decorator y un Builder... o no, mejor aún, que le pongan un IDA* y un minimax con poda.

si hay que ver quien la tiene más gorda

Estos ejercicios tan chorras sirven para entender los puntos por los que pasa el algoritmo en el bucle y luego no tener estos fallos, para correr primero hay que aprender a andar, y antes a gatear, y por supuesto antes nacer.

1 1 respuesta
Soltrac

#9 Ya saltó la tontería de turno. Ahora se supone que yo estoy fardando de ser un genio de la programación?

Paso de postear más, siempre pasa igual, das un punto de vista y te dice que es la ostia programando y que tú no tienes ni idea.

He puesto mi opinión, que yo no me centraría en este tipo de ejercicios para aprender a programar, porque nunca lo he hecho, no le he dicho nada más.

3 1 respuesta
Buffoncete

#10 Ya saltó el listo de turno quejándose de los métodos de enseñanza que elige la gente intentándolos ridiculizar!

si ha decir tonterías sabemos todos.

a mi me parece un buen método de estudio, a ti no, no es mejor callarse y no llenar el mensaje de cosas que no tienen nada que ver? hipócrita

1 respuesta
kassiusk1

#11 Cómo callarse? El da su opinión tío, yo la comparto. Hay que joderse xD

Al3s

En mi opinión, aunque uno entienda el funcionamiento de los bucles perfectamente es bueno hacer ejerciciós de este tipo para coger agilidad mental al principio. No parece la mejor manera de aprender a programar pero tampoco sobra.

B

La que se ha armado aquí... cada uno tiene su opinión, sus gustos y sus maneras de aprender. No me siento ofendido, al contrario. Saludos :P

Usuarios habituales