Ir para o conteúdo

Aula 11 - Exercício de lógica de programação

Questão#

Escreva um programa em que o usuário irá informar três números INTEIROS, a, b e c consecutivamente e você deverá mostrar ao usuário qual é o maior e o menor número.

Exemplo#

$ A: 10
$ B: 1
$ C: 5

MAIOR: 10
MENOR: 1


$ A: 10
$ B: 19
$ C: 30

MAIOR: 30
MENOR: 10

Solução#

Para este problema existem diferentes formas de resolver, a resolução abaixo é apenas uma delas.

solucao.alg
algoritmo "verifica"
var

a, b, c, maior, menor: inteiro

inicio
    escreva("A: ")
    leia(a)
    escreva("B: ")
    leia(b)
    escreva("C: ")
    leia(c)

    se (a >= b) e (b >= c) entao
        maior <- a
        menor <- c
    senao
        se (a >= c) e (c >= b) entao
            maior <- a
            menor <- b
        senao
            se (b >= a) e (a >= c) entao
                maior <- b
                menor <- c
            senao
                se (b >= c) e (c >= a) entao
                    maior <- b
                    menor <- a
                senao
                    se (c >= a) e (a >= b) entao
                        maior <- c
                        menor <- b
                    senao
                        maior <- c
                        menor <- a
                    fimse
                fimse
            fimse
        fimse
    fimse

    escreval("MAIOR: ", maior)
    escreval("MENOR: ", menor)
fimalgoritmo

Momento reflexão

Se você tivesse que comparar 100 valores, como faria? E se fossem 500 valores? Será que existe forma melhor de encontrar o maior e menor valor?

Aula em vídeo#

Caso prefira também existe o conteúdo em forma de vídeo

Desafios#

Caso queira treinar um pouco mais você pode ver o(s) seguinte(s) enunciado(s):