Exercice d'algorithme

Fermé
Oumaima4 Messages postés 1 Date d'inscription mardi 1 janvier 2019 Statut Membre Dernière intervention 1 janvier 2019 - 1 janv. 2019 à 12:02
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 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
A voir également:

3 réponses

yg_be Messages postés 23417 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 5 janvier 2025 Ambassadeur 1 557
1 janv. 2019 à 13:15
bonjour, peux-tu nous montrer la réponse que tu as préparée?
0
jordane45 Messages postés 38369 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 3 janvier 2025 4 722
1 janv. 2019 à 13:36
0
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?
0
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 097
Modifié le 3 janv. 2019 à 11:10
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
0