Home › Fóruns › Programação Básica › EXERCÍCIO 043 -módulo-03- Repetições
- Este tópico contém 12 respostas, 9 vozes e foi atualizado pela última vez 2 anos atrás por Tutora Jessica.
-
AutorPosts
-
-
29 de agosto de 2021 às 18:47 #74480Rui Aparecido BrazParticipante
especificar o nome de quem ganha mais.
-
30 de agosto de 2021 às 08:42 #74504IcaroFilhoModerador
Bom dia Rui.
Não entendi muito bem a sua postagem. Vc gostaria de saber se seria possível adicionar o nome junto ao maior valor ?
caso seja isso, basta que adicione uma variavel, nome e sempre que tiver o maiorValor sendo atribuído, atribuir junto o nome. -
16 de outubro de 2021 às 14:31 #78579Arthur Martins AlvesParticipante
Olá! Estava fazendo o exercício 43 proposto do M03A11, quando fiz algo que me pareceu correto, apesar de diferente do que o professor Guanabara fez na aula 10: Fazendo o “enquanto” do “faça enquanto”, em vez de colocar “r == ‘S’ ou r == ‘s'”, fiz “r != ‘N’ ou r != ‘n'”, o que me parece correto, mas o laço não é interrompido. O mais estranho é que quando coloco só o “r != n” ou somente “r != N”, o laço é interrompido. O problema e quando coloco tanto o “n” minúsculo, como o “N” maiúsculo. Minha lógica está certa? Estou errando em alguma coisa ou será um problema do portugol Studio?
Segue o código completo:
programa { funcao inicio() { inteiro n, c = 1 caracter r escreva("{ EXERCÍCIO 043 - Analisador de Números }\n") faca { escreva("Digite o ", c, "o valor: ") leia(n) escreva("Quer continuar? [S/N] ") leia(r) c++ } enquanto (r != 'N' ou r != 'n') escreva("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=") escreva("\nVocê digitou ", " valores PARES") } }
-
24 de outubro de 2021 às 12:55 #79042Michel SouzaParticipante
Arthur, particularmente prefiro afirmar do que negar assim:
} enquanto (r == 'S' ou r == 's')
mas se preferir pode fazer assim também:
} enquanto (nao(r == 'N' ou r == 'n'))
Faz um teste ai. Valeu
-
-
18 de outubro de 2021 às 20:29 #78712Tutora MaylaMestre
Arthur, o correto nesse caso, para inverter a lógica seria por
(r!=N e r!=n)
. Nos casos onde a resposta for sim, significa que a resposta não será não. Ou seja : (S ou s) = (não N e não n).
Se quiser entender um pouco mais do porque ao inverter vira e procure sobre a lei de equivalência lógica de De Morgan, pois aqui ela é aplicada.
Espero ter ajudado, bons estudos!
Quaisquer dúvidas estamos a disposição. -
19 de outubro de 2021 às 17:00 #78788Arthur Martins AlvesParticipante
Muito obrigado, Mayla, pela resposta! Vou pesquisar sobre a lei de equivalência
-
22 de novembro de 2021 às 16:56 #80992Eduardo FeltrinParticipante
Olá! Estou com um problema já a um tempo com meu código, não sei onde estou errando, mas minha estrutura de controle nao funciona. Poderiam me dizer onde está o erro ?
Segue o código:programa
{
/* Ex043- Analisador de números que mostra:
* Quantos valores ímpares e pares foram digitados (separadamente)
* Quantos números, no total, foram digitados;
* Qual foi o menor valor ímpar inserido;
* Data: 22/11/2021. */
inclua biblioteca Matematica –> m
funcao inicio()
{
inteiro x = 1, pares = 0, impares = 0, menor_impar = 0, valor = 0
caracter continuarescreva(“\n\n”)
faca{
escreva(“Digite o “, x, “º valor: “)
leia(valor)se (valor % 2 == 0) {
pares++
} senao se (valor % 2 != 0) {
impares++
se (x == 1) {
menor_impar = valor
} senao se (valor < menor_impar) {
menor_impar = valor
}
}
x++
escreva(“Quer continuar[S/N]? “)
leia(continuar)
} enquanto(continuar != ‘N’ ou continuar != ‘n’)escreva(“\n-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n\n”)
escreva(“Ao todo, você digitou “, x, ” valores.\n”)
escreva(“Você digitou “, pares, ” valores PARES.\n”)
escreva(“O valor “, menor_impar, ” foi o menor valor ÍMPAR digitado\n”)
}
} -
22 de novembro de 2021 às 17:01 #80993Eduardo FeltrinParticipante
Lendo o post do Arthur eu entendi, mil perdões por nao ter prestado a atenção. Não consigo apagar a mensagem anterior. 🙁
-
23 de novembro de 2021 às 08:33 #81006Tutora VeraMestre
Eduardo, O importante foi que você conseguiu compreender agora. Não precisa se desculpar por isso, afinal o fórum é voltado para tirar dúvidas e você conseguiu compreender através da dúvida de outro aluno, na próxima faz uma busca antes que pode te ajudar de forma mais rápida. 👏🖖🤓
-
7 de novembro de 2022 às 14:09 #104492Neander FontesParticipante
Olá, Tudo bem pessoal? Gostaria de uma ajuda para saber a respeito do meu código, se está correto ou se precisa completar alguma coisa?
pois a depender da ordem dos valores fica certo e as vezes errado, Obrigado!programa { /* Módulo03 Aula10 + 11 - 'faca enquanto' Faça Enquanto * Portugol Exercício 043 * Autor: Neander * Data: 07/11/2022 * Local: Portugal-Braga * Empresa: Estudonauta */ inclua biblioteca Texto --> txt funcao inicio() { //Exercício 043: - Analisador de Números escreva("{ EXERCÍCIO 43 - Analisador de Números }") //Obs.: //Declarações de Variáveis: inteiro contador, numero, qtNumeros, qtPar, qtImpar inteiro numImparMenor, numMaior, numMenor cadeia resposta //Entrada de Dados: escreva("\n\n=======================================") escreva("\n\tAnalisador de Números") escreva("\n=======================================") //Declarações Fixas: contador = 1 qtNumeros = 0 qtPar = 0 qtImpar = 0 numImparMenor = 0 numMaior = 0 numMenor = 0 //Declarações do Escopo Principal: faca { escreva("\nDigite o " + contador + "º Valor: ") leia(numero) escreva("Quer continuar? [S/N]: ") leia(resposta) qtNumeros++ se (numero % 2 == 0) { qtPar++ } se (contador == 1) { numMaior = numero numMenor = numero se (numero % 2 != 0) { numImparMenor = numMenor } } senao { se (numero < numMenor) { numMenor = numero se (numMenor % 2 != 0) { numImparMenor = numMenor } } se (numero > numMaior) { numMaior = numero se (numMaior % 2 != 0) { numImparMenor = numMaior } } } contador++ } enquanto (txt.caixa_alta(resposta) == "S") escreva("\n\n########## RESULTADOS FINAIS ##########") //Cálculos se Necessário: //Declarações Finais: escreva("\nAo todo, você digitou " + qtNumeros + " Valores.") escreva("\nVocê digitou " + qtPar + " PARES.") escreva("\nO valor de " + numImparMenor + " o menor númer ÍMPAR digitado.") escreva("\n============================================") escreva("\n\n------------------------ Fim ------------------------") } }
-
7 de novembro de 2022 às 18:31 #104501Tutora JessicaModerador
Ola Neander, então, seu código não esta funcionando, ele esta faltando organização, tem muita coisa fora do lugar..
Eu te indicaria assistir essa aula novamente e ir fazendo passo a passo junto ao professor Guanabara.
O importante é você prestar bastante a atenção no que o exercício pede e a partir dai montar seu código..
Caso não consiga só retornar ao fórum.
Bons estudos 🖖 -
8 de novembro de 2022 às 09:09 #104536Neander FontesParticipante
Sim Jessica, Muito Obrigado pelas informações.
Eu Havia notado que não estava funcionando, talvez eu tenha me expressado mal…
Porém dentro da lógica que eu criei nesse exercício, Existe como solucionar o meu programa?
talvez como você mesma disse, organizando melhor, pois dentro de outros exercícios do mesmo assunto eu acertei tranquilo as questões.
E Quero aprender a desenvolver melhor o meu próprio raciocínio, me ajuda nisso nesse programa?Obrigado 😀
-
8 de novembro de 2022 às 10:12 #104538Tutora JessicaModerador
Olá Neander, então.. tem sim!!
Eu mexi no seu código mas precisei mexer bastante para ele funcionar conforme é pedido no exercício.
Você está certíssimo de criar sua própria lógica, por isso pedi para que olhasse novamente essa aula , para compreender cada passo do que é pedido.
Seu código não está 100% sem funcionar, ele funciona em partes mas não faz o que o exercício manda, você pode procurar novas formas de código.. aqui seguimos o passo a passo do professor Guanabara nas aulas.
Muito boa sua iniciativa , te sugiro realmente assistir mais uma vez essa aula .
Bons estudos 🖖🏼
-
-
AutorPosts
- Você deve fazer login para responder a este tópico.