s1Eva_IIIT2003_T2 Verificar números triangulares

Ejercicio: 1Eva_IIIT2003_T2 Verificar números triangulares

El problema planteado es semejante a construir una pirámide, en la que se disponen de solo t bloques y se requiere saber si el número de bloques es exacto para formar una pirámide.

El ejercicio se desarrolla suponiendo que se construirá una pirámide con bloques de varios «pisos».

Se observa que el número de bloques coincide con el número de piso a construir.

Ejemplo:

  • Piso 1 tiene 1 bloque,
  • piso 2 tiene 2 bloques,
  • etc.
piso = 1  # contador
usados = 0 # acumulador

Cada piso usa una cierta cantidad de bloques que se cuentan como «usados», es decir se acumulan. La cantidad de bloques por piso es la misma que el número del piso, contador que se inicia con 1.

El lazo o bucle  repite el proceso de tal forma que los bloques usados  se aumulan en cada piso.

while (usados<t):
    usados = usados + piso
    piso = piso+1

Dado un número t de bloques ,se calcula la secuencia de números triangulares mientras los bloques usados sean menores que los t disponibles.

En caso que el número “usados” de la secuencia es igual a t, se considera al número t como un número triangular.

La respuesta es un valor de verdad, si es triangular 1, si no lo es 0.

Lazo mientras-repita en Python

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 1Eva_IIIT2003_T2 Números triangulares
# Propuesta de solución. edelros@espol.edu.ec

# INGRESO
t = int(input('Verificar si es triangular: '))

# PROCEDIMIENTO
piso = 1
usados = 0
while (usados<t):
    usados = usados + piso
    piso = piso+1

# verifica si es triangular
if usados==t:
    estriangular = 1
else:
    estriangular = 0

# SALIDA
print(estriangular )

Lazo Repita-hasta en Python

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 1Eva_IIIT2003_T2 Números triangulares
# Propuesta de solución. edelros@espol.edu.ec

# INGRESO
t = int(input('Verificar si es triangular: '))

# PROCEDIMIENTO
piso = 1
usados = 0
while not(usados>=t):
    usados = usados+piso
    piso = piso+1

# verifica si es triangular
if usados==t:
    estriangular = 1
else:
    estriangular = 0

# SALIDA
print(estriangular )

Diagrama de Flujo

Diagrama de Flujo de números triangulares

Propuesta de solución con diagrama de flujo y Python: python.pdf .
Otra versión con matlab.pdf