Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Ecrire un alogorythme avec algobox

Posté par
S21F
22-02-11 à 21:15

Bonjour,

Pouvez vous m'aider pour cet exercice. Je ne comprend pas vraiment la consigne :

Écrire un algorithme qui, connaissant les coordonnées de trois points A, B, C donne la norme du vecteur u tel que u = AB+2AC.
L'algorithme devra, lorsqu'il es lancé, afficher à la fin : "La norme du vecteur cherché est        "
(Je vous conseille très fortement de le tester sur Algobox pour voir si il fonctionne. D'autre part, je tiendrai compte de la lisibilité de l'algorithme ( ne pas définir les variables n'importe comment ... ))


Je ne sais pas bien comment utiliser Algobox ...
Merci d'avance!
* Océane > le multi-post n'est pas toléré sur le forum ! *

Posté par
S21F
Ecrire un alogorythme avec algobox 23-02-11 à 08:58

Bonjour,

Pouvez vous m'aider pour cet exercice. Je ne comprend pas vraiment la consigne :

Écrire un algorithme qui, connaissant les coordonnées de trois points A, B, C donne la norme du vecteur u tel que u = AB+2AC.
L'algorithme devra, lorsqu'il es lancé, afficher à la fin : "La norme du vecteur cherché est        "
(Je vous conseille très fortement de le tester sur Algobox pour voir si il fonctionne. D'autre part, je tiendrai compte de la lisibilité de l'algorithme ( ne pas définir les variables n'importe comment ... ))


Je ne sais pas bien comment utiliser Algobox ...
Merci d'avance!

*** message déplacé ***

Posté par
Surb
re : Ecrire un alogorythme avec algobox 23-02-11 à 09:53

bonjour,
je ne connais pas du tout algobox, par contre de manière générale ca devrait ressemble à un truc de ce genre je pense.

Ta fonction prends trois points en arguments A,B,C et renvoie un nombre.
soit u = 0;
if taille(A) == taille(B) == taille(C)
          for i=1 jusqu'à taille(A)
                 u = u + (B(i)-A(i)+2C(i)-2A(i))^2;
          end;
          retourner "la nrome du vecteur cherché est " \sqrt{u};
else
          retourner "pas de calcul possible car les vecteur ne sont pas de même dimensions!";
end;
end;

A(i) est bien sure la coordonnée i du vecteur A. Ce dernier algorithme à été écris pour la norme euclidienne 2, tu peux facilement généralisé en mettant par exemple un argument p \in \mathbb{N} de plus dans ta fonction qui calculera la norme p de ton vecteur. Quand à la syntaxe d'algobox, normalement google est toujours un excellent ami pour comprendre la syntaxe d'un programme informatique .

Posté par
S21F
re : Ecrire un alogorythme avec algobox 23-02-11 à 10:24

Merci, mais je ne comprend pas vraiment comment vous avez fait.

Posté par
Surb
re : Ecrire un alogorythme avec algobox 23-02-11 à 11:44

ok, on reprend, supposons que A=(a_1,a_2,\ldots,a_n),B=(b_1,b_2,\ldots,b_n),C=(c_1,c_2,\ldots,c_n)\in\mathbb{R}^n.
En mathematiques tu calculerai d´abord le vecteur u = AB+2AC, donc pour cela il te faut calculer les vecteurs AB et AC or tu sais (et dans le cas contraire il faut que tu revoies ton cours sur les vecteurs!!) que la ieme coordonee ab_i du vecteurs AB est donnee par ab_i = b_i-a_i de meme que ieme coordonnee ac_i du vecteur AC est donnee par la relation ac_i = c_i-a_i, pour i allant de 1 jusqu´a n (d´ou la boucle for). Donc u_i = ab_i+2ac_i pour 1\leq i\leq n. Puis la norme euclidienne 2 de ton vecteur u est donnee par ||u|| = \sqrt{\displaystyle \sum_{i=1}^n u_i^2}.
Le truc c´est que du peu que je connaisse de l´informatique il faut essayer de faire travailler le moins que possible l´ordinateur, c´est-a-dire lui faire enregistrer le moins d´informations que possible et lui faire faire le moins d´operations que possible (ce qui revient plus ou moins au meme sauf erreur). Donc tu peux faire le truc plus elegamment, d´abord par ce que j´ai ecris avant tu peux voir qu´en fait on a  u_i =ab_i+2ac_i = b_i-a_i +2(c_i-a_i) = b_i+2c_i-3a_i (deja la tu evites de prendre de la place pour sauvegarder tes vecteurs AB et AC). Ensuite tu peux faire encore plus fort en te disant que construire un vecteur u c´est chouette mais il faut de nouveau enregistrer n informations alors que si tu calcules directement sa norme c´est plus chouette. Donc ce que tu peux faire c´est de dire que le u (de l´algorithme que je t´ai donne) est simplement un nombre, ce nombre va representer la somme \displaystyle \sum_{i=1}^n u_i^2 or pour faire une somme on utilise la boucle for et on dit que u est egal au debut de ta somme plus le terme suivant, d´ou le u = u + (u_i)^2 et du coup ton ordinateur ne sauve non plus n informations pour le vecteurs u mais plus que 1 information a chaque iteration or il ne fait que le changer ce nombre donc tu ne sauve plus qu´une information (ce qui est mieux que construire tout tes vecteurs, etc... car la tu devrais sauver dans les 3n informations ce qui est ennorme si n devient grand). finalement il ne faut pas oublier de prendre la racine de ta somme ce qui te donnes la norme. J´espere que c´est plus claire. Bonne chance pour l´implementation .
PS1: la condition if, c´est plus pour faire joli que vraiment necessaire a ton algorithme mais c´est toujours bien de faire ce genre de choses car apres dans un programme plus gros qui ne marche pas c´est chouette de savoir d´ou vient l´erreur.
PS2: Je suis loin d´etre informaticien donc j´espere qu´un informatiticien plus experimente lira et infirmera ou confirmera mes dires .

Posté par
Mariette Correcteur
re : Ecrire un alogorythme avec algobox 23-02-11 à 12:06

bonjour,

euh...en seconde, on se contente de vecteur en dimension 2...

On va détailler ce qu'a fait Surb :

1) on demande à l'utilisateur les coordoonnées de A, de B, de C :
6 variables à déclarer

2) on veut calculer les coordonnées du vecteur \vec u = \vec{AB}+2\vec{AC}.

deux solutions : on le fait directement (donc on a besoin de 2 variables) ou on calcule les coordonnées de \vec{AB} et puis \vec{AC} et enfin de u.
dans le deuxième cas on a besoin de 6 variables.

3) on affiche le résultat.

Essaie de voir comment rédiger ça avec AlgoBox.


PS : je ne cherche pas à faire un bel algo qui économise les variables, mais un algo clair

Posté par
Surb
re : Ecrire un alogorythme avec algobox 23-02-11 à 12:18

Mariette :::
Merci pour cette clarification (n´etant pas francais, je n´ai aucune idee de ce qu´est la seconde... et du coup je ne me rendais pas compte qu´effectivement c´est peut etre un peu complique).

PS: pour les messages precedant, veuillez m´excuser pour l´absence d´accent mais je suis sur un clavier allemand actuellement et je sais pas trop comment les faire (de plus je n´ai pas de correcteur d´orthographe...)

Posté par
Mariette Correcteur
re : Ecrire un alogorythme avec algobox 23-02-11 à 13:52

Surb : il n'y a pas de mal, je m'étais doutée qu'il te manquait une information



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 1675 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 !