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 :

Faut-il pratiquer l'algorithmique avant de se lancer dans un langage ?


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    auto-formation
    Inscrit en
    Octobre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : auto-formation

    Informations forums :
    Inscription : Octobre 2015
    Messages : 8
    Par défaut Faut-il pratiquer l'algorithmique avant de se lancer dans un langage ?
    Bonjour,

    Je suis un programmeur assez débutant.

    Je me posais la question de la pertinence de programmer en c++ alors que j'ai du mal avec les algorithmes. J'ai commencé il y a peu mais la manipulation des boucles conditionnelles m'est difficile quand le problème est un peu complexe.
    Je n'ai pas eu de cours sur la récursivité et j'aborde déjà un exercice avec ce concept.

    Ma question : faut-il commencer par de l’algorithmique avant de pratiquer un langage : pour "former et entraîner" son cerveau à des problèmes de prog ?

    Deuxième question : est-ce que l'algorithmique aborde la Programmation orientée objet ?

    merci à vous !

  2. #2
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    Bonjour

    C'est comme de demander s'il vaut mieux apprendre la langue d'abord ou la vie d'abord... tu apprends les deux en même temps.

    Un algorithme est une recette, un procédé, un mode d'emploi. Il n'est pas attaché au langage.

    Tu mélange tout ce vocabulaire pour faire une discussion qui va être un nid à trolls.

  3. #3
    Membre habitué
    Homme Profil pro
    auto-formation
    Inscrit en
    Octobre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : auto-formation

    Informations forums :
    Inscription : Octobre 2015
    Messages : 8
    Par défaut
    Merci Flodelarab!

    Mais je ne voulais pas faire de cette discussion un nid à trolls bien sûr !
    Et puis votre forum est bien modéré d'après ce que j'ai compris...

    Bon. J'essaierai de m’entraîner sur l'algorithmique alors.

    Je crois que le CNAM propose des cursus dans ce domaine... A voir...

    Et sinon je vais faire aussi des exos de c++ sur les points que je ne maîtrise pas du tout.

    Je suis à un niveau "zéro" + 1 mois
    Même si j'ai eu par le passé des notions de base.

    Bonne journée

  4. #4
    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
    Ce qu'il faut bien voir, c'est que les concepts techniques comme Programmation Orientée Objet, ou Aspects, procédural, Patterns, Test-Driven development etc etc, sont des "vues", des paradigmes, pour mettre en oeuvre une pensée, dans un but : celui de faire un programme qui fait quelque chose..

    Dans cette optique, si on prend une analogie, tu peux te rendre d'un point A à un point B à pied, en bus, en métro, en vélo, en voiture. A pied, tu peux y aller en marchant, en courant, en marchant à l'envers, etc etc..

    L'algorithmique consiste simplement à dire (dans ce cas) : je vais aller du point A au point B et à isoler le chemin (rue X, puis à angle droit rue Y, etc etc). Le langage sera le moyen de transport ou son dérivé (marcher, courir, etc) (qui éventuellement affectera la manière d'effectuer la tâche : peut-être qu'un sens interdit empêchera de prendre la rue Y et qu'il faudra prendre un autre itinéraire, ou que des escaliers imposeront la marche à pied sur l'itinéraire choisi).




    Ce sont donc 2 problèmes différents, éventuellement liés.

    L'algorithmique sera plus l'analyse mathématique et logique du problème.

    Cependant, l'utilisation de particularités de programmation ou conception peut faire modifier l'algorithmique : faire une recherche dans / utiliser un tableau ou une liste chaînée ne se fera pas de la même manière.. L'atteinte de conditions aux limites ne se fera pas de la même manière dans une boucle for ou while..


    En conclusion, les 2 aspects sont aussi importants : tu veux savoir conduire une voiture d'une part (le langage), et savoir établir un itinéraire (l'algorithmique) d'autre part.

  5. #5
    Membre habitué
    Homme Profil pro
    auto-formation
    Inscrit en
    Octobre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : auto-formation

    Informations forums :
    Inscription : Octobre 2015
    Messages : 8
    Par défaut
    Merci pour ta réponse très bien formulée.. Elle est aidante !

  6. #6
    Membre Expert Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Par défaut
    Coder c'est additionner des problèmes de syntaxe et d'outillage au problème algorithmique lui-même. C'est donc strictement plus difficile que l'algorithmique seule : non seulement tu dois créer un algorithme mais en plus tu dois l'encoder selon des règles strictes.


    Cela dit coder directement permet d'une part de rendre l'exercice plus amusant et d'autre part de pouvoir tester rapidement telle ou telle solution et modification, et de pouvoir exécuter un programme pas-à-pas pour peu que l'on ait appris à se servir du débogueur.


    Dans l'idéal je privilégierais la seconde option à condition de trouver pour le débutant un langage simple avec des outils simples. Le C++ ne serait pas évidemment pas le meilleur choix pour ça ! Peut-être Python + SublimeText ou Processing.

Discussions similaires

  1. Faut il apprendre le C avant le C++ ?
    Par Yukiho dans le forum Débuter
    Réponses: 51
    Dernier message: 13/10/2014, 21h13
  2. Réponses: 1
    Dernier message: 21/10/2009, 10h38
  3. Avant de me lancer dans AS3 une question
    Par Claude_Azoulai dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 17/08/2007, 16h22
  4. Questions avant de me lancer tête baissée
    Par ustilago dans le forum Access
    Réponses: 3
    Dernier message: 11/08/2006, 17h16
  5. Charger application avant de la lancer
    Par Ulmo dans le forum Windows
    Réponses: 4
    Dernier message: 27/03/2006, 02h15

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