Algorithme

maribel -  
gaby10 Messages postés 445 Date d'inscription   Statut Membre Dernière intervention   -
bonjour est qu'il y a qq pour me corriger et m'aider sur ces exercices svp:
1) exrecice:
on l'algorithme suivant:
var
h,n,m,i : entier
debut
ecrire(' donner n et m ') ;
lire ( n, m) ;
h <- 1 ;
si ( n>=m ) alors
i <- 1;
10)h <- h*n;
i <- i+1 ;
si ( i<=4 ) alors
aller a 10)
fsi
sinon
i<- 1
20)h<- h*i
i<- i+1
si ( i<=n ) alors
aller a 20)
fsi
fsi
ecrire ('h=',h);
fin

on ns demande d'ecrire cette algorithme en utilisant les boucles "pour" et" repeter" .
donc en utilisant la boucle "pour" :
je vais abreger( je vais ecrire juste l'important):

pour i=1,4 faire
si ( n>=m) alors
h <- h*n;
sinon
pour i=1,n faire
h<- h*i
ffp
fsi
ffp

et en utilisant la boucle " repeter" :

si ( n>=m) alors
i <-1
repeter
h <- h*n;
i<- i+1
jusqu'a (i>4)
sinon
repeter
h<- h*i
i<- i+1
jusqu'a (i>n)
fsi

est ce que c'est juste?
2) exercice que je n'arrive pas a faire :
on ns donne un vecteur de 10 nombre reel ; on ns demande d'ecrire l'algorithme de l'image que reflete ce vecteur dans un miroire . ex:
v=( 10,5,7,6,1) l'image que reflete ce vecteur dans un miroire est : v=( 1,6,7,5,10)

j'ai une question a poser est qu'il y a qq pour me repondre svp:
pour calculer le pgcd ou le ppcm ; on doit avoir des nombres entiers strictement positives mais dans leurs algorithmes j'ai remarquer quand met juste par exemple a et b sont des entiers point final pourquoi on precise pas qu'ils sont strictement positiveset si c'est oui j'aimerais bien que vous dite comment l'ecrire.
une autre question svp:
est ce qu'on peut faire ça:
ex: ecrire ( ' donner la valeur de A)
A <- 5 (exemple)
est ce c'est juste ou je dois ecrire : lire (A) apres ecrire ( ' donner la valeur de A)

merci de me repondre.

1 réponse

  1. gaby10 Messages postés 445 Date d'inscription   Statut Membre Dernière intervention   58
     
    Salut,
    Pour la premiere : 'Pour', je pense que tu devrait plutot faire ceci
    si ( n>=m) alors //On teste d'abord la condition d'entree
     
        pour   i=1,4 faire 
               h <- h*n; 
               i<- i+1;  // la valeur s'incremente
        fpour  
     
    sinon  //condition non verifiee
    
        pour i=1,n faire 
               h<- h*i ;
               i<- i+1;
        fpour 
    
    fsi 
     
    POur la partie repeter, tu devrais á mon avis initialiser i avant l'entree dans la boucle si donc en fait:
    
    i<- 1;
    
    si ( n>=m) alors 
    
         repeter 
             h <- h*n; 
             i<- i+1 
         jusqu'a (i>4) 
    
    sinon 
         
        repeter 
             h<- h*i 
             i<- i+1 
        jusqu'a (i>n) 
    
    fsi 
    
    
    Quant a exercice 2, on te donne un v ecteur de 10 elts dont il faut ranger dans un tableau et te demande l'image telle que tu l'as precisee
    
    Entrons d'abord nos elts au clavier
    
    var i:entier;
            v=tableau[1..10] de entier;
            pour i de 1 á 10 faire
                ecrire ('Entre un elt:');
                lire(v[i]);
                i<- i+1;
            fpour
          
           (*A la fin tu affiche ton vecteur d'entier dans l'ordre inverse que celui entre*)
    
             pour i de 10 á 1 faire
                  ecrire(v[i]);
                  i<- i -1;
             fpour
    

    Voila pour ma part, le tour est joué

    Nb:
    J'ai eu de la peine á saisir ton algo. tu pourrars prendre de lapeine á mieux aligner tes instruction cela facilite la lecture 
    0