Auteur |
Message |
Shakan972
Forumeur fréquent
Messages: 67
|
Posté le:
Ven 20 Jan 2006 - 00:03 |
|
Bonjour à tous je suis en terminale IG et j'avais besoin de votre avis sur la qualité de mon algo concernant un exercice !!
L'exercice est le suivant :
La société PSS désire calculer le salaire brut mensuel de ses employés en fonction d'un taux horaire variable et du nombre d'heures travaillées.
Par souci de considération on considérera que le taux moyen des cotisations salariales est de 20%. Le salaire net corespond au salaire brut moins les cotisations salariales. De plus, les salariés bénéficient d'une prime de repas mensuelle de 80 €, cette prime est éxonérée de cotisations sociales.
J'ai donc réalisé l'algo suivant relatiif à l'énoncé:
CONSTANTES :
TCS <--- 20% /* Taux moyen des cotisations salariales */
PRM <--- 80 /* Prime de repas mensuelle */
VARIABLES :
NOM : Chaîne /* Nom du salarié */
TH : Réel /* Taux horaire du salarié */
NBM : Réel /* Nombre d'heures mensuelles */
SB : Réel /* Salaire brut mensuel */
SN : Réel /* Salaire net */
NP : Réel /* Salaire net à payer */
DEBUT
Saisir "Quelle est le nom du salarié ?",NOM
Saisir "Quelle est le taux horaire du salarié ?",TH
Saisir "Quel est le nombre d'heures travaillées ?",NBM
SB <--- NBM*TH
Afficher "Le salaire brut mensuel est de ",SB
SN <--- SB-(SB*TCS)
Afficher "Le salaire net est de",SN
NP <--- SN+PRM
Afficher "Le salaire net à payer est de ",NP
FIN |
|
|
|
|
N'oubliez pas de vous inscrire à la communauté pour participer. Si vous êtes déjà membre, connectez-vous pour faire disparaître ce bandeau publicitaire. |
Machjaghjolu
Expert du forum
Sexe:
Messages: 627
Localisation: Aiacciu
|
Posté le:
Ven 20 Jan 2006 - 11:14 |
|
Salute,
Je ne suis pas sûr de ce que j'affirme mais :
- Tu n'as pas donné de nom à ton algo au début (Programme nomDuProgramme)
- Les constantes se déclarent avec un =
- Le pourcentage n'est peut-être pas autorisé donc déclare tes constantes avec 0,20 etc.. et modifie les calculs si tu modifies les constantes. |
_________________ Un populu ùn hè vintu finch'ellu lotterà |
|
|
|
Shakan972
Forumeur fréquent
Messages: 67
|
Posté le:
Ven 20 Jan 2006 - 20:21 |
|
mis à part ces détails l'algo est-il bon ?? |
|
|
|
|
kronky
Accro à Web-IG
Sexe:
Messages: 143
Localisation: Dijon
|
Posté le:
Ven 20 Jan 2006 - 21:17 |
|
Machjaghjolu a écrit: |
- Tu n'as pas donné de nom à ton algo au début (Programme nomDuProgramme) |
D'accord.
Dans ce cas, ce n'est pas critique car il n'y a qu'un programme, mais prend l'habitude de nommer tes algos. Ca t'aidera pour des cas plus complexes, où tu auras plusieurs algo qui interagissent, des fonctions, des procédures...
Citation: |
- Les constantes se déclarent avec un = |
Pas forcément.
Je ne crois pas qu'il y ai vraiment une syntaxe universelle pour les algos. Chaque prof adapte en s'inspirant de son langage préféré.
Citation: |
- Le pourcentage n'est peut-être pas autorisé donc déclare tes constantes avec 0,20 etc.. et modifie les calculs si tu modifies les constantes. |
D'accord aussi.
Dans un programme, 20%, ça ne veut rien dire... D'ailleurs, de quel type serait la variable contenant cette valeur ? Surement pas un type numérique, à cause du caractère "%" !
Tiens, d'ailleurs tu as oublié de déclarer tes constantes. Si tu l'avais fait, tu aurais vu que '20%' n'était pas cohérent.
Donc :
Code: |
CONSTANTES :
TCS : réel
PRM : réel
TCS <--- 0.2 /* Taux moyen des cotisations salariales */
PRM <--- 80 /* Prime de repas mensuelle */ |
Sinon, j'ai vu une ligne qui pouvait être optimisée :
on factorise et ça devient
Du coup tu n'apelles ta variable qu'une fois. |
|
|
|
|
Machjaghjolu
Expert du forum
Sexe:
Messages: 627
Localisation: Aiacciu
|
Posté le:
Ven 20 Jan 2006 - 21:32 |
|
kronky a écrit: |
Citation: |
- Le pourcentage n'est peut-être pas autorisé donc déclare tes constantes avec 0,20 etc.. et modifie les calculs si tu modifies les constantes. |
D'accord aussi.
Dans un programme, 20%, ça ne veut rien dire... D'ailleurs, de quel type serait la variable contenant cette valeur ? Surement pas un type numérique, à cause du caractère "%" !
Tiens, d'ailleurs tu as oublié de déclarer tes constantes. Si tu l'avais fait, tu aurais vu que '20%' n'était pas cohérent.
Donc :
Code: |
CONSTANTES :
TCS : réel
PRM : réel
TCS <--- 0.2 /* Taux moyen des cotisations salariales */
PRM <--- 80 /* Prime de repas mensuelle */ |
|
Je ne suis pas sûr de ce que tu affirmes mais tu as surement raison vu que tu es en seconde année de Dev
mais avec 2 profs différents et quelques sites j'ai jamais vu qu'on déclarait une constante avec le type.
Par contre dans un langage de programmation je sais qu'il faut déclarer le type aussi..
Doit bien exister une convention de nommage en algo quelque part lol. |
_________________ Un populu ùn hè vintu finch'ellu lotterà |
|
|
|
kronky
Accro à Web-IG
Sexe:
Messages: 143
Localisation: Dijon
|
Posté le:
Sam 21 Jan 2006 - 18:27 |
|
Bah de toute façon, comme dirait mon prof "L'algo c'est un truc ringard qu'on enseigne parce que c'est au programme". Et un mec qui a un lapin bélier qui s'apelle Alf a forcément raison (les cnedien sauront de qui je parle).
Plus sérieusement, l'interet de l'algo pour moi, c'est d'apprendre les bases de la programmation indépendamment de tout langage avec une syntaxe qui explicite bien toutes les subtilités de la prog, et qu'un langage peut pafois cacher.
Par exemple, pour reprendre le symbole de l'affectation, on utilise parfois "<--" en algo pour faire la différence avec l'égalité "=" qui est un concept très différent (même si ça ne parait pas évident a priori).
Ou alors, on utilise "=" pour l'affectation et "==" pour l'égalité, l'important étant de faire une distinction pour montrer qu'on a compris les concepts sous-jacents.
En ce qui concerne la déclaration des constantes, je t'avouerai que je n'ai aucun souvenir si on le faisait ou non en première année... Mais ça me parait plus cohérent de le faire. D'ailleurs, toujours pour citer le même prof "une constante est une variable comme les autre". |
|
|
|
|
Shakan972
Forumeur fréquent
Messages: 67
|
Posté le:
Sam 21 Jan 2006 - 19:08 |
|
c'est juste que cette variable est statique au niveau de son contenu, n'est ce pas?? |
|
|
|
|
OSC@R
Forumeur occasionnel
Sexe:
Messages: 36
Localisation: Cotonou
|
Posté le:
Sam 21 Jan 2006 - 19:19 |
|
Bonsoir.
Je suis en train d'écrire un petit programme en turbo. L'algo que j'exécute est bon. Seulement au moment de compiler le programme, un message d'erreur s'affiche en haut de la fenêtre avec ce msg
" Error 15 : File not found (SYSTEM.TPU)"
qu'est ce que c'est ? pourtant j'ai donné un nom à mon programme. Est ce que ce msg est lié à l'emplacement de l'enregistrement, cad, le repertoire dans lequel j'ai enregistré le programme ?
Merci |
|
|
|
|
OSC@R
Forumeur occasionnel
Sexe:
Messages: 36
Localisation: Cotonou
|
Posté le:
Dim 22 Jan 2006 - 00:01 |
|
Personne n'a encore trouvé de solution à mon pbm ? |
|
|
|
|
Genzo
Modérateur
Sexe:
Messages: 1706
Localisation: Sartrouville (78)
|
Posté le:
Dim 22 Jan 2006 - 00:24 |
|
Ton problème vient surement d'une mauvaise installation de ton compilateur.
Essayes de le réinstaller, et/ou de le mettre à jour. |
_________________ N'oubliez pas de mettre un avis sur votre lycée/centre de formation !!! Pensez aux futurs BTSiens. Merci |
|
|
|
kronky
Accro à Web-IG
Sexe:
Messages: 143
Localisation: Dijon
|
Posté le:
Dim 22 Jan 2006 - 19:24 |
|
OSC@R a écrit: |
Personne n'a encore trouvé de solution à mon pbm ? |
Si tu avais posé ta question dans un nouveau sujet au lieu de faire dévier celui là, tu aurais surement plus de réponses...
Shakan972 a écrit: |
c'est juste que cette variable est statique au niveau de son contenu, n'est ce pas?? |
Je dirais plutôt invariable. Voilà, une constante c'est une variable invariable.
Le terme statique me gène un peu car ça a un autre sens. C'est une variable qui a une portée locale mais qui garde sa valeur quand le programme appelle le sous-programme dans lequel elle est déclarée. Euh... je suis pas clair ?
Un exemple très simple :
Code: |
fonction Houplala () : reel
var
MaVariable : reel
Debut
Resultat <-- MaVariable +1
Fin
|
Dans le cas d'une variable 'normale', le programme
Code: |
affiche Houplala
affiche Houplala
affiche Houplala |
Donnera :
puisque la variable sera initialisée à 0 à chaque apelle de la fonction (Bien entendu, ça suppose que le langage initialise les variables à zéro lors des déclarations, sinon j'obtiendrais n'importe quoi).
Dans le cas d'une variable static (on admet que j'ai ajouté le mot 'Static' dans la déclaration), cela donnerait
|
|
|
|
|
Vincent
Webmaster
Sexe:
Messages: 5584
Localisation: Montpellier
|
Posté le:
Dim 22 Jan 2006 - 20:19 |
|
kronky a écrit: |
Plus sérieusement, l'interet de l'algo pour moi, c'est d'apprendre les bases de la programmation indépendamment de tout langage avec une syntaxe qui explicite bien toutes les subtilités de la prog, et qu'un langage peut pafois cacher. |
C'est exactement pour cette raison qu'on enseigne l'algo. |
_________________ Hey les amis, pensez à suivre @webig sur Twitter, et pourquoi pas me suivre moi @cybervince |
|
|
|
OSC@R
Forumeur occasionnel
Sexe:
Messages: 36
Localisation: Cotonou
|
Posté le:
Lun 23 Jan 2006 - 19:46 |
|
Genzo a écrit: |
Ton problème vient surement d'une mauvaise installation de ton compilateur.
Essayes de le réinstaller, et/ou de le mettre à jour. |
Bah, c'est réglé. J'avais déplacer la source du programme dans un autre repertoire, c'est pkoi j'avais ces msg affichés.
Merci Genzo. |
|
|
|
|
Yipyip
Modérateur
Sexe:
Messages: 1163
Localisation: Ici, là, pas loin ...
|
Posté le:
Lun 23 Jan 2006 - 21:15 |
|
Pour en revenir au test de l'algo, eh bien le meilleur moyen de voir si l'algo correspond est de ... le le tester avec un langage. |
_________________
|
|
|
|
Genzo
Modérateur
Sexe:
Messages: 1706
Localisation: Sartrouville (78)
|
Posté le:
Lun 23 Jan 2006 - 21:35 |
|
Yipyip a écrit: |
Pour en revenir au test de l'algo, eh bien le meilleur moyen de voir si l'algo correspond est de ... le le tester avec un langage. |
Et ça m'a toujours frustré devant mes copies en algo... |
_________________ N'oubliez pas de mettre un avis sur votre lycée/centre de formation !!! Pensez aux futurs BTSiens. Merci |
|
|
|
mrmabo
Accro à Web-IG
Sexe:
Messages: 226
Localisation: Amiens
|
Posté le:
Mar 24 Jan 2006 - 12:06 |
|
mais il faut aussi être capable de faire tourner son algo sur papier dans sa tête
en suivant l'evolution des variables |
|
|
|
|
|