Algobox [Optimisation]

Publié le 14 sept. 2014 il y a 9A par Anonyme - Fin › 18 sept. 2014 dans 9A
1

Sujet du devoir

Le sujet est sur la photo ci-jointe.

Consigne1

Image concernant mon devoir de Mathématiques

Où j'en suis dans mon devoir

Mon code actuel terminé :

1 VARIABLES
2 a EST_DU_TYPE NOMBRE
3 b EST_DU_TYPE NOMBRE
4 c EST_DU_TYPE NOMBRE
5 D EST_DU_TYPE NOMBRE
6 X EST_DU_TYPE NOMBRE
7 Y EST_DU_TYPE NOMBRE
8 alpha EST_DU_TYPE NOMBRE
9 beta EST_DU_TYPE NOMBRE
10 DEBUT_ALGORITHME
11 TANT_QUE (a==0) FAIRE
12 DEBUT_TANT_QUE
13 AFFICHER "(a≠0)"
14 LIRE a
15 SI (a==0) ALORS
16 DEBUT_SI
17 AFFICHER "A ne dois pas être égal à 0. Recommencez "
18 FIN_SI
19 FIN_TANT_QUE
20 LIRE b
21 LIRE c
22 D PREND_LA_VALEUR pow(b,2)-(4*a*c)
23 AFFICHER D
24 SI (D>0) ALORS
25 DEBUT_SI
26 X PREND_LA_VALEUR (-b-sqrt(D))/(2*a)
27 Y PREND_LA_VALEUR (-b+sqrt(D))/(2*a)
28 AFFICHER X
29 AFFICHER Y
30 FIN_SI
31 SI (d=0) ALORS
32 DEBUT_SI
33 X PREND_LA_VALEUR -(b/2*a)
34 AFFICHER X
35 FIN_SI
36 SI (D<0) ALORS
37 DEBUT_SI
38 AFFICHER "Pas de solution"
39 FIN_SI
40
41 FIN_ALGORITHME

J'aimerais avoir des pistes pour améliorer sa vitesse et l'optimiser.




1 commentaire pour ce devoir


Anonyme
Posté le 14 sept. 2014

Avant de l'optimiser, rendons-le plus correct. :P

Même si c'est un peu plus long, il faut au départ que tu initialises ta variable a à 0, avant ton "tant que". Tu ne sais pas ce que contient cette variable a avant. Imagine qu'en créant a, il soit initialisé à 364273, ton algorithme n'est plus bon. :P

Autre possibilité, changer ton "tant que" en "faire ... tant que", ou "faire ... jusqu'à". Je ne sais pas exactement le terme utilisé par Algobox. Cela permettra de rentrer obligatoirement au moins une fois dans ta boucle. Et du coup, là, tu pourras dès le début lire a.

Sinon, niveau optimisation, je ne vois pas trop ce que l'on peut faire, mis à part changer les deux derniers "si" en "sinon si" et "sinon".


Ils ont besoin d'aide !

Il faut être inscrit pour aider

Crée un compte gratuit pour aider

Je m'inscrisOU

J'ai déjà un compte

Je me connecte