Inscription / Connexion Nouveau Sujet
Niveau IUT/DUT
Partager :

Exercice d'algorithme

Posté par
Sweez1
19-11-17 à 10:01

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

Posté par
Abuche
re : Exercice d'algorithme 19-11-17 à 10:58

Cela se fait avec 2 boucles :

- une boucle qui compte les impairs ( 1, 3 ,5, ... ) et affiche les *
- une boucle qui compte les lignes

Posté par
fm_31
re : Exercice d'algorithme 19-11-17 à 11:05

Bonjour ,

avec plusieurs boucles (on peut faire sans doute plus concis)

Exercice d\'algorithme

Exercice d\'algorithme

Posté par
fm_31
re : Exercice d'algorithme 19-11-17 à 11:10

L'algorithme ci dessus est à modifier pour répondre à l'affichage attendu .

Posté par
Sweez1
re : Exercice d'algorithme 19-11-17 à 12:59

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  

Exercice d\'algorithme

Exercice d\'algorithme

Posté par
fm_31
re : Exercice d'algorithme 19-11-17 à 16:57

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 .

Posté par
fm_31
re : Exercice d'algorithme 19-11-17 à 17:42

algorithme modifié  et avec n pair

Exercice d\'algorithme

Exercice d\'algorithme

Posté par
Sweez1
re : Exercice d'algorithme 19-11-17 à 18:15

une fois de plus merci !
une question comment tu as fais afficher* ?

Exercice d\'algorithme

Posté par
Abuche
re : Exercice d'algorithme 19-11-17 à 18:38

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)

            *            
           ***          
          *****          
         *******        
        *********        
       ***********      
      *************      
     ***************    
    *****************    
   *******************  
  *********************  
***********************
*************************

Posté par
Sweez1
re : Exercice d'algorithme 19-11-17 à 18:43

si tu pourrais le faire sur algobox ça va m'aider parce que je maîtrise pas bien python
Merci  

Posté par
Abuche
re : Exercice d'algorithme 19-11-17 à 18:53

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+

Posté par
fm_31
re : Exercice d'algorithme 19-11-17 à 18:59

AFFICHER*  est proposé dans la liste des instructions algobox .

Exercice d\'algorithme

Posté par
Sweez1
re : Exercice d'algorithme 19-11-17 à 19:33

Merci

Posté par
fm_31
re : Exercice d'algorithme 19-11-17 à 20:11

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 .

Posté par
Sweez1
re : Exercice d'algorithme 19-11-17 à 20:23

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  

Posté par
flight
re : Exercice d'algorithme 19-11-17 à 21:03

salut

en vba sur excel ca donne ceci :

Citation :
Sub pyramide()
n = InputBox("saisir le nombre d'elements se trouvant à la base, nombre impair ")
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

Posté par
flight
re : Exercice d'algorithme 19-11-17 à 21:06

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

Posté par
alb12
re : Exercice d'algorithme 19-11-17 à 21:35

salut,

Sweez1 @ 19-11-2017 à 10:01

Exercice
Ecrire un algorithme qui  etc

pour l'instant personne n'a repondu ...

Posté par
fm_31
re : Exercice d'algorithme 19-11-17 à 22:13

le premier énoncé était cependant assez explicite :

Citation :
Ecrire un algorithme qui affiche une pyramide de base n (N impair)


On pourrait (on devrait) ajouter un test pour traiter les entrées paires (les rejeter ou faire   n+1 ou n-1)

Posté par
alb12
re : Exercice d'algorithme 19-11-17 à 22:16

vous avez donne des programmes ...

Posté par
Abuche
re : Exercice d'algorithme 19-11-17 à 23:13

base = 16

# Affiche base nombre pair
for p in range(1,base+1,2):
    if base%2 != 0 :
        a=(base-p)/2
        b=base-2*a
        print ' '*a+'*'*b+' '*a

# Affiche base nombre impair      
for p in range(2,base+1,2):
    if base%2 == 0 :
        a=(base-p)/2
        b=base-2*a
        print ' '*a+'*'*b+' '*a
        



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !