João Araujo
Dr. en Informatique, Université de Versailles, França.

Primeira Prova de Laboratório de Programação 2006/2

Departamento de Sistemas e Computação

Professor: João Araujo

Sueca

(Regras copiadas do site da ”Federação de Sueca”)

Sueca é um jogo de cartas com pontos, jogado no Brasil e Portugal. É muito popular entre estudantes do Rio de Janeiro, pois é rápido e pode ser jogado em qualquer lugar.

Jogadores e Cartas

Sueca é um jogo para quatro jogadores em duplas, i.e. dois contra dois, com os parceiros sentados em lados opostos. O baralho tem somente 40 cartas, são removidos 8s, 9s e 10s do baralho padrão. A ordem das cartas em cada naipe, de cima para baixo, é: ás, 7, rei, valete, rainha, 6, 5, 4, 3, 2.

Pontuação

Assim como a posição alta do sete, note que o valete vale mais que a rainha. Talvez porque no antigo baralho português as figuras eram o rei, o cavaleiro e a dama, a figura feminina sendo a menor. Na Sueca, o objetivo é ganhar cartas que valem pontos. As cartas valem:

  • ás.(A)……………….11 pontos
  • sete (7)……………..10 pontos
  • rei(K)………………..4 pontos
  • valete(J)……………..3 pontos
  • rainha(Q)……………..2 pontos
  • 6, 5, 4, 3, 2 …………0 pontos

Há 120 pontos somados no baralho.

Questão 1

Faça um programa que some os pontos de uma dupla de jogadores de sueca. A entrada de dados será feita pelo teclado (use a função lelinha) da seguinte forma: cada carta será representada por uma letra maiúscula ou número, dado pela tabela acima. O programa deve parar de somar os pontos quando for entrada uma linha vazia ou quando forem entradas as 40 cartas do baralho. O programa não deve somar letras minúsculas ou números fora da faixa, mas deve emitir mensagem de erro, indicando o que ocorreu (letra inválida, minúscula ou número não permitido), sem parar de somar os valores entrados corretamente.

  1. leitura correta da string pelo teclado (1pt)
  2. resultado da soma de uma linha correta. ( 1pt)
  3. resultado da soma de várias linhas correta. ( 1pt)
  4. término correto do programa, quando for entrada a linha vazia ou 40 cartas(1pt)
  5. rejeição correta de valores não permitidos na string. (1pt)
  6. mensagem de erro correta, para os vários casos de erro na entrada (1pt)
  7. mensagem de erro caso a soma ultrapasse 120 pontos. (1pt)

Questão 2

Escreva uma função unsigned int nulos(int s[], int n) que recebe o vetor s de n elementos e devolve uma configuração de bits que diz quais valores de s são nulos, isto é, se s[i] é zero, o bit i devolvido é zero, se s[i] é diferente de zero, o bit i é 1. Considere n⇐32 e que o bit mais à direita é o bit 0 e o mais à esquerda, o bit 31. Escreva um programa para testar esta função, com os valores do vetor definidos no próprio programa (isto é, não use a leitura pelo teclado)(3pt)

Não esqueça de colocar seu nome em cada arquivo fonte. Os programas serão corrigidos usando o compilador gcc em ambiente Linux.

Boa sorte!

primeira_prova_-_2006-2.txt · Última modificação: 16/01/2007 11:34:34 (edição externa)
geomatica Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0