Informática, perguntado por Nicktuco, 11 meses atrás

criar um programa no Scracth onde o usuário irá digitar um número decimal entre 1 e 100 e o programa deve converter esse número e exibir o resultado em binário.

Soluções para a tarefa

Respondido por gustavofveloso
1
Olá!!!

Será um prazer te ajudar nesta questão! :)

Irei escrever este código, passo a passo com você e ao mesmo tempo irei testando-o para garantir que estará funcionando! :)

Primeiro iremos precisar criar 5 variáveis:

saidaBinaria1, saidaBinaria2, saidaBinaria4, saidaBinaria8, saidaBinaria16 e entradaDoUsuario.

Em seguida, iremos colocar:

(Inicie todas as variaveis com o valor 0)

When green flag clicked (Quando a bandeira verde for clicada)

set saidaBinaria1 to 0
set saidaBinaria2 to 0
...
set saidaBinaria 16 to 0
set entradaDoUsuario to 0

(Agora clique na categoria "Sensing")

Selecione e arraste a opção Ask... e altere o valor da mensagem para "Insira um valor decimal entre 1 e 100"

Irá gerar um balão azul escrito "Answer"

(Agora clique na categoria Data)

E insira set entradaDoUsuario e arraste o balão "Answer" para cima do valor "0", resultando em: set entradaDoUsuario to Answer.

Continue me acompanhando! Já estamos progredindo! :)

Então clique na categoria "Control" e selecione if <> then... agora vá até os operadores e construa a seguinte instrução:

if entradaDoUsuario / 16 > 1 or entradaDoUsuário / 16 = 1 then
    set saidaBinaria16 to 1
    set entradaDoUsuario to entradaDoUsuario mod 16

Agora crie mais um if <> else abaixo deste primeiro da seguinte forma:

if entradaDoUsuario8 / 8 > 1 or entradaDoUsuario8 / 8 = 1 then
    set saidaBinaria8 to 1
    set entradaDoUsuario to entradaDoUsuario mod 8

E assim sucessivamente...

if entradaDoUsuario4 / 4 > 1 or entradaDoUsuario4 / 4 = 1 then
    set saidaBinaria4 to 1
    set entradaDoUsuario to entradaDoUsuario mod 4

if entradaDoUsuario2 / 2 > 1 or entradaDoUsuario2 / 2 = 1 then
    set saidaBinaria2 to 1
    set entradaDoUsuario to entradaDoUsuario mod 2

if entradaDoUsuario1 / 1 > 1 or entradaDoUsuario1 / 1 = 1 then
    set saidaBinaria1 to 1

Pronto! Agora é só imprimir os valores na tela

Vá até a categoria "Looks" e insira Say [Hello].
Em seguida, vá até a categoria Operators e insira Join[Hello][World] e depois insira as suas variaveis de modo que fique assim:

say join join join join 000 saidaBinaria16 saidaBinaria8 saidaBinaria4 saidaBinaria2 saidaBinaria1

E prontinho! O seu programa está criado e funcionando perfeitamente.
Seguindo estes passos não tem erro!

Qualquer dúvida que tiver durante a criação do seu programa pode me perguntar aqui.

Abraços!
Perguntas interessantes