Add pyramid
This commit is contained in:
parent
3ed9e1d31d
commit
d1ed446938
2 changed files with 44 additions and 0 deletions
23
algorithmique/recursivite/pyramide.algo
Normal file
23
algorithmique/recursivite/pyramide.algo
Normal file
|
@ -0,0 +1,23 @@
|
|||
Algorithme : Dessine une pyramide d'étoiles selon un entier N donné, N étant impair
|
||||
|
||||
Début
|
||||
Var N : Entier
|
||||
Var T : Tableau
|
||||
Var i : Entier = 0
|
||||
Fonction CreerPyramide(N : Entier, T: Tableau)
|
||||
Si N = 0
|
||||
Retourner T
|
||||
Sinon
|
||||
nombre_etoiles : Entier = 2 * N - 1
|
||||
T[i] = ("*" * nombre_etoiles)
|
||||
i = i + 1
|
||||
CreerPyramide(N - 1, T)
|
||||
FinSi
|
||||
FinFonction
|
||||
|
||||
T = CreerPyramide(9, [])
|
||||
Pour i allant de N à 0 /* décroissant pour parcourir le tableau à l'envers */
|
||||
Ecrire(T[i])
|
||||
FinPour
|
||||
|
||||
Fin
|
21
algorithmique/recursivite/pyramide.py
Normal file
21
algorithmique/recursivite/pyramide.py
Normal file
|
@ -0,0 +1,21 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
"""Dessine une pyramide d'étoiles selon un entier N donné, N étant impair"""
|
||||
|
||||
|
||||
def main() -> None:
|
||||
for line in reversed(creer_pyramide(9, [])):
|
||||
print(line)
|
||||
|
||||
|
||||
def creer_pyramide(N: int, pyramide: list[str]) -> list[str]:
|
||||
if N == 0:
|
||||
return pyramide
|
||||
else:
|
||||
nombre_etoiles = 2 * N - 1
|
||||
pyramide.append("*" * nombre_etoiles)
|
||||
return creer_pyramide(N - 1, pyramide)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in a new issue