Exercice
Ecrire un algorithme qui affiche une pyramide de base n (N impair). par exemple, si n=9, on obtient le schéma suivant
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
je n'arrive pas a résoudre aidez moi svp
Cela se fait avec 2 boucles :
- une boucle qui compte les impairs ( 1, 3 ,5, ... ) et affiche les *
- une boucle qui compte les lignes
Merci de ma m'avoir répondu !
j'ai fais textuellement ce que t'a fait mais j'ai pas obtenu le même résultat
en un mots c'est une boucle infini
Il se peut que cela vienne du dernier AFFICHER qui doit être
AFFICHER* "*" pour avoir un retour à la ligne et pas
AFFICHER "*" qui ne fait pas de retour à la ligne
Je me suis posé la question de savoir quel doit être l'affichage avec un nombre pair au départ .
base = 25
def ligne(base,a) :
b=base-2*a
print ' '*a+'*'*b+' '*a
for p in range(1,base+1,2):
v1=(base-p)/2
ligne(base,v1)
*
***
*****
*******
*********
***********
*************
***************
*****************
*******************
*********************
***********************
*************************
algobox : http://www.xm1math.net/algobox/download.html
Qu'est ce l'on vous conseille comme cahier d'exercice dans un lycée ?
Je ne fais un tour sur ce forum que par curiosité, et je vois qu'il y a
du taf pour moi dans les lycées ...
A+
de rien mais tu n'as pas répondu à mon interrogation . Quel affichage attend-on dans le cas ou n est pair ? Car il se pourrait qu'on doive modifier l'algorithme pour couvrir certaines demandes .
si n est pair le programme ne va pas tracer la pyramide, au pire il redemandera a l'utilisateur de ressaisir le nombre n jusqu'a ce que ce nombre n soit impair
salut
en vba sur excel ca donne ceci :
si on veut absolument que n soit pair
Sub pyramide()
n = InputBox("saisir le nombre d'elements se trouvant à la base, nombre impair ")
While Val(n) Mod 2 = 0
MsgBox "ressaisir la valeur de n"
n = InputBox("saisir le nombre d'éléments se trouvant à la base, nombre impair ")
Wend
For k = 0 To (Val(n) - 1) / 2 'nombre d'etages
For j = 1 To (Val(n) - 2 * k) ' nombre de * par ligne
Cells(Val(n) - k, j + k) = "*"
Next
Next
End Sub
salut,
le premier énoncé était cependant assez explicite :
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :