quel livre me conseillez vous sur l'algorithmique ? - Programmation
Marsh Posté le 13-01-2002 à 23:10:31
pour lalgo, moi jai de la chance c mes profs qui maprennent, essaye de trouver un mec dans ton coin (un pote)qui est dans un iut info, il te scannera les fascicule de cours
Marsh Posté le 13-01-2002 à 23:14:07
Ben moi j'ai fait un cours de DUT, mais j'ai plus mes cours.
Donc desolé !!!
Marsh Posté le 14-01-2002 à 03:10:37
"introduction a l'algorithmie" de Cormen et 2 autres gus .
une bible , il y a tout : les structres de données , les graphes , les grammaires , la complexité ...
tous mon cours de licence info et un bout de celui de maitrise
Marsh Posté le 14-01-2002 à 15:25:15
C'est quoi exactement l'algorithmique?
J'ai bien une idée mais j'aimerais savoir ce que c'est précisemment
Marsh Posté le 14-01-2002 à 15:29:14
Ace17 a écrit a écrit : C'est quoi exactement l'algorithmique? J'ai bien une idée mais j'aimerais savoir ce que c'est précisemment |
C (en gros hein ), l'architecture des programmes.
Marsh Posté le 14-01-2002 à 16:25:19
Bruce a écrit a écrit : C (en gros hein ), l'architecture des programmes. |
C ou c'est ?
Marsh Posté le 14-01-2002 à 16:27:35
Ace17 a écrit a écrit : C'est quoi exactement l'algorithmique? J'ai bien une idée mais j'aimerais savoir ce que c'est précisemment |
C'est la manière de concevoir un programme pour resoudre un probleme et toute les méthodes de base existantes (recursivité, ...)
Marsh Posté le 15-01-2002 à 09:51:02
le bouquin dont je t'ai parlé fait environ 300 balles et bcp de pages , mais tu y trouvera tout ce que tu veux comme algos.
c un truc general , tu ne verra pas une ligne de C ou de java dedans , que des algos .
Marsh Posté le 15-01-2002 à 10:08:57
L'algorithmique, c de la programmation en laguage littéraire (français, anglais ou autre, sans être de la grande littérature ), tt simplement !
[edtdd]--Message édité par El_Gringo--[/edtdd]
Marsh Posté le 15-01-2002 à 10:13:16
Ouais, ce qu'on appelle le pseudo code, c'est ca?
Mais lorsqu'on maitrise un langage, pourquoi ne pas programmer directement dans ce langage? (bon je me doute un peu que c'est pas bien mais j'aimerais avoir le maximum d'info la dessus)
Marsh Posté le 15-01-2002 à 10:45:43
Ace17 a écrit a écrit : Ouais, ce qu'on appelle le pseudo code, c'est ca? Mais lorsqu'on maitrise un langage, pourquoi ne pas programmer directement dans ce langage? (bon je me doute un peu que c'est pas bien mais j'aimerais avoir le maximum d'info la dessus) |
Perso, je programme directement en C/C++, moi, mais niveau Organisation, je suis pas un exemple
On te diras que ça t'aide à mieux organiser tes idées, parce qu'on pense mieux en française qu'en langage informatique. normalement, pour mieux mettre tes idées sur papier, c l'algo qui s'utilise. Mais ce qui est réellement utilisé, c le techniques de modèlisation, style méthode UML, Merise, ...
l'algo, c bien pour apprendre la prog. ça peut être utile aussi, pour donner une méthode de programmation qui est indépendante du langage.
Marsh Posté le 15-01-2002 à 10:46:35
Ace17 a écrit a écrit : Ouais, ce qu'on appelle le pseudo code, c'est ca? |
c pas ca du tout le pseudo code
mais bon
Marsh Posté le 15-01-2002 à 10:55:56
Dj_Jim a écrit a écrit : c pas ca du tout le pseudo code mais bon |
c quoi du pseudo code ?
c quoi des pécés ?
Marsh Posté le 15-01-2002 à 11:03:15
El_Gringo a écrit a écrit : c quoi du pseudo code ? c quoi des pécés ? |
le pseudo code c'est ce ki sort de la phase d'analyse d'un compilateur et qui permet de ne pas avoir a réecrire tout le compilo pour le porter d'un systeme a un autre (linux vers windows par exemple ou meme pour un type de proc specifique qui ne gererais pas les registres de la meme maniere)
En gros c'est du code bas niveau (de l'assembleur en quelque sorte)
voila
Marsh Posté le 15-01-2002 à 11:04:05
El_Gringo a écrit a écrit : L'algorithmique, c de la programmation en laguage littéraire (français, anglais ou autre, sans être de la grande littérature ), tt simplement ! |
nope l'algorithmique c'est la science des programmes.
Le fait qu'il y ait des algos decrits en pseudocode
c'est juste pour normaliser un peu les choses
parce que le francais est souvent ambigu.
L'algorithmique peut rentrer dans des considerations bas
niveaux, quand il s'agit de mesurer la consommation memoire
d'un traitement sur un grand nombre d'elements
ou quand il s'agit de mesurer l'efficacite d'un cache
processeur.
L'algo est par nature independante du langage
parce que les langages sont equivalents du point
de vue fonctionnel et que seul le cout des operations
change. (et c'est la que le langage est l'implantation
interviennent quand il s'agit de choisir entre deux
algorithmes differents)
A+
LEGREG
Marsh Posté le 15-01-2002 à 11:21:15
legreg a écrit a écrit : nope l'algorithmique c'est la science des programmes. Le fait qu'il y ait des algos decrits en pseudocode c'est juste pour normaliser un peu les choses parce que le francais est souvent ambigu. L'algorithmique peut rentrer dans des considerations bas niveaux, quand il s'agit de mesurer la consommation memoire d'un traitement sur un grand nombre d'elements ou quand il s'agit de mesurer l'efficacite d'un cache processeur. L'algo est par nature independante du langage parce que les langages sont equivalents du point de vue fonctionnel et que seul le cout des operations change. (et c'est la que le langage est l'implantation interviennent quand il s'agit de choisir entre deux algorithmes differents) A+ LEGREG |
y a souvent des trucs interressants ds ce que tu dis, mais ton défaut, c que tu t'emflammes, et du coup, ça débouche sur des conneries !
Tu sais très bien qu'on choisi pas son langage selon le cout des opérations en fonction de tel ou tel algo. Avant d'écrire l'algo, on sait déja quel langage on utilisera... et oses me dire que tu fais pas ça pour voir...
Sinon, autre remarque: du point de vue fonctionnel, les langages sont pas les mêmes ! essaye donc prolog pour voir... la programmation évenementielle, rien à voir avec la prog procédurale, ...
Marsh Posté le 15-01-2002 à 11:25:21
tu veux des bouquins d'algo? des vrais? Dans ce cas, UN achat prioritaire: les KNUTH (Donald de son prénom)
Marsh Posté le 15-01-2002 à 11:32:32
El_Gringo a écrit a écrit : Tu sais très bien qu'on choisi pas son langage selon le cout des opérations en fonction de tel ou tel algo. Avant d'écrire l'algo, on sait déja quel langage on utilisera... et oses me dire que tu fais pas ça pour voir... |
Les gens qui ont decrit les premiers algorithmes
se basaient sur une structure de machine ou des langages qui ne sont plus utilises actuellement et pourtant certains de leurs algorithmes sont toujours valables.
El_Gringo a écrit a écrit : Sinon, autre remarque: du point de vue fonctionnel, les langages sont pas les mêmes ! essaye donc prolog pour voir... la programmation évenementielle, rien à voir avec la prog procédurale, ... |
Je fais une difference entre les langages dits universels
qui permettent de faire tout ce qui est possible
avec un ordinateur : exemple C, Pascal, Caml, Java, Assembleur,
Basic, etc.. et les langages specialises qui sont devolus a
une tache tres specifiques et dont l'implantation repose
sur un langage universel. (impossible de traduire du prolog
en code machine sans un autre langage derriere).
De ce qu'il est possible de faire en programmation tu peux
en decrire une sous-partie coherente avec des hypotheses fortes
qui te permettront justement de faciliter le travail de l'optimisateur.
Exemple d'hypothese limitante: en algorithmique pure on considere
que les entiers ne sont pas bornes et c'est le seul moyen de faire tout ce qu'il est possible de faire avec un programme
(en plus d'avoir une memoire infini mais les deux sont lies)
or avec l'hypothese que tout entier est borne par MAX_ENTIER
permet d'avoir un algorithme de tri en temps lineaire dans le meilleur et pire des cas.
A+
LEGREG
[edtdd]--Message édité par legreg--[/edtdd]
Marsh Posté le 15-01-2002 à 11:33:02
El_Gringo a écrit a écrit : y a souvent des trucs interressants ds ce que tu dis, mais ton défaut, c que tu t'emflammes, et du coup, ça débouche sur des conneries ! Tu sais très bien qu'on choisi pas son langage selon le cout des opérations en fonction de tel ou tel algo. Avant d'écrire l'algo, on sait déja quel langage on utilisera... et oses me dire que tu fais pas ça pour voir... Sinon, autre remarque: du point de vue fonctionnel, les langages sont pas les mêmes ! essaye donc prolog pour voir... la programmation évenementielle, rien à voir avec la prog procédurale, ... |
tous les langages ( ou modeles de calculs ) sont equivalents => si tu peux programmer un pb dans un langage , tu peux le faire d ans un autre( meme du prolog en basic )
ce ne sint que des approches de programmation.
ensuite , je fais gaffe a l'algo puis je choisit le langage ( pour moi java ou C ), si la conception objet peut apporter un plus , je pars sur le java , si c de la puissance de calcul brute, ja pars sur le C .
tout depends de quel TAD j'ai besoin .
Marsh Posté le 15-01-2002 à 11:40:05
flo850 a écrit a écrit : tous les langages ( ou modeles de calculs ) sont equivalents => si tu peux programmer un pb dans un langage , tu peux le faire d ans un autre( meme du prolog en basic ) ce ne sint que des approches de programmation. |
là, je suis d'accord. Mais un algo, pour écrire du code prolog, ça a pas de sens... dans un algo, on décrit ce qu'on fait. dans du code prolog, on défini des règles... rien à voir !
flo850 a écrit a écrit : ensuite , je fais gaffe a l'algo puis je choisit le langage ( pour moi java ou C ), si la conception objet peut apporter un plus , je pars sur le java , si c de la puissance de calcul brute, ja pars sur le C . tout depends de quel TAD j'ai besoin . |
Un conseil... apprend le C++, t'as la puissance de calcul+ l'objet
Marsh Posté le 15-01-2002 à 11:47:24
legreg a écrit a écrit : Les gens qui ont decrit les premiers algorithmes se basaient sur une structure de machine ou des langages qui ne sont plus utilises actuellement et pourtant certains de leurs algorithmes sont toujours valables. |
rien à voir avec ce que je disais.
legreg a écrit a écrit : Je fais une difference entre les langages dits universels qui permettent de faire tout ce qui est possible avec un ordinateur : exemple C, Pascal, Caml, Java, Assembleur, Basic, etc.. et les langages specialises qui sont devolus a une tache tres specifiques et dont l'implantation repose sur un langage universel. (impossible de traduire du prolog en code machine sans un autre langage derriere). |
vu comme ça, ok, tout les langages "universels" sont équivalents.
legreg a écrit a écrit : De ce qu'il est possible de faire en programmation tu peux en decrire une sous-partie coherente avec des hypotheses fortes qui te permettront justement de faciliter le travail de l'optimisateur. Exemple d'hypothese limitante: en algorithmique pure on considere que les entiers ne sont pas bornes et c'est le seul moyen de faire tout ce qu'il est possible de faire avec un programme (en plus d'avoir une memoire infini mais les deux sont lies) or avec l'hypothese que tout entier est borne par MAX_ENTIER permet d'avoir un algorithme de tri en temps lineaire dans le meilleur et pire des cas. |
Tu te la pètes. T'essayes de caler dans ta phrase le + de mots "qui font bien" possibles, tout ça pour ne rien dire... si ce n'est que l'algo ne prend pas en compte les limites matérielles.
Marsh Posté le 15-01-2002 à 12:03:49
El_Gringo>> je t'ai vexe ou quoi??
Pourtant pour une fois, je crois ne rien avoir
dit de mechant.
El_Gringo a écrit a écrit : rien à voir avec ce que je disais. |
Peut-etre. Quand j'ecris un programme et quand
je lis un bouquin d'algo ce sont deux trucs assez differents.
J'ai commence les cours d'algorithmique en CAML
et je ne programme plus du tout en CAML aujourd'hui
et pourtant je continue a utiliser les notions de mon cours.
Ca te parle plus la?
El_Gringo a écrit a écrit : vu comme ça, ok, tout les langages "universels" sont équivalents. |
oui je n'incluais pas le francais ou le html dans la notion
de "langage", desole j'aurais du preciser meme si on parlait d'algo.
El_Gringo a écrit a écrit : Tu te la pètes. T'essayes de caler dans ta phrase le + de mots "qui font bien" possibles, tout ça pour ne rien dire... si ce n'est que l'algo ne prend pas en compte les limites matérielles. |
je ne me la pete pas. Et puis ce que j'ai dit au contraire
c'est que les contraintes materielles (stockage des entiers)
nous conduit a avoir des algorithmes de tri en temps lineaire
dans le pire des cas.
Et les mots que j'utilise, ce sont les mots que j'utilise tous les jours desole.
A+
LEGREG
Marsh Posté le 13-01-2002 à 22:39:23
merci d'avance