Je veux coder.

Répondre
Partager Rechercher
@Nibbler: OK. Cherche des trucs comme ça sur google : 8 reines, tours de hanoï, quicksort, listes, files, piles, accès séquentiel indexé, arbres binaires, problème des philosophes... etc.. si ça suffit pas reviens nous voir
Que ce soit python ou n'importe quel autre langage pour apprendre à coder il faut faire des exercices.

Si tu en es encore aux bases commence par faire :

un programme qui demande son nom à l'utilisateur et lui dit Bonjour avec son nom derrière.

Des trucs comme ça

Après tu coderas un truc comme les 8 reines, ça demande plus d'efforts, représentation de l'échiquier, algorithme récursif, affichage des résultats etc...
Je veux bien m'exercé mais sans aucune connaissance c'est chaud.

Je te donne un exemple:

Dans mon dernier TP, on nous a demander cash de sortir un code permettant à partir d'une liste de 1 à 100, d'avoir une nouvelle liste qui ne contient que les nombres premiers( en python car on ne fera que ça du semestre). Je veux bien essayer mais quand tu n'as jamais fait d'algo ou de prog, ben tu reste comme un con devant l'écran (ce qui m'est arrivé ).

Après voilà j'ai demander au prof s'il connaissait pas un lien ou un bouquin pour débuté, sa réponses: chercher sur le net, y'en a plein.

Ben pour avoir cherché, des sites qui définissent les BASES de la programmation, j'en ai pas encore touver.
Les nombres premiers c'est pas trop compliqué, ça se fait avec la méthode du crible d'Erathostene par exemple...

Tu fais un tableau de 1 à 100 => il faut donc que tu saches faire un tableau.

Tu initialises toutes les valeurs du tableau à vrai, car à priori tous ces nombres sont premiers.

Ensuite tu sais qu'un nombre premier n'est divisble que par lui-même et par 1. Donc tu parcours ton tableau, tu arrives sur 1 c'est premier, ensuite 2, c'est premier vu que c'est marqué dans le tableau...

Par contre tous les nombres divisibles par 2 dégagent, 4, 8, 16, 32.. 100 tu les marques tous faux.

Ensuite tu arrives sur 3, c'est premier pareil vu que c'est marqué dans le tableau, par contre 6, 9.... 99 c'est plus premier

Ensuite 4 c'est plus premier vu que tu l'as marqué à faux quand tu as inspecté 2, et après 5 c'est premier...

Tu continues comme ça jusqu'à 100

Par conséquent tu as une boucle que tu démarres à 2 car 1 est un cas spécial

Code:
pour i allant de 2 à 100
faire
      si tableau_premier[i] = vrai
      alors
             j <- 2
            tant que j*i <= 100
            faire
                  tableau_premier[i*j] <- faux
                  j <- j+1
            finfaire
      finsi
finfaire
Voilà, il ne faut pas oublier les déclarations et les initialisations et surtout traduire ça en python, perso je connais pas python donc je peux pas t'aider là-dessus, et surtout c'est pas le but de la manip.

Toi c'est une liste alors il faudra que tu remplaces le tableau par une liste mais le principe est le même.
Un grand merci à Olblach pour sa réponse utile

A la question de Nibbler : Chuis nul en algo , comment je résoud mon problème de logique sachant que je ne sais pas programmer...

La réponse est : Chercher et trouver la réponse en français avant d'essayer de programmer.
Des algo sur les nombres premiers , y'en a plusieurs qui sont expliqués sur wikipedia.

La programmation sert à coder une réponse à un problème dans un langage informatique , si on ne connait pas la réponse au problème en logique/francais , ca ne sert à rien d'essayer de programmer.
Perso, même si je vais répéter ce que certains ont dit : je pense qu'il faudrait commencer par le C, au moins pour apprendre les bases et certains bons réflexes pis après le Python qui est vraiment un langage idéal pour débuter ou alors tu peux faire le contraire mais je pense qu'il faudrait plus bosser l'algo avant..
J'avais appris le C avec le lien de Old'Xeph et j'avais approché le Python sur un site malheureusement fermé aujourd'hui mais je pense que tu peux trouver masse de tutoriaux sur le net

edit : up Prince au passage
Moi je vais enfoncer le clou, pour ce qui est de la lignée des Pascal pour commencer, c'est nettement moins permisif que le C et le C++ histoire de chopper les bonnes réponses.

Après, pour ton applique je te conseil comme dit plus haut le couple php mysql avec un framework type symfony, zend, etc ...

ou bien Java, même combat avec framework type hibernate,

Mais avant toute chose je te conseil d'apprendre les bases de l'objet puis après d'apprendre un minimum de modélisation (UML, voir une méthode de gestion de projet informatiques comme RUP si ton projet est d'une certaine envergure).

Voilà
Citation :
Publié par disciple
Perso, même si je vais répéter ce que certains ont dit : je pense qu'il faudrait commencer par le C, au moins pour apprendre les bases et certains bons réflexes pis après le Python qui est vraiment un langage idéal pour débuter ou alors tu peux faire le contraire mais je pense qu'il faudrait plus bosser l'algo avant..
Le python n'est pas seulement un lanqage pour débuter.
C'est un langage complet qui permet de faire très rapidement des scripts sur un coin de table mais aussi des applications de taille diverses (bittorrent, Eve online, ....)
Citation :
Publié par Drak Valer
La programmation sert à coder une réponse à un problème dans un langage informatique , si on ne connait pas la réponse au problème en logique/francais , ca ne sert à rien d'essayer de programmer.
+1 pour ce petit détail. La réponse en logique c'est ce qu'on appelle de l'algo ou des maths la plupart du temps - ou des sciences, pour les logiciels scientifiques.
Sur developpez.com on trouve quelques liens utiles pour apprendre l'algorithmique, connaître les algo les plus courant et se former à cette façon de raisonner.
Ensuite pour apprendre un langage, rien de tel que de se fixer des mini-projets à faire (ou des exercices), c'est en cherchant à faire des trucs concrets qu'on découvre les différentes façons de procéder.
Le langage n'a que peu d'importance. Un langage qui ne te submerge pas avec des API par millions qui font des gazillions de trucs c'est mieux pour apprendre, parce que tu ne te dissipes pas dans des trucs peripheriques. Pour la peine je dirais C ou Pascal, pour apprendre. Une fois que tu as appris passer d'un langage a un autre est relativement simple, il faut juste se bouffer les 2000 API standards de Java dans les dents, mais la programmation en elle meme c'est regle.
Citation :
Publié par Assurancetourix
No way , surtout pour un débutant, vla les habitudes moisies qu'il va prendre.
Ah, encore quelqu'un qui parle sans l'avoir utilisé... Heureusement que tout le monde ne réagit pas comme ça sinon quid de la popularité de Linux...

Dans l'absolu je suis d'accord avec toi mais je ferais remarquer que les monsieur semble vouloir dev des applis très variées et l'IDE qui permet de coder très rapidement reste Windev.

Alors ok dans certains cas ça peut devenir une usine à gaz, ok leur politique commerciale est super agressive, ok ils nous saoûlent avec leur pub mais à choisir entre ça et VB, c'est tout vu.

Sinon, il y a Python + wxWidgets/Glade/Tkinter/Qt
Citation :
Publié par Libre Arbitre
Ah, encore quelqu'un qui parle sans l'avoir utilisé... Heureusement que tout le monde ne réagit pas comme ça sinon quid de la popularité de Linux...

Dans l'absolu je suis d'accord avec toi mais je ferais remarquer que les monsieur semble vouloir dev des applis très variées et l'IDE qui permet de coder très rapidement reste Windev.

Alors ok dans certains cas ça peut devenir une usine à gaz, ok leur politique commerciale est super agressive, ok ils nous saoûlent avec leur pub mais à choisir entre ça et VB, c'est tout vu.

Sinon, il y a Python + wxWidgets/Glade/Tkinter/Qt
Je l'ai utilisé, et je l'utilise encore, en fait. Et entre ça et .Net, c'est tout vu, en effet.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés