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).
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")