Exercício 32 e 33

Home Fóruns Programação Básica Exercício 32 e 33

Marcado: 

Visualizando 30 respostas da discussão
  • Autor
    Posts
    • #87574

      Na resolução desses exercícios estou tendo uma dificuldade, pois, mesmo fazendo todos os comandos de acordo com o que foi ensinado, a soma dos números está incorreta. Já vi e revi os códigos e não sei o que está acontecendo. Será que podem me ajudar?

    • #87577

      Carlos, por gentileza poste os seus códigos aqui.

    • #87626

      Exercício 32:

      programa
      {

      funcao inicio()
      {
      inteiro c = 1, n
      inteiro par = 0, impar = 0

      enquanto(c<=5){
      escreva(“Digite o “, c, ” valor:”, “\n”)
      leia(n)
      se (c%2 == 0) {
      par += n
      } senao {
      impar += n

      }
      c++

      }
      escreva(“\n————————————-“)
      escreva(“Somando todos os pares temos “, par, “\n”)
      escreva(“Somando todos os impares temos “, impar)
      }

      }

      • #87851
        IcaroFilho
        Moderador

        Boa tarde Carlos.
        O problema esta na sua condição.
        se (c%2 == 0)

        vc esta pedindo para somar baseado no contador e não no número inserido.
        o correto seria:
        se (n % 2 == 0)

    • #87627

      exercicio 33:

      programa
      {
      inclua biblioteca Util–> u

      funcao inicio()
      {
      inteiro n, s

      escreva (“Quantos números você quer que eu sorteie?”, “\n”)
      leia(n)
      escreva(“——————————————–“, “\n”)
      escreva(“Sorteando os “, n, ” números”, “\n”)

      //Contagem
      inteiro c = 1
      inteiro soma = 0

      enquanto (c <= n) {

      u.aguarde(500)
      soma += n
      escreva(sorteia(1,10), ” – “)

      c = c + 1
      }
      escreva(“PRONTO!”, “\n”)
      escreva(“——————————————–“, “\n”)
      escreva(“A soma entre todos esses valores é”, soma)
      }
      }

      • #87852
        IcaroFilho
        Moderador

        Boa tarde Carlos,
        Neste exercício faltaram algumas coisas:

        vc deve atribuir o valor sorteado a uma variável para que ela possa realizar a soma a cada laço de repetição.
        Desta maneira vc esta apenas somando o numero digitado n vezes.

        ex.:

        enquanto ( c <= n ){
            num_sorteado = sorteia (1,10)
            soma += num_soretado
            escreva( num_sorteado , " - " )
            c++
            u.aguarde( 500 )
        }
    • #87629

      Aproveitando, aconteceu o mesmo com o 34 também. Segue o código abaixo:

      programa
      {
      inclua biblioteca Tipos–>t

      funcao inicio()
      {
      inteiro c = 1, n
      inteiro par = 0, impar = 0
      inteiro sp = 0, simp = 0

      enquanto(c<=5) {

      escreva(“Digite o “, c, ” ºvalor:”, “\n”)
      leia(n)

      se (c % 2 == 0) {

      par ++
      sp += n
      } senao {

      impar ++
      simp += n
      }

      c ++
      }

      real mp= t.inteiro_para_real(sp)/par
      real mimp = t.inteiro_para_real(simp)/impar

      escreva(“————————–“, “\n”)
      escreva(“Você digitou “, par, ” numeros pares. E a média dos pares é “, mp, “\n”)
      escreva(“Você digitou “, impar, ” numeros impares. E a média dos impares é “, mimp)

      }
      }

      • #87853
        IcaroFilho
        Moderador

        O ocorrido aqui é o mesmo problema do exercício 32.
        Esta na condição se

        Tente refazer e caso não consiga, retorne que te ajudaremos.

    • #87652

      Aproveitando, eu digitei o código da demonstração 1 da aula M03A07 da mesma forma que o professor fez em aula, mas o programa está executando errado. Segue abaixo o código:

      programa
      {
      	
      	funcao inicio()
      	{
      		inteiro n, c = 1, maior = 0, menor = 0
      
      		enquanto (c<=4) {
      			escreva("Digite um número ")
      			leia(n)
      
      			se(c == 1) {
      				maior = n
      				menor = n
      				} senao {
      					se(n < menor){
      						menor = n
      					}
      					se (n > menor){
      						maior = n
      					}
      				}
      
      			c ++
      		}
      		escreva("\nO maior valor foi", maior)
      		escreva("\nO menor valor foi", menor)
      	}
      }
      • Esta resposta foi modificada 2 anos, 1 mês atrás por IcaroFilho.
      • #87855
        IcaroFilho
        Moderador

        Boa noite carlos.

        Foi apenas um erro de atenção.
        se vc quer comprar quem é o maior numero do vetor, vc deve comprar o numero inserido com o maior numero.
        => vc esta fazendo a comparação do numero inserido com o menor. se (n > menor)
        o correto é: se (n > maior) , conforme esta no vídeo do professor ( esta parte esta em 05:30 de video )

    • #98755
      MARCIO PAIVA
      Participante

      como vai Jéssica tudo bem ?

      Em relação ao exercício 034
      como faço para somar os os números dentro do comando sorteia da biblioteca utilidades
      tá faltando alguma coisa e não consigo descobrir o que é ou como somar os números aleatórios

    • #98778
      Tutora Jessica
      Moderador

      Olá Marcio bom dia!!
      Então, a função sorteia ela tem dois parâmetros:
      minimo:o menor número que pode ser sorteado
      maximo:o maior número que pode ser sorteado
      E ele retorna um número sorteado.

      No caso do exercício 034, você pode utilizar as bibliotecas Tipos e Matemática, já que o que se pede no exercício é que o usuário digite 5 números inteiros e no final o seu programa deve informar :

      * Quantos foram os números pares digitados
      * Quantos foram os números ímpares digitados
      * A média dos números pares
      * A média dos números ímpares

    • #98787
      MARCIO PAIVA
      Participante

      Boa tarde Jéssica
      eu me confundi é o exercício número 33 sorteio, peço desculpa pela confusão
      é exatamente esse que estou com dúvida de como somar os os números sorteados

    • #98788
      MARCIO PAIVA
      Participante

      Para analisar melhor vou te enviar o código para ver o que está faltando.

      eis aqui o código para analise:

      programa
      {
      inclua biblioteca Util–>u

      funcao inicio()
      {
      escreva(“{EXERCÍCIO 033-Sorteio de Números}”)
      inteiro c,v,num_sorteado,s
      c = 1
      s = 0
      num_sorteado = 0
      escreva(“\nQuantos números você quer que eu sorteie? “)
      leia(v)
      enquanto(c<=v){
      escreva(“\nO “+c+”º sorteado foi “+num_sorteado)
      c++
      num_sorteado = u.sorteia(1, v)
      s = num_sorteado + (s )

      }
      escreva(“\nsomando todos os valores temos “+s)

      }
      }`

    • #98825
      Tutora Jessica
      Moderador

      Olá Marcio,
      Redirecionei sua pergunta para um tópico já existente do exercício 33.
      Veja se a explicação do nosso amigo Icaro lhe ajuda.
      Caso ainda tenha dúvidas, só retornar ao fórum. 🖖

    • #102236
      Marcos Missone
      Participante

      Boa Tarde

      Peco analise do exercício 033
      Quando o programa faz a soma dos números sorteados nao sao somados
      todos números.

      Cpts

      programa
      {/*EX033 - SORTEIO DE NUMEROS */
      	inclua biblioteca Util -->  u
      	funcao inicio()
      	{
      	inteiro c, s
      	inteiro n, v
      	inteiro i
      	inteiro valor_s
      
      	valor_s = 0
      	c = 0
      	i = 1
      	s = 0
      	v = 0
      	
      	escreva("\nQuantos numeros voce quer que eu sorteie? ")
      	leia(n)
      	escreva("--------------------------------------------\n")
      	enquanto(c <= n){
      		s = s + valor_s
      		c = c + 1
      		valor_s = u.sorteia(v,n)
      		escreva("\nO " + c+ " valor sorteado foi: " + valor_s)
      	}
      	escreva("\n---------------------------------------------")
      	escreva("\nSomando todos valores, temos: " + s)
      	}
      }
      
    • #102243
      Tutora Jessica
      Moderador

      Ola Marcos,
      Então, foi só uma falta de ordem no código..
      o primeiro passo é você fazer o sorteio dentro do enquanto..
      e o valor de s deve ser maior ou igual a valor_s, dessa forma:

      enquanto(c <= n){
      		valor_s = u.sorteia(v,n)
      		s += valor_s
      		c = c + 1

      Após isso, seu código estará sorteando um número a mais do que foi pedido, tente consertar essa parte.. caso não consiga só retornar ao fórum que vamos tentar lhe ajudar da melhor forma.🖖

    • #102311
      Marcos Missone
      Participante

      Neste caso seria Assim:

      programa
      {/*EX033 - SORTEIO DE NUMEROS */
      	inclua biblioteca Util -->  u
      	funcao inicio()
      	{
      	inteiro c, s
      	inteiro n, v
      	inteiro i
      	inteiro valor_s
      
      	valor_s = 0
      	c = 0
      	i = 1
      	s = 0
      	v = 0
      	
      	escreva("\nQuantos numeros voce quer que eu sorteie? ")
      	leia(n)
      	escreva("--------------------------------------------\n")
      	enquanto(c <= n){
      		valor_s = u.sorteia(v,n)
      		s = s + valor_s
      		c = c + 1
      		
      		escreva("\nO " + c+ " valor sorteado foi: " + valor_s)
      	}
      	escreva("\n---------------------------------------------")
      	escreva("\nSomando todos valores, temos: " + s)
      	}
      }
    • #102312
      Tutora Jessica
      Moderador

      Ola Marcos,
      Correto.. mas o código ainda esta sorteando 1 número a mais do que foi pedido, exemplo:
      Se coloco que quero que sorteie 5 números, ele sorteia 6..

    • #102339
      Marcos Missone
      Participante

      Boa Noite
      Fiz novamente o código, porque o erro do primeiro código nao consegue identificar e neste neste novo código
      tive o mesmo raciocínio e esta funcionar normalmente. Submeto novamente para o vosso analise mais uma vez.

      E queria saber o primeiro codigo o que esta falhando para contar a mais que o solicitado?

      Cpts

      programa
      {
      /*
      	EXERCICIOS 003 - SORTEIO DE NUMEROS
      */
      	
      inclua biblioteca Util --> u
      	funcao inicio()
      	{
      	//VAR
      	inteiro i, valor_inicial
      	inteiro soma
      	inteiro soma_sorteia
      	inteiro n
      	
      	//ATRIBUICAO
      	
      	i = 1
      	soma = 0
      	soma_sorteia = 1
      	valor_inicial = 1
      	
      	escreva("Quantos numeros voce quer que sorteie: ")
      	leia(n)
      	
      		enquanto(i <= n){
      		   soma_sorteia = u.sorteia(valor_inicial, n)            //Anotacoes: Tem que ter uma variavel que receba um valor de sorteia, que sao: valor minimo e maximo
      		                                                         //exempleo temos Valor_inicial = 0 e o n valendo o valor digitado por usuario.
      		                                                         
      			soma = soma + soma_sorteia                       // A soma aqui recebe ele mesmo e o valor minimo e maixo. neste caso: Valor_inicial e n
      			escreva("\nO " , i , " valor sorteado: ", soma_sorteia)
      			i++
      		}
      	escreva("\nSomando todos os valores, temos: ", soma)
      		
      	}
      }
    • #102340
      Marcos Missone
      Participante

      Faltam as barras:

      programa
      {
      /*
      	EXERCICIOS 003 - SORTEIO DE NUMEROS
      */
      	
      inclua biblioteca Util --> u
      	funcao inicio()
      	{
      	//VAR
      	inteiro i, valor_inicial
      	inteiro soma
      	inteiro soma_sorteia
      	inteiro n
      	
      	//ATRIBUICAO
      	
      	i = 1
      	soma = 0
      	soma_sorteia = 1
      	valor_inicial = 1
      	
      	escreva("\nQuantos numeros voce quer que sorteie: ")
      	leia(n)
      	escreva("----------------------------------------")
      		enquanto(i <= n){
      		   soma_sorteia = u.sorteia(valor_inicial, n)            //Anotacoes: Tem que ter uma variavel que receba um valor de sorteia, que sao: valor minimo e maximo
      		                                                         //exempleo temos Valor_inicial = 0 e o n valendo o valor digitado por usuario.
      		                                                         
      			soma = soma + soma_sorteia                       // A soma aqui recebe ele mesmo e o valor minimo e maixo. neste caso: Valor_inicial e n
      			escreva("\nO " , i , " valor sorteado: ", soma_sorteia)
      			i++
      		}
      	escreva("\n------------------------------------------")
      	escreva("\nSomando todos os valores, temos: ", soma)
      		
      	}
      }
    • #102357
      Marcos Missone
      Participante

      Boa Noite
      Tenho Dificuldade nas condicoes se, os calculos estao dando errado
      peco o vosso analise.

      Cpts

      programa
      {
      /*
      		EXERCICIOS 032 - SOMA PAR E IMPAR
      */
      	//
      inclua biblioteca Tipos --> t
      	funcao inicio()
      	{
      	//VAR
      
      	inteiro cont
      	inteiro s
      	inteiro soma2
      	inteiro num
      
      	//ATRIBUCAO 
      
      	cont = 1
      	s = 0
      	soma2 = 0
      	
      	//ITERACAO
      	
      	enquanto(cont <= 5){
      		escreva("Digite o " , cont , " valor: ")
      		leia(num)
      
      	se(cont % 2 == 0){
      	s=+num
      	}
      	se(cont %2 == 1 )
      		soma2=+num
      	cont++		
      	}
      	
      	escreva("\nSomando todos pares e: ", s)
      	escreva("\nSomando todos os impares, temos: ", soma2)
      	escreva("\n")	
      	}
      	
      }
    • #102381
      Tutora Jessica
      Moderador

      Ola Marcos,
      Perfeito, você conseguiu resolver o seu problema nesse seu segundo código e fez muito bem em ter começado do zero novamente!!
      Parabéns, continue sempre procurando soluções para seu código 🖖

    • #102382
      Tutora Jessica
      Moderador

      Ola Marcos, para o exercício 32, você precisa se atentar a algumas coisas..
      Você não precisa de 2 SE, você precisa de um SE/SENAO
      o primeiro valor que você pegou no seu SE não deve ser de cont e sim de num, se atente também nos sinais, você coloca =+ (igual ou maior) sendo que deve ser += (maior ou igual), o seu cont++ também deve ficar fora do senao, preste sempre a atenção de como o programa faz a leitura do seu código.
      Vou te mostrar aqui como deve ficar seu código:

      se(num % 2 == 0){
      	s += num
      	}
      	senao{
      		soma2 += num
      			
      	}
      	cont++
    • #102451
      Marcos Missone
      Participante

      Bom dia

      Vou fazer novamente. Muito obrigado pela atenção.
      Cpts

    • #102452
      Marcos Missone
      Participante

      Bom dia

      Remeto novamente Exercício 032 para o vosso analise
      Cpts

      programa
      {/*
      		EXERCICIOS 032 - SOMA PAR E IMPAR
      */
      	//inclua biblioteca Tipos --> t
      	funcao inicio()
      	{
      	//VAR
      
      	inteiro cont
      	inteiro s
      	inteiro soma2
      	inteiro num
      
      	//ATRIBUCAO 
      
      	cont = 1
      	s = 0
      	soma2 = 0
      	
      	//ITERACAO
      	
      	enquanto(cont <= 5){
      		escreva("Digite o " , cont , " valor: ")
      		leia(num)
      
      	se(num % 2 == 0){
      	s += num
      	}senao{
      		soma2 += num
      	}
      	cont++
      	}
      	
      	//RESULTADOS
      	escreva("\n-----------------------------------")
      	escreva("\nSomando todos pares e: ", s)
      	escreva("\nSomando todos os impares, temos: ", soma2)
      	escreva("\n")	
      	}
      	
      }
    • #102470
      Tutora Jessica
      Moderador

      Muito bom Marcos, certinho!!
      Continue assim e bons estudos 🖖

    • #102545
      Marcos Missone
      Participante

      Boa Tarde!

      Muito obrigado

      Cpts

    • #109120
      Roni Oliveira
      Participante
      programa
      {
      	
      inclua biblioteca Util --> u
      	funcao inicio()
      	{
      		escreva("{ Exercicio 33 - numeros sorteados }\n")
      		inteiro sorteio
      		inteiro c = 0
      		inteiro s = 0
      		inteiro res = 0
      		escreva("Quantos numeros vc quer sortear ?")
      		leia(sorteio)
      		enquanto(c <= sorteio){
      			s = u.sorteia(1,10)
      			escreva("\no "+c+"° numeto sorteado é "+s)
      			
      			res = res + s
      			c++
      		}
      		escreva("\n A soma dos numeros sorteados é "+res)
      	}
      }
      
    • #109219
      Tutora Jessica
      Moderador

      Ola Roni, alguma dúvida?

    • #111306

      Estou tendo dificuldade com este exercício , poderiam me ajudar?

      inteiro par, impar, val, tot
      par = 0
      impar = 1
      escreva(“Quantos valores você deseja? “)
      leia(tot)
      enquanto (par != impar){
      se (par % 2 == 0 ou impar % 2 == 1)
      escreva(“\nDigite o 1º valor: “)
      leia(val)
      escreva(“\nDigite o 2º valor: “)
      leia(val)
      escreva(“\nDigite o 3º valor: “)
      leia(val)
      escreva(“\nDigite o 4º valor: “)
      leia(val)
      escreva(“\nDigite o 5º valor: “)
      leia(val)

      par ++
      impar —

      par = val + val
      impar = val + val

      }

      escreva(“\nSomando todos os pares, temos ” + par)
      escreva(“\nSomando todos os impares, temos ” + impar)
      escreva(“\n\n”)
      }
      }

      • #111398

        OPS!!!
        Este cógido não o primeiro. Estou tendo dificuldade com este exercício , poderiam me ajudar?

        funcao inicio()
        {
        inteiro par = 0
        inteiro impar = 0
        inteiro val = 1
        inteiro num

        enquanto ( val <= 5 ){
        escreva(“\nDigite ” + val + ” ° valor: “)
        leia(num)
        se (num % 2 == 0){
        par += num

        } senao{
        impar += num
        }

        val ++
        escreva(“\nSomando todos os pares, temos ” + par)
        escreva(“\nSomando todos os impares, temos ” + impar)

        escreva(“\n\n”)
        }
        }
        }

    • #111418
      Tutora Jessica
      Moderador

      Ola Miguel, qual a sua dificuldade? Me explique melhor..
      Você deu uma olhada nas explicações acima?

      • #111448

        Quando executo o programa lê todos esses:
        ” escreva(“\nSomando todos os pares, temos ” + par) ”
        ” escreva(“\nSomando todos os impares, temos ” + impar) ”
        Em cada número que eu digito.

        Dei sim uma olhada nas explicações.

    • #111481
      Tutora Jessica
      Moderador

      Ola Miguel o seu contador deve estar dentro do seu enquanto.
      As aspas do seu enquanto deve ser fechada depois do contador, antes escreva, dessa forma:

      enquanto ( val <= 5 ){
      escreva("\nDigite " + val + " ° valor: ")
      leia(num)
       se (num % 2 == 0){
            par += num
      
      } senao{
            impar += num
      }
      
      val ++
      }
    • #113310

      programa
      {
      inclua biblioteca Util –> u
      funcao inicio()
      {
      inteiro n1 = 1
      inteiro n2 = 1
      inteiro t = 1
      inteiro n3

      escreva(“Quantos números você quer que eu sorteie? “)
      leia(n1)
      escreva(“——————————————-\n”)

      enquanto ( n2 <= n1){
      n3 = u.sorteia(1, 10)
      escreva(“O “, n2,”º valor sorteado foi “, n3,”\n”)
      n2 += n2

      t += n3
      u.aguarde(500)
      }
      escreva(“——————————————-\n”)
      escreva(“Somando todos os valores, temos “, t)
      }
      }

      Poderia conferir qual o erro do meu codigo, ele não está lendo todos os números pedidos.

    • #113330
      Tutora Jessica
      Moderador

      Ola Matheus, trouxe a sua dúvida para uma dúvida já existente no fórum, observe as explicações acima e veja se cabe a sua dúvida.
      Caso ainda fique com dificuldade retorne ao fórum que iremos lhe ajudar. 🖖

Visualizando 30 respostas da discussão
  • Você deve fazer login para responder a este tópico.