Autor Tema: Número capicúa

0 Usuarios y 1 Visitante están viendo este tema.

17 Mayo, 2015, 08:44 am
Respuesta #10

argentinator

  • Consultar la FIRMAPEDIA
  • Administrador
  • Mensajes: 7,797
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
Lo que hace C es convertir punto flotante a entero por truncamiento.
Para evitar efectos indeseados le apliquè un redondeo, que ahora me deja el valor correcto aunque aun en punto flotante.

La variable digitos significa la cantidad de digitos.
Si le resto 1 al momento de definirla, el programa pierde legibilidad, mientras que la eficiencia es la misma.

17 Mayo, 2015, 04:13 pm
Respuesta #11

ingmarov

  • Moderador Global
  • Mensajes: 5,428
  • País: hn
  • Karma: +0/-0
  • Sexo: Masculino
Lo que hace C es convertir punto flotante a entero por truncamiento.
Para evitar efectos indeseados le apliquè un redondeo, que ahora me deja el valor correcto aunque aun en punto flotante.

La variable digitos significa la cantidad de digitos.
Si le resto 1 al momento de definirla, el programa pierde legibilidad, mientras que la eficiencia es la misma.

Todo entendido, muchas gracias.

Sobre la segunda respuesta, ya otro forísta (luis de Uruguay) me había mencionado sobre la legibilidad, que,en programacion, no se deben hacer las cosas simplemente porque se puede, se debe garantizar que otros puedan leer el programa con la mayor facilidad. Tengo mucho que aprender.

Gracias de nuevo.
No te confíes, revisa lo que escribo. Yo también me equivoco.
Odio el autocorrector de Android...

17 Mayo, 2015, 04:17 pm
Respuesta #12

argentinator

  • Consultar la FIRMAPEDIA
  • Administrador
  • Mensajes: 7,797
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
Hay que buscar un equilibrio entre legibilidad y eficiencia.
Si es muy ineficiente, hay que reformular el programa.

Además, estudiantee pidió una función que resuelva el problema, y yo hice todo adentro de main().
Habría que hacer una función llamada capicua(), que devuelva 1 ó 0 según que el número pasado como parámetro sea capicúa o no.

Para lograr esta modularidad uno tiene que pensar separadamente de entrada en poner por un lado los datos de entrada, luego el proceso o solución sin usar print() ni scanf(), y finalmente exhibir la solucion en pantalla.

17 Mayo, 2015, 04:27 pm
Respuesta #13

ingmarov

  • Moderador Global
  • Mensajes: 5,428
  • País: hn
  • Karma: +0/-0
  • Sexo: Masculino
...

Además, estudiantee pidió una función que resuelva el problema, y yo hice todo adentro de main().
Habría que hacer una función llamada capicua(), que devuelva 1 ó 0 según que el número pasado como parámetro sea capicúa o no.
...

Quizás cuando leíste el código escrito por Estudiantee, pensaste que él aun no entendía la definición de función y querías garantizar que el programa que escribes pueda ser leído y entendido por Estudiantee, y por eso pusiste todo dentro de main().
No te confíes, revisa lo que escribo. Yo también me equivoco.
Odio el autocorrector de Android...

17 Mayo, 2015, 06:01 pm
Respuesta #14

Estudiantee

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 423
  • Karma: +0/-0
  • Sexo: Masculino
Gracias a todos por vuestras respuestas ;D
Si alguien me invita a forocoches, se lo agradecería.