Q. 1 (6.00) - Um aluno de iniciação científica da EST do curso de Engenharia foi a uma fábrica do Polo Industrial efetuar mediçōes para sua pesquisa. Ele observou vários funcionários montando uma certa quantidade de dispositivos eletrônicos, e tomou nota da quantidade produzida e da duraçāo de tempo para produção por cada funcionário. Você deve ajudá lo, projetando um algoritmo para processar as medições observadas. Seu algoritmo recebe como entrada vários valores de cada medição (quantidade de peças e tempo) e, até que o tempo informado seja menor que zero (quantidade de peças correspondente não deve ser considerada), informe:
  • Quantidade de pegas produzidas por unidade de tempo;
  • Maior quantidade de peças que um funcionário produziu. Informe também o tempo que este funcionário gastou;
  • Quantidade total de peças produzidas;
  • Quantidade de mediçōes realizadas pelo aluno.

Passo 1

Beleza, aqui o que a questão pede é a criação de um algoritmo que receba várias medições – cada medição vem com “quantidade de peças” e “tempo gasto” – e pare de ler quando o tempo for negativo (essa última medição não entra nos cálculos). No fim, o programa deve informar:
  1. A taxa de produção (peças por unidade de tempo) para cada medição;
  2. Qual foi a maior quantidade de peças produzidas por um funcionário e quanto tempo ele levou;
  3. Quantas peças foram produzidas no total;
  4. Quantas medições o aluno fez.
Conteúdo envolvido: variáveis, inicialização, laço de repetição (while), condicionais (if), acumuladores e comparadores.

Passo 2

Primeiro, vamos definir e inicializar nossas variáveis. Isso é essencial porque, em programação, usar variável sem valor inicial pode dar ruim.
• pecas: inteiro (número de peças lidas em cada medição)
• tempo: real (tempo gasto nessa medição)
• taxa: real (vamos guardar a razão peças/tempo)
• totalPecas: inteiro, começa em 0, vai acumulando todas as peças
• contador: inteiro, começa em 0, conta quantas medições válidas já rolaram
• maxPecas: inteiro, começa em 0, vai marcar a maior produção
• tempoMax: real, tempo correspondente à maior produção
Teoria rápida: uma variável é um espaço na memória; inicializar significa dar um valor de partida (tipo 0 ou vazio) para evitar lixo de memória.

Passo 3

Agora, a lógica do laço de repetição. A gente vai ler as duas entradas (pecas e tempo) e, enquanto tempo ≥ 0, processa; quando tempo < 0, interrompe.
Dentro do laço:
  1. Calcula a taxa usando a fórmula taxa ;=; pecastempo
  2. Imprime essa taxa.
  3. Atualiza o total de peças:
    totalPecas ← totalPecas + pecas
  4. Incrementa o contador de medições:
    contador ← contador + 1
  5. Verifica se essa medição bateu o recorde de peças:
    se pecas > maxPecas então
    maxPecas ← pecas
    tempoMax ← tempo
    fim se
Teoria extra:
  • O laço while (ou “enquanto”) repete um bloco de código enquanto a condição for verdadeira.
  • Um acumulador (como totalPecas) serve para somar vários valores sequenciais.
  • O comparador > nos ajuda a achar máximos.

Passo 4

Quando o while terminar (porque lemos um tempo negativo), já temos:
totalPecas com a soma de todas as peças válidas,
contador com quantas medições rolaram,
maxPecas e tempoMax apontando o maior produtor e seu tempo.
Só falta exibir esses quatro resultados finais.

Resposta

Pseudocódigo completo em estilo amigão:
Algoritmo ProcessoDeMedições
  // 1. Inicialização
  totalPecas ← 0
  contador   ← 0
  maxPecas    ← 0
  tempoMax    ← 0.0

  // 2. Primeira leitura
  leia(pecas, tempo)

  // 3. Loop principal
  enquanto tempo ≥ 0 faça
    // 3.1. Cálculo da taxa
    taxa ← pecas / tempo    // fórmula: taxa = pecas ÷ tempo
    escreva("Taxa de produção: ", taxa)

    // 3.2. Atualiza acumuladores
    totalPecas ← totalPecas + pecas
    contador   ← contador + 1

    // 3.3. Verifica recorde de produção
    se pecas > maxPecas então
      maxPecas ← pecas
      tempoMax ← tempo
    fim se

    // 3.4. Nova leitura pra checar condição de parada
    leia(pecas, tempo)
  fimenquanto

  // 4. Saídas finais
  escreva("Maior produção: ", maxPecas, " peças em ", tempoMax, " unidades de tempo")
  escreva("Total de peças produzidas: ", totalPecas)
  escreva("Número de medições realizadas: ", contador)
FimAlgoritmo

Exercícios relacionados