...collaborate on

Trabalho Prático Nº1

Objectivos e Organização

Este trabalho prático tem como principais objectivos:

  • familiarização com o computador em ambiente linux, e com algumas ferramentas de apoio à programação, tais como um editor vi/emacs;
  • iniciação à codificação, na linguagem imperativa C, das estruturas de dados e dos algoritmos concebidos e à execução e teste e dos programas escritos;
  • introdução à documentação dos projectos de programação realizados usando o processador LaTeX.

Para o efeito, esta folha contém seis enunciados, dos quais deverá resolver dois (poderá resolver mais mas só dois serão avaliados).

O relatório a elaborar, deve ser claro e sucinto e, além do respectivo enunciado e da descrição do problema, deverá conter exemplos de utilização e o código do programa.

Como foi dito, o relatório terá de ser escrito em LaTeX sugerindo-se que adoptem o esqueleto proposto que pode ser descarregado a partir da página principal dos trabalhos práticos.


Enunciados

O Adivinho

Escreva um programa em C que adivinhe um número (a chave) entre 1 e 100 escolhido pelo utilizador.

Em cada tentativa, programa palpita um número e o utilizador indica se acertou, ou então se é maior ou menor que a chave.

O jogo prossegue até o computador acertar, ou até se atingir um número N (dado) de tentativas.


O Adivinho Sofisticado

Escreva um programa em C que escolha (use o gerador de números aleatórios da linguagem C, rand()) um número (a chave) entre 1 e 100 que terá de ser adivinhado pelo utilizador.

Em cada tentativa, o utilizador introduz o número palpitado e o computador indica se acertou, ou então se é maior ou menor que a chave.

O jogo prossegue até o utilizador acertar, ou até atingir um número N (dado) de tentativas.


O Sabichão Matemático

Escreva um programa em C que escolha (use o gerador de números aleatórios da linguagem C, rand()) dois números (os operandos) entre 0 e 10 e, depois de os mostrar ao utilizador, pergunte o valor do produto.

Ao fim de N (dado) de tentativas, o computador indica o número de vezes que o utilizador levou para acertar.

Se quiser tornar o seu programa mais interessante, gere também aleatoriamente a operação (adição, multiplicação, subtracção ou divisão) que o utilizador deve fazer.


Dados da Sorte

Escreva um programa em C que simule o lançamento de 2 dados (use o gerador de números aleatórios da linguagem C, rand()) e indique ao fim de quantas jogadas é que ambas as faces sorteadas são iguais (ostentam o mesmo valor).


Dados da Sorte 2

Escreva um programa em C que simule o lançamento de 2 dados (use o gerador de números aleatórios da linguagem C, rand()) e indique ao fim de quantas jogadas é que a soma do valor sorteado em cada dado é um número par.


21 fósforos

Escreva um programa em C que implemente o jogo dos fósforos: no início há 21 fósforos sobre a mesa; em cada jogada, cada jogador deve retirar entre 1 e 4 fósforos, perdendo aquele que retirar o último.

A estratégia ganhadora é o segundo jogador retirar sempre a diferença para 5 do número retirado pelo primeiro jogador.

O seu programa deve dar a escolher ao utilizador qual dos dois começa a jogar e, caso o computador seja o segundo a jogar deverá ganhar sempre, se fôr o primeiro deverá ganhar se o utilizador cometer um erro de estratégia.


-- JoseCarlosRamalho - 27 Feb 2004

r4 - 12 Feb 2007 - 19:53:24 - JoseBacelarAlmeida
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Syndicate this site RSSATOM