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
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!
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