SOLUCIONES

En esta página podréis consultar las soluciones a los ejercicios de algoritmos propuestos en clase (las soluciones se publicarán una vez hayan sido corregidos los ejercicios entregados).


Algoritmo: máximo de 4 números (a, b, c, d) (1ª Solución)
Entrada: a, b, c, d
Inicio
    leer(a,b,c,d)
    si a > b
       max1 ← a
    si_no
       max1 ← b
    fin_si
    si c > d
       max2 ← c
    si_no
       max2 ← d
    fin_si
    si max1 > max2
       máximo ← max1
    si_no
       máximo ← max2
    fin_si
    escribir(máximo)
Fin

Algoritmo: máximo de 4 números (a, b, c, d) (2ª Solución)
Entrada: a, b, c, d
Inicio
    leer(a,b,c,d)
    máximo ← a
    si b > máximo
       máximo ← b
    fin_si
    si c > máximo
       máximo ← c
    fin_si
    si d > máximo
       máximo ← d
    fin_si
    escribir(máximo)
Fin

Algoritmo: valor final de una compra
Entrada: compra
Inicio
    leer(compra)
    si compra < 100
       escribir(compra)
    si_no
       si compra < 200
          compra ← 0.9 * compra
          escribir(compra)
       si_no
          compra ← 0.8 * compra
          escribir(compra)
       fin_si
    fin_si
Fin

Algoritmo: valor final de una compra (optimizado)
Entrada: compra
Inicio
    leer(compra)
    si compra >= 200
       compra ← 0.8 * compra
    si_no
       si compra >= 100
          compra ← 0.9 * compra
       fin_si
    fin_si
    escribir(compra)
Fin

Algoritmo: factorial de un número
Entrada: n
Inicio
    leer(n)
    factorial ← 1
    desde i ← 1 hasta n
       factorial ← factorial * i
    fin_desde
    escribir(factorial)
Fin

Algoritmo: factorial de un número (versión 2)
Entrada: n
Inicio
    leer(n)
    factorial ← n
    desde i ← n-1 hasta 1 incremento -1
       factorial ← factorial * i
    fin_desde
    escribir(factorial)
Fin

Algoritmo: máximo de un vector de n elementos
Entrada: v vector
Inicio
    leer(v)
    max ← v(1)
    desde i ← 2 hasta n
       si v(i) > max
          max ← v(i)
       fin_si
    fin_desde
    escribir(max)
Fin

Algoritmo: media de un vector de 100 elementos
Entrada: v vector
Inicio
    desde i ← 1 hasta 100
       leer(v(i))
    fin_desde
    suma ← 0
    desde i ← 1 hasta 100
       suma ← suma + v(i)
    fin_desde
    suma ← suma / 100
    escribir(suma)
Fin