0 estoque de produtos de uma empresa está armazenado no arquivo estoque.txt contendo os seguintes dados: número do produto (int), quantidade em estoque (int), preço unitário (float) e quantidade mínima (int). Escrever um programa que grava no arquivo compras.txt a relação de compra dos produtos, ou seja, a lista de todos os produtos cuja quantidade em estoque é menor do que a quantidade mínima. As linhas do arquivo compras.txt devem conter os seguintes dados, para cada um dos produtos a serem comprados: número do produto (int), quantidade a comprar de modo a recompor a quantidade mínima (int) e valor da compra (float).

Passo 1

A questão trata de processamento de arquivo texto em que temos um arquivo estoque.txt contendo, em cada linha, quatro campos: número do produto (int), quantidade em estoque (int), preço unitário (float) e quantidade mínima (int). O objetivo é gerar um segundo arquivo compras.txt com todos os produtos cujo estoque atual é menor que o mínimo, informando número do produto, quantidade a comprar (para atingir o mínimo) e valor total da compra. Vamos usar leitura e escrita de arquivo, laço de repetição e teste condicional.

Passo 2

Abrir o arquivo estoque.txt em modo leitura e criar o arquivo compras.txt em modo escrita. Em Python, por exemplo, usamos open(‘estoque.txt’,‘r’) para ler e open(‘compras.txt’,‘w’) para gravar.
Percorrer arquivo estoque.txt linha a linha. Para cada linha, usar split() para extrair as quatro variáveis: produto, qtd_estoque, preco_unitário e qtd_mínima. Converter cada campo para o tipo adequado (int ou float).

Passo 3

Fazer a verificação: se qtd_estoque < qtd_mínima, calcular quantidade_a_comprar = qtd_mínima - qtd_estoque e valor_da_compra = quantidade_a_comprar * preco_unitário.

Passo 4

Caso o item precise ser comprado, escrever no compras.txt uma linha formatada com número do produto, quantidade_a_comprar e valor_da_compra (por exemplo, usando f-string para controlar casas decimais). Após o laço, fechar ambos os arquivos.

Resposta

Exemplo de programa em Python:
with open('estoque.txt', 'r') as estoque, open('compras.txt', 'w') as compras:
    for linha in estoque:
        # Extrai campos da linha
        campos = linha.split()
        produto = int(campos[0])
        qtd_estoque = int(campos[1])
        preco_unitario = float(campos[2])
        qtd_minima = int(campos[3])
        
        # Verifica se precisa comprar
        if qtd_estoque < qtd_minima:
            quantidade_a_comprar = qtd_minima - qtd_estoque
            valor_da_compra = quantidade_a_comprar * preco_unitario
            # Grava no arquivo compras.txt
            compras.write(f"{produto} {quantidade_a_comprar} {valor_da_compra:.2f}\n")

Exercícios relacionados