IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

[Débutant] Exercice d'algorithmique


Sujet :

Algorithmes et structures de données

  1. #1
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 10
    Par défaut [Débutant] Exercice d'algorithmique
    bonjour à tous et à toutes !

    bon voila je voudrais bien avoir une solution de ces 2 problèmes si c'est possible:

    1 ° Ecrire un algorithme qui permet de calculer et afficher le plus grand nombre dans un tableau d'entier de 10 cases, a remplir par l'utilisateur.

    2 ° pour 100 valeurs introduites par l'utilisateur,triez par ordre croissant les valeurs de votre tableau.

    je compte sur vous. merci infiniment pour votre aide !

  2. #2
    Membre très actif Avatar de elmcherqui
    Profil pro
    Inscrit en
    Février 2008
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Maroc

    Informations forums :
    Inscription : Février 2008
    Messages : 281
    Par défaut
    il suffit de faire une recherche pour trouver les tris basique par exemple :
    - http://fr.wikipedia.org/wiki/Tri_par_insertion
    sinon pour ton premier probleme il suffit de creer une variable qui contient le premier nombre , et a chaque iteration tester si un nombre est plus grand que cette variable .
    si c'est le cas : tu l'affecte a la variable max .


    NdM (Note du Modérateur) :

  3. #3
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 10
    Par défaut
    voila d'après mes recherches j'ai trouvé ceci mais j'ai pas trop bien compris :

    voila pr exercice 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    Algorithme ex4
    Variables 
    Tableau entier t (10)
    Max, n entier
    Début
      Pour i=0 to 9 faire
        Ecrire (‘’ entrez les valeur ’’)
        Lire (n)
        T (i)= n 
      Fin  pour
     
      Max = t (0)
      Pour i=1 to 9  faire
        Si max < t (i)
          Max=t (i)
        Fin si 
      Fin pour 
      Ecrire (« le nombre plus grande est ‘’& max)
    Fin
    pour exercice 2:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    algorithme calcule;
    variables:
    tableau reel tab(100);
    nbr:reel;
    debut 
      pour i allant de 0 a 100
        ecrire("veillez entre un nombre(;
        lire(nbr);
        tab(i) recoit nbr;
      fin pour
     
      pour j allant de 0a100
        pour k allant de (j+1)à100
          si tab(j)>tab(k) alors 
            nbr  recoit tab(j);
            tab(j)  recoit tab(k);
            tab(k) recoit nbr;
          fin si 
        fin pour 
      fin pour
    fin
    NdM :
    1. Utiliser la balise code (le # dans la barre d''outils)
    2. Indenter le code


    a ce que je crois ,il ya pas mal de fautes mais le plus important c'est que je sais pas pourquoi faire plusieurs boucles surtout les 2 compteurs j et k!!en effet j'ai rien pigé franchement!!

  4. #4
    Membre éprouvé Avatar de titourock
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 156
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    Algorithme ex4
    Variables 
    Tableau entier t (10)
    Max, n entier
    Début
      Pour i=0 to 9 faire
        Ecrire (‘’ entrez les valeur ’’)
        Lire (n)
        T (i)= n 
      Fin  pour
     
      Max = t (0)
      Pour i=1 to 9  faire
        Si max < t (i)
          Max=t (i)
        Fin si 
      Fin pour 
      Ecrire (« le nombre plus grande est ‘’& max)
    Fin

    Pour l'exercice 1, on te demande de trouver le maximum c'est à dire un élément du tableau (il peut y en avoir plusieurs) qui soit plus grand que tous les autres.
    Autrement dit, quand on compare un élément du tableau t(i) (pour i compris entre 0 et 9) à son maximum max on a :

    t(i)=<m (signe plus petit ou égal)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     Max = t (0)
      Pour i=1 to 9  faire
        Si max < t (i)
          Max=t (i)
        Fin si 
      Fin pour 
      Ecrire (« le nombre plus grande est ‘’& max)
    Fin
    Tu fais une boucle à 10 itérations. Tu choisis arbitrairement de prendre max. En fait, c'est un choix en attendant mieux...le maximum est au moins égal à t(0). Ensuite, tu le compares à l'élément suivant du tableau.
    Si max est strictement plus petit que t(1), alors il ne peut pas être égal au maximum des éléments du tableau. Tu te dis alors : "max est au moins aussi grand que t(1)" (et non plus t(0) vu que t(0)<t(1)...).
    Dans le cas où on n'a pas "t(0)<t(1)" (i.e t(0)>=t(1)) on peut garder t(0)...
    Et ainsi de suite...


    pour exercice 2:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    algorithme calcule;
    variables:
    tableau reel tab(100);
    nbr:reel;
    debut 
      pour i allant de 0 a 100
        ecrire("veillez entre un nombre(;
        lire(nbr);
        tab(i) recoit nbr;
      fin pour
     
      pour j allant de 0a100
        pour k allant de (j+1)à100
          si tab(j)>tab(k) alors 
            nbr  recoit tab(j);
            tab(j)  recoit tab(k);
            tab(k) recoit nbr;
          fin si 
        fin pour 
      fin pour
    fin

    Petits problèmes : on va de 0 à 100 ce qui n'est pas bon...Vu que j'ai beaucoup travaillé (et que surtout c'est à toi de comprendre...) essaye de trouver à quoi sert ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    si tab(j)>tab(k) alors 
            nbr  recoit tab(j);
            tab(j)  recoit tab(k);
            tab(k) recoit nbr;
          fin si
    Une fois compris cela, tu seras sur la bonne voie pour comprendre le schéma général.

    A bientôt

  5. #5
    Membre éprouvé
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Par défaut
    voila d'après mes recherches j'ai trouvé ceci mais j'ai pas trop bien compris :
    C'est pourquoi il est important de faire l'exercice et pas de le trouver.

    Le premier exercice est une aide directe pour que tu puisses faire le second. S'il n'est pas maitrisé, tu n'as aucune chance de faire le suivant.

    Reprend les explications de titourock et comprend ce qui se passe. A vrai dire, l'idéal serai que une fois que tu as compris, que tu le réécrive de rien, sans aller consulter des scripts tout fait. Quitte à poster le résultat ici pour qu'on te le valide, ca n'est pas un problème.

  6. #6
    Membre éprouvé Avatar de titourock
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 156
    Par défaut
    J'ajouterai que pour le deuxième exercice (et pour tout exercice ou problème en général), si tu ne comprends pas, passe par un exemple simple. Cela veut dire papier et crayon. Au lieu de considérer un tableau de 100, considère un tableau de 4 ou 5 (1,2,3 ne laisse pas vraiment le temps de "voir" ce qui se passe ici) et fait l'algorithme pas-à-pas sur ta feuille.
    Mais avant cela, essaye de comprendre la partie que je t'ai citée lors du précédent message, c'est la base.

    Comme dit Rakken, tu peux revenir nous voir sans problème pour nous faire part de tes réflexions.

    A bientôt

  7. #7
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 10
    Par défaut
    ah oui j'ai saisi ce petit code la :

    si tab(j)>tab(k) alors
    nbr recoit tab(j);
    tab(j) recoit tab(k);
    tab(k) recoit nbr;
    fin si
    donc prenons par exemple tab(1)= 2 et tab(2)=1 donc il va le remplacer ds la case du tableau c a dire que tab(1) va etre ds la seconde case et tab(2) va prendre la place du tab(1) !! n'est ce pas!??
    mais pk on a fait 2 boucles qui se suivent (celle du j et celle du k) et pk on a fait pour k allant de (j+1) a....?

    merci pr votre soutien!!

  8. #8
    Membre éprouvé Avatar de titourock
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 156
    Par défaut
    Oui, pour le petit bout de code tu as trouvé.

    Une question...(pour laisser le suspens encore un peu...), comment t'y prendrais tu pour classer un tableau de 4 valeurs sans créer de deuxième tableau ? (car on peut aussi faire comme cela, c'est même plus "simple" mais ça utilise plus de mémoire)
    Car au fond c'est cela la vrai question...

    Petite aide (je suis pas si méchant que ça ), quand j passe à 1 dans ton algorithme, que remarques tu pour t(0)? Et lorsque j passe à 2 que peux tu dire de t(1)? En généralisant ça, tu devrais trouver ta réponse

Discussions similaires

  1. [Débutant] exercice sur la récursivité
    Par neufrdb dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 03/03/2011, 17h59
  2. [Aide Débutant] Exercice de l'ane Rouge
    Par rapido1070 dans le forum Prolog
    Réponses: 8
    Dernier message: 11/06/2009, 11h17
  3. [Turbo Pascal] [Débutante] Exercice sur l'héritage
    Par sandra-n dans le forum Turbo Pascal
    Réponses: 15
    Dernier message: 09/01/2009, 23h49
  4. [Débutant] Exercice Modulo
    Par neo.fera dans le forum Assembleur
    Réponses: 4
    Dernier message: 15/07/2008, 14h55
  5. [Débutante] Exercice de conversion majuscules <-> minuscules
    Par The future scientist dans le forum Pascal
    Réponses: 29
    Dernier message: 05/05/2007, 13h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo