Algoritmos resoltos: binarizar (función simple)

Que deberías saber: crear funcións , estrutura iterativa (repetir ata), operado división enteira, módulo

Problema: dado un nº decimal, convertilo a binario creando unha función (subprograma) que colla o dato e faga o cálculo con divisións sucesivas

Análise do problema:

  • temos moitos xeitos de facelo. Neste caso será por divisións sucesivas, tal e como se terá visto en clase de mates.
  • En Python temos unha función predefinida para facelo directamente (ou sexa, que perdemos o tempo ;-)

Algoritmo:

  • bucle namentres (repetir ata en scratch) para pasos sucesivos
  • variables: unha para o decimal, outra para almacenar 1 e 0 do binario (serán cadeas)
  • dividimos o nº decimal entre 2 sucesivamente e almacenamos o resto na variable binaria

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

Pseudocódigo (Pseint) Diagrama de fluxo (Pseint)

pseudo

 

 

Scratch Python 3

python

En Scratch:

 

En Python é fundamental que a función vaia antes do programa principal.

Opción ampliada:

  • buscar a función de Python que permite facer o cálculo directamente
  • facer o algoritmo para calquera base menor de 10 (pasar de decimal a octal, por exemplo)