Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

algorithme

Posté par
snipe3020
20-04-15 à 16:21

bonjour ou bonsoir excuser moi de vous déranger j'aurai besoin d'aide sur un algorithme:

l'énoncé:

on considere l'algorithme suivant qui vérifie si deux vecteur vec u(a;b) et vec v(c;d) sont colinéraires

1 liste de variables utilisées
2 a,b,c,d :nombres
3 Entrée
4.demander a,b,c,d
5 traitements
6 si......alors afficher "colinéaires"
sinon
afficher non colinéaires
Fin si

Q1)completer la ligne 6

Q2)modifier l'algorithme précédent pour qu'il décide si 3 point sont alignés a partir de leur coordonnées.

ce que j'ai fait:

Q1) si ab=cd alors afficher qu'il colinéaires ..
Q2)
Entrée:
demander a,b,c
traitement:
si ab=ac
afficher "a,b,c alignés

Posté par
mathafou Moderateur
re : algorithme 20-04-15 à 16:34

Bonjour,

tu devrais réviser la partie purement mathématique de la chose

deux vecteurs u(a;b) et vec v(c;d) sont colinéaires ssi ...
(ta condition est fausse)

Q2 des points ne sont pas des vecteurs
tu dois calculer les coordonnées de vecteurs définis par ces points
les points A(xA; yA) B (xB; yB) et C(xC; yC) sont alignés si les vecteurs ... sont colinéaires
c'est à dire si les coordonnées de ces vecteurs satisfont à ...

(et tu vois bien déja qu'il va falloir demander 6 coordonnées au départ !! xA, yA, xB, yB, xC, yC)

Posté par
snipe3020
merci 20-04-15 à 16:38

désolé pour mes confusion mais je sui pas tres fort en alghorithme.

donc pour le 1 sa sera

a*d=c*b

Posté par
mathafou Moderateur
re : algorithme 20-04-15 à 16:47

oui là c'est la bonne condition
(l'erreur n'était pas un problème d'algorithme mais de maths pures sur les vecteurs)

pour la 2 il faut d'abord résoudre le problème mathématiquement (quels calculs mathématique faut il faire)
avant d'écrire quelque algorithme que ce soit
l'algorithme n'est que la traduction formelle des calculs qu'il faut effectuer dans l'ordre.

Posté par
snipe3020
re : algorithme 20-04-15 à 16:52

pour Q2)sa sera Vec AB(xb-xa ; yb-ya).
VEC AC(xc-xa;yc-ya)

VEC AB(Xab;Yab)

vec AC(Xac;Yac)

SI Xab*Yac=Xac*Yab alors

afficher "colinéaires et alignés".

Posté par
mathafou Moderateur
re : algorithme 20-04-15 à 17:05

oui, reste à faire ça proprement : exprimer formellement tout ce qu'on calcule à partir de quelles données,
les données c'est défini par l'énoncé : "a partir de leur coordonnées (des 3 points)"
donc tout calcul intermédiaire doit être explicite et pas implicite par un simple jeu d'écriture,
en écrivant que le vecteur s'écrit "aussi bien" Vec AB(xb-xa ; yb-ya) que VEC AB(Xab;Yab) et on laisse ça "au lecteur", à lui de comprendre.
dans un algorithme y a pas de "lecteur" qui interprète ce qu'il lit.

ça c'est un calcul à effectuer
le calcul de Xab = xb - xa explicite
etc ...
(mais c'est pareil en maths quand on cherche à rédiger proprement : "posons Xab = xb -xa" etc )

et pas une très bonne idée de mélanger des notations mathématiques avec des notations "algorithmiques" : afficher un texte"
mathématiquement la condition s'écrit :

SI Xab*Yac=Xac*Yab alors les points sont alignés (c'est un fait mathématique, pas un message à afficher)

bon, c'est presque fait en fait, tout est dans la rédaction.

Posté par
snipe3020
rédaction de l'algorithme 20-04-15 à 17:15

voila ce que ça donne en redaction

liste de variable:

xa,ya,xb,yb,xc,yc :coordoonées

Entrée:

Demander vec AB,Vec AC

traitement:

SI Xab*Yac=Xac*Yab alors les points sont alignés

FIN

Posté par
mathafou Moderateur
re : algorithme 20-04-15 à 17:18

Demander vec AB,Vec AC
non.
demander les données qui sont xa,ya,xb,yb,xc,yc et rien d'autre
ensuite à partir de ces données on calcule (l'algorithme doit calculer) les coordonnées des vecteurs etc

Posté par
snipe3020
merci 20-04-15 à 17:20

je remplace juste cette erreur et c'est bon?

Posté par
snipe3020
voila!!!! 20-04-15 à 18:02

liste de variable:

xa,ya,xb,yb,xc,yc :coordoonées

Entrée:

demander xa,ya,xb,yb,xc,yc

traitements:

VEC AB=(xb-xa;yb-ya)=(xab;yab)

Vec AC=(xc-xa;yc-ya)=(xac;yac)

SI Xab*Yac=Xac*Yab alors les points sont alignés

Fin

Posté par
mathafou Moderateur
re : algorithme 20-04-15 à 18:20



en mathématique tu rédiges en supposant que le lecteur de ce que tu écris est suffisamment malin pour comprendre que

VEC AB=(xb-xa;yb-ya)=(xab;yab) veut réellement dire :

on pose xab = xb-xa et yab = yb-ya
alors VEC AB =(xab;yab)

un algorithme c'est bête
ça n'est pas capable d'interpréter des trucs comme ça

tout ce qu'on "pose" en mathématique doit être explicitement calculé par un calcul explicite sur des variable explicites
pas par des ellipses oratoires.

liste de variable:

xa,ya,xb,yb,xc,yc :coordoonées
et xab, yab, ... TOUTES les variables qui sont utilisées dans l'algorithme
...
traitements:
...
xab prend la valeur xb-xa (calcul explicite de la variable xab)

etc
...
SI Xab*Yac=Xac*Yab alors les points sont alignés
non

déja Xab n'est pas xab
le nom des variables doit être le même, "casse" comprise, (majuscules/minuscules) tout au long de l'algorithme
et surtout ça c'est une expression de raisonnement mathématique (quand je te dis que tu mélanges des "phrases mathématiques" et des "instructions dans un algorithme" allègrement)
tout à l'heure tu faisais le contraire, tu écrivais des instructions en guise de phrases mathématiques
maintenant qu'on traduit le raisonnement mathématique en algorithme, tu recommences dans l'autre sens.

dans l'algorithme c'est
SI xab*yxac=xac*yab alors afficher "les points sont alignés"

(et sinon afficher "les points ne sont pas alignés")

Posté par
snipe3020
re : algorithme 20-04-15 à 18:31

merci énormement grace a tes conseils sur l'algorithme je commence a mieux comprendre merci et bonne soirée



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1730 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !