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

 C Discussion :

logique écriture code en C


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut logique écriture code en C
    Bonjour,

    J'aimerais avoir un peu d'aide sur un de mes problèmes car je débute en C, j'ai beaucoup de mal à écrire un code c-a-dire que j'arrive très facilement a comprendre un code mais quand il s'agit de l'écrire moi même ! BUG ! si quelqu'un à 2, 3 conseils à me donner pour travailler sur ce qui me manque.

    Je vous remercie d'avance !

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 372
    Points : 23 628
    Points
    23 628
    Par défaut
    Bonjour,

    C'est difficile de t'aider avec si peu d'informations mais la meilleure chose à faire consiste justement à essayer d'identifier les points sur lesquels tu bloques et, pour cela, reconnaître à quel moment en particulier tu n'y arrives plus. Pour cela, comme bien souvent en sciences et en technologies, le plus simple consiste à se ramener au problème le plus simple possible, et partir de cette base pour la complexifier progressivement.

    Si j'écris :
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int main (void)
    {
        return 0;
    }

    Comprends-tu ce qui va se passer exactement et, de là, peux-tu le modifier pour faire en sorte que ce programme affiche « Hello World » à l'écran ?

  3. #3
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Citation Envoyé par nysay Voir le message
    Bonjour,

    J'aimerais avoir un peu d'aide sur un de mes problèmes car je débute en C, j'ai beaucoup de mal à écrire un code c-a-dire que j'arrive très facilement a comprendre un code mais quand il s'agit de l'écrire moi même ! BUG ! si quelqu'un à 2, 3 conseils à me donner pour travailler sur ce qui me manque.
    C'est classique pour les débutants.
    Si tu comprends le code déjà écrit, il s'agit d'un blocage à se lancer dans sa propre production.
    La seule réponse est d'insister en écrivant du code comme on peut. Tant pis pour les erreurs, et même tant mieux car on apprend beaucoup dans la détection, la compréhension et la correction des erreurs et dans l'interprétation des messages du compilateur.

    Donc, persévérance, ça va venir.
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 985
    Points
    30 985
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par nysay Voir le message
    J'aimerais avoir un peu d'aide sur un de mes problèmes car je débute en C, j'ai beaucoup de mal à écrire un code c-a-dire que j'arrive très facilement a comprendre un code mais quand il s'agit de l'écrire moi même ! BUG ! si quelqu'un à 2, 3 conseils à me donner pour travailler sur ce qui me manque.
    Bonjour

    Il faut arriver à avoir assez de recul pour avoir une vue d'ensemble de ton problème et arriver ensuite à le décomposer en tâches élémentaires.

    Par exemple: détecter si un nombre est premier. Il te faut d'abord connaitre la loi mathématique: un nombre premier est un nombre qui ne se divise que par 1 ou par lui-même. Ensuite tu en déduis une méthode: tester tous les diviseurs entre 2 et le nombre et si l'un d'eux divise le nombre alors il n'est pas premier. Puis tu écris l'algorithme traduisant cette méthode en états finis (rappel: un ordinateur est juste une machine à états finis. Elle ne sait faire que positionner des valeurs dans des variables, les tester, les incrémenter et boucler sur ces actions) et enfin tu écris ton algo dans le langage que tu as choisi.
    Exemple
    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
    fonction estPremier(nombre)
    debut
        définir variable i
        définir variable flag
        mettre flag à vrai
        mettre i à 2
        tant que i < nombre et flag est vrai
        faire
            si nombre / i donne un reste non nul
            alors
               mettre flag à faux
           fin si
           incrémenter i de 1
        fin faire
        renvoyer flag
    fin fonction
    Puis le code C (en utilisant ses possibilités de compacter certaines instructions fréquemment utilisées)
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    unsigned short isPremier(unsigned long n)
    {
        unsigned long i;
        unsigned short flag;
        for (flag=1, i=2; i < n && flag != 0; i++)
        {
            if ((n % i) != 0)
                flag=0;
       }
        return flag;
    }

    Certaines astuces mathématiques permettent de raccourcir le traitement. Par exemple quand le résultat de la division de n par i devient plus petit que i, on peut arrêter la recherche (le nombre est premier) mais ces astuces ne sont pas primordiales pour la réussite de l'algo.

    Avec un peu d'habitude et d'exercices ça vient ensuite petit à petit puis de plus en plus naturellement...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Re bonjour !! tout le monde merci à tous pour vos réponses je comprends qu'il va falloir beaucoup s'exercer pour avoir cet facilité à me guider moi même, j'ai trouver toutes une série de petit exo basique du même principe que celui des nombre premier je vais essayer de m'y mettre.


    Comprends-tu ce qui va se passer exactement et, de là, peux-tu le modifier pour faire en sorte que ce programme affiche « Hello World » à l'écran ?
    je pense qui va falloir faire printf("Hello world");

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    en tout cas je vous remercie d'avoir tous répondu aussi vite !

  7. #7
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 372
    Points : 23 628
    Points
    23 628
    Par défaut
    Citation Envoyé par nysay Voir le message
    je pense qui va falloir faire printf("Hello world");
    Tout-à-fait.

    Re bonjour !! tout le monde merci à tous pour vos réponses je comprends qu'il va falloir beaucoup s'exercer pour avoir cet facilité à me guider moi même, j'ai trouver toutes une série de petit exo basique du même principe que celui des nombre premier je vais essayer de m'y mettre.
    C'est effectivement en pratiquant que ça vient le plus vite. L'avantage avec la programmation est que le résultat de ses efforts paraît toujours immédiatement à l'écran et les bugs qui apparaissent inévitablement sont en soi des énigmes supplémentaires à élucider pour l'apprenti, et donc des exercices. Les résoudre apportent une certaine satisfaction (comme réparer un système en panne) et le tout stimule les circuits de « récompense » de l'esprit humain. Par conséquent, quand on débute en développement, on s'aperçoit que le sens de l'algorithmique se développe très vite. C'en est même parfois surprenant. C'est à ce moment qu'il devient important de se confronter au travail de ses pairs pour éviter de tomber dans certains pièges et de prendre d'emblée de mauvaises habitudes.

Discussions similaires

  1. [XL-2007] Erreur logique: compilation Code VBA
    Par arthur_as dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 19/09/2012, 16h09
  2. Ré-écriture code VB6 -> C++
    Par Tenebrous dans le forum C++
    Réponses: 15
    Dernier message: 08/02/2012, 15h49
  3. Police d'écriture code barre
    Par Ska_Dg dans le forum ASP.NET
    Réponses: 6
    Dernier message: 05/07/2011, 17h45
  4. [JDOM] Problème écriture code HTML
    Par CrazyCow007 dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 08/04/2009, 09h45
  5. Comparatif entre 2 méthodes d'écriture de code PHP
    Par Chengj dans le forum Langage
    Réponses: 2
    Dernier message: 24/11/2005, 21h43

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