Fizz Buzz

O "famoso" algoritmo FIZZBUZZ (existen outras versións) tense utilizado en entrevistas de traballo para descartar malos programadores (ou máis ben, malos aprendices, xente que vai tardar moito en programar ben por que non ten desenvolvidas as habilidades básicas ou as competencias lóxicas)

Problema
Facer un algoritmo que represente os nº de 1 ao 100, sustituindo os múltiplos de 3 pola palabra FIZZ, os múltiplos de 5 por BUZZ e os múltiplos de 15 por FIZZBUZZ
Análise
Para saber se ún nº é multiplo utilizamos o operador módulo. A mod B = 0 indica que A é múltiplo de B.
Algoritmo
  • Unha estrutura de bucle para contar de 1 a 100
  • Un estrutura condicional anidada para escoller entre 4 posibilidades (poderíamos facelo con operadores lóxicos)
  • Operador lóxico AND

 

Solución proposta (lembra, non é única):

Diagrama de fluxo (Pseint) Scratch

diagrama

[Scratch: FizzBuzz]

Pseudocódigo (Pseint) Python 3

pseudo

python

 

[Repl.it: Algoritmo FizzBuz]

 

Exercicios:

  1. Modifica o algoritmo anterior para que o resultado saia todo seguido na pantalla, cos números separados unicamente por un espazo en branco.
  2. Modifica o algoritmo Fizz Buzz para que escriba o resultado á inversa, empezando en 100 ata 1.
  3. Fai a versión galega do algoritmo, escribindo os 100 primeiros números:
    • Substitúe os múltiplos de 3  por 'Para vir a xunto a min"
    • Substitúe os múltiplos de 4 por "Vai lavar a cara"
    • Substitúe os múltiplos de 12 por "galopín"
  4. Fai a túa propia versión, escribindo os 100 primeiros números, pero substituíndo:
    • Os múltiplos de 2  por _________________
    • Os múltiplos de 4 por _________________
    • Os múltiplos de 8 por a combinación dos dous anteriores

Estruturas secuenciais Estruturas condicionais Estruturas iterativas: Bucles

Fizz Buzz Sumar impares Seleccionar o máximo

Clasificación deportiva Base de datos de temperaturas