Introduction à l'Informatique (INFO0205)


TP: La boucle FOR

Prof. Patrick E. Meyer

Version 3.0

  1. Qu'affiche le programme suivant quand on lui fournit au clavier les valeurs :
    1. $3$ et $6$
    2. $7$ et $5$
    3. $-3$ et $1$
     
    #include <iostream>
    using namespace std;
    
    int main(){
        int a,b;
    
        cin >> a >> b;
        int i;
        for (i=a;i<=b;i=i+1)
            cout << i << endl;
    
        return 0;
    }
    
  2. Qu'affiche le programme suivant quand on lui fournit les mêmes valeurs qu'à l'exercice précédent ?

     
    #include <iostream>
    using namespace std;
    
    int main(){
        int a,b;
    
        cin >> a >> b;
        int i;
        for (i=0;i<=b;i++){
            if (i>=a)
                cout << i << endl;
        }
        return 0;
    }
    

  3. Modifier le code ci-dessous en utilisant une boucle for au lieu de la boucle while :

     
    #include <iostream>
    using namespace std;
    
    int main(){
        int i,sum;
    
        sum=0;
        cin >> i;
        while (i>0){
          i=i-1;
          sum=sum+2*i;
        }
        cout << sum << endl;
        return 0;
    }
    

  4. Modifier le code ci-dessous en utilisant une boucle while au lieu de la boucle for :
     
    #include <iostream>
    using namespace std;
    
    int main(){
        double prod;
        int i,cpt;
        
        prod=1;
        cpt=0;
        for(cin>>i; i<10; i++){
          cpt++;
          prod=prod*i;
        }
        cout << prod/cpt << endl;
        return 0;
    }
    

  5. Écrire un programme qui affiche à l'écran les $10$ premières puissances d'un entier lu au clavier.

  6. Écrire un algorithme qui affiche tous les diviseurs entiers positifs d'un nombre entier $n$ lu au clavier. Vous devrez utiliser l'opérateur modulo '%' qui calcule le reste de la division d'un nombre par un autre (exemple: 5%2 vaut 1).

  7. Écrire un algorithme qui convertit un nombre quaternaire écrit avec la convention ACGT en un nombre décimal. L'utilisateur encode d'abord le nombre de symboles qu'il y a dans sa séquence avant d'encoder le nombre voulu lettre après lettre.


<--- BACK