Instructions
Le kata du diamant prend une lettre en entrée et la représente sous la forme d’un diamant. Pour une lettre donnée, il affiche un diamant commençant par « A », la lettre fournie se trouvant au point le plus large.
Exigences
- La première ligne contient un seul « A ».
- La dernière ligne contient un seul « A ».
- Toutes les lignes, sauf la première et la dernière, contiennent exactement deux lettres identiques.
- Toutes les lignes ont autant d’espaces en fin de ligne qu’en début de ligne. (Cela peut être 0).
- Le diamant est symétrique horizontalement.
- Le diamant est symétrique verticalement.
- Le diamant a une forme carrée (la largeur est égale à la hauteur).
- Les lettres forment une forme de diamant.
- La moitié supérieure contient les lettres dans l’ordre croissant.
- La moitié inférieure contient les lettres dans l’ordre décroissant.
- Les quatre coins (qui contiennent les espaces) sont des triangles.
Exemples
Dans les exemples suivants, les espaces sont indiqués par des caractères ·.
Diamant pour la lettre « A » :
A
Diamant pour la lettre « C » :
··A··
·B·B·
C···C
·B·B·
··A··
Diamant pour la lettre « E » :
····A····
···B·B···
··C···C··
·D·····D·
E·······E
·D·····D·
··C···C··
···B·B···
····A····
Indices
- Tester cet exercice peut être délicat si on se contente de coder « en dur » une série d'entrées et de sorties, c'est-à-dire d'écrire des valeurs fixes dans le code plutôt que de laisser le programme les calculer. Le test basé sur les propriétés est une autre façon d'aborder les tests, qui permet de tester plus facilement ce type d'algorithme.