Ex039 – módulo 03 – programação básica

Home Fóruns Programação Básica Ex039 – módulo 03 – programação básica

Visualizando 5 respostas da discussão
  • Autor
    Posts
    • #155091

      Boa tarde! Tive uma pequena dúvida na resolução desse exercício.
      O contador foi igualado a zero e não a 1. Pode me explicar o porquê?

      inclua biblioteca Tipos –> t
      inclua biblioteca Matematica –> m
      funcao inicio()
      //variáveis
      {
      inteiro num = 0
      inteiro c = 0
      inteiro soma = 0
      inteiro tot = 0// total de numeros digitados começa em 0
      inteiro maior = 0
      real m
      escreva(“\n———————————-“)
      enquanto (num != 9999) {
      escreva(“\n”, c, “º VALOR [Digite 9999 para encerrar] “)
      escreva(“\nNÚMERO: “)
      leia(num)
      escreva(“\n———————————-“)
      se (num != 9999) {
      soma = soma + num
      tot = tot + 1
      se (c == 0) {
      maior = num
      } senao {
      se (num > maior) {
      maior = num
      }
      }
      c = c + 1
      }
      }
      m = t.inteiro_para_real(soma)/t.inteiro_para_real(tot)
      escreva(“\n=========================================”)
      escreva(“\nAo todo foram digitados “, tot, ” valores”)
      escreva(“\nA soma entre esses valores é “, soma)
      escreva(“\nA média entre eles é ” + m.arredondar(m, 2))
      escreva(“\nO maior valor digitado foi “, maior)

      }

      }

    • #155094
      Tutora Jessica
      Moderador

      Ola Isabela, esse exercício segue a mesma lógica que expliquei a você sobre o exercício 35.

      Segue o link :
      https://www.estudonauta.com/foruns/topic/exercicio-035-modulo-03-programacao-basica/#post-154914

      Já c = 0 é diferente de c == 0

      *Atribuição (c = 0)*

      c = 0 é uma atribuição, onde o valor 0 é atribuído à variável c.
      – É uma operação que altera o valor de c para 0.

      *Comparação (c == 0)*

      c == 0 é uma comparação, onde o valor de c é comparado com 0.
      – É uma operação que verifica se o valor de c é igual a 0 e retorna um valor booleano (verdadeiro ou falso).

      Você quem esta fazendo o código ? Você tambem pode testar iniciando o contador para você analisar a diferença que da no seu código quanto a iniciar com zero ou um, mas no fórum eu deixei na explicação do exercício 35 (link acima) a diferença entre iniciar com zero ou com 1 .

      Aguardo seu retorno sobre a pergunta acima 🖖🏼

      • Esta resposta foi modificada 1 mês, 2 semanas atrás por Tutora Jessica.
      • Esta resposta foi modificada 1 mês, 2 semanas atrás por Tutora Jessica.
    • #155133

      Boa tarde! Acho que você não entendeu a minha dúvida ou talvez não expliquei direito.
      Refiz o código e ainda não entendi o motivo, pois em minha mente por considerar o número como sendo o primeiro o contador seria igualado a 1.
      Isso me confunde… já revi as aulas, mas me confundo em alguns casos para saber se igualamos o contador a zero ou a 1.
      Nesse código eu queria entender o porque de ser (num == 0) e não (num == 1).
      Foi igualado a zero por ser o primeiro número não é? mas não deveria ser igualado a 1 esse contador?
      Queria entender também o motivo de lá embaixo termos usado a condição aninhada se. Podemos usar um se dentro do se? (marquei com —- ali no código para ficar fácil de visualizar) e senao se não seria apenas em casos de acima de 1 condições?

      inclua biblioteca Tipos –> t
      inclua biblioteca Matematica –> m
      funcao inicio()
      {
      inteiro num = 0, total = 0, soma = 0, maior = 0
      real media = 0.0
      inteiro c = 1
      escreva(“\n—————————————-“)
      enquanto (num != 9999) {// flag
      escreva(“\n”, c, ” º VALOR [Digite 9999 para encerrar] “)
      escreva(“\n—————————————-“)
      escreva(“\nNÚMERO: “)
      leia(num)
      escreva(“\n—————————————-“)
      se (num != 9999) {
      total = total + 1
      soma = soma + num
      se (num == 0) { ————————————————————–> se dentro de outro se
      maior = num
      } senao {
      se (num > maior) { ——————————————–> por que aqui usamos senao se se
      nos casos onde temos mais de 2 condições?
      maior = num
      }
      }
      }

    • #155142
      Tutora Jessica
      Moderador

      Olá Isabela, em alguns videos o professor Guanabara explica exatamente como funciona a lógica dos programas utilizados, o computador inicia qualquer contagem em 0, o que pode ocorrer algum erro por exemplo se você quiser contar até 10 (começando do zero ficaria : 0, 1 , 2 , 3 ,4 , 5 , 6 , 7 , 8 , 9. Totalizando 10 elementos dentro do array), portanto nesse caso você precisaria iniciar sua variável com 1 para que a contagem de elementos ficasse correta.

      Por que num == 0 e não num == 1?

      Quando num é igual a 0, é o primeiro número digitado, e ele é considerado o maior até que outro número seja digitado.

      Por que usar um se dentro de outro se?

      Sim, isso é chamado de “condição aninhada”.

      Nesse caso, o primeiro se verifica se num é diferente de 9999. Se for, então o programa executa o bloco de código dentro desse se.

      Dentro desse bloco, há outro se que verifica se num é igual a 0. Se for, então o programa considera esse número como o maior.

      Por que usar senao se em vez de apenas se?

      O senao se é usado quando você tem mais de uma condição para verificar, e você quer executar um bloco de código específico para cada condição.

      Nesse caso, o senao se é usado para verificar se num é maior que o maior atual. Se for, então o programa atualiza o maior.

      Se você usasse apenas se em vez de senao se, o programa executaria o bloco de código para atualizar o maior mesmo que num não seja maior que o maior atual.

      Espero que isso tenha ajudado a esclarecer suas dúvidas, realmente pelos vídeos entendo que seja a forma mais fácil de explicar com mais clareza, por esse motivo sempre estou trazendo alguns links de explicações de módulos passados para tentar que fique mais fácil seu entendimento, o ideal realmente seria você refazer o módulo anterior, pois você esta tendo dúvidas que são comuns (todos tem) que a primeira indicação que o professor Guanabara da é que reveja alguns videos anteriores, isso acontece com todos por falta de entendimento ou até mesmo esquecimento. Mas caso se sinta mais a vontade com explicações por escrito estamos aqui para tentar ajudar sempre da melhor forma. 🖖🏼

    • #155161

      Oi, boa tarde! Obrigada pela explicação. Vi disse que quando num é igual a 0, é o primeiro número digitado, mas o Guanabara esteve usando o contador igualado a 1 nos exercícios anterio para quando fosse o primeiro número…

    • #155162
      Tutora Jessica
      Moderador

      Ola Isabela, conseguiu sanar sua duvida com essa explicação?

      O video que digo foi o que deixei para você na duvida anterior que seria praticamente a mesma em questão do contador.. la do módulo 2 que ele da uma explicação didática inclusive com demonstrações desenhadas em tela, você lembra desse?

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