Exercício de Aplicação: Análise de Lotes de Medicamentos com Alertas

Author

Jean Resende

Cenário

Você trabalha em um controle de qualidade de uma indústria farmacêutica e precisa revisar os resultados de pureza de diferentes lotes de um mesmo medicamento. Para cada lote, você tem um valor de pureza percentual. Seu trabalho é verificar cada lote e classificá-lo, além de emitir um alerta se a pureza estiver abaixo de um limiar crítico.

Dados

Você tem os seguintes valores de pureza para 10 lotes (em porcentagem):

pureza_lotes <- c(98.5, 95.1, 99.0, 93.7, 97.2, 96.0, 
                  99.5, 94.8, 92.0, 97.5)

Instruções para o Exercício

Seu objetivo é escrever um código em R que:

  1. Defina um limiar de pureza aceitável (vamos usar 95.0%).

  2. Use um laço for para iterar (passar um por um) por cada valor de pureza no vetor pureza_lotes.

  3. Dentro do laço, para cada valor de pureza:

    • Use uma estrutura condicional (if-else) para verificar se a pureza do lote está acima ou igual ao limiar aceitável.

    • Se a pureza for TRUE (igual ou acima do limiar), imprima a mensagem: "Lote X: Pureza de Y% - Aprovado"

    • Se a pureza for FALSE (abaixo do limiar), imprima uma mensagem de ALERTA: "Lote X: Pureza de Y% - REPROVADO! Atenção, abaixo do limite!"

    • Substitua X pelo número do lote (1 a 10) e Y pelo valor da pureza do lote.

Dica: Para pegar o número do lote (X), você pode usar a variável do seu laço for se estiver iterando pelos índices (ex: for (i in 1:length(pureza_lotes))).

Saída Esperada

Lote 1: Pureza de 98.5% - Aprovado Lote 2: Pureza de 95.1% - Aprovado Lote 3: Pureza de 99% - Aprovado Lote 4: Pureza de 93.7% - REPROVADO! Atenção, abaixo do limite! Lote 5: Pureza de 97.2% - Aprovado Lote 6: Pureza de 96% - Aprovado Lote 7: Pureza de 99.5% - Aprovado Lote 8: Pureza de 94.8% - REPROVADO! Atenção, abaixo do limite! Lote 9: Pureza de 92% - REPROVADO! Atenção, abaixo do limite! Lote 10: Pureza de 97.5% - Aprovado

Gabarito

# Gabarito do Exercício: Análise de Lotes de Medicamentos com Alertas

# Dados fornecidos:
pureza_lotes <- c(98.5, 95.1, 99.0, 93.7, 97.2, 96.0, 
                  99.5, 94.8, 92.0, 97.5)

# 1. Defina o limiar de pureza aceitável
limiar_pureza <- 95.0

# 2. Use um laço 'for' para iterar sobre os lotes
# Itera sobre os índices do vetor, de 1 até o número total de elementos
for (i in 1:length(pureza_lotes)) {
  
  # Acessa o valor da pureza para o lote atual usando o índice 'i'
  pureza_atual <- pureza_lotes[i]
  
  # 3. Use uma estrutura condicional (if-else) para verificar a pureza
  if (pureza_atual >= limiar_pureza) {
    # Se a pureza for igual ou acima do limiar
    print(paste("Lote", i, ": Pureza de", pureza_atual, "% - Aprovado"))
  } else {
    # Se a pureza for abaixo do limiar
    print(paste("Lote", i, ": Pureza de", pureza_atual, "% - REPROVADO! Atenção, abaixo do limite!"))
  }
}
[1] "Lote 1 : Pureza de 98.5 % - Aprovado"
[1] "Lote 2 : Pureza de 95.1 % - Aprovado"
[1] "Lote 3 : Pureza de 99 % - Aprovado"
[1] "Lote 4 : Pureza de 93.7 % - REPROVADO! Atenção, abaixo do limite!"
[1] "Lote 5 : Pureza de 97.2 % - Aprovado"
[1] "Lote 6 : Pureza de 96 % - Aprovado"
[1] "Lote 7 : Pureza de 99.5 % - Aprovado"
[1] "Lote 8 : Pureza de 94.8 % - REPROVADO! Atenção, abaixo do limite!"
[1] "Lote 9 : Pureza de 92 % - REPROVADO! Atenção, abaixo do limite!"
[1] "Lote 10 : Pureza de 97.5 % - Aprovado"