Me perguntaram qual era a soma dos pontos de um jogo de dominó. Eu pensei como resolver isso e cheguei a essa conclusão:
Código: Selecionar todos
FUNCTION Main()
LOCAL aDomino, nSomaTotal := nSomaFaixas := nSomaPecas := 0
// Representacao de um jogo de domino
aDomino := {{{0,0}, {0,1}, {0,2}, {0,3}, {0,4}, {0,5}, {0,6}},;
{{1,1}, {1,2}, {1,3}, {1,4}, {1,5}, {1,6}},;
{{2,2}, {2,3}, {2,4}, {2,5}, {2,6}},;
{{3,3}, {3,4}, {3,5}, {3,6}},;
{{4,4}, {4,5}, {4,6}},;
{{5,5}, {5,6}},;
{{6,6}}}
CLS
? "Quanto Pontos tem um Domino?"
? ""
FOR f := 1 TO LEN(aDomino) // faixas
nSomaFaixas := 0
? "Faixa: " + ALLTRIM(STR(aDomino[f,1,1])) + " "
FOR p := 1 TO LEN(aDomino[f]) // pecas
nSomaPecas := aDomino[f,p,1] + aDomino[f,p,2]
?? "[" + ALLTRIM(STR(aDomino[f,p,1])) + "|" + ALLTRIM(STR(aDomino[f,p,2])) + "] "
nSomaFaixas += nSomaPecas
NEXT
?? "Total: " + ALLTRIM(STR(nSomaFaixas))
nSomaTotal += nSomaFaixas
NEXT
? ""
? "Um domino com 28 pecas tem " + ALLTRIM(STR(nSomaTotal)) + " pontos."
RETURN Nil
Att.
Mauricio Portela

