Jump to content

Recommended Posts

Posted (edited)

Alguem me consegue ajudar a fazer este programa ou dar ideias?

Implemente um programa em Python que leia dados sobre os recipientes disponíveis, nas linhas

(nome; capacidade) de um ficheiro recipientes.txt, com formato idêntico ao exibido ao

lado. Deve mostrar uma janela onde o funcionário pode inserir o volume de leite solicitado e, ao

carregar num botão, ver a sugestão que o programa dá para minimizar as operações. O programa continua em

funcionamento, respondendo ciclicamente para cada valor inserido na interface gráfica. Se o seu algoritmo não encontrar

uma solução, deve mostra uma mensagem com “Não sei”. A janela deve ter um segundo botão “Terminar”, que

interrompe o serviço, e então o programa termina.

Os dados sobre recipientes devem ser lidos uma vez só, no arranque do programa. Os valores indicados são apenas

exemplos. Pode haver mais recipientes, com capacidades superiores ou inferiores. Eventualmente, alguns recipientes

podem ter a mesma capacidade. Dependendo dos recipientes, pode não conseguir encontrar uma solução (exemplo: 1 l

com um só jarro cuja capacidade seja superior a 1 l).

Na contagem de operações, a ordem não importa (5+1=1+5), mas ao mostrar os resultados, procure apresentar as

operações por ordem decrescente de volume, sempre que possível.

Assegure a existência de funções para:

• carregar dados sobre recipientes

• gerar um conjunto de operações (encher ou despejar de uma origem para um destino)

• medir o volume de leite entregue num conjunto de operações com recipientes

• escrever cada resultado (lista de operações) no ficheiro output.txt

# recipientes.txt

Edited by Read_Mynd
Posted

Após tantos problemas a tentar publicar aqui, consegues violar as Regras do Fórum logo no primeiro tópico.

2. Tópicos e mensagens:

3. Não é permitida a criação de tópicos ou colocação de mensagens a pedir que se façam trabalhos. Pedir ajuda é diferente de pedir trabalhos feitos. Em caso de incumprimento o staff pode bloquear, ou mesmo apagar, o tópico/mensagem.

in Regras do Fórum

"Dar ideias" é uma coisa vaga, "ajudar a fazer este programa" é o que nós fazemos por cá, mas tens de apresentar aquilo que já tentaste fazer.

Knowledge is free!

Posted

peço desculpa, mas n me apercebi dessa regra, mas tambem não é minha ideia que me façam o trabalho apenas umas ideias ou uma ajuda para o fazer, pois não sei bem por onde começar, mas quando tiver algo posto aqui.

Posted

Bem o trabalho que apresentaste tem tantas fases que é de facto necessário que indiques exactamente quais delas te trazem mais dificuldades. Tentando discernir quais são essas fases:

a) Escolher a biblioteca de interface gráfico e utilizá-la (não indicaste qual era).

b) Leitura de ficheiros (funções open, close, readlines, assumo eu que pretendes usar listas).

c) Optimização dos recipientes (assumo que a optimização seja pelo menor número de recipientes para o mesmo volume mas também não está implicito no teu enunciado além que acho que não percebi o exemplo que deste).

d) Registo da operação executada (o registo para ficheiro em si não é dificil mas a definição do que é o registo em si é que tenho dificuldade em perceber).

Sugiro que comeces do mais geral para o mais particular.

1) Construas o interface (depois de estar feito é facil fazer o bind para leitura de ficheiros).

2) Metas lá a função para ler ficheiros.

3) Construir as tais funções de optimização e escolha (nesta parte não compreendi bem o é suposto acontecer, acho eu...)

4) Depois do passo 3) estar feito, escrever o resultado para um ficheiro será bastante fácil suponho eu.

Vai metendo aqui os bocados de código que vais fazendo que com certeza os participantes deste forum, consoante disponibilidade e conhecimentos nessa área, te irão ajudar.

  • 2 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.