Menu

Exercice d'algorithme

Messages postés
1
Date d'inscription
mardi 1 janvier 2019
Dernière intervention
1 janvier 2019
- - Dernière réponse : [Dal]
Messages postés
4873
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
18 janvier 2019
- 3 janv. 2019 à 10:55
Bonjour,
J'ai un exercice d'algorithmes et je vais avoir une idée sur la correction et merci.
Écrire en langage C la logique qui permet la prise en charge des information de base de 50 salariés , chacun décrit par:
Matricule du salarié
Date d'embauche
Salaire de base
Et de calculer le nouveau salaire en fonction de l'ancienneté sachant que:
0<=anc<2 l'augmentation est 0%
2<=anc<4 l'augmentation est 15%
4<=anc<6 l'augmentation est 20%
6<=anc<8 l'augmentation est 50%
8<=anc<10 l'augmentation est 100%
Anc>10 l'augmentation est 150%
Et d'afficher les résultats pour chaque salarié sous forme :
Matricule ....
Ancien salaire .....
Nouveau salaire ....
Et merci
Afficher la suite 

Votre réponse

3 réponses

Messages postés
7230
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 janvier 2019
430
0
Merci
bonjour, peux-tu nous montrer la réponse que tu as préparée?
Commenter la réponse de yg_be
Messages postés
24064
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 janvier 2019
2140
Commenter la réponse de jordane45
0
Merci
algorithme je pense pas...mais de la logique un truc dont est incapable un ordinateur:

2crivez simplement la formule qui correspond à l'augmentation de chaque employé. C'est assez simple puisqu'il faut rajouter une valeur en rapport avec la date d'embauche, reste qu'à connaître la date du jour...
Je vois pas d'algorithme mais simplement une formule:

salaire à jour = niveau d'augmentation+ancien salaire
où date du jour-date d'embauche donne une fourchette d'augmentation(le niveau).

Bref à moins que vous ayez des problèmes pour les soustractions de date ou calculer un pourcentage je ne vois pas vraiment le problème puisque tout est donné dans l'intitulé...sinon retournez réviser l'arithmétique! La seule partie algorithmique ne l'est pas vraiment puisque une valeur est indiquée : en fonction de la date du jour - la date d'embauche...

L'algorithme c'est le détail de plusieurs bifurcations dans la logique(séquentielle pour simplifier) du programme, or ces différents chemins sont identiques puisqu'ils reviennent à augmenter un salaire d'une valeur de 0 à plus de 0%... donc pas vraiment de différence dans le traitement que la personne soit augmentée de 0 ou 150% c'est la même formule(donc le même raisonnement derrière, donc pas un algorithme mais un seul "chemin" droit et qui n’amenè pas à la possibilité de plusieurs différents ).
êtes vous sûr de savoir ce que veut dire algorithme? êtes vous sûr d'avoir compris de quoi parle votre cours?
[Dal]
Messages postés
4873
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
18 janvier 2019
930 -
Visiblement, si on lit ce qui est demandé, on ne lui demande pas de faire un algorithme, mais un programme en langage C et le terme d'algorithme est effectivement impropre pour désigner l'objet de l'exercice.

En termes de "bifurcations", même si c'est le même code qui s'exécute après détermination du pourcentage d'augmentation, il a bien des structures conditionnelles à mettre en place pour cette détermination, puisque le niveau d'augmentation ne paraît pas être une fonction linéaire, et qu'il faudra le déterminer après avoir testé dans quelle tranche on se situe.

L'exercice consistant en fait en la réalisation d'un programme en langage C, au vu de ce qu'elle indique, notre amie Oumaima4 doit notamment montrer au travers de son programme qu'elle sait, par exemple :

- créer une structure de données, par exemple avec un tableau de 50
struct
, puisque la taille maximale est fixée, un simple tableau de
struct
suffira

- utiliser les ressources accessibles par
time.h
pour stocker une date dans un format exploitable, déterminer la date du jour, calculer la différence entre deux dates

- faire des tests pour déterminer la tranche et calculer l'augmentation est la partie facile

- afficher les résultats en montrant qu'on sait afficher des nombres flottants avec une précision tronquée à deux chiffres après la virgule, ou arrondir à l'entier près en C, voire arrondir au centième près ...

Tout cela n'est pas nécessairement trivial, surtout pour un débutant en langage C.

Dal
Commenter la réponse de nobfd