Jump to content

1º Trabalho em C para a faculdade


sportal

Recommended Posts

o meu problema foi que entrei agora em Janeiro arranjei vaga e tenho um trabalho para entregar hoje até à meia noite 🙂 tipo missão impossível 😛 tenho andado a ler os apontamentos dos meu colegas e não consigo lá chegar.

Precisava de alguém com muita paciência e que aceitasse o pdf onde esta o trabalho e me orientasse por alto o que fazer.

Link to comment
Share on other sites

Pretende-se implementar um programa que indique um modo de gravar, em cassetes de video, um conjunto de filmes com durações dadas, por forma a minimizar o número de cassetes utilizadas.

Dados: Tempo de gravação de uma cassete de vídeo (em minutos), número de filmes e duração de cada um em minutos.

1. Defina estruturas de informação apropriadas para resolver este problema, incluindo as variáveis simples que vai utilizar.

2. Defina uma função com o protótipo "void ler_dados(void);" que lê os dados (no formato descrito no exemplo dado da entrada padrão).

3. Defina uma função com o prótotipo "void resultado_cassetes(void);" que imprime o número de cassetes utilizadas bem como os filmes gravados em cada cassete.

4. Uma primeira estratégia muito simples ("first-fit") consiste em considerar os filmes um a um pela ordem que são dados e gravar cada filme na primeira cassete em que couber, ou numa nova cassete se não couber em nenhuma. Suponhamos, por exemplo, que num certo momento já foram utilizadas 5 cassetes e que os seus tempos livres são de respectivamente 60.40.100.10 e 80 minutos. Se o filme seguinte tem a duração de 70 minutos é gravado na cassete 3 (tempo livre 100); se tivesse a duração de 120 minutos, seria gravado numa nova cassete (e passariam a haver 6 cassetes utilizadas). Para a implementação desta estratégia:

a. Defina estruturas de informação apropriadas.

b. Escreva uma função com o prótotipo "void colocaff(int nfilme);" que "grava" o filme número "nfilme" na cassete correspondente ao "first-fit"

c. Complere o seu programa, definindo estruturas de informação, escrevendo a função "main", etc..

5. Outra estratégia ("best-fit") consiste em considerar os filmes um a um pela ordem que são dados e gravar cada filme na cassete com o menor tempo livre onde o filme cabe, ou numa nova cassete se não couber em nenhuma. Para o exemplo da alínea anterior, um filme de 35 minutos seria gravado na cassete 2 ( a qual ficaria com 5 minutos livres). Escreva uma função com o pr´totipo "voi colocabf(int nfilme);" que "grava" o filme número "nfilme" na cassete correspondente ao best-fit".

6. Mostre que nem o "first-fit" nem o "best-fit" são estratégias óptimas, através de um exemplo em que existe uma gravação em menos cassetes do que a que resulta da aplicação dessas estratégias.

7. Defina uma função com o prótotipo "voi resultado_filmes(void);" que imprime todos os filmes gravados, a sua duração e a cassete onde cada filme está gravado.

8. Escreva uma função com o prótotipo "void ordena_filmes(int tipo_ordenação);" que ordena o vector de filmes segundo a sua duração. Se o parâmetro tipo_ordenação for igual a CRESCENTE a ordenação será por duração crescente, enquanto que para ordenação decrescente o parâmetro deve ser igual a DECRESCENTE. CRESCENTE E DECRESCENTE são constantes.

9 Modifique a função "main" de forma a que a saída do programa mostr, depois da indicação das cassetes onde está gravado cada filem, uma lista de filme ordenados por ordem crescente da sua duração.

Link to comment
Share on other sites

Afinal houve um prolongamento até amanhã às 17h, se existir alguma pessoa que o consiga fazer ficarei extremamente grato, podendo inclusive oferecer alguns descontos numa marca de electrodomésticos conceituada no mercado, obrigado.

Sim claro, nos vamos fazer o teu trabalho...  🙂

Lê as regras do fórum sff, não podes pedir este tipo de coisas.

Tópico bloqueado.

"Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • 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.