TransWikia.com

Inicialización de variables en cero: ¿Es necesario o solo una buena practica?

Stack Overflow en español Asked on January 3, 2021

He visto que en algunos lenguajes se inicializaban en 0 aquellas variables que guardarían cantidades resultantes de operaciones como sumas, restas, divisiones o demás.

En mi antigua institución, donde estudié bachillerato nos decían que era para evitar que se guardara basura, y al hacer muestra de dichas variables a veces salían cantidades raras, pero también he visto que algunos programas por defecto asignan 0 a dichas variables.

Entonces mi pregunta, es esto necesario para todos los lenguajes, es solo una buena practica o depende del lenguaje a programar.

2 Answers

La inicializacion de la variable depende del algoritmo y representa el caso base. Una variable de tipo entero generalmente se inicia en 0 por que es el neutro de la suma, la operacion basica. Pero por ejemplo si queremos usar un indice para recorrer arrays de base 1 la inicializamos en 1, si queremos recorrer el array al revés la inicializamos en n.

Me imagino que la pregunta es: ¿es correcto inicializar una variable en 0, si todavía no se que valor inicial tiene?

Var x = 0
If algo then
  X = 1
Else
  X = 2
End if
Usar x

La respuesta es que depende del leguaje y compiladores. Algunos te permiten declarar sin ningun valor inicial. Pero la realidad es que necesitamos asignarle un valor inicial determinado por la implementacion del algoritmo

Var x = 2
If algo then
  X = 1
End if
Usar x

Correct answer by Jose Maria Toscano on January 3, 2021

Considero que por razones de resultados se deberían inicializar a un valor a corde a la operación (multiplicación, suma, calculo de promedio ...etc) que se vaya a realizar de forma inicial y valor final que esta (variable inicializada) vaya a almacenar . Un ejemplo claro y de mucha importancia respecto a la inicialización se presenta en el uso del for . También es MUY IMPORTANTE en algunas ocasiones tener muy claro el valor inicial de esa variable , esto podemos presentarlo a continuación (smt a modo de ejemplo y para conseguir una mejor comprensión de lo relevante que resulta el saber que valor iniciará la variable) ; para encontrar la primera potencia de 2 que sea mayor que mil : potencia de un numero: es el resultado final después de haber multiplicado un número por si mismo(fuente: wikipedia)

producto (inicialización)=2;(pudo haberse inicializado con otro valor PERO DIFERENTE de cero , puesto que si lo inicializamos en 0, el resultado será más que obvio) For(producto <=1000) Producto=producto * 2(este 2 es el numero al cual se desea encontrar la potencia ...NO ES EL VALOR INICIAL DE LA VARIABLE PRODUCTO)

NOTA: POR LO GENERAL TANTO LA INICIALIZACIÓN, LA ACTUALIZACIÓN (CONTADOR) Y LA CONDICIÓN VAN DENTRO DEL MISMO PARÉNTESIS QUE LE SIGUE A FOR, PERO LO HE HECHO AQUI DE ESTA FORMA SMT PARA MODO DE COMPRENSIÓN

Answered by Max on January 3, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP