Diamante

Diamante

Difícil

Instruções

O kata do diamante recebe uma letra como entrada e apresenta-a sob a forma de um diamante. Dada uma letra, imprime um diamante que começa com 'A' e tem a letra fornecida no ponto mais largo.

Requisitos

  • A primeira linha contém um único 'A'.
  • A última linha contém um único 'A'.
  • Todas as linhas, exceto a primeira e a última, têm exatamente duas letras iguais.
  • Todas as linhas têm tantos espaços à direita como à esquerda. (Podem ser 0).
  • O diamante é simétrico na horizontal.
  • O diamante é simétrico na vertical.
  • O diamante tem forma quadrada (a largura é igual à altura).
  • As letras formam a figura de um diamante.
  • A metade superior tem as letras por ordem crescente.
  • A metade inferior tem as letras por ordem decrescente.
  • Os quatro cantos (que contêm os espaços) são triângulos.

Exemplos

Nos exemplos seguintes, os espaços são representados por carateres ·.

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 isto pode ser complicado sem simplesmente fixares uma série de entradas e saídas no código. Os testes baseados em propriedades são outra forma de pensar nos testes, que te permite testar este tipo de algoritmo com mais facilidade.

Fonte

Seb RoseO link abre numa nova janela ou separador
Editar via GitHub A ligação abre numa nova janela ou separador
F# Exercism

Estás pronto para começar Diamante?

Inscreve-te no Exercism para aprenderes e dominares F# com 18 conceitos148 exercícios, e mentoria humana real, tudo grátis.