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 :

Apprendre le langage C


Sujet :

Algorithmes et structures de données

  1. #1
    Membre éprouvé
    Avatar de gentil2005
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services à domicile

    Informations forums :
    Inscription : Mai 2007
    Messages : 148
    Points : 1 178
    Points
    1 178
    Par défaut Apprendre le langage C
    salutations à tous,
    je suis un jeune étudiant Congolais et veus programmer en C, C++ mais je ne sais pas comment et par ou commencer
    quelqu'un peut me dire les bons débuts ? les algos ? ou quoi encore ?
    je ne sais que creer un programme qui peut resoudre une equation du second degre mais jaimerais aller plus loin et quant au IDE c CODE::BLOCK mais jaimerais savoir lequel est meilleur des IDE.
    merci
    Le chemin est long mais la voie est LIBRE!!!

    Adhérer : www.mouvementlibriste.org

  2. #2
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Il faut savoir une chose :

    -> Le langage n'est qu'un outil pour implémenter des algos !

    L'un ne va donc pas sans l'autre. Il faut te former dans les deux domaines.

    N'oublies pas que tu as les pages cours C et cours algo qui peuvent t'aider.

  3. #3
    Membre confirmé Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    Points : 477
    Points
    477
    Par défaut
    Si tu n'as jamais vraiment programmé je te déconseille de commencer par C/C++ (surtout C++). Pour te former a l'algorithmie il vaut mieux utiliser un langage simple comme python ou tu n'auras pa a t'embeter avec la gestion memoire, la compilation, la syntaxe... Ue fois que tu maitriseras un peu mieux l'algorithmie et la conception de programme simple tu pourras revenir vers C. Enfin c'est un conseil.

    algorithmique me semble plus exact.
    La science est ce que nous comprenons suffisamment bien pour l'expliquer à un ordinateur. L'art, c'est tout ce que nous faisons d'autre.
    Donald E. Knuth

  4. #4
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Les deux sont acceptées, même si j'ai tendance à dire plus souvent algorithmique.

  5. #5
    Membre confirmé Avatar de vg-matrix
    Inscrit en
    Février 2007
    Messages
    1 220
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Février 2007
    Messages : 1 220
    Points : 612
    Points
    612
    Par défaut
    Citation Envoyé par KindPlayer Voir le message
    Si tu n'as jamais vraiment programmé je te déconseille de commencer par C/C++ (surtout C++). Pour te former a l'algorithmie il vaut mieux utiliser un langage simple comme python ou tu n'auras pa a t'embeter avec la gestion memoire, la compilation, la syntaxe... Ue fois que tu maitriseras un peu mieux l'algorithmie et la conception de programme simple tu pourras revenir vers C. Enfin c'est un conseil.
    Je pense que tout dépend de son niveau de compréhension. D'autre dirais plutôt <puisque tu débute, commence avec le Pascal>, moi par exemple j'ai débuté avec le C parce que c'est un langage assez complexe qui oblige le programmeur à savoir ce qu'il fait, donc permet de mieux faire attention à ce qu'on conçoit. C'est vrai que les débuts en C sont pas aisés mais quand on acquiert la logique de fonctionnement, tout roule.
    L'important est donc de savoir pourquoi veut-il commencer par le C?
    Il est difficile de retrouver ses erreurs lorsqu'on est persuadé que son code est juste...

    Groupe des développeurs ivoiriens

  6. #6
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    Commencer par le C est une hérésie car le C oblige à connaitre des détails inhérent au langage dont tout programmeur débutant ne devrait même pas à avoir à soupçonner l'existence (genre le passage tableau <-> pointeur, ...).

    Le C++ masque en grande partie ce genre de problème avec des outils comme std::vector. Il peut être utile pour démarrer, mias il ne faut pas s'attendre à faire des merveilles en peu de temps, par contre à long terme, il est un langage très puissant.

    Le python est encore plus haut niveau que le C++, permet de faire pas mal de chose assez rapidement mias il semblerai qu'il puisse donner de mauvaise habitudes pour plus tard. Je ne peux en dire plus vu que je connais assez mal ce langage.

    Enfin, il y a aussi Java, Ruby, et bien d'autre langage user-friendly pour commencer.

    Sinon: +1 pour l'algo, c'est qui importe vraiment. Pour faire une analogie avec la construction d'une maison, c'est le plan qui va définir ta maison (l'algorithme) et non les matériaux (langage) avec le(s)quel(s) tu va la monter (coder)

    Edit: ce topic fait quoi en algo ?
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  7. #7
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Citation Envoyé par Davidbrcz Voir le message
    Le python est encore plus haut niveau que le C++, permet de faire pas mal de chose assez rapidement mias il semblerai qu'il puisse donner de mauvaise habitudes pour plus tard. Je ne peux en dire plus vu que je connais assez mal ce langage.
    C'est plutôt le contraire, il pousse aux bonnes habitudes.

    Avantage aussi à Python, c'est l'alternative à Matlab pour les calculs scientifiques. Java, C, C++, c'est trop bas niveau pour ce que tu veux faire.

  8. #8
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Pour un débutant, je conseillerai aussi le basic (je ne sais pas si cela existe encore) ou alors le pascal.

    Certes, ces langages autorisent à prendre des mauvaises habitudes mais ils ont tout de même l'avantage de permettre de comprendre simplement la structure d'un programme et la démarche intelectuelle du développeur.

    Les tests (if then else, for, while, ...), la gestion (simplifiée) des fichiers, ils ne demandent pas de compétences extraordinaires et ils permettent de commencer à développer tout en s'amusant.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  9. #9
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    ram_000 >> le basic ? O_o ? Tu parle bien de ce langage des années 1960-1965 qui ne respecte même pas la programmtion structuré ?

    Si oui ->

    Matthieu Brucher >> c'est l'avis que j'ai lu dans un post de la Section Langage géneral mais moyen de mettre la souris dessus
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  10. #10
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Si tu le retrouves, fais-moi signe. C'est le seul écho de ce type que j'ai depuis mes débuts en Python, pour le moment, les seuls commentaires que je vois est que Python aide à bien programmer (c'est d'ailleurs l'un de ses objectifs lorsqu'il a été conçu).

  11. #11
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par Davidbrcz Voir le message
    le basic ? O_o ? Tu parle bien de ce langage des années 1960-1965 qui ne respecte même pas la programmtion structuré ?
    Oui, je parlais bien de ce langage que j'ai utilisé à titre perso jusque dans les années 90.

    Ce langage qui ne respecte par la programmation structurée comme tu dis et qui a d'autres défauts encore permet (ou permettait) au moins d'appréhender la programmation et la tournure d'esprit qu'il faut avoir pour transformer une idée en code.

    Après, les autres concepts (structuré, object, ...) cela s'apprend en changeant de langage. Combien de personnes ont appris la programmation ou au moins les rudiments avec le basic.

    Ce n'est pas parce que c'est vieux que c'est pas bien. Pour info, le cobol date de 1959 et c'est dans ce langage qu'il y a encore le plus de lignes de codes actives de nos jours.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  12. #12
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    Ce langage qui ne respecte par la programmation structurée comme tu dis et qui a d'autres défauts encore permet (ou permettait) au moins d'appréhender la programmation et la tournure d'esprit qu'il faut avoir pour transformer une idée en code..

    Après, les autres concepts (structuré, object, ...) cela s'apprend en changeant de langage. Combien de personnes ont appris la programmation ou au moins les rudiments avec le basic.
    La BASIC est un désastre car comme il ne supporte pas la programmation structuré, il encourage l'utilisation de goto (chose ignoble dans un langage haut niveau que St Djikistra a banni). Or goto amène un code fouilli avec une architecture bancale, ce qui est l'opposé des choses qu'un débutant devrait apprendre à faire.

    Débuter en informatique n'est pas une chose facile, si en plus on donne aux débutants des outils dont la mauvaise qualité est reconnue, on sape leurs travaux avant même qu'ils aient commencés.

    Ce n'est pas parce que c'est vieux que c'est pas bien. Pour info, le cobol date de 1959 et c'est dans ce langage qu'il y a encore le plus de lignes de codes actives de nos jours.
    L'âge n'a aucune importance, je suis d'accord, je donnais la date de création comme référence pour être sur qu'on parle du même langage.

    PS: Le langage historique pour l'enseignement est Pascal,
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  13. #13
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Mode <provoc=on>

    Le Quickbasic supporte : for..next, do..loop, while..wend, if..then..else, select..case, goto.

    Le C supporte : for, do, while, if..then..else, select..case, goto.

    Mince, pareil

    Mode <provoc=off>

    Le site pour récupérer un quickbasic http://quickbasic.free.fr/ et la version 4.5 fonctionne sur mon XP.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  14. #14
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    Faut préciser alors !!! QuickBasic ce n'est pas du Basic !!! C'est un dialecte, mais pas plus.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  15. #15
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    On s'écarte du sujet. Ici ce n'est pas un forum sur les mérites comparés de tel ou tel langage. Il y a plein de discussions sur ce forum même. Rien à voir avec l'algo.
    Cela dit, "chacun a quelque chose pour plaire, chacun a son petit mérite" comme disait l'ami Georges. Moi je les aime tous, méfiez vous des clichés... Il y a place pour Fortran et Basic (VB est tout aussi structuré que les autres).
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  16. #16
    Membre confirmé Avatar de vg-matrix
    Inscrit en
    Février 2007
    Messages
    1 220
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Février 2007
    Messages : 1 220
    Points : 612
    Points
    612
    Par défaut
    Merci à toi Zavonen, il s'agit d'aider un débutant et non à l'éffrayer.
    Il est difficile de retrouver ses erreurs lorsqu'on est persuadé que son code est juste...

    Groupe des développeurs ivoiriens

  17. #17
    Membre averti Avatar de Tux++
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    281
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 281
    Points : 379
    Points
    379
    Par défaut
    Bonjour,

    Pour ma part je te conseillera le Pascal simple pour débuter, c'est un langage très didactique et qui plus est proche du pseudo-code niveau syntaxe, il te permettra de t'initier à la prog., et tu pourras même t'initier aux pointeurs avant de te lancer dans le C qui permets (à mon sens) bien trop de choses pour un débutant.
    Commencer par l'OO est une mauvaise idée aussi je crois, l'impératif est quand-même plus facile à comprendre au début même si il est vrai que l'OO modélise des entités du monde réel.

    Bref, à toi de voir, mais de bonnes bases en algorithmiques (et en logique) sont toujours nécéssaires et cela veut dire: papier + crayon
    Certified Oracle Advanced PL/SQL Professional
    Certified Oracle APEX Expert
    Certified Oracle SQL Expert

  18. #18
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Bref, à toi de voir, mais de bonnes bases en algorithmiques (et en logique) sont toujours nécéssaires et cela veut dire: papier + crayon
    C'est exact, j'aimerai rappeler (pour conclure) que le langage n'est qu'un outil, tout seul il ne sert pas à grand chose.

  19. #19
    Membre éprouvé
    Avatar de gentil2005
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services à domicile

    Informations forums :
    Inscription : Mai 2007
    Messages : 148
    Points : 1 178
    Points
    1 178
    Par défaut
    Bonjour à tous!

    Je reviens, 5 ans plus tard, répondre et vous dire merci, je suis déjà devenu membre (presque) actif de ce site mais j'avoue qu'après avoir posté cette question en 2007, je n'étais plus revenu sur cette page pour plusieurs raisons, et pourtant, vous, gentilles personnes, vous étiez resté répondre à ce sujet, je vous dis encore grand merci...j'avais commencé avec le C, puis ça m'avais pris beaucoup de temps, après je suis passé aux langages du Web, le php s'approchant du C...

    5 ans plus tard (mieux vaut tard que jamais dit-on), je vous dis merci les gars

    Bon dimanche
    Le chemin est long mais la voie est LIBRE!!!

    Adhérer : www.mouvementlibriste.org

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

Discussions similaires

  1. Un livre/Un PDF pour apprendre le langage Delphi
    Par Invité dans le forum EDI
    Réponses: 14
    Dernier message: 24/08/2009, 22h53
  2. Apprendre un langage de programmation moderne
    Par aegal dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 3
    Dernier message: 22/02/2006, 14h15
  3. Peut on apprendre 2 langage en même temps ?
    Par tantto dans le forum C++
    Réponses: 4
    Dernier message: 13/03/2005, 19h35
  4. Apprendre un langage de programmation ?
    Par Invité dans le forum Débuter
    Réponses: 5
    Dernier message: 08/02/2005, 22h16
  5. Apprendre un langage Objet
    Par samyl dans le forum Débuter
    Réponses: 6
    Dernier message: 23/06/2003, 11h42

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