Skip to article frontmatterSkip to article content
Início

Problema norteador

Authors
Affiliations
PROFMAT, Universidade Federal do Cariri
PROFMAT, Universidade Federal do Cariri

Desenvolva um código que receba uma amostra quantitativa (uma lista de números) e realize as seguintes tarefas:

  • Exiba os elementos dessa amostra em ordem crescente;
  • Calcule e exiba o valor da média;
  • Calcule e exiba o valor da mediana;

Definição das funções e estruturas necessárias

  • println
    Função usada para exibir mensagens ou resultados na tela, imprimindo texto ou valores e pulando para a linha seguinte.

  • readline()
    Função que lê uma linha de entrada digitada pelo usuário no terminal, retornando uma string.

  • parse
    Função que converte uma string (texto) em outro tipo de dado, como um número inteiro ou decimal. Útil para transformar a entrada do usuário, que é texto, em números para cálculos.

  • Vector
    Estrutura de dados que armazena uma sequência ordenada de elementos do mesmo tipo (como números). No problema, será usada para guardar os valores da amostra quantitativa.

  • undef indica que o vetor é criado com posições não inicializadas, que serão preenchidas posteriormente.

  • sort()
    Função que ordena os elementos de um vetor, geralmente em ordem crescente.

  • sum()
    Função que calcula a soma de todos os elementos de um vetor numérico.

  • length()
    Função que retorna a quantidade de elementos existentes em um vetor.

  • for
    Comando que permite executar repetidamente um bloco de código para cada elemento de uma coleção ou intervalo, muito útil para percorrer os valores da amostra e realizar operações, como contagem de frequências.

Versão inicial do código


# Primeira etapa da construção do código
println(repeat("*", 40))
println("* Calculadora de Tendências Centrais *")
println(repeat("*", 40))

# Coleta e armazena os dados no vetor
println("Informe a quantidade de números:")
n = parse(Int, readline())
x = Vector{Float64}(undef, n)  # Cria um vetor com n posições não inicializadas

for i in 1:n
    println("Informe o $(i)º número:")
    x[i] = parse(Float64, readline())
end

# Calcula e exibi os resultados
x_ordenado = sort(x)
total = sum(x)
media = round(total / n, digits=2)

println("\n--- Resultados ---")
println("Números informados em ordem crescente: ", x_ordenado)
println("Quantidade de números informados: ", length(x))
println("Soma dos números da sequência: ", total)
println("Média da sequência: ", media)
**************************************
*  Calculadora de Tendências Centrais  *
**************************************
Informe a quantidade de números:
stdin> 3
Informe o 1º número:
stdin> 4
Informe o 2º número:
stdin> 6
Informe o 3º número:
stdin> 7

--- Resultados ---
Números informados em ordem crescente: [4.0, 6.0, 7.0]
Quantidade de números informados: 3
Soma dos números da sequência: 17.0
Média da sequência: 5.67