Archive for the ‘Smalltalk’ Category

Problème du Monde résolu en Smalltalk

Friday, October 5th, 2007

Un ami mathématicien m’a demandé de résoudre un petit problème paru dans la rubrique “Affaire de logique” du journal Le Monde datée du 2 octobre 2007 :

La numération binaire, tout le monde connaît. Elle permet d’écrire les nombres entiers positifs sous forme de sommes de puissances de 2. Mais connaissez-vous le système « binaire moins » ? Eh bien, cela consiste à écrire les entiers sous forme de somme de puissances de (– 2), avec bien sûr, là encore, des exposants tous différents.

Par exemple, 7 s’écrit sous la forme : 7 = 16 – 8 – 2 + 1. Soit, dans ce système : 7 = (– 2)^4 +(– 2)^3 +(– 2)^1+ (– 2)^0

Sauriez-vous écrire 2007 en système « binaire moins » ?

Au fait, tout entier peut-il s’écrire dans ce système ?

J’ai écrit rapidement le programme Smalltalk suivant qui de manière brutale résoud la première question du problème :

l := (1 to:10000) collect:[:i|
|number mult|
number := 0.
mult := 1.
(i radix:2) reverseDo:[:n|
number := n digitValue *mult + number.
mult := mult*(-2).
].
number.
].

l est la liste des 1000 “premiers entiers dans le système binaire moins.

(l indexOf:2007) radix:2.

Je cherche la position de 2007 dans la liste que je convertis en binaire et cela donne :
‘1100000101011′

ESUG sponsorise la JM2L

Wednesday, October 3rd, 2007

Un nouveau blogueur dans la communauté Cincom Smalltalk

Thursday, September 27th, 2007

Présentation Seaside et Smalltalk au JM2L

Monday, September 24th, 2007

SmalltalkParty 2007 : c’est bientôt !

Sunday, September 23rd, 2007

Du buzz autour de Squeak

Sunday, September 23rd, 2007

Gnu-Smalltalk a un site web

Friday, September 21st, 2007

Flyer Smalltalk

Thursday, September 20th, 2007

Article sur Seaside dans IEEE Software

Thursday, September 20th, 2007

Vidéo du stand ESUG au RMLL 2007

Sunday, September 16th, 2007