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 :

conseils programmation C


Sujet :

C

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 67
    Par défaut conseils programmation C
    bonjour,

    je débute en C, et j'aimerais être bon en programmation.
    Comment peut-on s'entraîner en programmation ?
    avez-vous des conseils à me donner, svp ?

    merci.

  2. #2
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Eteindre l'ordinateur + un papier + un crayon + un bon livre l'algorithmique

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 67
    Par défaut
    un livre d'algorithmique ?
    la programmation, ce n'est pas écrire des fonctions en C.
    Qu'est-ce que c'est que l'algorithmique ?
    Est-ce qu'il y a des sites qui proposent des cours d'algorithmique ?
    Quelle livre me conseilles-tu ?

    merci.

  4. #4
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par space_56 Voir le message
    un livre d'algorithmique ?
    la programmation, ce n'est pas écrire des fonctions en C.
    Qu'est-ce que c'est que l'algorithmique ?
    Est-ce qu'il y a des sites qui proposent des cours d'algorithmique ?
    Quelle livre me conseilles-tu ?

    merci.
    http://www.developpez.net/forums/sho...d.php?t=307094

    Je suis peut-être un peu dûr là. En parallèle de l'algo, tu peux choisir un premier langage avec lequel commencer la programmation. Pascal, Ada, OCaml, Python sont de bons choix selon moi. C n'est pas le langage le plus approprié comme 1er langage, même si j'ai débuté avec ce langage. Enfin, tu trouvera plus d'infos ici:



    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  5. #5
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Citation Envoyé par Thierry Chappuis
    Eteindre l'ordinateur + un papier + un crayon + un bon livre l'algorithmique
    Je dirais : Eteindre l'ordinateur + un papier + un crayon + un bon livre de C. D'accord, le C n'est pas un langage à la portée des débutants, mais on peut apprendre le C et en parallèle l'informatique. Pour ma part, j'ai appris 4 langages de programmation différents avant de découvrir l'algorithmique, mais je n'ai eu aucun problème. Personnellement, je défends l'idée selon laquelle il est préférable d'apprendre un ou deux langages de programmation avant de s'intéresser à l'algorithmique. Je parle bien d'algorithmique, c'est-à-dire l'étude des algorithmes, pas de la "programmation" en pseudo-langage, le langage utilisé en algorithmique pour être totalement indépendant d'un langage de programmation particulier, qui devient évident si l'on maîtrise un vrai langage de programmation (l'inverse m'étonnerait). En résumé, il ne faut pas confondre l'apprentissage d'un langage de programmation et l'apprentissage de la programmation. Ce que j'ai dit est valide si on veut apprendre un langage de programmation avant d'apprendre à programmer, comme le souhaite space_56 je suppose.

    Citation Envoyé par space_56
    un livre d'algorithmique ?
    la programmation, ce n'est pas écrire des fonctions en C.
    Qu'est-ce que c'est que l'algorithmique ?
    Est-ce qu'il y a des sites qui proposent des cours d'algorithmique ?
    Quelle livre me conseilles-tu ?

    merci.
    Tu peux apprendre un langage de ton choix avant d'apprendre l'algorithmique comme je viens de le dire. Sache cependant que le C suppose que le programmeur n'est pas un débutant en matière d'informatique (si tu ne sais pas ce que c'est que la mémoire, un shell et un système d'exploitation, oublie le C). Tu trouveras des cours de langage C sur ce site. Google est aussi ton ami.

  6. #6
    Expert confirmé

    Avatar de snake264
    Homme Profil pro
    Datascientist chez Leboncoin
    Inscrit en
    Novembre 2006
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Datascientist chez Leboncoin
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 914
    Par défaut
    Perso je dirai plutôt qu'avant de commencer à apprendre un langage de programmation il faut avoir des bases tel que savoir ce qu'est un test, une boucle, un type, un tableau, etc... c'est pour cela que l'algorithmique est indispensable car une fois l'algorithme écrit on peut le traduire dans n'importe quel langage de prog la démarche sera pratiquement tout le temps la même (on est pas à l'abri des exceptions d'un langage ex: Scheme qui n'a aucun typage). Et si tu veux apprendre un langage de programmation rien ne vaut la pratique sur l'ordinateur ainsi qu'un bon livre ou tuto

  7. #7
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Citation Envoyé par snake264
    Perso je dirai plutôt qu'avant de commencer à apprendre un langage de programmation il faut avoir des bases tel que savoir ce qu'est un test, une boucle, un type, un tableau, etc...
    Moi je trouve cependant que c'est en apprenant un langage de programmation qu'on apprend ces choses. Quelle est la différence entre apprendre à écrire un Si ... Sinon ... FinSi (pseudo-langage, et Windev aussi je crois ...) et if ... else ... endif par exemple ? Les vrais langages ne sont pas plus compliqués que le pseudo-langage (ils sont même encore plus simples ! car plus proches de la réalité).
    Citation Envoyé par snake264
    c'est pour cela que l'algorithmique est indispensable car une fois l'algorithme écrit on peut le traduire dans n'importe quel langage de prog
    La même chose, une fois le programme écrit dans n'importe quel langage de programmation, il est facile de le traduire dans un pseudo-langage.
    Citation Envoyé par snake264
    on est pas à l'abri des exceptions d'un langage ex: Scheme qui n'a aucun typage
    Normal, les pseudo-langages que nous utilisons la plupart du temps en algorithmique sont orientés programmation impérative (procédural ou orienté objets) et non liste ou programmation fonctionnelle ...

  8. #8
    Expert confirmé

    Avatar de snake264
    Homme Profil pro
    Datascientist chez Leboncoin
    Inscrit en
    Novembre 2006
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Datascientist chez Leboncoin
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 914
    Par défaut
    C'est vrai tu as aussi raison mais cette question est je trouve en fonction du point de vue de chaque personne, il y a des gens qui préfèreront commencer les bases de l'algorithmique, et d'autres vont tout de suite apprendre avec un langage quelconque. Mais moi on m'a toujours appris qu'un programme passait toujours par du papier et un crayon à écrire les algorithmes en pseudo-code, à faire les schémas, etc.. et ensuite une fois que tout est terminé passer à l'écriture dans un langage. C'est pour cela que j'ai dis de commencer par de l'algo mais rien n'empeche d'apprendre en même temps un langage. Ceci dépend de la personne.

  9. #9
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    La différence fondamentale est dans la place qu'on accorde au langage et à l'étape du codage proprement dit dans la résolution d'un problème. Je constate, dans ma pratique professionnelle, que beaucoup d'étudiants abordent un problème (de programmation) en se ruant sur le codage. Or cette étape n'est pas une fin en soi, elle n'est qu'un moyen d'expliquer pas par pas à l'ordinateur la marche à suivre pour résoudre le problème donné. Les étapes de spécification du problème (QUOI?) et de conception (COMMENT?) sont à mon avis au centre d'un projet de programmation. L'algorithmique intervient au niveau de la conception. Une fois que l'étudiant a réfléchit et définit ce que doit faire son programme et qu'il a défini une architecture (ou au moins une esquisse), et qu'il a spécifié les algorithmes à implanter (que ce soit en pseudo-code ou en français), l'étape du codage est finalement relativement directe (bien que pas nécessairement triviale).

    Dès lors, des phrases telles que "Je dois coder un répertoire téléphonique en C" ou "J'ai un projet Matlab..." n'ont pas de sens, car c'est le rôle des phases de spécification et de conception de débroussailler le terrain et d'aider au choix de l'outil le plus approprié pour la tâche à réaliser. Dans la pratique, l'étudiant utilisera le langage qu'il connaît ou celui qui lui est imposé dans la donnée du devoir, mais c'est un autre problème...


    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  10. #10
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Citation Envoyé par snake264
    il y a des gens qui préfèreront commencer les bases de l'algorithmique, et d'autres vont tout de suite apprendre avec un langage quelconque
    Tu as bien résumé ce que j'ai essayé de dire depuis tout ce temps. C'est c*n que je n'ai pas pu m'exprimer aussi simplement .

    Citation Envoyé par Thierry Chappuis
    La différence fondamentale est dans la place qu'on accorde au langage et à l'étape du codage proprement dit dans la résolution d'un problème. Je constate, dans ma pratique professionnelle, que beaucoup d'étudiants abordent un problème (de programmation) en se ruant sur le codage. Or cette étape n'est pas une fin en soi, elle n'est qu'un moyen d'expliquer pas par pas à l'ordinateur la marche à suivre pour résoudre le problème donné. Les étapes de spécification du problème (QUOI?) et de conception (COMMENT?) sont à mon avis au centre d'un projet de programmation. L'algorithmique intervient au niveau de la conception. Une fois que l'étudiant a réfléchit et définit ce que doit faire son programme et qu'il a défini une architecture (ou au moins une esquisse), et qu'il a spécifié les algorithmes à implanter (que ce soit en pseudo-code ou en français), l'étape du codage est finalement relativement directe (bien que pas nécessairement triviale).

    Dès lors, des phrases telles que "Je dois coder un répertoire téléphonique en C" ou "J'ai un projet Matlab..." n'ont pas de sens, car c'est le rôle des phases de spécification et de conception de débroussailler le terrain et d'aider au choix de l'outil le plus approprié pour la tâche à réaliser. Dans la pratique, l'étudiant utilisera le langage qu'il connaît ou celui qui lui est imposé dans la donnée du devoir, mais c'est un autre problème...


    Thierry
    Tout ce que tu dis est vrai. Cependant, l'apprentissage d'un langage avant d'aborder l'algorithmique, les méthodes de conception, etc. peut être aussi une motivation pour l'étudiant, puisque ça amorti en quelque sorte la théorie. Il faut donc savoir faire un bon compromis. Et concernant le répertoire téléphonique, il faudra quand même un jour se décider si on va le faire en C ou en Matlab .

  11. #11
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Melem Voir le message
    Cependant, l'apprentissage d'un langage avant d'aborder l'algorithmique, les méthodes de conception, etc. peut être aussi une motivation pour l'étudiant, puisque ça amorti en quelque sorte la théorie. Il faut donc savoir faire un bon compromis. Et concernant le répertoire téléphonique, il faudra quand même un jour se décider si on va le faire en C ou en Matlab .
    Non Thierry a raison, et il suffit de regarder les posts ici-meme pour se rendre compte a quel point c'est une lacune grave de ne pas avoir appris a REFLECHIR avant de coder.....

    L'apprentissage essentiel est celui de la logique/organisation de pensee.

    Ensuite, on passe a "Qu'est-ce que je veux faire ?", puis "comment ?", tout cela uniquement en pensee et papier et crayon.

    Seulement apres on passe au codage, en ayant ou non le choix du langage.

    Mais "Faire un programme de dessin" se decompose en taches elementaires QUEL QUE SOIT le langage et l'outil graphique. La meme chose pour du traitement d'image, pour un site, etc etc...

  12. #12
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Je peux éventuellement conseiller d'accompagner l'étude des algorithmes fondamentaux avec l'apprentissage d'un langage tel que Python qui, par son haut niveau et par sa simplicité, peut être assimilé dans cette situation à une sorte de pseudo-code exécutable. Ceci laisse le temps de ce concentrer sur les détails du QUOI et du COMMENT en évitant d'avoir à se proccuper des détails d'implantation de bas niveau.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  13. #13
    Expert confirmé

    Avatar de snake264
    Homme Profil pro
    Datascientist chez Leboncoin
    Inscrit en
    Novembre 2006
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Datascientist chez Leboncoin
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 914
    Par défaut
    Citation Envoyé par Melem Voir le message
    Tu as bien résumé ce que j'ai essayé de dire depuis tout ce temps. C'est c*n que je n'ai pas pu m'exprimer aussi simplement :mouarf.
    C'est pas grave on peut pas toujours pensé à tout, sa arrive à tout le mondeet je dirai même surtout à moi
    Citation Envoyé par Thierry Chappuis Voir le message
    Je peux éventuellement conseiller d'accompagner l'étude des algorithmes fondamentaux avec l'apprentissage d'un langage tel que Python qui, par son haut niveau et par sa simplicité, peut être assimilé dans cette situation à une sorte de pseudo-code exécutable. Ceci laisse le temps de ce concentrer sur les détails du QUOI et du COMMENT en évitant d'avoir à se proccuper des détails d'implantation de bas niveau.

    Thierry
    +1 je suis entièrement d'accord, python est un très bon langage de programmation de par sa simplicité qui permet de ne pas trop ce prendre la tête avec les subtilités d'un langage tel que le C ou autres et ainsi mieux se préocupper de la démarche de l'algo.

Discussions similaires

  1. Conseil programmation - Accès aux données avec EF
    Par Dan972 dans le forum Entity Framework
    Réponses: 3
    Dernier message: 21/08/2012, 08h55
  2. [HTML] Conseil programmation HTML
    Par fab2219 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 05/02/2008, 08h52
  3. besoin conseil programmation
    Par bokbok dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 19/12/2007, 16h04
  4. [Conseils] Programmation d'un protocole IRC
    Par Malko06 dans le forum IRC / mIRC
    Réponses: 2
    Dernier message: 25/03/2006, 01h50
  5. Conseil programme calcul de surfaces
    Par koolkris dans le forum Langage
    Réponses: 12
    Dernier message: 07/02/2006, 16h28

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