Le défi #2 : L'aire d'un cercle

Aller, encore un nouveau défi, cette fois j'ai été chercher l'idée dans un TP d'algo. Le but va être de coder un programme qui calcul l'aire d'un cercle.

Pour rappel, il faut faire ce calcul :

Aire = Pi x Rayon²

Sauf que :

  • Étant une brèle en math, je doute un peu de la valeur de l'exposant du rayon, il va donc falloir que je puisses le modifier à tout moment dans les arguments du programme
  • Toutes les touches correspondant aux opérations arithmétiques de votre clavier ne fonctionnent pas, sauf pour les opérateurs + et -, quelle chance. Débrouillez vous avec ces deux la ! :)

Petite dernière complication, la base 10, c'est pour les nazes, et comme on est des oufzors, on va causer en binaire. Mais bon, tous les langages ont aujourd'hui des fonctions pour faciliter la conversion de base, et c'est pas très drôle. On va donc faire ça à la main, et avec la même contrainte avec les opérateurs que pour le calcul de l'aire. Pour simplifier les choses, on ne prendra que la partie entière de l'aire trouvée pour la conversion.

Un petit exemple d'exécution :

$ ./airebin 4 2
110010

(le premier argument est le rayon, le second l'exposant du rayon, 2 normalement)

Comme d'hab, si vous souhaitez participer, annoncez le langage utilisé pour facilité le choix des autres (pour ma part, le python).

Je viens de me rendre compte que l'on devait faire des multiplications réelles (à cause de pi), c'est un peu tendu à faire donc si vous voulez vous pouvez arrondir pi à 3. Pour ma part, j'essaye de trouver la solution. (Gore coding approved :D)

Commentaires

Avatar de Antoine
Antoine inaps.org
le 23 décembre 2007 02:53

<strong>Flemme de migrer tous les commentaires donc voici un copier->coller :</strong>

<blockquote cite="Multiples auteurs">commentaire de TibaL
tibal.info
Le mercredi 10 octobre 2007 à 17h0

C comme d'hab :)

commentaire de gillux
Le mercredi 10 octobre 2007 à 18h38

http://rafb.net/p/jdESAm46.html

Voilou, pas si dur, il suffit de créer des fonctions pour faire les opérateurs *, /, puissance, etc.
Pour le problème de PI et sa virgule, j'ai utilisé PI*100 dans mon calcul puis divisé par 100 à la fin. Plus de précision donc mais on atteindra plus vite la limite de l'int.
GG Naps :)

commentaire de BatchyX
Le jeudi 11 octobre 2007 à 16h35

ouais, défi sans trop d'intérêt, sauf si je me décide à le faire en batch...

commentaire de BatchyX
Le vendredi 12 octobre 2007 à 22h2

j'ai aussi utilisé des virgules fixes, sauf que moi je suis pas limité dans la taille de mes nombres ;) (enfin si, grand max 128 bit, mais personne n'attendrai que ça finisse...)

http://toothpaste.escaline.org/code/71

commentaire de Antoine
inaps.org
Le samedi 13 octobre 2007 à 6h39

T'es un dingue :')
Bon ce coup la je ne vais pas afficher les codes dans le journal je crois.

commentaire de BatchyX
Le samedi 13 octobre 2007 à 9h38

tiens pour te faire pardonner :

http://toothpaste.escaline.org/code/72</blockquote>

Laisser un commentaire
:
:

Optionnel.

:

Ne sera pas publiée, elle est utile pour les Gravatars et la modération des commentaires.

:

Vous pouvez utiliser ces marqueurs : a, strong, em, pre, blockquote, abbr, acronym, et code. Les sauts de lignes et les liens sont automatiquement convertis.

:

Ce test permet de vérifier que vous n'êtes pas un (salaud de) robot de spam.


J'utilise Escaline 
!