Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/05/2021, à 17:46

zephyre123

Comment s'améliorer en algorithmique ?

Bonjour,

J'ai fait quelques petits programmes en langage C et python mais j'aimerai bien m'améliorer en algorithmique.
De ce que j'ai pu lire il y a deux approches pour cela :
- le pseudo code
- le logigramme

Je privilégie l'approche visuel et donc le logigramme mais je n'ai trouvé aucun livre sur le net qui explique les algorithmes par cette approche.
Pourtant je pense que ce serai bien pratique.

J'ai acheté ce livre = algorithmique = https://www.amazon.fr/exec/obidos/ASIN/ … eloppec-21
J'ai beau le lire le relire j'y comprends absolument rien.
Ce niveau est pourtant un niveau intermédiaire.

Avez vous des sites internets ou des livres pour vraiment gros débutant ?

Merci pour votre aide.

Hors ligne

#2 Le 14/05/2021, à 18:14

kamaris

Re : Comment s'améliorer en algorithmique ?

L'algorithmique c'est des maths, donc :
* c'est en amont de tout code, y compris du pseudo-code ;
* les représentations mentales ne sont pas à chercher sur un support externe, mais dans ta tête.

Si tu n'as pas trop d'affinités avec les maths, mieux vaut probablement faire passer la pilule algorithmique en programmant quelque chose de concret, plutôt que de t'acharner inutilement sur de la théorie.
Par contre, une fois que tu vois un peu mieux de quoi il retourne, après avoir essayé un peu de programmer, n'hésite pas à faire retour sur une bonne référence théorique : à ce moment-là, ça peut souvent être très profitable.

Concernant les références, essaie d'aller voir les cours que les profs de fac mettent gratuitement en ligne sur leur page perso ou autre, c'est souvent pas mal.

Dernière modification par kamaris (Le 14/05/2021, à 18:16)

Hors ligne

#3 Le 14/05/2021, à 18:16

lool_lauris

Re : Comment s'améliorer en algorithmique ?

Salut,

Il y a par exemple le site Openclassroom.


Soutenez le Libre => http://www.april.org/

Hors ligne

#4 Le 14/05/2021, à 18:52

Beta Pictoris

Re : Comment s'améliorer en algorithmique ?

C'est vrai, on trouve des cours intéressants sur les sites comme openclassroom ou developpez.net.

Cela dit, il existe d'excellents livres bien écrits. Faut juste les trouver. smile

zephyre123, les exemples de ton livre sont écrits en Fortran, Pascal,....

Pourquoi pas un livre avec des exemples concrets dans un langage de haut niveau comme scheme ? : https://www.unitheque.com/initiation-pr … vre/155440

A noter, il existe le même en python.

Sinon, celui ci est réputé (SICP) : https://fr.wikipedia.org/wiki/Structure … ormatiques

....Mais un peu ancien.

Dernière modification par Beta Pictoris (Le 14/05/2021, à 18:56)

Hors ligne

#5 Le 14/05/2021, à 19:30

Compte supprimé

Re : Comment s'améliorer en algorithmique ?

zephyre123 a écrit :

j'aimerai bien m'améliorer en algorithmique.

Bonjour,
Perso, c'est notamment en réalisant des exercices puis en regardant l'approche des autres pratiquants que je m'améliore.
Il y a des cas de figures que l'on reconnait grace à l'expérience de sa pratique. Je dirais que l'algorithmie , relève aussi de l'imagination (créativité) et de la connaissance de son langage...

#6 Le 14/05/2021, à 19:42

kamaris

Re : Comment s'améliorer en algorithmique ?

pseudofab a écrit :

Je dirais que l'algorithmie , relève aussi de l'imagination (créativité)

J'incluais bien sûr cela en disant « c'est des maths » plus haut tongue

pseudofab a écrit :

et de la connaissance de son langage...

Là je dirais non : le choix de l'algorithme pourra éventuellement être influencé par le langage utilisé, au moment de programmer, mais pas l'algorithmique, qui est l'étude des algorithmes.

Hors ligne

#7 Le 14/05/2021, à 19:50

Compte supprimé

Re : Comment s'améliorer en algorithmique ?

kamaris a écrit :

Là je dirais non : le choix de l'algorithme pourra éventuellement être influencé par le langage utilisé, au moment de programmer, mais pas l'algorithmique, qui est l'étude des algorithmes.

C'est juste wink;)

#8 Le 14/05/2021, à 20:12

zephyre123

Re : Comment s'améliorer en algorithmique ?

Je suis très bon en maths j'ai fait une école d'ingénieur en mécatronique donc je n'ai aucun souci avec les maths.
Je suis à l'aise en maths.
J'ai codé des jeux, le pendu, le nombre magique, le mastermind le morpion et j'ai trouvé cela facile.
La seul difficulté que j'ai rencontré c'est comment découpé son programme en différentes fonctions qui ne font qu'une et une seule tache pour être le plus modulable possible.
Ça je reconnais que c'est vraiment un art voir plus une véritable science.
Mais quand je lis du pseudo code sur un algorithme de trie par fusion, de trie par tas par exemple dans le livre que j'ai acheté j'y comprends rien, absolument rien.
Et je ne parle même pas des algorithmes de graphes, la c'est carrément même pas la peine d'en parler.
J'ai beau le lire,le relire, m'acharner dessus comme un fou ça ne veut pas rentrer.
Je dois être trop con ou bien je n'ai pas commencé assez tôt.

Hors ligne

#9 Le 15/05/2021, à 01:42

Beta Pictoris

Re : Comment s'améliorer en algorithmique ?

zephyre123 a écrit :

La seul difficulté que j'ai rencontré c'est comment découpé son programme en différentes fonctions qui ne font qu'une et une seule tache pour être le plus modulable possible.

Ceci vient avec de la pratique. Et effectivement, la lecture d'ouvrages, avec des bons exemples, pourrait t'aider.

Il y a souvent plusieurs façons d'écrire une même portion de code.

Pour pratiquer, il ne faut pas hésiter à réécrire son code de ces différentes façons.

zephyre123 a écrit :

Mais quand je lis du pseudo code sur un algorithme de trie par fusion, de trie par tas par exemple dans le livre que j'ai acheté j'y comprends rien, absolument rien.
Et je ne parle même pas des algorithmes de graphes, la c'est carrément même pas la peine d'en parler.

Apparemment, ton livre, traduit de l'Américain, est réputé difficile, surtout les sections que traitent des algorithmes...

Pour information, ce livre (SICP) est disponible en pdf : https://web.mit.edu/alexmv/6.037/sicp.pdf

A noter, il existe une variante de ce livre avec des exemples en Python 3 : https://wizardforcel.gitbooks.io/sicp-i … index.html

Mais elle n'est pas aussi bien que la version originale avec les exemples en Scheme.

Dernière modification par Beta Pictoris (Le 15/05/2021, à 13:39)

Hors ligne

#10 Le 15/05/2021, à 14:29

zephyre123

Re : Comment s'améliorer en algorithmique ?

Beta Pictoris a écrit :

Mais elle n'est pas aussi bien que la version originale avec les exemples en Scheme.

C'est quoi scheme ?
Comment je peux l'installer et pratiquer ?

Beta Pictoris a écrit :

Ce livre = https://web.mit.edu/alexmv/6.037/sicp.pdf est en anglais par conséquent je ne vais rien comprendre.

Je vous l'ai dit pour comprendre des concepts abstraits j'ai besoins que ce soit dans ma langue maternel le français.

Dernière modification par zephyre123 (Le 15/05/2021, à 14:31)

Hors ligne

#11 Le 15/05/2021, à 15:36

Beta Pictoris

Re : Comment s'améliorer en algorithmique ?

Scheme fait partie de la famille des langages lisp. Il est surtout utilisé dans le domaine de l'éducation grâce à sa syntaxe simplifiée.

Pour programmer en scheme, tu peux installer le paquet racket qui est dans le dépôt Ubuntu.

Pour travailler avec SICP : https://docs.racket-lang.org/sicp-manua … guage.html

Hors ligne

#12 Le 15/05/2021, à 16:11

Beta Pictoris

Re : Comment s'améliorer en algorithmique ?

Tu peux éventuellement trouver le livre SICP d'occasion traduit en français.
Pour information, la seconde édition date de 1997.

Hors ligne