Exercício 025 – módulo 02 – programação básica

Home Fóruns Programação Básica Exercício 025 – módulo 02 – programação básica

Visualizando 3 respostas da discussão
  • Autor
    Posts
    • #154419

      Olá! Referente ao exercício 025 do módulo 02, fiz de outra maneira e gostaria de saber se está correto.
      programa
      {

      funcao inicio()
      {
      inteiro a, b, c
      inteiro maior, menor, meio
      escreva(“\n—————————————————-“)
      escreva(“\n TRÊS VALORES EM ORDEM “)
      escreva(“\n—————————————————-“)

      escreva(“\nPrimeiro valor: “)
      leia(a)
      escreva(“Segundo valor: “)
      leia(b)
      escreva(“Terceiro valor: “)
      leia(c)
      escreva(“\n—————————————————-“)
      se (a>b e a>c e b>c) {
      escreva(“\nMAIOR: ” + a)
      escreva(“\nINTERMEDIÁRIO: ” + b)
      escreva(“\nMENOR: ” + c)
      } senao se (a>b e a>c e c>b) {
      escreva(“\nMAIOR: ” + a)
      escreva(“\nINTERMEDIÁRIO: ” + c)
      escreva(“\nMENOR: ” + b)
      } senao se (b>a e b>c e c>a) {
      escreva(“\nMAIOR: ” + b)
      escreva(“\nINTERMEDIÁRIO: ” + c)
      escreva(“\nMENOR: ” + a)
      } senao se (b>a e b>c e a>c) {
      escreva(“\nMAIOR: ” + b)
      escreva(“\nINTERMEDIÁRIO: ” + a)
      escreva(“\nMENOR: ” + c)
      } senao se (c>a e c>b e a>b) {
      escreva(“\nMAIOR: ” + c)
      escreva(“\nINTERMEDIÁRIO: ” + a)
      escreva(“\nMENOR: ” + b)
      } senao se (c>a e c>b e b>a) {
      escreva(“\nMAIOR: ” + c)
      escreva(“\nINTERMEDIÁRIO: ” + b)
      escreva(“\nMENOR: ” + a)
      }

      escreva(“\n\n”)

    • #154423
      Tutora Jessica
      Moderador

      Ola Isabela, o seu código apresenta algum erro?
      Caso ele esteja funcionando conforme as regras do enunciado esta correto sim, o importante é conseguir realizar o exercício e ir aperfeiçoando.
      Aqui no fórum você encontra outras duvidas, resoluções e explicações desse mesmo exercício caso queira dar uma olhada .

    • #157131

      Boa noite, estou com muita dificuldade de entender a lógica, exemplo: não consigo compreender o raciocínio de achar as possibilidade que irei deixar com asteriscos sinalizado pra você.

      programa
      {

      funcao inicio()
      {
      inteiro a, b, c
      inteiro maior, menor, meio

      escreva(“Primeiro valor: “)
      leia(a)
      escreva(“Segundo valor: \t”)
      leia(b)
      escreva(“Terceiro valor: “)
      leia(c)

      se **(a > b)** {
      se **( c > a)** {
      maior = c
      meio = a
      menor = b
      }senao se **(c > b)** {
      maior = a
      meio = c
      menor = b
      } senao {
      maior = a
      meio = b
      menor = c
      }
      }senao se **(c > b)** {
      maior = c
      meio = b
      menor = a
      }senao se **(c > a)** {
      maior = b
      meio = c
      menor = a
      } senao {
      maior = b
      meio = a
      menor = c
      Parece bobo, mas pra mim ta sendo uma dificuldade imensa de saber quais combinações são possiveis.

    • #157193
      Tutora Jessica
      Moderador

      Ola Rafael, vou tentar te ajudar com uma explicação passo a passo:

      As partes que você marcou com asteriscos (**(a > b)**) são condições que estão sendo avaliadas para determinar a ordem dos numeros, certo? Vamos a um passo a passo para ajudar na explicação:

      1. se (a > b): Essa condição verifica se a é maior que b. Se for verdadeira, o código dentro desse bloco será executado.

      Agora, as possibilidades dentro desse bloco são:

      se (c > a): Se c for maior que a (e a já é maior que b), então a ordem é c > a > b. Nesse caso, maior = c, meio = a e menor = b.

      senao se (c > b): Se c não for maior que a, mas for maior que b, então a ordem é a > c > b. Nesse caso, maior = a, meio = c e menor = b.

      senao: Se c não for maior que a nem b, então a ordem é a > b > c. Nesse caso, maior = a, meio = b e menor = c.

      2. senao se (c > b): Essa condição é avaliada se a não for maior que b. Se c for maior que b (e b é maior ou igual a a), então a ordem é c > b >= a. Nesse caso, maior = c, meio = b e menor = a.

      3. senao se (c > a): Se c não for maior que b, mas for maior que a, então a ordem é b > c > a. Nesse caso, maior = b, meio = c e menor = a.

      4. senao: Se nenhuma das condições acima for verdadeira, então a ordem é b > a > c não é possível aqui pois se b > a a segunda condição já teria sido verdadeira, então aqui temos b >= c e c <= a e como a <= b temos a = b = c ou b > a e c < a então maior = b, meio = a e menor = c.

      Para entender melhor as combinações possíveis, você pode criar um diagrama de fluxo ou uma tabela com todas as possibilidades. Aqui está uma tabela simples:

      | Condição | Maior | Meio | Menor |
      | — | — | — | — |
      | a > b e c > a | c | a | b |
      | a > b e c > b e c <= a | a | c | b | | a > b e c <= b | a | b | c | | a <= b e c > b | c | b | a |
      | a <= b e c > a e c <= b | b | c | a | | a <= b e c <= a | b | a | c | Espero que isso ajude a esclarecer as coisas! Se tiver mais alguma dúvida, fique à vontade para perguntar.

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