Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

structure d'un programme et algo.


rimbaut

Messages recommandés

Bonjour,

Je débute en informatique et j'apprends le c++. Je me pose des questions sur la structure d'un programme et je ne sais pas si mon raisonnement est bon.

C'est celui ci : un programme est constitué de données et de traitements des données. Donc avant tout il y a lieu de recenser toutes les données dont l'application a besoin pour résoudre le probléme.

1er) Ce recensement se fait il avec des méthodes de modélisation (uml, merise) ?

2er) Les données peuvents etre de types différents et prendre la forme de variables ou de constantes ; ces données doivent elles etre toutes déclarées en début de programme ou déclare t'on uniquement les données qui servent au traitement du bloc et l'on opére ainsi séquentiellemnt ?

3er) Est ce qu'une fonction est un traitement des données ?

Je ne sais pas si je me suis exprimer clairement mais je vous remercie de bien vouloir m'éclairer un peu sur ce sujet car tous les cours que je lis ne sont pas explicites sur ce propos.

Merci d'avance :P

Lien vers le commentaire
Partager sur d’autres sites

1) Le recensement se fait avec un papier et un crayon, ou avec d'autres outils plus modernes. UML et ses potes ne représentent qu'un formalisme (l'art et la manière de faire des schémas compréhensibles par tout le monde, décrivant la façon dont s'articulent les composants de ton programme), donc aucune méthode infaillible de recenser tout ce dont l'appli va avoir besoin.

 

2) Les données peuvent effectivement être de types différents. En ce qui concerne l'endroit où tu dois les déclarer... Voir plus loin l'explication sur le modèle objet.

 

3) Une "fonction" (on parle de "méthode" en C++ et dans les autres langages à objets) peut servir à de très nombreuses choses, mais la finalité est toujours de fabriquer quelque chose à partir de données.

 

Pour commencer, le C++ est "orienté-objets" c'est à dire que l'on doit faire l'analyse du problème à résoudre de manière à ce que le découpage se fasse par "objet". Un objet, ce n'est ni plus ni moins qu'un ensemble de données ("attributs") et de traitements (ce que tu désignes par "fonctions" et que l'on appelle "méthodes"), le tout emballé dans un paquet qui porte un nom ("classe").

On procède généralement par "couches" lorsque l'on crée un programme, histoire de se faciliter la vie : une "couche" contenant tous les objets qui sont uniquement porteurs de données (ou presque), une "couche" qui s'occupe de toutes les transformations qu'on peut avoir envie de faire subir aux objets précédemment décrits (à noter qu'il est parfaitement possible de combiner ces deux couches et obtenir ainsi ce qu'on appelle une couche "métier"), viennent ensuite la couche "interface utilisateur" qui contient les objets qui vont servir à afficher les données (faire des tableaux à partir de tes objets métier, afficher des boutons / des champs / des listes / etc.) puis la couche "stockage des données" qui sert à créer en mémoire les objets de la couche métier en allant piocher les infos brutes sur le disque ou dans une base de données (et, dans le sens inverse, à aller sauvegarder les données créées ou modifiées).

Chaque "classe" d'objets définit quels sont les attributs et quelles sont les méthodes que ses objets vont porter. Plutôt que de faire une classe qui définit un objet "ToutesMesConstantes" et qui contient toutes les constantes utilisées d'un bout à l'autre du programme, il est recommandé de répartir les constantes en fonction de l'objet auquel elles sont rattachées (c'est plus logique de manipuler un objet pour lui demander quelle est - par exemple - sa taille maximum, que d'aller chercher l'info ailleurs).

S'il y a besoin d'éclaircir un peu tout ça (et c'est très certainement le cas) n'hésite pas à poser d'autres questions...

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...