« Mathématiques avec Python et Ruby/Points en Python » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 4 : Ligne 4 :


{{Cadre|<code>Dans un repère orthonormé, on considère <math>A(-1;3)</math>, <math>B(5;1)</math> et <math>C(1;5)</math>. Calculer les distances AB, AC et BC et en déduire la nature du triangle ABC. Puis en déduire les coordonnées de son [[w:Cercle circonscrit|cercle circonscrit]].</code>}}
{{Cadre|<code>Dans un repère orthonormé, on considère <math>A(-1;3)</math>, <math>B(5;1)</math> et <math>C(1;5)</math>. Calculer les distances AB, AC et BC et en déduire la nature du triangle ABC. Puis en déduire les coordonnées de son [[w:Cercle circonscrit|cercle circonscrit]].</code>}}

=Classe=

Pour que ''Ruby'' possède un objet ''Point'', il suffit de le définir, sous la forme d'une ''classe'':

<source lang="ruby">
class Point

def initialize(x,y)
@x, @y = x, y
end

end
</source>

Dorénavant, chaque fois qu'on crée un point par ''Point.new(x,y)'', celui-ci possédera les coordonnées ''x'' et ''y'' qui sont pour l'instant ses seules propriétés (des variables stockées temporairement dans l'objet).

=Coordonnées=

Cependant pour accéder depuis l'extérieur aux coordonnées du point, il faut les redéfinir comme des méthodes ''Ruby'' (parce que dans ''Ruby'', tout est méthode).

==Abscisse==

Il suffit de dire que la méthode ''x'' renvoit le nombre ''x'':

<source lang="ruby">
def x
@x
end
</source>

(à l'intérieur de la classe)

==Ordonnée==

Idem pour ''y'':

<source lang="ruby">
def y
@y
end
</source>

Dorénavant, l'abscisse de ''P'' s'appelle ''M.x'' et son ordonnée, ''M.y''.


=Affichage=

=Deux points=

==Milieu==

==Vecteur==

==Distance==


=Application au problème=
=Application au problème=

Pour récapituler, la classe ''Point'' en entier est décrite ici:

<source lang="ruby">
class Point

def initialize(x,y)
@x, @y = x, y
end
def x
@x
end

def y
@y
end

def to_s
'('+@x.to_s+';'+@y.to_s+')'
end

def milieu(q)
Point.new((@x+q.x)/2,(@y+q.y)/2)
end

def vecteur(q)
Vecteur.new(q.x-@x,q.y-@y)
end

def distance(q)
(self.vecteur(q)).norme
end

end
</source>

C'est tout!


==Nature de ABC==
==Nature de ABC==
Ligne 111 : Ligne 18 :
[[Catégorie:Mathématiques]]
[[Catégorie:Mathématiques]]
[[Catégorie:Programmation Ruby (livre)]]
[[Catégorie:Programmation Ruby (livre)]]
[[Catégorie:Mathématiques avec Python et Ruby (livre)|Ruby et géométrie]]
[[Catégorie:Mathématiques avec Python et Ruby (livre)|Python et géométrie]]

Version du 2 janvier 2011 à 19:54

L'objet Point est une bonne manière d'aborder la programmation objet. En géométrie repérée, un point est constitué de deux nombres, son abscisse et son ordonnée.

Voici l'énoncé de l'exercice:

Dans un repère orthonormé, on considère , et . Calculer les distances AB, AC et BC et en déduire la nature du triangle ABC. Puis en déduire les coordonnées de son cercle circonscrit.

Application au problème

Nature de ABC

Centre du cercle

Figure