Procédures et fonctions
Cours : Procédures et fonctions. Recherche parmi 300 000+ dissertationsPar M Mm • 16 Décembre 2017 • Cours • 2 659 Mots (11 Pages) • 762 Vues
[pic 1]
SI4 - Les Méthodes_TP10_2
Modules : Procédures & fonctions[pic 2]
Coût du transport
Dans l'entreprise ProjectIndustrie le coût de transport a fait l'objet d'une analyse fine. Le coût de transport est calculé de la façon suivante :
- pour un volume de marchandises < 30 le coût de transport est égal au tarif de base.
- pour un volume compris entre 30 et 75 alors il est égal à tarif de base x 1.30
- pour un volume > 75 il est égal au tarif de base x 1.60
- pour une distance de livraison < = 500Km le coût de transport est augmenté de la distance x 0.025
- Pour une distance comprise entre 500 et 1000 KM alors le coût est augmenté de distance x 0.040
- Pour une distance > 1000 KM le coût est augmenté de distance x 0.075
Programme calculCoutTransport
int tarifBase = 80;
int volume, nbKM, num;
Double coutTransport;
Console.WriteLine("numero facture : ");
num = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("volume envoyé : ");
volume = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("distance en km : ");
nbKM = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("cout du volume envoyé : " + calculVol(??????????????));
Console.WriteLine("cout a la distance : " + calculDist(??????????????));
coutTransport = calculVol(????????????) + calculDist(???????????);
Console.WriteLine("cout du transport total : " +coutTransport);
Console.ReadKey();
Travail à faire:
- Donner les paramètres à passer de la fonction calculVol()
calculVol(int vol, int tarif)
- Quel est le type du résultat que la fonction renvoie?
Decimal ou Double
- Ecrire le code de la fonction calculVol()
static Double calculVol(int vol, int tarif)
{
Double cout;
if (vol > 75)
cout=tarif*1.6;
else
{
if (vol > 30)
cout = tarif * 1.3;
else
cout = tarif;
}
return cout;
}
- Donner le paramètre à passer de la fonction calculDist()
calculDist(int km)
- Quel est le type du résultat que la fonction renvoie?
Decimal ou Double
- Ecrire le code de la fonction calculDist()
static Double calculDist(int km)
{
Double cout;
if (km > 1000)
cout = km * 0.075;
else
{
if (km > 500)
cout = km * 0.040;
else
cout = km*0.025;
}
return cout;
}
- Compléter le programme principal en utilisant vos deux fonctions
Console.WriteLine("cout du volume envoyé : " + calculVol(volume, tarifBase));
Console.WriteLine("cout a la distance : " + calculDist(nbKM));
coutTransport = calculVol(volume, tarifBase) + calculDist(nbKM);
Etablissement d'une facture
Une entreprise a fait réaliser un programme permettant l'établissement d'une facture. Elle désire l'améliorer en prenant en compte une ristourne et un taux de port préférentiel suivant le type de client et la quantité expédiée.
Une fonction tauxRem() devra permettre de déterminer le taux de remise auquel un client a droit suivant son profil :
type | ordinaire | silver | gold |
Remise accordée | 0% | 10 % | 20% |
Cette entreprise souhaite aussi utiliser une fonction tauxPort() pour réduire les frais de livraison à ses très bons clients qui passent de grosses commandes. Les règles de détermination des frais de livraison sont les suivantes.
- Si la facture à établir concerne un client de catégorie "gold", le montant des frais de port sera égal à 4% du net hors taxe ou à 2% de ce même net HT lorsque la quantité à transporter est supérieure à 10.
- Pour les autres clients , le montant des frais de livraison représente 6% du net hors taxe.
Travail à faire:
- Quel est le paramètre à passer dans la fonction tauxRem() qui retourne le taux de ristourne accordé suivant le profil du client ?
tauxRem(string typeCli)
- Quel est le type du résultat que la fonction renvoie?
Decimal ou Double
- Ecrire la fonction "tauxRem()"
static Double tauxRem(string typeCli)
{
Double taux;
if (typeCli == "gold")
taux = 0.20;
else if (typeCli == "silver")
taux = 0.10;
...