- stenchMonarque
C'est bien entendu un chiffre au pif que je donnais. Comme je ne connais absolument personne qui programme, mais vraiment personne, on va dire que ça nuance tes connaissances. C'était juste une boutade sans intérêt en réponse à une remarque tout autant dénuée d'intérêt concernant les "has been"
- If_Then_ElseNiveau 9
@Stench: des millions de personnes programment: lave-linge, lave-vaisselle, reveille-matin, etc, ?...
Ici, on souhaite parler d'informatique, sans avoir peur d'être "technique". Si tu te sens mal à l'aise avec une notion, si tu as une question pointue, pose-la: grincheux a l'air d'être bien armé pour commencer à te répondre.
Ici, on propose de parler de tout et de n'importe quoi jusqu'au moment où un sujet, un objet?, va émerger. Tous les accrocs du code vont alors ronger l'os pour trouver une solution lisible, fiable et pertinente. Bref, on est dans le "je-ne-sais-quoi", on nage en pleine serendipité. On surfe sur le thème, les doigts prêts à balancer une giclée d'octets.
Si tu te sens mal à l'aise avec ça, n'hésite pas à passer ton chemin camarade.
" />
Ici, on souhaite parler d'informatique, sans avoir peur d'être "technique". Si tu te sens mal à l'aise avec une notion, si tu as une question pointue, pose-la: grincheux a l'air d'être bien armé pour commencer à te répondre.
Ici, on propose de parler de tout et de n'importe quoi jusqu'au moment où un sujet, un objet?, va émerger. Tous les accrocs du code vont alors ronger l'os pour trouver une solution lisible, fiable et pertinente. Bref, on est dans le "je-ne-sais-quoi", on nage en pleine serendipité. On surfe sur le thème, les doigts prêts à balancer une giclée d'octets.
Si tu te sens mal à l'aise avec ça, n'hésite pas à passer ton chemin camarade.
" />
_________________
« On n'enseigne pas ce que l'on sait ou ce que l'on croit savoir : on n'enseigne et on ne peut enseigner que ce que l'on est. »
- stenchMonarque
If_Then_Else a écrit:@Stench: des millions de personnes programment: lave-linge, lave-vaisselle, reveille-matin, etc, ?...
Ici, on souhaite parler d'informatique, sans avoir peur d'être "technique". Si tu te sens mal à l'aise avec une notion, si tu as une question pointue, pose-la: grincheux a l'air d'être bien armé pour commencer à te répondre.
Ici, on propose de parler de tout et de n'importe quoi jusqu'au moment où un sujet, un objet?, va émerger. Tous les accrocs du code vont alors ronger l'os pour trouver une solution lisible, fiable et pertinente. Bref, on est dans le "je-ne-sais-quoi", on nage en pleine serendipité. On surfe sur le thème, les doigts prêts à balancer une giclée d'octets.
Si tu te sens mal à l'aise avec ça, n'hésite pas à passer ton chemin camarade.
Je ne suis pas mal à l'aise du tout, jusqu'à aujourd'hui je m'en foutais complètement. Grace à toi, je découvre un monde que j'ignore complètement (ce qui en soi n'est pas dramatique, on vit tous en ignorant des tas et des tas d'univers) et qui m'intrigue puisque je ne comprends pas un mot à ce que tu dis. Ou plutôt si, je comprends le plupart des mots que tu utilises mais leur association ne veut rien dire pour moi. Une phrase comme "Ici, on propose de parler de tout et de n'importe quoi jusqu'au moment où un sujet, un objet?, va émerger. Tous les accrocs du code vont alors ronger l'os pour trouver une solution lisible, fiable et pertinente. Bref, on est dans le "je-ne-sais-quoi", on nage en pleine serendipité. On surfe sur le thème, les doigts prêts à balancer une giclée d'octets" n'a aucun sens pour moi, je n'en comprends ni le but ni les solutions. Du coup, par une boutade, j'ai signalé cet état de fait, à la fois amusé et sidéré. Maintenant, je veux comprendre. Explique-moi, s'il te plait.
- If_Then_ElseNiveau 9
stench a écrit:If_Then_Else a écrit:@Stench: des millions de personnes programment: lave-linge, lave-vaisselle, reveille-matin, etc, ?...
Ici, on souhaite parler d'informatique, sans avoir peur d'être "technique". Si tu te sens mal à l'aise avec une notion, si tu as une question pointue, pose-la: grincheux a l'air d'être bien armé pour commencer à te répondre.
Ici, on propose de parler de tout et de n'importe quoi jusqu'au moment où un sujet, un objet?, va émerger. Tous les accrocs du code vont alors ronger l'os pour trouver une solution lisible, fiable et pertinente. Bref, on est dans le "je-ne-sais-quoi", on nage en pleine serendipité. On surfe sur le thème, les doigts prêts à balancer une giclée d'octets.
Si tu te sens mal à l'aise avec ça, n'hésite pas à passer ton chemin camarade.
Je ne suis pas mal à l'aise du tout, jusqu'à aujourd'hui je m'en foutais complètement. Grace à toi, je découvre un monde que j'ignore complètement (ce qui en soi n'est pas dramatique, on vit tous en ignorant des tas et des tas d'univers) et qui m'intrigue puisque je ne comprends pas un mot à ce que tu dis. Ou plutôt si, je comprends le plupart des mots que tu utilises mais leur association ne veut rien dire pour moi. Une phrase comme "Ici, on propose de parler de tout et de n'importe quoi jusqu'au moment où un sujet, un objet?, va émerger. Tous les accrocs du code vont alors ronger l'os pour trouver une solution lisible, fiable et pertinente. Bref, on est dans le "je-ne-sais-quoi", on nage en pleine serendipité. On surfe sur le thème, les doigts prêts à balancer une giclée d'octets" n'a aucun sens pour moi, je n'en comprends ni le but ni les solutions. Du coup, par une boutade, j'ai signalé cet état de fait, à la fois amusé et sidéré. Maintenant, je veux comprendre. Explique-moi, s'il te plait.
Je ne retiens que le mot "amusé", car effectivement il y a de quoi!
Et oui, ce fil est un grand fourre-tout, à l'image du monde qui se numérise à la vitesse grand V!
Intitulé le coin du développeur, il propose aux profs plus ou moins passionnés de débattre d'informatique, du point de vue du code ou au-delà ex:
-Qu'est-ce que les néo-objets cités par Stiegler (cf. plus haut) ?
- Est-il possible d'améliorer avec du code son modulateur de fréquence?
- La culture GEEK chez le jeune (l'anti-héro cérébral) ?
- Sur le plan cognitif, quel est l'impact de l'algorithmie (lire : http://www.college-de-france.fr/site/gerard-berry/#course) ?
Car le monde des neurones bouge à toute vitesse: ça devient difficile d'y pénétrer. La connaissance, même minime d'un langage informatique est désormais indispensable (et préférable au Latin ou autres langues mortes, et je suis triste avec toi sur ce point...) pour en comprendre la nature et d'avoir une réflexion critique (grincheux toujours lui :-) lire son blog ).
Par exemple il ( le grincheux ) propose sa contribution pour améliorer le codage des programmes et ça donne ça :
% Neume pointée (reste à débugguer entièrement)
\def\punctump #1{\punctum #1\g@punctump #1}
\def\g@point{\xgregkeyfont\C@Point\z@\raise}
\def\g@punctump#1{\check@staff\getn@i#1\relax\let\n@sym\g@point\hss%
\y@v\qn@width\writ@note\fi}
% Porrectus flexus deminut (soyons fous !)
\def\Porrectusflexusdeminut#1#2#3#4{%
\advancefalse\bporrectus{#1}{#2}{\xgregchar0\xgregchar0\xgregchar0}%
\getthen@one@three{#2}{#3}{#4}%
\zcharnote{#2}{\vrule\@height\the@two@minus@one\internote\@depth\z@}%
\zsqu{#3}%
%\zcharnote{#3}{\punctumauctdown{0}}%
\zcharnote{#4}{\xgregchar0\vrule\@depth\z@ \@height
\the@two@minus@three\internote}\r@small@squ{#4}}
Et je vais vérifier si ses objectifs concernant un langage performant sont bien atteints, à savoir :
•langage procédural ou fonctionnel impur ;
•langage à inférence de type ;
•séparation stricte de la notion de donnée de celle de variable, la variable n'étant qu'une donnée de type nom référençant une autre donnée ;
•aucune allocation ou libération de la mémoire explicite, aucun accès à des pointeurs ;
•aucune instruction de type GOTO, mais possibilité de sortir d'une boucle par anticipation ou de boucler par anticipation ;
•évaluation de tous les éléments d'une expression même si le résultat est connu d'avance ;
•extension des domaines de définition des fonctions mathématiques pour garder autant que possible un résultat exact à la précision près du processeur ;
•aucun mécanisme d'affectation en notation algébrique ;
•des garde-fous pour éviter les erreurs manifestes (éléments en dehors d'un tableau…) ;
•séparation du fond et de la forme.
_________________
« On n'enseigne pas ce que l'on sait ou ce que l'on croit savoir : on n'enseigne et on ne peut enseigner que ce que l'on est. »
- If_Then_ElseNiveau 9
stench a écrit:If_Then_Else a écrit:@Stench: des millions de personnes programment: lave-linge, lave-vaisselle, reveille-matin, etc, ?...
Ici, on souhaite parler d'informatique, sans avoir peur d'être "technique". Si tu te sens mal à l'aise avec une notion, si tu as une question pointue, pose-la: grincheux a l'air d'être bien armé pour commencer à te répondre.
Ici, on propose de parler de tout et de n'importe quoi jusqu'au moment où un sujet, un objet?, va émerger. Tous les accrocs du code vont alors ronger l'os pour trouver une solution lisible, fiable et pertinente. Bref, on est dans le "je-ne-sais-quoi", on nage en pleine serendipité. On surfe sur le thème, les doigts prêts à balancer une giclée d'octets.
Si tu te sens mal à l'aise avec ça, n'hésite pas à passer ton chemin camarade.
Je ne suis pas mal à l'aise du tout, jusqu'à aujourd'hui je m'en foutais complètement. Grace à toi, je découvre un monde que j'ignore complètement (ce qui en soi n'est pas dramatique, on vit tous en ignorant des tas et des tas d'univers) et qui m'intrigue puisque je ne comprends pas un mot à ce que tu dis. Ou plutôt si, je comprends le plupart des mots que tu utilises mais leur association ne veut rien dire pour moi. Une phrase comme "Ici, on propose de parler de tout et de n'importe quoi jusqu'au moment où un sujet, un objet?, va émerger. Tous les accrocs du code vont alors ronger l'os pour trouver une solution lisible, fiable et pertinente. Bref, on est dans le "je-ne-sais-quoi", on nage en pleine serendipité. On surfe sur le thème, les doigts prêts à balancer une giclée d'octets" n'a aucun sens pour moi, je n'en comprends ni le but ni les solutions. Du coup, par une boutade, j'ai signalé cet état de fait, à la fois amusé et sidéré. Maintenant, je veux comprendre. Explique-moi, s'il te plait.
Comprends-tu ces vers d'Arthur :
Fêtes de la faim
Ma faim, Anne, Anne,
Fuis sur ton âne.
Si j'ai du goût, ce n'est guères
Que pour la terre et les pierres.
Dinn ! dinn ! dinn ! dinn ! Mangeons l'air,
Le roc, les charbons, le fer.
Mes faims, tournez. Paissez, faims,
Le pré des sons !
Attirez le gai venin
Des liserons ;
Mangez
Les cailloux qu'un pauvre brise,
Les vieilles pierres d'église,
Les galets, fils des déluges,
Pains couchés aux vallées grises !
Mes faims, c'est les bouts d'air noir ;
L'azur sonneur ;
- C'est l'estomac qui me tire.
C'est le malheur.
Sur terre ont paru les feuilles !
Je vais aux chairs de fruit blettes.
Au sein du sillon je cueille
La doucette et la violette.
Ma faim, Anne, Anne !
Fuis sur ton âne.
_________________
« On n'enseigne pas ce que l'on sait ou ce que l'on croit savoir : on n'enseigne et on ne peut enseigner que ce que l'on est. »
- Le grincheuxSage
If_Then_Else a écrit:
Par exemple il ( le grincheux ) propose sa contribution pour améliorer le codage des programmes et ça donne ça :
- Code:
% Neume pointée (reste à débugguer entièrement)
\def\punctump #1{\punctum #1\g@punctump #1}
\def\g@point{\xgregkeyfont\C@Point\z@\raise}
\def\g@punctump#1{\check@staff\getn@i#1\relax\let\n@sym\g@point\hss%
\y@v\qn@width\writ@note\fi}
% Porrectus flexus deminut (soyons fous !)
\def\Porrectusflexusdeminut#1#2#3#4{%
\advancefalse\bporrectus{#1}{#2}{\xgregchar0\xgregchar0\xgregchar0}%
\getthen@one@three{#2}{#3}{#4}%
\zcharnote{#2}{\vrule\@height\the@two@minus@one\internote\@depth\z@}%
\zsqu{#3}%
%\zcharnote{#3}{\punctumauctdown{0}}%
\zcharnote{#4}{\xgregchar0\vrule\@depth\z@ \@height
\the@two@minus@three\internote}\r@small@squ{#4}}
Sorti du contexte, c'est parfaitement idiot. J'en arrive à me demander si tu n'es pas un gros troll poilu... Ce bout de code est un code TeX qui fonctionne sur MusiXTeX et permet d'étendre musigre qui ne contient pas tout ce qu'il faut pour écrire du grégorien moderne. La syntaxe est celle de TeX qui est un langage impératif (et un peu tordu puisque
- Code:
\uppercase\romannumeral{5}
Tu peux. Il y a dix ans de boulot pour arriver à cette liste.
Et je vais vérifier si ses objectifs concernant un langage performant sont bien atteints, à savoir :
•langage procédural ou fonctionnel impur ;
•langage à inférence de type ;
•séparation stricte de la notion de donnée de celle de variable, la variable n'étant qu'une donnée de type nom référençant une autre donnée ;
•aucune allocation ou libération de la mémoire explicite, aucun accès à des pointeurs ;
•aucune instruction de type GOTO, mais possibilité de sortir d'une boucle par anticipation ou de boucler par anticipation ;
•évaluation de tous les éléments d'une expression même si le résultat est connu d'avance ;
•extension des domaines de définition des fonctions mathématiques pour garder autant que possible un résultat exact à la précision près du processeur ;
•aucun mécanisme d'affectation en notation algébrique ;
•des garde-fous pour éviter les erreurs manifestes (éléments en dehors d'un tableau…) ;
•séparation du fond et de la forme.
_________________
Le carnet du Grincheux, Chroniques de misanthropie ordinaire
http://grincheux.de-charybde-en-scylla.fr/
Ma vie, mon œuvre
http://www.systella.fr/
- If_Then_ElseNiveau 9
Le Grincheux grogne contre tout le monde, comme un Flaubert informatisé. Pour lui point de salut sans RPL. Alors j'ai fait une première recherche sur Wiki : http://fr.wikipedia.org/wiki/RPL
Mais rien de mieux que la lecture du code
Mais rien de mieux que la lecture du code
RPL Examples
The following program computes the sum of the squares of the numbers 1 through 10:
Program: Comments:
<< 0 Start with a sum of zero
1 10 FOR i For i = 1 to 10 (start end FOR loop_var)
i SQ + Add i^2 to the sum
NEXT Add 1 to i and loop back to the FOR i
>>
Here is the modification of the program above that takes the range of numbers from the stack. This program demonstrates the use of a local variables fst and lst. The variables fst and lst are visible only to the procedure that follows their definition. Using lower case for local variables is a common convention but is not required. (The variable i created by the FOR function is also local.)
Program: Comments:
<< -> fst lst Save the numbers on the stack in local variable fst and lst
<< This is the block for which fst and lst are defined
0 Start with a sum of zero
fst lst FOR i For i = fst to lst (start end FOR loop_var)
i SQ + Add i^2 to the sum
NEXT Add 1 to i and loop back to the FOR i
>>
>>
After typing this program into the stack, it can be saved in the variable SSQS by pressing 'SSQS STO. Then the start and end values can be entered on the stack and the user can either invoke SSQS by typing SSQS or choosing it from the USER menu.
Here is a modification of the above program that deals with the case of the the user entering the first and last values in reverse order.
Program: Comments:
<< DUP2 Duplicate the two input arguments because > will consume them
IF > THEN SWAP END If the order is reversed - then swap them on the stack before...
-> fst lst Save the numbers on the stack in local variable fst and lst
<< This is the block for which fst and lst are defined
0 Start with a sum of zero
fst lst FOR i For i = fst to lst (start end FOR loop_var)
i SQ + Add i^2 to the sum
NEXT Add 1 to i and loop back to the FOR i
>>
>>
Here is a modification of the above program that does the same thing except that the conditional is expressed in a more "postfix way". The only difference is on the second line. This one computes the test > which results in 1 or 0, places a procedure on the stack (containing only SWAP) and then executes IFT which executes the procedure on level 1 of the stack if the condition on level 2 is true (non-zero).
Program: Comments:
<< DUP2 Save the arguments (> will consume them)
> << SWAP >> IFT If the order is reversed - then swap them on the stack before...
-> fst lst Save the numbers on the stack in local variable fst and lst
<< This is the block for which fst and lst are defined
0 Start with a sum of zero
fst lst FOR i For i = fst to lst (start end FOR loop_var)
i SQ + Add i^2 to the sum
NEXT Add 1 to i and loop back to the FOR i
>>
>>
_________________
« On n'enseigne pas ce que l'on sait ou ce que l'on croit savoir : on n'enseigne et on ne peut enseigner que ce que l'on est. »
- If_Then_ElseNiveau 9
Le grincheux a écrit:If_Then_Else a écrit:
Par exemple il ( le grincheux ) propose sa contribution pour améliorer le codage des programmes et ça donne ça :
- Code:
% Neume pointée (reste à débugguer entièrement)
\def\punctump #1{\punctum #1\g@punctump #1}
\def\g@point{\xgregkeyfont\C@Point\z@\raise}
\def\g@punctump#1{\check@staff\getn@i#1\relax\let\n@sym\g@point\hss%
\y@v\qn@width\writ@note\fi}
% Porrectus flexus deminut (soyons fous !)
\def\Porrectusflexusdeminut#1#2#3#4{%
\advancefalse\bporrectus{#1}{#2}{\xgregchar0\xgregchar0\xgregchar0}%
\getthen@one@three{#2}{#3}{#4}%
\zcharnote{#2}{\vrule\@height\the@two@minus@one\internote\@depth\z@}%
\zsqu{#3}%
%\zcharnote{#3}{\punctumauctdown{0}}%
\zcharnote{#4}{\xgregchar0\vrule\@depth\z@ \@height
\the@two@minus@three\internote}\r@small@squ{#4}}
Sorti du contexte, c'est parfaitement idiot. J'en arrive à me demander si tu n'es pas un gros troll poilu... Ce bout de code est un code TeX qui fonctionne sur MusiXTeX et permet d'étendre musigre qui ne contient pas tout ce qu'il faut pour écrire du grégorien moderne. La syntaxe est celle de TeX qui est un langage impératif (et un peu tordu puisque
ne donnera jamais 'V').
- Code:
\uppercase\romannumeral{5}
Tu peux. Il y a dix ans de boulot pour arriver à cette liste.
Et je vais vérifier si ses objectifs concernant un langage performant sont bien atteints, à savoir :
•langage procédural ou fonctionnel impur ;
•langage à inférence de type ;
•séparation stricte de la notion de donnée de celle de variable, la variable n'étant qu'une donnée de type nom référençant une autre donnée ;
•aucune allocation ou libération de la mémoire explicite, aucun accès à des pointeurs ;
•aucune instruction de type GOTO, mais possibilité de sortir d'une boucle par anticipation ou de boucler par anticipation ;
•évaluation de tous les éléments d'une expression même si le résultat est connu d'avance ;
•extension des domaines de définition des fonctions mathématiques pour garder autant que possible un résultat exact à la précision près du processeur ;
•aucun mécanisme d'affectation en notation algébrique ;
•des garde-fous pour éviter les erreurs manifestes (éléments en dehors d'un tableau…) ;
•séparation du fond et de la forme.
Mais oui, très poilu tu-tu :lol:
_________________
« On n'enseigne pas ce que l'on sait ou ce que l'on croit savoir : on n'enseigne et on ne peut enseigner que ce que l'on est. »
- If_Then_ElseNiveau 9
@Grincheux:
J'ai étudié mon "Réseaux, architectures, protocoles, applications (Andrew Tanenbaum)" à fond quand j'étais au CNAM en 1988 !
J'ai étudié mon "Réseaux, architectures, protocoles, applications (Andrew Tanenbaum)" à fond quand j'étais au CNAM en 1988 !
_________________
« On n'enseigne pas ce que l'on sait ou ce que l'on croit savoir : on n'enseigne et on ne peut enseigner que ce que l'on est. »
- Le grincheuxSage
Ce que tu n'arrives pas à comprendre, c'est que cette syntaxe provient directement des points que j'ai indiqués précédemment. De ma fameuse liste. La syntaxe est une conséquence de cette liste, rien de plus.If_Then_Else a écrit:Le Grincheux grogne contre tout le monde, comme un Flaubert informatisé. Pour lui point de salut sans RPL. Alors j'ai fait une première recherche sur Wiki : http://fr.wikipedia.org/wiki/RPL
Au passage, RPL et RPL/2 sont deux choses distinctes même s'il se ressemblent.
_________________
Le carnet du Grincheux, Chroniques de misanthropie ordinaire
http://grincheux.de-charybde-en-scylla.fr/
Ma vie, mon œuvre
http://www.systella.fr/
- Le grincheuxSage
Et alors ? Moi, ma bible, c'est "the art of computer programming", le bouquin qui contient la parole de dieu. Mais je ne vois pas l'intérêt d'en parler ici.If_Then_Else a écrit:@Grincheux:
J'ai étudié mon "Réseaux, architectures, protocoles, applications (Andrew Tanenbaum)" à fond quand j'étais au CNAM en 1988 !
_________________
Le carnet du Grincheux, Chroniques de misanthropie ordinaire
http://grincheux.de-charybde-en-scylla.fr/
Ma vie, mon œuvre
http://www.systella.fr/
- If_Then_ElseNiveau 9
Le grincheux a écrit:Ce que tu n'arrives pas à comprendre, c'est que cette syntaxe provient directement des points que j'ai indiqués précédemment. De ma fameuse liste.If_Then_Else a écrit:Le Grincheux grogne contre tout le monde, comme un Flaubert informatisé. Pour lui point de salut sans RPL. Alors j'ai fait une première recherche sur Wiki : http://fr.wikipedia.org/wiki/RPL
Au passage, RPL et RPL/2 sont deux choses distinctes même s'il se ressemblent.
Alors disons que je commence par m'initier par RPL version 1.0 et que je passerai à RPL/2 si cela te parais convenable...
_________________
« On n'enseigne pas ce que l'on sait ou ce que l'on croit savoir : on n'enseigne et on ne peut enseigner que ce que l'on est. »
- Le grincheuxSage
Je ne sais pas dans quelle langue te le dire, mais le RPL (produit HP qui signifie Rom-based Programming Language) n'est pas la version 1.0 du RPL/2 (version le Grincheux qui signifie Reverse Polish Lisp). Ces deux langages ont des syntaxes proches parce qu'ils répondent aux mêmes questions. C'est tout.If_Then_Else a écrit:Le grincheux a écrit:Ce que tu n'arrives pas à comprendre, c'est que cette syntaxe provient directement des points que j'ai indiqués précédemment. De ma fameuse liste.If_Then_Else a écrit:Le Grincheux grogne contre tout le monde, comme un Flaubert informatisé. Pour lui point de salut sans RPL. Alors j'ai fait une première recherche sur Wiki : http://fr.wikipedia.org/wiki/RPL
Au passage, RPL et RPL/2 sont deux choses distinctes même s'il se ressemblent.
Alors disons que je commence par m'initier par RPL version 1.0 et que je passerai à RPL/2 si cela te parais convenable...
Et j'ajouterais qu'ils sont assez subtilement incompatibles.
_________________
Le carnet du Grincheux, Chroniques de misanthropie ordinaire
http://grincheux.de-charybde-en-scylla.fr/
Ma vie, mon œuvre
http://www.systella.fr/
- If_Then_ElseNiveau 9
Le grincheux a écrit:Et alors ? Moi, ma bible, c'est "the art of computer programming", le bouquin qui contient la parole de dieu. Mais je ne vois pas l'intérêt d'en parler ici.If_Then_Else a écrit:@Grincheux:
J'ai étudié mon "Réseaux, architectures, protocoles, applications (Andrew Tanenbaum)" à fond quand j'étais au CNAM en 1988 !
Tu as tort! Il me semble que la connaissance d'un "langage informatique " (donc une culture) devient capitale (Les langages de programmation, vecteurs de la pensée informatique .
Seymour nous le disait:
Je commence à aimer t'entendre grogner comme un vieux maître qui s'impatiente devant son élève ignare.
_________________
« On n'enseigne pas ce que l'on sait ou ce que l'on croit savoir : on n'enseigne et on ne peut enseigner que ce que l'on est. »
- Le grincheuxSage
Certainement pas. Le langage de programmation n'est qu'une façon d'exprimer un problème et le choix de ce langage n'est pas anecdotique. Ce n'est pas le vecteur de la pensée informatique (erreur trop courante), c'est la projection de la pensée informatique dans l'espace sémantique du langage. L'expression dans un langage d'un algorithme nécessite une réduction.If_Then_Else a écrit:Le grincheux a écrit:Et alors ? Moi, ma bible, c'est "the art of computer programming", le bouquin qui contient la parole de dieu. Mais je ne vois pas l'intérêt d'en parler ici.If_Then_Else a écrit:@Grincheux:
J'ai étudié mon "Réseaux, architectures, protocoles, applications (Andrew Tanenbaum)" à fond quand j'étais au CNAM en 1988 !
Tu as tort! Il me semble que la connaissance d'un "langage informatique " (donc une culture) devient capitale (Les langages de programmation, vecteurs de la pensée informatique .
J'assume. Je suis membre du club des vieux cons avec palmes et fourragères (numéro de membre 150412 à jour de cotisation).
Je commence à aimer t'entendre grogner comme un vieux maître qui s'impatiente devant son élève ignare.
_________________
Le carnet du Grincheux, Chroniques de misanthropie ordinaire
http://grincheux.de-charybde-en-scylla.fr/
Ma vie, mon œuvre
http://www.systella.fr/
- If_Then_ElseNiveau 9
Je suis membre du club des vieux cons avec palmes
C'est dans les vieux pots qu'on fait la meilleure soupe...
Je continue la lecture des spécifications du langage que tu présentes sur ton blog... Intéressant.
_________________
« On n'enseigne pas ce que l'on sait ou ce que l'on croit savoir : on n'enseigne et on ne peut enseigner que ce que l'on est. »
- If_Then_ElseNiveau 9
@Grincheux
Je sais maintenant que mes quelques connaissances sont bien insignifiantes comparées aux tiennes et ma position professionnelle très subalterne.
Je te présente donc mes respectueuses excuses pour le ton quelque peu "primesautier" utiliser ici à ton encontre.
Il reste que je souhaite continuer à partager (provoquer ?) une discussion à bâtons rompus sur l'informatique avec des gens de ton rang ou encore apporter une aide technique à des enseignants sur des petits projets.
En ouvrant ce fil, mon souhait est donc bien de parler autant de l'aspect technique de la programmation (comme développeur du Dimanche néanmoins diplômé du CNAM) ou sur les aspects cognitifs, sociologiques, politiques, c'est à dire philosophiques (comme enseignant) d'où mon intérêt pour des gens comme Bernard STIEGLER.
Je suis bien conscient que ma passion immodérée pour la res informatica perturbe fortement le fil de mes propos . Je me console en me disant que c'est un signe de jeunesse malgré la soixantaine qui approche à grands pas!
Je te remercie donc d'avoir fait l'effort de contribuer malgré ta trompeuse misanthropie.
Voici ce qu'ont suscité chez moi tes contributions:
- souvenir de jeunesse pour mes programmes en assembleur sur le Motorola 68000 des premiers Macintosh (http://goldencrystal.free.fr/M68kOpcodes.pdf).
- redécouverte des langages (cf http://fr.wikipedia.org/wiki/Portail:Programmation_informatique) en particulier S-expression
- réflexion:
1) La parole de Dieu:
Merci pour cela!
Je sais maintenant que mes quelques connaissances sont bien insignifiantes comparées aux tiennes et ma position professionnelle très subalterne.
Je te présente donc mes respectueuses excuses pour le ton quelque peu "primesautier" utiliser ici à ton encontre.
Il reste que je souhaite continuer à partager (provoquer ?) une discussion à bâtons rompus sur l'informatique avec des gens de ton rang ou encore apporter une aide technique à des enseignants sur des petits projets.
En ouvrant ce fil, mon souhait est donc bien de parler autant de l'aspect technique de la programmation (comme développeur du Dimanche néanmoins diplômé du CNAM) ou sur les aspects cognitifs, sociologiques, politiques, c'est à dire philosophiques (comme enseignant) d'où mon intérêt pour des gens comme Bernard STIEGLER.
Je suis bien conscient que ma passion immodérée pour la res informatica perturbe fortement le fil de mes propos . Je me console en me disant que c'est un signe de jeunesse malgré la soixantaine qui approche à grands pas!
Je te remercie donc d'avoir fait l'effort de contribuer malgré ta trompeuse misanthropie.
Voici ce qu'ont suscité chez moi tes contributions:
- souvenir de jeunesse pour mes programmes en assembleur sur le Motorola 68000 des premiers Macintosh (http://goldencrystal.free.fr/M68kOpcodes.pdf).
- redécouverte des langages (cf http://fr.wikipedia.org/wiki/Portail:Programmation_informatique) en particulier S-expression
- réflexion:
1) La parole de Dieu:
2)"the art of computer programming", le bouquin qui contient la parole de dieu
»Gregory Chaitin sur Lisp :
« Malheureusement, alors que les langages de programmation gagnent en sophistication, ils sont de plus en plus le reflet de la complexité de la société humaine et du monde immense des applications logicielles. Ainsi, ils deviennent d'énormes boîtes à outils, comme des garages et des greniers chargés de plus de trente ans d'histoire ! A contrario, LISP est un langage de programmation d'une grande beauté mathématique ; il ressemble plus à un scalpel de chirurgien ou à un diamant affûté qu'à un garage à deux places encombrés de bricolages, où il ne reste plus de place pour une voiture.
LISP a un petit nombre de concepts élémentaires puissants, et tout le reste est construit au-dessus de ça, ce qui correspond à la façon de travailler des mathématiciens ; c'est à ça que ressemblent les théories mathématiques. Ces théories, les bonnes théories, consistent à définir quelques nouveaux concepts clefs, et à partir de là le feu d'artifice commence : elles révèlent de nouvelles allées, elles ouvrent la porte à des mondes radicalement nouveaux. LISP est comme ça aussi ; il est plus proche des maths que la plupart des langages de programmation. Du moins si vous éliminez les parties utiles qui ont été ajoutées, les ajouts qui ont fait de LISP un outil pratique. Ce qui reste si vous faites cela, c'est le LISP original, le cœur conceptuel de LISP, un cœur qui est un joyau de beauté mathématique et de beauté intellectuelle austère.
Merci pour cela!
_________________
« On n'enseigne pas ce que l'on sait ou ce que l'on croit savoir : on n'enseigne et on ne peut enseigner que ce que l'on est. »
- BolzanoNiveau 5
Moi aussi, bien que plutôt largué, je suis avec intérêt ce fil, et je ne vois où placer ailleurs dans neoprofs l'exercice suivant :
Soient u et v deux mots (construits sur un alphabet quelconque). u et v commutent SSI il existe un mot w tel que u et v soient des puissances de w.
Il m'avait été soumis comme exemple de raisonnement par induction au sortir d'une khôlle par un prof d'info avec qui je discutais récurrence et induction et qui s'était un peu fâché quand je lui avais dit que j'assimilais les deux notions, me faisant remarquer que la récurrence avance en croissant tandis que l'induction va à l'envers. N'étant pas assez calé en info, la nuance m'avait paru artificielle.
J'ai cherché l'exo et la preuve la plus simple que j'aie trouvée utilise une récurrence, pas une induction. Des idées ?
Soient u et v deux mots (construits sur un alphabet quelconque). u et v commutent SSI il existe un mot w tel que u et v soient des puissances de w.
Il m'avait été soumis comme exemple de raisonnement par induction au sortir d'une khôlle par un prof d'info avec qui je discutais récurrence et induction et qui s'était un peu fâché quand je lui avais dit que j'assimilais les deux notions, me faisant remarquer que la récurrence avance en croissant tandis que l'induction va à l'envers. N'étant pas assez calé en info, la nuance m'avait paru artificielle.
J'ai cherché l'exo et la preuve la plus simple que j'aie trouvée utilise une récurrence, pas une induction. Des idées ?
- If_Then_ElseNiveau 9
Facile (en trichant sur Internet...)
_________________
« On n'enseigne pas ce que l'on sait ou ce que l'on croit savoir : on n'enseigne et on ne peut enseigner que ce que l'on est. »
- BolzanoNiveau 5
C'est de la récurrence, je cherchais une preuve (au moins aussi simple que celle-ci) par induction sur l'ensemble des mots. Mais en existe-t-il ?
- ZorglubHabitué du forum
Tiens, une question qui me travaille depuis longtemps et que j'avais résolue à l'époque par une pirouette.
Quelle idée d'algo pour résoudre le pb suivant bien banal ?
On dispose de n point définis par leurs coordonnées cartésiennes.
On définit un polygone à p côtés (pour simplifier non croisé mais pas obligatoirement convexe) par la succession ordonnée des coordonnées de ses sommets.
TAF : Déterminer les points qui sont à l'intérieur du polygone.
Quelle idée d'algo pour résoudre le pb suivant bien banal ?
On dispose de n point définis par leurs coordonnées cartésiennes.
On définit un polygone à p côtés (pour simplifier non croisé mais pas obligatoirement convexe) par la succession ordonnée des coordonnées de ses sommets.
TAF : Déterminer les points qui sont à l'intérieur du polygone.
- Le grincheuxSage
Zorglub a écrit:Tiens, une question qui me travaille depuis longtemps et que j'avais résolue à l'époque par une pirouette.
Quelle idée d'algo pour résoudre le pb suivant bien banal ?
On dispose de n point définis par leurs coordonnées cartésiennes.
On définit un polygone à p côtés (pour simplifier non croisé mais pas obligatoirement convexe) par la succession ordonnée des coordonnées de ses sommets.
TAF : Déterminer les points qui sont à l'intérieur du polygone.
C'est l'enfance de l'art, ça
On détermine les équations des côtés. On prend une demi-droite (quelconque) partant de ce point. S'il y a un nombre pair d'intersections avec les côtés, le point est à l'extérieur. Sinon, il est à l'intérieur.
Attention : si on tombe sur un sommet, on ne le compte pas (en fait, on le compte deux fois, ce qui revient au même). Si on tombe sur un segment confondu avec la demi-droite, idem (il faudrait le compter quatre fois).
Attention, je ne prétends pas que c'est le plus efficace, mais il fonctionne pour tous les polygones (et même pour les polyèdres).
Et pour ce genre de calculs, des langages fonctionnels sont vraiment efficaces.
_________________
Le carnet du Grincheux, Chroniques de misanthropie ordinaire
http://grincheux.de-charybde-en-scylla.fr/
Ma vie, mon œuvre
http://www.systella.fr/
- Le grincheuxSage
Sinon, il y a plus rigolo. Considérons M le point en question est Pi, les points du polygone. En additionnant les angles (en radians ou en degrés, voire en grades, mais il faut rester cohérent) (Pi,P(i+1)) et en divisant par 2pi (ou 360, ou 400), si tu obtiens un entier, ton point est à l'intérieur du polygone.
Mais il faut gérer la précision des calculs en flottants ! :diable: :diable:
Mais il faut gérer la précision des calculs en flottants ! :diable: :diable:
_________________
Le carnet du Grincheux, Chroniques de misanthropie ordinaire
http://grincheux.de-charybde-en-scylla.fr/
Ma vie, mon œuvre
http://www.systella.fr/
- If_Then_ElseNiveau 9
Hello à tous,
Comme on est supposé donner quelques lignes de code, je vous propose la lecture de l' unit en Pascal : les commentaires en anglais spécifie l'algorithme utilisé (proche de celui évoqué en 1° par LeGrincheux ci-dessus)
Voici la page des différentes fonctions en Pascal traitant de sujets graphiques (géométriques): http://www.efg2.com/Lab/Library/Delphi/Graphics/Math.htm
Comme on est supposé donner quelques lignes de code, je vous propose la lecture de l' unit en Pascal : les commentaires en anglais spécifie l'algorithme utilisé (proche de celui évoqué en 1° par LeGrincheux ci-dessus)
unit PointAndPolygon;
interface
uses Windows;
function PointInPolygon(TestPolygon: array of TPoint; TestPoint : TPoint) : Boolean;
{The function has been developed by Philippe De Boe and Thérèse Hanquet,
Brussels, Belgium, for a custom cartography application.}
{It applies to polygons considered by Microsoft as ALTERNATE
http://msdn.microsoft.com/library/psdk/gdi/regions_2z8l.htm}
{The algorithm is based on a simple assumption:
if you draw the horizontal line on which the point is located,
and if you travel along this line,
if the point is inside the polygon,
you will cross the perimeter of the polygon an odd number of times
before reaching the point - and an odd number of times after.
If it is not inside the polygone,
you will not cross the perimeter of the polygon,
or you will cross it an even number of times before reaching the point
and an even number of times after}
{Of course this can also work with a vertical line but it can be less intuitive
to read because in some cases y coordinates may be oriented toward the top
and in other cases toward the bottom}
{Comments are welcome at therese.hanquet@skynet.be}
implementation
function PointInPolygon(TestPolygon: array of TPoint; TestPoint : TPoint) : Boolean;
var ToTheLeftofPoint, ToTheRightofPoint : Byte;
np : Integer;
OpenPolygon : Boolean;
XIntersection : Real;
begin
ToTheLeftofPoint := 0;
ToTheRightofPoint := 0;
OpenPolygon := False;
{tests if the polygon is closed}
if not ((TestPolygon[0].X=TestPolygon[High(TestPolygon)].X) and
(TestPolygon[0].Y=TestPolygon[High(TestPolygon)].Y)) then
OpenPolygon := True;
{tests for each couple of points to see if the side between them
crosses the horizontal line going through TestPoint}
for np := 1 to High(TestPolygon) do
if ((TestPolygon[np-1].Y <= TestPoint.Y) and
(TestPolygon[np].Y > TestPoint.Y)) or
((TestPolygon[np-1].Y > TestPoint.Y) and
(TestPolygon[np].Y <= TestPoint.Y))
{if it does}
then begin
{computes the x coordinate of the intersection}
XIntersection := TestPolygon[np-1].X +
((TestPolygon[np].X-TestPolygon[np-1].X)/
(TestPolygon[np].Y-TestPolygon[np-1].Y))
*(TestPoint.Y-TestPolygon[np-1].Y);
{increments appropriate counter}
if XIntersection < TestPoint.X then Inc(ToTheLeftofPoint);
if XIntersection > TestPoint.X then Inc(ToTheRightofPoint);
end;
{if the polygon is open, test for the last side}
if OpenPolygon then
begin
np := High(TestPolygon); {Thanks to William Boyd - 03/06/2001}
if ((TestPolygon[np].Y <= TestPoint.Y) and
(TestPolygon[0].Y > TestPoint.Y)) or
((TestPolygon[np].Y > TestPoint.Y) and
(TestPolygon[0].Y <= TestPoint.Y))
then begin
XIntersection := TestPolygon[np].X +
((TestPolygon[0].X-TestPolygon[np].X)/
(TestPolygon[0].Y-TestPolygon[np].Y))
*(TestPoint.Y-TestPolygon[np].Y);
if XIntersection < TestPoint.X then Inc(ToTheLeftofPoint);
if XIntersection > TestPoint.X then Inc(ToTheRightofPoint);
end;
end;
if (ToTheLeftofPoint mod 2 = 1) and (ToTheRightofPoint mod 2 = 1)
then Result := True else Result := False;
end;
end.
Voici la page des différentes fonctions en Pascal traitant de sujets graphiques (géométriques): http://www.efg2.com/Lab/Library/Delphi/Graphics/Math.htm
_________________
« On n'enseigne pas ce que l'on sait ou ce que l'on croit savoir : on n'enseigne et on ne peut enseigner que ce que l'on est. »
- Le grincheuxSage
C'est illisible (et entre nous mal codé pour que ce soit efficace).
Par ailleurs, l'algorithme est faux. Les ToTheLeftofPoint et ToTheRightofPoint sont tous deux de même parité. Ou alors, il faut me montrer la tronche du polygone.
Par ailleurs, l'algorithme est faux. Les ToTheLeftofPoint et ToTheRightofPoint sont tous deux de même parité. Ou alors, il faut me montrer la tronche du polygone.
_________________
Le carnet du Grincheux, Chroniques de misanthropie ordinaire
http://grincheux.de-charybde-en-scylla.fr/
Ma vie, mon œuvre
http://www.systella.fr/
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum