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

Langage Pascal Discussion :

Analyse, spécification et algorithme, quelle est la différence ?


Sujet :

Langage Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 89
    Par défaut Analyse, spécification et algorithme, quelle est la différence ?
    Je ne comprends rien du tout de tout ça...
    Ecrire une analyse, un algorithme et la traduction en Pascal du programme qui permet de ...
    Que veut dire pour vous écrire une analyse ?
    Je suis à ma première année d'informatique au lycée, qui est d'ailleurs une nouvelle section nommée Sciences de l'Informatique. Je ne trouve rien de similaire sur internet à ce que nous faisons en classe. Voici un exemple d'analyse que nous faisons :
    un programme qui saisit une suite d'entiers qui se termine par -1 puis affiche la somme de ses valeurs excepté le dernier:
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Résultat = afficher ("somme =", S)
    S <-- 0
    n <-- 0
    tant que n≠ (-1) faire
         S <-- S+n
         S = donnée
    fin tant que


    un autre exemple quand il y a plusieurs résultats, il faut faire un objet fictif qu'on appelle aff, ce programme permet d'afficher le nombre de lettres, de chiffres et de symboles dans une chaine donnée:

    Code X : 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
    Résultat = Aff
    Aff = afficher ("Le nombre de lettres est :",NL)
            afficher ("...............de chiffres ....:",NC)
            .............................de symboles..:",NS)
    
    NS<--0
    NC<--0
    NL<--0
    
    Pour i de 1 à long(CH) faire 
        si maj(CH[i]) dans ["A".."Z"] alors 
         NL<--NL+1
             on peut imaginer la suite le problème n'est pas là!
        fin si
    fin pour
    CH = donnée

    Est-ce que vous êtes habitués à programmer de cette façon ?
    A quoi tout cela sert ? surtout qu'après on va écrire un algorithme dans un langage très proche mais seulement avec les étapes ordonnées...

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 466
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par défaut
    Hé bien, ca sert à décomposer ton problème en sous-problème et en langage simple, facilement compréhensible. Evidemment, tu n'en vois pas l'utilité parce que pour l'instant écrire la somme des k premiers entiers c'est pas un algo très très dur, mais plus tard tu constateras que c'est une excellente habitude.

    Le principe est simple : on part du problème que l'on analyse, et on essaye de trouver un moyen pour le résoudre. On formule la démarche à faire en français, puis ensuite dans un langage algorithmique. La dernière étape est la traduction de l'algorithme en langage de programmation (Pascal par exemple).

    Ce sont des habitudes à prendre, mais il est clair que pour les algos relativement "simples" ces étapes peuvent être zappées Pour les algos plus complexes par contre, c'est un peu délicat. De manière générale, quand on est bloqué pour la création d'un algo, vaut mieux faire sur papier ces étapes là...

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 89
    Par défaut
    On formule la démarche à faire en français, puis ensuite dans un langage algorithmique. La dernière étape est la traduction de l'algorithme en langage de programmation (Pascal par exemple).
    Justement on n'écrit pas en français mais avec un langage qui ressemble beaucoup au langage algorithmique mais avec une syntaxe très compliquée et très différente (on inverse à peu près tout)...

    Dans mon livre je trouve quelque chose de différent;
    Spécification du problème

    Résultat : Ecrire(a, d, b)

    traitement : pour vérifier que le "...", il suffit de tester "...". Si le reste vaut "..."
    là c'est du français et je suis d'accord que ça peut servir même pour un programme très simple.
    Donc pour la résolution d'un exercice, je trouve ce qu'il y a au dessus suivi de l'algorithme c'est à dire :
    0) début nom_programme
    ... ici le traitement dans un ordre chronologique croissant
    ...
    n) fin nom_programme

    Franchement je préfère ce qu'il y a dans le livre scolaire puisqu'on parle français et que l'on n'utilise pas la syntaxe algorithmique avant et pendant l'algorithme...
    Merci.

  4. #4
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 466
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par défaut
    C'est déjà bien d'avoir ses préférences, après chacun ses goûts Si tu penses qu'il y a plus d'avantage à utiliser la méthode de ton livre, tu peux en discuter avec ton prof.

    Il n'y a pas vraiment de formalisme, à ce niveau de la concept, chacun fait un peu sa sauce personnelle. D'ailleurs je ne pense que tu puisses trouver deux auteurs qui utilises le même langage pour cette modélisation... le principal est que ce soit compréhensible sans trop d'effort, pour n'importe qui, même des non-informaticiens.

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 89
    Par défaut
    J'en ai parlé avec mon professeur ce matin. Il est d'accord pour que je n'utilise pas sa méthode, méthode qui me parait complètement absurde puisque des non-informaticiens n'y comprennent rien.
    Merci wormful_sickfoot, c'est plus clair et et beaucoup moins contrariant à présent.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 12
    Dernier message: 01/06/2010, 16h57
  2. Réponses: 5
    Dernier message: 03/05/2005, 18h22
  3. Réponses: 11
    Dernier message: 31/01/2005, 17h48
  4. Quelle est la différence entre le float et le real ?
    Par Manson dans le forum Débuter
    Réponses: 3
    Dernier message: 10/08/2004, 17h26
  5. execute/perform quelle est la différence?
    Par stago dans le forum Struts 1
    Réponses: 2
    Dernier message: 30/06/2004, 10h51

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