Diamante

Diamante

Difícil

Instruções

O kata do diamante recebe uma letra como entrada e a exibe em formato de diamante. Dada uma letra, ele imprime um diamante começando com 'A', com a letra fornecida no ponto mais largo.

Requisitos

  • A primeira linha contém um 'A'.
  • A última linha contém um 'A'.
  • Todas as linhas, exceto a primeira e a última, têm exatamente duas letras idênticas.
  • Todas as linhas têm tantos espaços no final quantos no início. (Pode ser 0.)
  • O diamante é simétrico na horizontal.
  • O diamante é simétrico na vertical.
  • O diamante tem formato quadrado (a largura é igual à altura).
  • As letras formam um formato de diamante.
  • A metade de cima tem as letras em ordem crescente.
  • A metade de baixo tem as letras em ordem decrescente.
  • Os quatro cantos (que contêm os espaços) são triângulos.

Exemplos

Nos exemplos a seguir, os espaços são indicados por caracteres ·.

Diamante para a letra 'A':

A

Diamante para a letra 'C':

··A··
·B·B·
C···C
·B·B·
··A··

Diamante para a letra 'E':

····A····
···B·B···
··C···C··
·D·····D·
E·······E
·D·····D·
··C···C··
···B·B···
····A····

Dicas

  • Testar este exercício pode ser complicado sem simplesmente fixar um monte de entradas e saídas no código. Os testes baseados em propriedades são outra forma de pensar em testes, que permite testar esse tipo de algoritmo com mais facilidade.

Fonte

Seb RoseO link abre em uma nova janela ou aba
Editar via GitHub O link abre em uma nova janela ou aba
F# Exercism

Tudo pronto para começar Diamante?

Crie sua conta no Exercism para aprender e dominar F# com 18 conceitos148 exercícios e mentoria humana de verdade, tudo de graça.