Home › Fóruns › Programação Básica › Dúvidas do Exercício 036
- Este tópico contém 2 respostas, 2 vozes e foi atualizado pela última vez 2 anos, 3 meses atrás por MARCIO PAIVA.
-
AutorPosts
-
-
23 de agosto de 2022 às 21:23 #100038MARCIO PAIVAParticipante
Jéssica tudo bem?
estou com mais uma dúvida.
Como faço para o programa contabilizar dentro do comando sorteia os números e dizer como por exemplo:
quatro números são divisíveis por três. Já fiz esses comandos: se(num_sorteado % 3 == 1){
d++
por um momento o programa até acertou mas em outros errou. também já fiz isso: se(num_sorteado % 3!=0){
foi a mesma coisa da situação anterior que acabei de descrever. Depois se(num_sorteado % 3 == 1 e num_sorteado % 3!=0)
a situação foi a mesma alguns ele acertava outras errava dizia que dois ou três números eram divisíveis por três mas quando tinha mais números
divisíveis por três por exemplo não contabiliza totalmente.
eis aqui o código para analise:programa
{
inclua biblioteca Util–>ufuncao inicio()
{
escreva(“{EXERCÍCIO 036-Analisando números}”)
inteiro c,n,num_sorteado,m,d
num_sorteado = 0
c = 1
m = 0
d = 0
escreva(“\nQuantos números você vai sortear? “)
leia(n)
escreva(“Sorteando “+n+” números..”)
enquanto(c<=n){
num_sorteado = u.sorteia(1, 10)
u.aguarde(500)
escreva(num_sorteado+”..”)
c++
se(num_sorteado>5){
m++
}senao se(num_sorteado % 3 == 1 ){
d++
}}
escreva(“\nDos “+n+” números sorteados “)
escreva(m+”\nsão maiores que cinco “)
escreva(d+”\nsão divisíveis por três “)
}` -
23 de agosto de 2022 às 21:57 #100045Yuri Chaves MartinsParticipante
Olá Marcio
O problema está nessas linhas:
se(num_sorteado>5){
m++
}senao se(num_sorteado % 3 == 1 ){
d++
}
Primeiramente para um número ser divisível por 3 o resto da divisão deve ser zero. Então você quer testar a condição (num_sorteado % 3 == 0) ao invés de (num_sorteado % 3 == 1).Além disso, a condição (num_sorteado>5) é independente da condição (num_sorteado % 3 == 0). Isso faz com que “senao se” não seja uma boa escolha. Como o seu programa está escrito a condição “(num_sorteado % 3 == 1 )” só é testada se a condição (num_sorteado>5) for falsa. Uma maneira de corrigir isso é voce utilizar dois testes “se” independentes.
Por exemplo
se(num_sorteado>5) {
m++
}
se (num_sorteado % 3 == 0 ){
d++
} -
24 de agosto de 2022 às 20:54 #100099MARCIO PAIVAParticipante
Yuri chaves muito obrigado pela ajuda, me ajudou muito valeu.
-
-
AutorPosts
- Você deve fazer login para responder a este tópico.