1

Estoy comenzando a estudiar informática y tengo la siguiente duda.

Yo puedo declarar una variable dentro de if-else ?

Lo que quiero hacer es lo siguiente. Pero no se si es correcto declarar dichas variables dentro del
if-else si luego quiero utilizarlas en cualquier parte luego de cumplir con la condición o debo declarar al principio asignándole cualquier valor y al momento de caer en el if-else esta se defina como tal.

 Si (HoraI>HoraF) 
    Entonces  HoraT=(HoraF+24)-HoraI
 Sino   
              HoraT=(HoraF-HoraI)
Finsi
              


Si (MinutoI>MinutoF) 
     Entonces  MinutoT= (MinutoF-MinutoI)*(-1) 
 Sino 
               MinutoT= (MinutoF-MinutoI) 
Finsi
      

Necesito que segun se cumpla o no la condicion se le asigne un valor a HoraT y MinutoT. Es para un Diagrama de Flujo.

  • 1
    Va a depender del lenguaje y del ámbito de las variables en cada caso. Para el caso de tu *seudocódigo*, lo que debes tomar en cuenta es que puedes declarar variables según las necesites, pero como muchos lenguajes asignan ámbito local o de bloque a las variables iniciadas así, lo ideal es que las declares (no implica asignarles un valor) fuera del bloque `if`. Esto te garantiza que puedas usarlas tanto dentro como fuera de dicho bloque. Saludos – Mauricio Contreras Nov 27 '20 at 08:24

1 Answers1

3

Depende del lenguaje de programación que uses funcionará de un modo u otro. Como regla general, te recomiendo declarar las variables en el bloque de código en el que vayan a ser usadas, para facilitar la lectura del código.

Ejemplos:

  • En Javascript tienes los dos comportamientos dependiendo de si declaras las variables con let o con var (más información aquí).
  • Python tiene un comportamiento similar, pero con sus peculiaridades.
  • En C, Java, C#, las variables sólo existen en el bloque donde se crean, desde la línea en la que se declaran (no en las anteriores) y en sus bloques anidados, nunca fuera.
  • En otros lenguajes (Pascal, Modula2) existe una zona de declaraciones que siempre está al inicio de cada función/procedimiento, con lo que no puedes declarar una variable en mitad del código.
Pablo Lozano
  • 45,934
  • 7
  • 48
  • 87