Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Algobox

Posté par
oceeane
18-05-12 à 21:28

Bonsoir tout le monde,

Autant la dernière fois je vous avais envoyé mon algoritme mais alors là j'en suis incapable !
Je ne vois pas du tout comment faire ( contrairement à l'autre fois où j'avais quelques pistes ... )

Construire un programme qui demandes les longueurs de trois côtés d"un triangle et qui sort comme résultats les deux données suivantes :
- il est possible, ou il est impossible de construire un tel triangle
- Si le triangle est constructible, alors le programme précisera sa nature exacte

Pouvez-vous s'il vous plaît m'aider, me donner quelques pistes?

Merci beaucoup d'avance

Bonne soirée à vous

Posté par
dhalte
re : Algobox 18-05-12 à 22:15

l'algorithme n'est rien
ce qui est important est d'énoncer d'abord les règles de calcul

quand est-ce que trois segments peuvent faire un triangle ?

Posté par
Chatof
re : Algobox 18-05-12 à 22:30

Bonjour,
Il faut lire 3 longueurs a b c.
Les trier (échanges) par longueur (par exemple pour que abc).
donc si a> b+c ...

sinon :
si a=b+c ... !!!

si a=b ou b=c ...
si a=b=c  c a d si a=c  car abc) ...
si a²=b²+c² ...

Plus de détails ?

Posté par
dhalte
re : Algobox 18-05-12 à 22:33

je pense que ça ira, merci

Posté par
oceeane
re : Algobox 22-05-12 à 18:37

Merci beaucoup vous deux pour les réponses
Excusez moi du temps un peu long pour la réponse..

Vous m'avez beaucoup aidé !
Je le fais et je vous le montre


Bonne soirée

Posté par
oceeane
re : Algobox 22-05-12 à 21:53

Cela fait 45 minutes que j'essaye de faire marcher mais pas moyen ...

Voici ce que j'ai fait ( voir images )

Qu'est ce qui ne va pas?

Algobox

Algobox

Posté par
dhalte
re : Algobox 22-05-12 à 22:48

si (a=b=c)
n'est pas admis par le langage

Posté par
Chatof
re : Algobox 23-05-12 à 02:33

ALGOBOX :
CODE DE L'ALGORITHME :
1 VARIABLES
2 a EST_DU_TYPE NOMBRE
3 b EST_DU_TYPE NOMBRE
4 c EST_DU_TYPE NOMBRE
5 e EST_DU_TYPE NOMBRE
6 DEBUT_ALGORITHME
7 LIRE a
8 LIRE b
9 LIRE c
10 SI (a>b+c ou b>a+c ou c>a+b) ALORS
11  DEBUT_SI
12  AFFICHER "pas de triangle"
13  FIN_SI
14  SINON
15  DEBUT_SINON
16  SI (a==b+c ou b==a+c ou c==a+b) ALORS
17   DEBUT_SI
18   AFFICHER "triangle plat ou segment de droite !"
19   FIN_SI
20   SINON
21   DEBUT_SINON
22   AFFICHER "triangle possible"
23   SI (a==b ET a==c ET b==c) ALORS
24    DEBUT_SI
25    AFFICHER "équilatéral"
26    FIN_SI
27    SINON
28    DEBUT_SINON
29    SI (a==b ou a==c ou b==c) ALORS
30    DEBUT_SI
31    AFFICHER "isocèle"
32   FIN_SI
33   FIN_SINON
34  FIN_SINON
35  SI (a*a==b*b+c*c ou b*b==a*a+c*c ou c*c==a*a+b*b) ALORS
36  DEBUT_SI
37  AFFICHER "triangle rectangle"
38  FIN_SI
39 FIN_SINON
40 FIN_ALGORITHME

5  4   3

RÉSULTATS :
***Algorithme lancé***
triangle possible
triangle rectangle
***Algorithme terminé***
Généré par AlgoBox

Posté par
dhalte
re : Algobox 23-05-12 à 08:11

Allez, alors j'y vais de ma petite solution, moi aussi :

===============================
AlgoBox : dessiner un triangle
Présentation de l'algorithme :
Saisie de trois nombres, a, b, c
déterminer si un triangle peut avoir des cotés de longueurs respectives a, b, c
si oui, déterminer si le triangle est particulier (équilatéral, isocèle, rectangle, aigu, obtus).

si l'un d'eux est négatif, pas de triangle possible
réordonner les nombres pour que a contienne le plus grand des trois nombres
si b+c<a, pas de triangle possible
si a=b=c : équilatéral
sinon si a=b ou b=c ou c=a : isocèle
si a²=b²+c² : rectangle
sinon si a²<b²+c² : aigu
sinon obtu
===============================
Code de l'algorithme :
1     VARIABLES
2       a EST_DU_TYPE NOMBRE
3       b EST_DU_TYPE NOMBRE
4       c EST_DU_TYPE NOMBRE
5       t EST_DU_TYPE NOMBRE
6       msg EST_DU_TYPE CHAINE
7       x EST_DU_TYPE NOMBRE
8       y EST_DU_TYPE NOMBRE
9     DEBUT_ALGORITHME
10      LIRE a
11      LIRE b
12      LIRE c
13      msg PREND_LA_VALEUR "a=" + a + ", b=" + b + ", c=" + c
14      AFFICHER msg
15      SI (a<0 OU b<0 OU c<0) ALORS
16        DEBUT_SI
17        AFFICHER "les longueurs des cotés doivent être positives ou nulles"
18        FIN_SI
19        SINON
20          DEBUT_SINON
21          // on place la plus grande longueur dans a
22          SI (a<b) ALORS
23            DEBUT_SI
24            t PREND_LA_VALEUR a
25            a PREND_LA_VALEUR b
26            b PREND_LA_VALEUR t
27            FIN_SI
28          SI (a<c) ALORS
29            DEBUT_SI
30            t PREND_LA_VALEUR a
31            a PREND_LA_VALEUR c
32            c PREND_LA_VALEUR t
33            FIN_SI
34          // Maintenant, on a a<=b et a<=c
35          SI (a>b+c) ALORS
36            DEBUT_SI
37            AFFICHER "Impossible de construire un triangle avec les longueurs données"
38            FIN_SI
39            SINON
40              DEBUT_SINON
41              // test équilatéral ou isocèle
42              SI (a==b et b==c) ALORS
43                DEBUT_SI
44                AFFICHER "Le triangle est équilatéral"
45                FIN_SI
46                SINON
47                  DEBUT_SINON
48                  SI (a==b ou b==c ou c==a) ALORS
49                    DEBUT_SI
50                    AFFICHER "Le triangle est isocèle, non équilatéral"
51                    FIN_SI
52                  FIN_SINON
53              // Test si le triangle est rectangle, aigu ou obtu
54              SI (b*b+c*c==a*a) ALORS
55                DEBUT_SI
56                AFFICHER "Le triangle est rectangle"
57                FIN_SI
58                SINON
59                  DEBUT_SINON
60                  SI (b*b+c*c>a*a) ALORS
61                    DEBUT_SI
62                    AFFICHER "Le triangle est aigu"
63                    FIN_SI
64                    SINON
65                      DEBUT_SINON
66                      AFFICHER "Le triangle est obtu"
67                      FIN_SINON
68                  FIN_SINON
69              // normalisation des distances
70              SI (a>0) ALORS
71                DEBUT_SI
72                b PREND_LA_VALEUR b/a
73                c PREND_LA_VALEUR c/a
74                a PREND_LA_VALEUR 1
75                x PREND_LA_VALEUR (a*a+b*b-c*c)/(2*a)
76                y PREND_LA_VALEUR sqrt(b*b-x*x)
77                FIN_SI
78                SINON
79                  DEBUT_SINON
80                  x PREND_LA_VALEUR 0
81                  y PREND_LA_VALEUR 0
82                  FIN_SINON
83              // Dessin du triangle
84              TRACER_POINT (0,0)
85              TRACER_POINT (a,0)
86              TRACER_POINT (x,y)
87              TRACER_SEGMENT (0,0)->(a,0)
88              TRACER_SEGMENT (0,0)->(x,y)
89              TRACER_SEGMENT (a,0)->(x,y)
90              FIN_SINON
91          FIN_SINON
92    FIN_ALGORITHME
===============================
Résultats :
***Algorithme lancé***
a=3, b=4, c=5
Le triangle est rectangle
***Algorithme terminé***
===============================

la version PDF avec graphique (valable 15 jours) :

Posté par
oceeane
re : Algobox 23-05-12 à 17:47

Merci beaucoup c'est vraiment super gentil d'apporter une aide comme celle là ..

Posté par
oceeane
re : Algobox 23-05-12 à 17:49

Comment je peux faire pour progresser en algoritme? je n'y arrive pas souvent ..

Posté par
fedjer
re : Algobox 23-05-12 à 17:50

ah oui y'en a qui se font plaisir!

Posté par
dhalte
re : Algobox 23-05-12 à 17:58

L'algorithmie est une forme de logique, celle du processus : quelle succession logique d'étapes et de tests je dois effectuer parmi un nombre restreint d'instructions pour établir en un nombre fini d'étapes un résultat, produire un contenu.

la première chose à faire est évidemment d'abord de maîtriser les règles de logique (donc bosser la compréhension en maths plutôt que seulement cultiver le catalogue de formules)

puis de maîtriser les instructions autorisées (le langage informatique est plus simple qu'une langue naturelle)

puis de s'entraîner

par exemple, à chaque fois que tu as un exercice de maths, demande-toi si tu peux le simuler par un algorithme
ça concerne tous les chapitres, suites, statistiques, complexes, résolutions d'équations, etc...

le domaine est vaste.
je ne connais pas de sites où tu pourrais trouver des exercices corrigés de ce type

mais sur l'île des maths, saisit "algorithme" dans la case "Recherche" et tu vas avoir de la matière...

Posté par
Chatof
re : Algobox 23-05-12 à 18:19

dhalte
Cet un beau programme.
Oui, j'ai oublié les longueurs négatives !
Vous devriez proposer à Océane  des fiches sur la programmation.
Juste un détail de vocabulaire que je découvre sur wiki:
http://fr.wikipedia.org/wiki/Triangle_obtusangle

Citation :
En géométrie, un triangle obtusangle (ou encore amblygone) est un triangle dont un des angles est obtus, par opposition au triangle acutangle ne comportant que des angles aigus, et au triangle rectangle dont un angle est droit et les deux autres sont aigus.

Posté par
dhalte
re : Algobox 23-05-12 à 18:25

voilà, j'appelle obtus le triangle obtusangle ou amblygone
et aigu celui qui est proprement acutangle

je suis moi-même obtus de ne pas utiliser le vocabulaire adéquat, mais je pense que tout cela est déjà assez rébarbatif comme ça pour le lecteur .



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 !