Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Problème avec un algorithme

Posté par
Deception57
03-03-14 à 15:52

Bonjour, j'ai un petit problème avec un algorithme que je dois rendre.
L'algorithme:
Écrire un algorithme qui demande les coordonnées de 2 points et qui affiche l'équation de la droite joignant ces 2 points.

Je suis pas très doués en mathématiques

Merci d'avance

Posté par
Papy Bernie
re : Problème avec un algorithme 03-03-14 à 16:15

Bonjour,

avec Algobox , il faut déclarer des variables :

x_A
y_A
x_B
y_B
a
b

Début :

Demander les valeurs de x_A;y_A;x_B;y_B

Début algo (rédigé en langage courant):

Si x_A est égal à x_B alors
Afficher "La droite a pour équation x="
Afficher xA
Si y_A est égal à y_B alors
Afficher "La droite a pour équation y="
Afficher yA
Si x_A différent de x_B et y_A différent de y_B alors
a prend la valeur (y_B-y_A)/(x_B-x_A)
b prend la valeur y_A-a*x_A
Afficher "La droite (AB) a pour équation y="
Afficher a
Afficher"x+"
Afficher b

A vérifier avec Algobox !!

Posté par
Papy Bernie
re : Problème avec un algorithme 03-03-14 à 19:00

Voilà le programme fait avec Algobox et qui marche :

1     VARIABLES
2       x_A EST_DU_TYPE NOMBRE
3       y_A EST_DU_TYPE NOMBRE
4       x_B EST_DU_TYPE NOMBRE
5       y_B EST_DU_TYPE NOMBRE
6       a EST_DU_TYPE NOMBRE
7       b EST_DU_TYPE NOMBRE
8     DEBUT_ALGORITHME
9       LIRE x_A
10      LIRE y_A
11      LIRE x_B
12      LIRE y_B
13      SI (x_A==x_B) ALORS
14        DEBUT_SI
15        AFFICHER "La droite a pour équa x="
16        AFFICHER x_A
17        FIN_SI
18      SI (y_A==y_B) ALORS
19        DEBUT_SI
20        AFFICHER "La droite a pour équa y="
21        AFFICHER y_A
22        FIN_SI
23      SI (x_A!=x_B ET y_A!=y_B) ALORS
24        DEBUT_SI
25        a PREND_LA_VALEUR (y_A-y_B)/(x_A-x_B)
26        b PREND_LA_VALEUR y_A-a*x_A
27        AFFICHER "La droite a pour équa y="
28        AFFICHER a
29        AFFICHER "x+"
30        AFFICHER b
31        FIN_SI
32    FIN_ALGORITHME

Posté par
Papy Bernie
re : Problème avec un algorithme 03-03-14 à 19:04

J'explique :

ligne 13 et 18 : le double signe " = = " fait comparer 2 valeurs.

ligne 23  :  "!= " veut dire "différent"

ligne 25 : on calcule le coefficient directeur de la droite.

ligne 26 : on calcule le "b" de : y=ax+b car cette droite passe par le point (x_A;y_A) donc on a :

y_A=a*x_A+b qui donne : b=y_A-a*x_A

Posté par
Deception57
re : Problème avec un algorithme 03-03-14 à 19:34

Je vous remercie énormément

Posté par
Papy Bernie
re : Problème avec un algorithme 03-03-14 à 20:26

Mais je t'en prie et bonne continuation à toi.

Posté par
Deception57
Désolé 05-03-14 à 10:47

Désolé de revenir à la charge mais je ne comprend pas trop la ligne 13 et 18 car je n'arrive pas à visualiser le signe qui compare 2 valeurs ( je connais ou bien sûr )

Posté par
Papy Bernie
re : Problème avec un algorithme 05-03-14 à 12:22

Pour te répondre , je te fais un copier-coller du "manuel" d'utilisation d'Algobox :

Citation :
Les expressions conditionnelles (structures SI ALORS et TANT QUE) :
Exemples de syntaxe pour la condition :

    Pour vérifier si x est égal à 2, la condition à écrire est : x= =2
    Pour vérifier si x est différent de 2, la condition à écrire est : x!=2
    Pour vérifier si x est strictement inférieur à 2, la condition à écrire est : x<2
    Pour vérifier si x est inférieur ou égal à 2, la condition à écrire est : x<=2
    Pour vérifier si x est strictement supérieur à 2, la condition à écrire est : x>2
    Pour vérifier si x est supérieur ou égal à 2, la condition à écrire est : x>=2

Il est possible de combiner plusieurs conditions avec ET et OU :

    La condition à écrire pour vérifier que x est strictement compris entre 1 et 5 est : x>1 ET x<5
    La condition à écrire pour vérifier que x est égal à 3 OU à 5 est : x==3 OU x==5


Donc pour comparer 2 valeurs , on tape 2 fois le signe  " = ". OK ?


Tu retrouves ça avec bien d'autres choses ici :

Posté par
Deception57
re : Problème avec un algorithme 06-03-14 à 10:18

Ah ok merci Mais imaginons que je dois le rendre sur feuille. Dois-je mettre le signe "=='

Posté par
mathafou Moderateur
re : Problème avec un algorithme 06-03-14 à 10:54

Bonjour,
ça dépend ce qu'on te demande !
on te demande un algorithme apparemment, pas un programme en Algobox

bien faire la distinction entre les deux

un algorithme est la description plus ou moins codifiée (dite "en langage naturel") d'une méthode de calcul

un programme c'est la réalisation de cet algorithme sur une machine donnée avec une syntaxe de cette machine là

le même algorithme se traduira par des programmes différents sur Algobox, en Java, sur calculette TI, sur calculette Casio, etc etc
chacun ayant sa propre syntaxe.

en "langage naturel" (mathématiques) le contexte fait parfaitement la différence entre
si A = B (il s'agit de tester si A est égal ou pas à B)
et d'autres utilisations du signe "=" pour calculer par exemple x = -b/4
les programmes c'est abominablement bête, il s'agit d'expliquer ton algorithme à une machine, c'est à dire à un idiot.
contexte connait pas.

donc il faut lui écrire "= = " (sans espace entre les deux) pour dire "tester la condition"
parce que dans sa syntaxe il y a un autre truc qui est "=" (un seul signe =) et qui veut dire tout à fait autre chose, alors en tant que parfait idiot, cette machine si on lui écrit pareil, elle ne va rien y comprendre du tout.
c'est pour ça qu'il y a deux "signes" particuliers
le "==" qui sert à tester des conditions
le "=" qui sert à autre chose (normallement tu ne le rencontreras pas dans l'utilisation courante de Algobox celui là, il est "planqué" dans la syntaxe "PREND_LA_VALEUR")

sur calculette tu vas trouver aussi deux signes différents
le A <-- B (qui correspond à "l'affectation", résultat d'un calcul)
le A = B qui correspond au "==" de Algobox et qui s'utilise dans des tests (si, if, while etc)

En Pascal tu vas trouver
:= pour le "prend la valeur"
et un simple = pour les tests

autant de machines, autant de syntaxes

donc algorithme en langage naturel :
si A = B
si A B (écrit comme ça avec ce symbole là)
si A B (idem)

B = C+4 (pour B prend la valeur du calcul C+4) l'être humain fait parfaitement la différence avec l'autre "=" dans des tests !
ou
B <-- C+4
ou C+4 B

programme pour Algobox :
SI (A == B) ALORS
DEBUT SI
....
(filandreux, mais on s'adresse à une machine idiote)

SI (A >= B) ALORS

SI (A != B) ALORS

etc.
en respectant à la virgule près et la "casse" (majuscule/minuscule)


donc sur ta feuille, si on te demande un algorithme, c'est "en langage naturel" en l'absence d'autres précisions :
si A = B et X Y
(langage abstrait dit "naturel")

si on te demande un programme pour Algobox (appelé souvent à tort, ce qui entretient la confusion, "algorithme pour Algobox")
SI (A==B ET X!=Y) ALORS etc
(ce qu'il y a sur ta feuille doit être alors "opérationnel" simplement en le recopiant tel quel dans Algobox, caractère par caractère)

Posté par
Deception57
re : Problème avec un algorithme 06-03-14 à 21:15

Ah ok je vous remercie beaucoup !

Posté par
Momomo97
Programme à faire 16-03-14 à 09:46

Bonjour je dois faire un programme pour demain et je n'y arrive pas.
L'énoncé: Écrire un algorithme qui demande les coordonnées de 2 points et qui affiche la droite d'équation de la droite joignant ces 2 points. Pour l'algorithme pas trop de soucis mais le professeur a rajouté le programme de cette algorithme et là je BUG!

Je vous remercie d'avance !

*** message déplacé ***

Posté par
Papy Bernie
re : Programme à faire 16-03-14 à 10:06

Bonjour,

va voir cette page avec un programme sur Algobox : Problème avec un algorithme

*** message déplacé ***



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