Home › Fóruns › Programação Básica › Programação Básica – Módulo 03: Repetições Portugol ex034
Marcado: Exercicios 034
- Este tópico contém 14 respostas, 5 vozes e foi atualizado pela última vez 1 ano, 11 meses atrás por Tutora Jessica.
-
AutorPosts
-
-
6 de fevereiro de 2022 às 13:33 #85630Francisney Rodrigues DuarteParticipante
No exercício pede para o programa ler 5(cinco) números e dentre esses números somar os pares, os ímpares e dar a média de cada um deles. Porém, quando lemos somente números pares ou somente ímpares, o programa dá erro na hora de tirar a média de 0(zero). Eu tentei criar uma solução com a estrutura condicional SE, mas não consegui informar ao usuário que se caso não digitasse nenhum número par ou ímpar, não seria possível tirar sua média.
Alguém pode me ajudar com essa solução?programa
{inclua biblioteca Tipos –> t
funcao inicio()
{
inteiro cont = 1, num, p = 0, i = 0, sp = 0, si =0enquanto ( cont <= 5) {
escreva(“Digite o ” + cont + “º valor: “)
leia(num)
se (num % 2 == 0) {
p ++
sp += num
se(sp == 0) {
escreva(“Não podemos tirar a média dos números pares”)
}
} senao {
i ++
si += num
}
cont ++
}
real mp = t.inteiro_para_real(sp) / p
real mi = t.inteiro_para_real(si) / i
escreva(“\n——————————“)
escreva(“\nVocê digitou ” + p + ” números pares.”)
escreva(” E a média entre eles é ” + mp)
escreva(“\nVocê digitou ” + i + ” números ímpares.”)
escreva(” E a média entre eles é ” + mi)
}
} -
6 de fevereiro de 2022 às 13:58 #85631Francisney Rodrigues DuarteParticipante
Eu acho que consegui uma solução aqui, tive que colocar a condição SE fora do laço de repetição:
programa
{inclua biblioteca Tipos –> t
inclua biblioteca Matematica –> m
funcao inicio()
{
inteiro cont = 1, num, p = 0, i = 0, sp = 0, si =0enquanto ( cont <= 5) {
escreva(“Digite o ” + cont + “º valor: “)
leia(num)
se (num % 2 == 0) {
p ++
sp += num
} senao {
i ++
si += num
}
cont ++
}real mp = t.inteiro_para_real(sp) / p
real mi = t.inteiro_para_real(si) / iescreva(“\n——————————“)
se(sp == 0) {
escreva(“\nNão foi informado nenhum número par”)
escreva(” e não há como tirar a média.”)
} senao{
escreva(“\nVocê digitou ” + p + ” números pares.”)
escreva(” E a média entre eles é ” + m.arredondar(mp, 2))
}
se(si == 0) {
escreva(“\nNão foi informado nenhum número par”)
escreva(” e não há como tirar a média.”)
} senao {
escreva(“\nVocê digitou ” + i + ” números ímpares.”)
escreva(” E a média entre eles é ” + m.arredondar(mi, 2))
}
escreva(“\n\n”)
}
} -
6 de fevereiro de 2022 às 14:04 #85632Francisney Rodrigues DuarteParticipante
Corrigindo o código anterior:
programa
{inclua biblioteca Tipos –> t
inclua biblioteca Matematica –> m
funcao inicio()
{
inteiro cont = 1, num, p = 0, i = 0, sp = 0, si =0enquanto ( cont <= 5) {
escreva(“Digite o ” + cont + “º valor: “)
leia(num)
se (num % 2 == 0) {
p ++
sp += num
} senao {
i ++
si += num
}
cont ++
}real mp = t.inteiro_para_real(sp) / p
real mi = t.inteiro_para_real(si) / iescreva(“\n——————————“)
se(sp == 0 e si != 0) {
escreva(“\nVocê digitou ” + i + ” números ímpares.”)
escreva(” E a média entre eles é ” + m.arredondar(mi, 2))
escreva(“\nNão foi informado nenhum número par”)
escreva(” e não há como tirar a média.”)
} senao se(si == 0 e sp != 0){
escreva(“\nVocê digitou ” + p + ” números pares.”)
escreva(” E a média entre eles é ” + m.arredondar(mp, 2))
escreva(“\nNão foi informado nenhum número ímpar”)
escreva(” e não há como tirar a média.”)
}
escreva(“\n\n”)
}
} -
26 de julho de 2022 às 00:22 #98236MARCIO PAIVAParticipante
Oi Jéssica tudo bem!
Eu tenha uma dúvida em relação ao exercício 034 pares ou impares
eu fiz o exercício porém o resultado da média saí diferente a do professor.Eis aqui o código para analise:
programa
{
inclua biblioteca Tipos–>tfuncao inicio()
{
escreva(“{EXERCÍCIO 034-Pares ou impares}”)
inteiro v,cont,somap,somaip,par,impar
real mp,mip
par = 0
impar = 0
somap = 0
somaip = 0
mp = 0
mip = 0
cont = 1
enquanto(cont<=5){
escreva(“\nDigite o “+cont+”º valor “)
leia(v)
se(v % 2 == 0){
par++
somap = par + v
}
se(v % 2!=0){
impar++
somaip = impar + v
}
cont++
}
mp = t.inteiro_para_real(somap)/par
mip = t.inteiro_para_real(somaip)/impar
escreva(“\nVocê digitou “+par+” números pares”)
escreva(” A média foi de “+mp)
escreva(“\nvocê digitou “+impar+” números impares”)
escreva(” A média foi de “+mip)
}
} -
26 de julho de 2022 às 09:51 #98262Tutora JessicaModerador
Ola Marcio, novamente peço para que se atente ao colocar uma pergunta referente ao exercício específico, trouxe sua dúvida para o tópico do exercício 34, veja se na resolução do Francisney você consegue identificar o que precisa no seu código, senão conseguir só retornar que lhe ajudo. 🖖
-
1 de outubro de 2022 às 19:45 #102558Marcos MissoneParticipante
Boa Noite
Peco analise do Exercicios 034 – Ele funciona ao contrario nos resultados
Cpts
programa { /* EXERCICOS 032 - PARES E IMPARES */ //inclua biblioteca Tipos --> t funcao inicio() { //VAR inteiro soma1, soma2 inteiro c, m1, m2 inteiro n1 inteiro num1, num2 //ATRIBUICAO c = 1 soma1 = 0 soma2 = 0 m1 = 0 m2 = 0 num1 = 0 num2 = 0 //ITERACAO enquanto(c <= 5){ escreva("Digite o " , c , " valor: ") leia(n1) se(n1 % 2 == 0){ soma1 += n1 num1++ }senao{ soma2 += n1 num2++ } c++ } m1 = soma1 / num1 m2 = soma1 / num2 escreva("\n-------------------------------------------------") escreva("\nVoce digitou " , num1 , " numeros pares. A media e: " , m1) escreva("\nVoce digitou " , num2 , " numeros impares. A media e: " , m2) escreva("\n") } }
-
3 de outubro de 2022 às 07:08 #102607IcaroFilhoModerador
Bom dia Marcos,
O código esta muito bem estruturado, parabéns.
Houve apenas uma falta de atenção ao atribuir o valor am2
. Nele você esta atribuindo o valor de soma1 que se refere aos números pares, quando deveria estar atribuindo o valor de soma2.
m2 = soma1 / num2
==>m2 = soma2 / num2
- Esta resposta foi modificada 2 anos, 1 mês atrás por IcaroFilho.
- Esta resposta foi modificada 2 anos, 1 mês atrás por IcaroFilho.
-
-
4 de outubro de 2022 às 20:16 #102682Marcos MissoneParticipante
Boa Noite
Fiz de novo o exercicos 034 – Peco o vosso analise:
programa { inclua biblioteca Tipos --> t inclua biblioteca Matematica --> m funcao inicio() { //VAR inteiro c = 1, num, num1 = 0, num2 = 0 inteiro soma1 = 0, soma2 = 0 real m1 = 0 real m2 = 0 //ITERACAO enquanto(c <= 5) { escreva("Digite o " , c , "º valor: ") leia(num) se(num % 2 ==0) { soma1 += num num1 ++ //Anotacoes: a variavel num1 e num2 identificam os numeros }senao{ //pares e impares soma2 += num num2 ++ } c++ } //Calculo de mdeias m1 = t.inteiro_para_real(soma1)/num1 m2 = t.inteiro_para_real(soma2)/num2 //Resulados escreva("---------------------------------------------") escreva("\nVoce digitou " , num1 , " numeros pares. A media e " ,m.arredondar(m1, 2)) escreva("\nVoce digitou " , num2 , " numeros impares. A media e " , m2) escreva("\n") } }
-
4 de outubro de 2022 às 20:22 #102683Marcos MissoneParticipante
Neste primeiro código mesmo que coloquei a soma no lugar certo
a soma esta estava dando errado, entao comecei novamente o
o exercício.Cpts
-
5 de outubro de 2022 às 08:55 #102699Tutora JessicaModerador
Ola Marcos,
Muito bom o código esta correto, parabéns 🖖
-
-
28 de novembro de 2022 às 17:35 #106000Matheus Vidal TenórioParticipante
programa
{
inclua biblioteca Matematica –> m
funcao inicio()
{
inteiro num
real c = 1.0, s = 0.0, vp, vi, cp, ci
cp = 0.0
ci = 0.0
vp = 0.0
vi = 0.0
enquanto(c<=5){
escreva(“Digite o “,c,”º valor:”)
leia(num)
se(num%2==0){
cp++
vp+=num
}
se(num%2!=0){
ci++
vi+=num
}
c++
}
escreva(“\nVocê digitou “,cp,” números pares. A média é “,m.arredondar(vp/cp, 2))
escreva(“\nVocê digitou “,ci,” números pares. A média é “,(vi/ci))
}
}`-
29 de novembro de 2022 às 09:32 #106040Tutora JessicaModerador
Ola Matheus, alguma dúvida?
-
10 de dezembro de 2022 às 03:59 #106653Matheus Vidal TenórioParticipante
nÃO, SÓ POSTO PARA VER SE TEM ALGUM ERRO, AI FICO ESPERANDO FEEDBACK DE VOCES KK
-
12 de dezembro de 2022 às 09:24 #106817Tutora JessicaModerador
Ola Matheus, o fórum serve mais para tirar as dúvidas, você precisa testar seu código para ver se está funcionando conforme pedido pelo professor, caso esteja com erro e não consiga resolver, venha ao fórum para tentar mos lhe ajudar 🖖🏼
-
-
7 de fevereiro de 2022 às 17:12 #85723IcaroFilhoModerador
Parabens Francisney, ótimo código.
ainda tem duvida a respeito desta questão ?
-
-
AutorPosts
- Você deve fazer login para responder a este tópico.