Implemente um programa para verificar a possibilidade de produção de uma marcenaria móvel planejada, considerando a disponibilidade de peças de madeira e parafusos necessários para montar cada modelo. A quantidade de peças é armazenada em uma matriz, onde as linhas representam cada modelo:
Peça 1
Peça 2
Peça 3
Móvel 1
10
40
15
Móvel 2
25
20
45
Móvel 3
30
15
30
O total de peças é definido pelo somatório de todos os elementos da matriz e a quantidade de parafusos necessários para produzir todos os móveis é correspondente ao dobro da quantidade total de peças. O programa solicita como entradas do usuário: (a) a matriz de valores inteiros representando as quantidades de peças; (b) um valor inteiro representando a quantidade de parafusos em estoque. Após as entradas, o programa deve processar e imprimir a quantidade total de peças, verificar se é possivel realizar a produção e informar a quantidade de parafusos que sobram ou que faltam.
Para a matriz anterior, a quantidade de peças é
, o que demanda
parafusos. Se a quantidade de parafusos disponivel for 100 (conforme o exemplo de execução 1), não é possivel produzir, pois quantidade de parafusos demandada é maior do que a disponivel, e faltarão
parafusos. Por outro lado, para a mesma matriz, se a quantidade de parafusos disponivel for 500 (conforme o exemplo de execução 2), é possível produzir, pois a quantidade de parafusos demandada é menor do que a disponível, e sobrarão
parafusos. No exemplo de execução 3 , por sua vez, para outra matriz de entrada, é possível produzir, pois a quantidade de parafusos demandada é igual à quantidade de parafusos disponivel.
Sua resposta deve conter as mensagens exatamente como definidas nos exemplos de execução. Não é necessário qualquer validação de dados.
Exemplo de Execução 1:
Informe a matriz de peças:
Informe o estoque de parafusos: 100
A produção precisa de 230 peças e 460 parafusos.
Não é possível produzir, faltam 360 parafusos.
Exemplo de Execução 2:
Informe a matriz de peças:
Informe o estoque de parafusos: 500
A produção precisa de 230 peças e 460 parafusos.
É possivel produzir, sobram 40 parafusos.
Exemplo de Execução 3:
Informe a matriz de peças:
Informe o estoque de parafusos: 3056
A produção precisa de 1528 peças e 3056 parafusos.
É possivel produzir, faltam 0 parafusos.
(a) a matriz de valores inteiros representando as quantidades de peças; (b) um valor inteiro representando a quantidade de parafusos em estoque.
Peça 1 | Peça 2 | Peça 3 | |
Móvel 1 | 10 | 40 | 15 |
Móvel 2 | 25 | 20 | 45 |
Móvel 3 | 30 | 15 | 30 |
Para a matriz anterior, a quantidade de peças é
Sua resposta deve conter as mensagens exatamente como definidas nos exemplos de execução. Não é necessário qualquer validação de dados.
Informe o estoque de parafusos: 100
A produção precisa de 230 peças e 460 parafusos.
Não é possível produzir, faltam 360 parafusos.
Exemplo de Execução 2:
Informe a matriz de peças:
Informe o estoque de parafusos: 500
A produção precisa de 230 peças e 460 parafusos.
É possivel produzir, sobram 40 parafusos.
Exemplo de Execução 3:
Informe o estoque de parafusos: 3056
A produção precisa de 1528 peças e 3056 parafusos.
É possivel produzir, faltam 0 parafusos.
(a) a matriz de valores inteiros representando as quantidades de peças; (b) um valor inteiro representando a quantidade de parafusos em estoque.
Passo 1
O programa deve ler
(a) uma string representando a matriz de peças, no formato linhas separadas por
(b) um inteiro representando o estoque de parafusos
e em seguida calcular:
(a) uma string representando a matriz de peças, no formato linhas separadas por
;
e elementos separados por ,
(b) um inteiro representando o estoque de parafusos
e em seguida calcular:
- total de peças
como a soma de todos os elementos da matriz - parafusos necessários
Depois deve imprimir quantas peças e parafusos são necessários e verificar três casos:
- estoque insuficiente
→ mensagem de não é possível produzir e quantidade que falta - estoque maior
→ mensagem de é possível produzir e quantidade que sobra - estoque igual
→ mensagem de é possível produzir e faltam 0 parafusos
Passo 2
Ler a linha da matriz e separar as linhas por
;
, depois para cada linha separar os números por ,
, converter em inteiro e acumular todos em uma listaPasso 3
Calcular o total de peças
Passo 4
Calcular parafusos necessários
Passo 5
Imprimir a primeira linha de saída com
“A produção precisa de peças e
parafusos.”
“A produção precisa de
Passo 6
Comparar o estoque de parafusos
com
:
- Se
: imprimir
“Não é possível produzir, faltamparafusos.” - Senão se
: imprimir
“É possivel produzir, sobramparafusos.” - Senão
: imprimir
“É possivel produzir, faltam 0 parafusos.”
Resposta
# leitura das entradas
\(matriz_str\) = input("Informe a matriz de peças: ")
estoque = int(input("Informe o estoque de parafusos: "))
# parsing e soma das peças
linhas = \(matriz_str\).split(';')
pecas = []
for linha in linhas:
for num in linha.split(','):
pecas.append(int(num.strip()))
P = sum(pecas)
# cálculo de parafusos necessários
N \(=2\) * P
# saída das necessidades
print(f"A produção precisa de {P} peças e {N} parafusos.")
# verificação de estoque e mensagem final
if estoque < N:
print(f"Não é possível produzir, faltam {N - estoque} parafusos.")
elif estoque > N:
print(f"É possivel produzir, sobram {estoque - N} parafusos.")
else:
print("É possivel produzir, faltam 0 parafusos.")