Un gamin de CE2 est intelligent. Un ordinateur est stupide. Sans
compter que le gamin ne compare pas des nombres, mais des chaînes de
caractère représentant des nombres :-D
Un gamin de CE2 est intelligent. Un ordinateur est stupide. Sans
compter que le gamin ne compare pas des nombres, mais des chaînes de
caractère représentant des nombres :-D
Un gamin de CE2 est intelligent. Un ordinateur est stupide. Sans
compter que le gamin ne compare pas des nombres, mais des chaînes de
caractère représentant des nombres :-D
Je n'ai jamais dépassé les cours d'algèbre linéaire :-D Merci pour les
liens.
Je n'ai jamais dépassé les cours d'algèbre linéaire :-D Merci pour les
liens.
Je n'ai jamais dépassé les cours d'algèbre linéaire :-D Merci pour les
liens.
Mickaël Wolff a écrit :
Je n'ai jamais dépassé les cours d'algèbre linéaire :-D Merci pour
les liens.
Tiens, ça me donne l'idée qu'il faudrait mener une petite enquête qui
ferait l'état des lieux des savoirs mathématiques réellement utilisés à
un moment ou à un autre par un programmeur, un développeur, un ingénieur
informaticien, etc au cours de sa carrière. Ou plus généralement le
réinvestissement des savoirs mathématiques acquis, même si ces savoirs
sont transformés.
Personnellement, je trouve que l'enseignement dans les cursus
informatique à la fac est trop teinté de maths, je dirais même qu'on les
soûle de maths et qu'on les gonfle (les étudiants). Par contre, la
culture algorithmique et les expérimentations algorithmiques sont trop
peu développées. Incroyable le nombre d'étudiants de licence L3 qui ne
savent pas concevoir un algorithme de génération de permutations (on en
parlait dans ce fil) ou un algorithme de multiplication en
multiprécision. Par contre, ces mêmes étudiants auront bouffé de la
méca, des champs de gradients et des intégrales curvilignes comme s'il
allaient un jour faire une implémentation bas niveau d'une API de moteur
physique (alors que de toute façon, ils n'auront jamais le niveau
nécessaire en maths ou en méca) !!
Mais bon, je pose juste la question comme ça et je n'entends pas ouvrir
le débat maintenant.
Mickaël Wolff a écrit :
Je n'ai jamais dépassé les cours d'algèbre linéaire :-D Merci pour
les liens.
Tiens, ça me donne l'idée qu'il faudrait mener une petite enquête qui
ferait l'état des lieux des savoirs mathématiques réellement utilisés à
un moment ou à un autre par un programmeur, un développeur, un ingénieur
informaticien, etc au cours de sa carrière. Ou plus généralement le
réinvestissement des savoirs mathématiques acquis, même si ces savoirs
sont transformés.
Personnellement, je trouve que l'enseignement dans les cursus
informatique à la fac est trop teinté de maths, je dirais même qu'on les
soûle de maths et qu'on les gonfle (les étudiants). Par contre, la
culture algorithmique et les expérimentations algorithmiques sont trop
peu développées. Incroyable le nombre d'étudiants de licence L3 qui ne
savent pas concevoir un algorithme de génération de permutations (on en
parlait dans ce fil) ou un algorithme de multiplication en
multiprécision. Par contre, ces mêmes étudiants auront bouffé de la
méca, des champs de gradients et des intégrales curvilignes comme s'il
allaient un jour faire une implémentation bas niveau d'une API de moteur
physique (alors que de toute façon, ils n'auront jamais le niveau
nécessaire en maths ou en méca) !!
Mais bon, je pose juste la question comme ça et je n'entends pas ouvrir
le débat maintenant.
Mickaël Wolff a écrit :
Je n'ai jamais dépassé les cours d'algèbre linéaire :-D Merci pour
les liens.
Tiens, ça me donne l'idée qu'il faudrait mener une petite enquête qui
ferait l'état des lieux des savoirs mathématiques réellement utilisés à
un moment ou à un autre par un programmeur, un développeur, un ingénieur
informaticien, etc au cours de sa carrière. Ou plus généralement le
réinvestissement des savoirs mathématiques acquis, même si ces savoirs
sont transformés.
Personnellement, je trouve que l'enseignement dans les cursus
informatique à la fac est trop teinté de maths, je dirais même qu'on les
soûle de maths et qu'on les gonfle (les étudiants). Par contre, la
culture algorithmique et les expérimentations algorithmiques sont trop
peu développées. Incroyable le nombre d'étudiants de licence L3 qui ne
savent pas concevoir un algorithme de génération de permutations (on en
parlait dans ce fil) ou un algorithme de multiplication en
multiprécision. Par contre, ces mêmes étudiants auront bouffé de la
méca, des champs de gradients et des intégrales curvilignes comme s'il
allaient un jour faire une implémentation bas niveau d'une API de moteur
physique (alors que de toute façon, ils n'auront jamais le niveau
nécessaire en maths ou en méca) !!
Mais bon, je pose juste la question comme ça et je n'entends pas ouvrir
le débat maintenant.
Antoine Leca a écrit :En news:4899f553$0$952$, Wykaaa va escriure:
J'en étais donc arrivé à considérer que d'un côté l'ordre lexicographique
désignait des règles de tri particulières et souvent complexes, associées
à
des notions à géométrie variable comme celle de locale, et impliquait des
temps de traitement important ; l'archétype de ce phénomène est pour moi
la
fonction strcoll().
Et que d'un ordre côté on avait toujours l'ordre lié au codage des
caractères, très souvent utilisé par les informaticiens même s'il n'est
pas
toujours adéquat pour la présentation, et symbolisé par la fonction
strcmp()
dont il est question dans cette discussion.
Il me semblait donc que ta remarque induisait une confusion qu'il eût été
bon de dissiper.
Cependant, à lire ta réaction et celle de plusieurs autres, il semblerait
que je me trompai, et que pour les informaticiens (qui à par moi doivent
constituer l'essentiel du public de ce forum) la notion de «
lexicographique » a un sens particulier, différent de celui généralement
/
antérieurement accepté (et repris par le dictionnaire de l'Académie).
Absolument, oui.
Je t'encourage à lire la page 4 du document suivant :
http://www.dicosmo.org/CourseNotes/IF242/Preliminaires.pdf (ce sont des
notions mathématiques préliminaires à un cours sur "logique et circuits".
L'ordre lexicographique (au sens des informaticiens et des mathématiciens,
d'ailleurs) y est parfaitement défini. Il y a d'ailleurs un avertissement
qui indique que ce n'est pas exactement 'ordre du dictionnaire.
Tu pourras consulter utilement aussi :
http://www.ltam.lu/Tutoriel_Ansi_C/prg-c78.htm
Antoine Leca a écrit :
En news:4899f553$0$952$ba4acef3@news.orange.fr, Wykaaa va escriure:
J'en étais donc arrivé à considérer que d'un côté l'ordre lexicographique
désignait des règles de tri particulières et souvent complexes, associées
à
des notions à géométrie variable comme celle de locale, et impliquait des
temps de traitement important ; l'archétype de ce phénomène est pour moi
la
fonction strcoll().
Et que d'un ordre côté on avait toujours l'ordre lié au codage des
caractères, très souvent utilisé par les informaticiens même s'il n'est
pas
toujours adéquat pour la présentation, et symbolisé par la fonction
strcmp()
dont il est question dans cette discussion.
Il me semblait donc que ta remarque induisait une confusion qu'il eût été
bon de dissiper.
Cependant, à lire ta réaction et celle de plusieurs autres, il semblerait
que je me trompai, et que pour les informaticiens (qui à par moi doivent
constituer l'essentiel du public de ce forum) la notion de «
lexicographique » a un sens particulier, différent de celui généralement
/
antérieurement accepté (et repris par le dictionnaire de l'Académie).
Absolument, oui.
Je t'encourage à lire la page 4 du document suivant :
http://www.dicosmo.org/CourseNotes/IF242/Preliminaires.pdf (ce sont des
notions mathématiques préliminaires à un cours sur "logique et circuits".
L'ordre lexicographique (au sens des informaticiens et des mathématiciens,
d'ailleurs) y est parfaitement défini. Il y a d'ailleurs un avertissement
qui indique que ce n'est pas exactement 'ordre du dictionnaire.
Tu pourras consulter utilement aussi :
http://www.ltam.lu/Tutoriel_Ansi_C/prg-c78.htm
Antoine Leca a écrit :En news:4899f553$0$952$, Wykaaa va escriure:
J'en étais donc arrivé à considérer que d'un côté l'ordre lexicographique
désignait des règles de tri particulières et souvent complexes, associées
à
des notions à géométrie variable comme celle de locale, et impliquait des
temps de traitement important ; l'archétype de ce phénomène est pour moi
la
fonction strcoll().
Et que d'un ordre côté on avait toujours l'ordre lié au codage des
caractères, très souvent utilisé par les informaticiens même s'il n'est
pas
toujours adéquat pour la présentation, et symbolisé par la fonction
strcmp()
dont il est question dans cette discussion.
Il me semblait donc que ta remarque induisait une confusion qu'il eût été
bon de dissiper.
Cependant, à lire ta réaction et celle de plusieurs autres, il semblerait
que je me trompai, et que pour les informaticiens (qui à par moi doivent
constituer l'essentiel du public de ce forum) la notion de «
lexicographique » a un sens particulier, différent de celui généralement
/
antérieurement accepté (et repris par le dictionnaire de l'Académie).
Absolument, oui.
Je t'encourage à lire la page 4 du document suivant :
http://www.dicosmo.org/CourseNotes/IF242/Preliminaires.pdf (ce sont des
notions mathématiques préliminaires à un cours sur "logique et circuits".
L'ordre lexicographique (au sens des informaticiens et des mathématiciens,
d'ailleurs) y est parfaitement défini. Il y a d'ailleurs un avertissement
qui indique que ce n'est pas exactement 'ordre du dictionnaire.
Tu pourras consulter utilement aussi :
http://www.ltam.lu/Tutoriel_Ansi_C/prg-c78.htm
Mais bon, je pose juste la question comme ça et je n'entends pas
ouvrir le débat maintenant.
Dommage...
Mais bon, je pose juste la question comme ça et je n'entends pas
ouvrir le débat maintenant.
Dommage...
Mais bon, je pose juste la question comme ça et je n'entends pas
ouvrir le débat maintenant.
Dommage...
maitrise de concepts techniques et du vocabulaire associé, mais dans la
communication entre les personnes qui utilisent des mots auxquels ils
n'attachent pas le meme sens mais dont ils sont tellement convaincus de
l'universalité de leur interprétation que cette confusion passe totalement
inaperçue
maitrise de concepts techniques et du vocabulaire associé, mais dans la
communication entre les personnes qui utilisent des mots auxquels ils
n'attachent pas le meme sens mais dont ils sont tellement convaincus de
l'universalité de leur interprétation que cette confusion passe totalement
inaperçue
maitrise de concepts techniques et du vocabulaire associé, mais dans la
communication entre les personnes qui utilisent des mots auxquels ils
n'attachent pas le meme sens mais dont ils sont tellement convaincus de
l'universalité de leur interprétation que cette confusion passe totalement
inaperçue
L'ordre du dictionnaire en français ordonne les dérivés du mot légitime
de la manière suivante, non lexicographique :
- légitime
- légitimé
- légitimement
L'ordre du dictionnaire en français ordonne les dérivés du mot légitime
de la manière suivante, non lexicographique :
- légitime
- légitimé
- légitimement
L'ordre du dictionnaire en français ordonne les dérivés du mot légitime
de la manière suivante, non lexicographique :
- légitime
- légitimé
- légitimement
Mickaël Wolff a écrit :Un gamin de CE2 est intelligent. Un ordinateur est stupide. Sans
compter que le gamin ne compare pas des nombres, mais des chaînes de
caractère représentant des nombres :-D
Je ne sais pas si c'est si simple. Le maître ou la maîtresse va enseigner
un noyau d'algorithme plus ou moins entrelacé d'exemples et je pense que
la démarche de l'enfant peut suivre un cheminement assez complexe et en
plus qui peut varier et évoluer en fonction de l'enfant lui-même et aussi
tout du long de son apprentissage.
D'ailleurs, les auteurs d'ouvrages de C feraient bien d'examiner de temps
en temps comment sont rédigés les manuels de l'école primaire et comment
leurs enfants réagissent aux questions qui y sont posées.
L'ordinateur n'est ni stupide ni intelligent, il est obéissant et il a une
complexité qui correspond à celle que lui donnée celui qui l'a programmé.
Donc pour reformuler la question, comment un processeur est-il programmé
pour comparer des entiers ? fait-il une soustraction puis examine t-il un
bit de signe ? Ou alors, procède-t-il justement lexicographiquement ? Pi
si ça se trouve ça va dépendre des processeurs.
Mickaël Wolff a écrit :
Un gamin de CE2 est intelligent. Un ordinateur est stupide. Sans
compter que le gamin ne compare pas des nombres, mais des chaînes de
caractère représentant des nombres :-D
Je ne sais pas si c'est si simple. Le maître ou la maîtresse va enseigner
un noyau d'algorithme plus ou moins entrelacé d'exemples et je pense que
la démarche de l'enfant peut suivre un cheminement assez complexe et en
plus qui peut varier et évoluer en fonction de l'enfant lui-même et aussi
tout du long de son apprentissage.
D'ailleurs, les auteurs d'ouvrages de C feraient bien d'examiner de temps
en temps comment sont rédigés les manuels de l'école primaire et comment
leurs enfants réagissent aux questions qui y sont posées.
L'ordinateur n'est ni stupide ni intelligent, il est obéissant et il a une
complexité qui correspond à celle que lui donnée celui qui l'a programmé.
Donc pour reformuler la question, comment un processeur est-il programmé
pour comparer des entiers ? fait-il une soustraction puis examine t-il un
bit de signe ? Ou alors, procède-t-il justement lexicographiquement ? Pi
si ça se trouve ça va dépendre des processeurs.
Mickaël Wolff a écrit :Un gamin de CE2 est intelligent. Un ordinateur est stupide. Sans
compter que le gamin ne compare pas des nombres, mais des chaînes de
caractère représentant des nombres :-D
Je ne sais pas si c'est si simple. Le maître ou la maîtresse va enseigner
un noyau d'algorithme plus ou moins entrelacé d'exemples et je pense que
la démarche de l'enfant peut suivre un cheminement assez complexe et en
plus qui peut varier et évoluer en fonction de l'enfant lui-même et aussi
tout du long de son apprentissage.
D'ailleurs, les auteurs d'ouvrages de C feraient bien d'examiner de temps
en temps comment sont rédigés les manuels de l'école primaire et comment
leurs enfants réagissent aux questions qui y sont posées.
L'ordinateur n'est ni stupide ni intelligent, il est obéissant et il a une
complexité qui correspond à celle que lui donnée celui qui l'a programmé.
Donc pour reformuler la question, comment un processeur est-il programmé
pour comparer des entiers ? fait-il une soustraction puis examine t-il un
bit de signe ? Ou alors, procède-t-il justement lexicographiquement ? Pi
si ça se trouve ça va dépendre des processeurs.
Jean-Marc Desperrier a écrit :L'ordre du dictionnaire en français ordonne les dérivés du mot
légitime de la manière suivante, non lexicographique :
- légitime
- légitimé
- légitimement
Je n'avais pas vraiment pris conscience de ce point. Ça met un peu de
piment pour écrire une implémentation de la fonction strcoll !
Jean-Marc Desperrier a écrit :
L'ordre du dictionnaire en français ordonne les dérivés du mot
légitime de la manière suivante, non lexicographique :
- légitime
- légitimé
- légitimement
Je n'avais pas vraiment pris conscience de ce point. Ça met un peu de
piment pour écrire une implémentation de la fonction strcoll !
Jean-Marc Desperrier a écrit :L'ordre du dictionnaire en français ordonne les dérivés du mot
légitime de la manière suivante, non lexicographique :
- légitime
- légitimé
- légitimement
Je n'avais pas vraiment pris conscience de ce point. Ça met un peu de
piment pour écrire une implémentation de la fonction strcoll !
candide a écrit dans le message de news:
489b67ef$0$19939$Donc pour reformuler la question, comment un processeur est-il
programmé pour comparer des entiers ? fait-il une soustraction puis
examine t-il un bit de signe ? Ou alors, procède-t-il justement
lexicographiquement ? Pi si ça se trouve ça va dépendre des
processeurs.
Dans le cas des x86, le CPU fait effectivement la soustraction mais ne
stocke pas le resultat, seulement les flags. C'est en tous cas comme
cela qu'était documentée l'instruction SUB dans les manuels Intel il
y a une vingtaine d'années.
char buf[20];
some_func(buf);
if (!strcmp(buf, "err"))
return -1;
Le compilateur sait que buf et "err" sont correctement alignés
puisqu'il qu'il préside à leur allocation (respectivement dans la
pile et un segment de données). Sur une machine 32 bits, il pourrait
générer le code quasi-optimal suivant:
if (*(uint32_t*)buf == *(uint32_t)"err")
return -1;
Je ne sais pas si d'aucuns compilateurs font cela correctement,