ITI 1520 - Devoir 1 (Automne-2011) Solutions


Disponible : Mercredi, 14 septembre
Date de remise : samedi, 24 septembre, avant 22h00

 

Vous devez faire ce travail INDIVIDUELMENT et suivre toutes les instructions décrites dans le manuel de laboratoire, disponible sur la page Web du cours, pour la soumission des devoirs par le Campus Virtuel. Des points seront déduits si vous ne suivez pas ces consignes. Vous devez soumettre un document Word contenant les réponses aux 4 questions: les fichiers D1Q1.doc, D1Q2.doc, D1Q3.doc et le code de la question 4 (le fichier D1Q4.java et le fichier D1Q4.class compilé). Le contenu du fichier .java doit aussi être imprimé dans un fichier appelé D1Q4.doc. Tous ces documents doivent être placés dans un répertoire compressé (.zip) appelé d1_xxxxxx.zip, xxxxxx correspond à votre numéro d’étudiant et soumis sur le Campus Virtuel  de la façon expliquée dans les consignes.

Vos algorithmes doivent être développés en utilisant le format vu en classe, et il est interdit d'utiliser des structures qui n'ont pas été couvertes en classe (telles que les branchements et les boucles). Vos traces d'algorithmes doivent aussi se conformer au format vu en classe. Utilisez une "page virtuelle" (tableau) séparée pour tracer chaque invocation d'algorithme.

Barème (total de 100 points)

Question 1 (15 points)

Vous voudriez ouvrir une boutique de logiciels, mais vous désirez faire une étude de marché avant de vous décider pour de bon. Votre recherche vous a déjà appris qu’à l’emplacement où vous désirez ouvrir votre boutique, vos frais mensuels de base (location, employés, entretient, électricité, chauffage, impôts, etc.) s’élèveraient à $9,500. À ces frais de base, s’ajouteront, bien entendu, le coût de votre marchandise. En moyenne, les logiciels que vous vendrez vous coûteraient, au prix de gros, $29.50 par logiciel. Vous ne savez pas exactement à quoi vous attendre quant au nombre de logiciels que vous vendrez par mois et donc vous ne savez pas exactement combien de logiciels acheter chaque mois (le nombre de logiciels à acheter sera le nombre estimé de ventes plus 200 logiciels, afin d’être sûr de ne pas manquer de marchandise vers la fin du mois au cas où les ventes réelles seraient supérieures aux ventes estimées).


Question 1a)
Concevez un algorithme qui calculera vos frais mensuels totaux étant donné un nombre estimé de ventes.

DONNÉE:
    NombreDeVentes   (Nombre de ventes estimées)
INTERMÉDIAIRES:
    FraisDeBase   (Frais de base mensuels)

    PrixDeGrosDesLogiciels   (Coût moyen d’un logiciel)
   
FraisDeMarchandise  (Frais Moyens d’achat de Marchandise)
RÉSULTAT:
    FraisTotaux   (Frais mensuels totaux)
EN-TÊTE:
    FraisTotaux
CalculDeFrais( NombreDeVentes )
HYPOTHÈSE:
    NombreDeVentes est supérieur ou égal à 0

MODULE:
   
1. FraisDeBase ←  9,500
    2. PrixDeGrosDesLogiciels ←  29.50

    3. Frais de Marchandise ←  PrixDeGrosDesLogiciels x (NombreDeVentes  + 200)
   
4. FraisTotaux ←  FraisDeBase + FraisDeMarchandise

Question 1b) Tracez votre algorithme pour un nombre estimé de 2,000 ventes par mois.

Page 1 (Q1)   CalculDeFrais(2,000)

 

 

 

 

 

Instruction

NombreDeVentes

FraisDeBase

PrixDeGrosDesLogiciels

FraisDeMarchandise

FraisTotaux

Valeurs Initiales

2,000

?

?

?

?

1. FraisDeBase ←  9,500

 

9,500

 

 

 

2. PrixDeGrosDesLogiciels ←  29.50

 

 

29.50

 

 

2. Frais de Marchandise ←  PrixDeGrosDesLogiciels  x (NombreDeVentes  + 200)

 

 

 

64,900

 

3. FraisTotaux ←  FraisDeBase + FraisDeMarchandise

 

 

 

 

74,400



Question 2 (15 points)

Question 2a) Vous voulez établir une relation entre le profit que vous espérez pouvoir tirer  de votre boutique chaque mois et le prix moyen de vente de vos logiciels au détail.  Concevez un algorithme qui calculera le prix moyen de vente de vos logiciels au détail étant donné un profit espéré, une estimation de vos frais mensuels totaux et le nombre estimé de vente de logiciels. Pour ce faire, vous devrez tout d’abord calculer le revenu nécessaire à l’obtention de ce profit étant donné votre profit espéré et vos frais mensuels totaux, puis diviser ce revenu par le nombre estimé de vente de logiciels. 

 

 
DONNÉES:
   ProfitEspere   (Profit que vous espérez pouvoir tirer de votre boutique)

   FraisMensuels  (Frais mensuels)

   NombreDeVentes   (Nombre de ventes estimées)
INTERMÉDIAIRE:
   RevenusNecessaires  (Revenu nécessaire à l’obtention de votre profit espéré)

RÉSULTAT:
   PrixVenteDetail   (Prix de vente de vos logiciels au détail)
EN-TÊTE:
   PrixVenteDetail
CalculDuPrixDeVente(ProfitEspere, FraisMensuels, NombreDeVentes)
HYPOTHÈSE:
   ProfitEspere, FraisMensuel  sont supérieurs ou égaux à 0; NombreDeVentes est supérieur à 0.

MODULE:
   
1. RevenusNecessaires ←  FraisMensuels + ProfitEspere
   
2. PrixVenteDetail ←  RevenusNecessaires ÷ NombreDeVentes

Question 2b) Tracez votre algorithme pour trouver le prix de vente au détail de vos logiciels, pour un profit espéré de $4,000, des frais mensuels de $44,900 et un nombre estimé de 1,000 ventes de logiciel par mois.

Page 1 (Q1)   CalculDuPrixDeVente(5000,80000,2000)

 

 

 

 

 

Instruction

ProfitEspere

FraisMensuels

NombreDeVentes

RevenusNecessaires

PrixVenteDetail

Valeurs Initiales

4,000

44,900

1,000

?

?

1. RevenusNecessaires ←  FraisMensuels + ProfitEspere

 

 

 

48,900

 

2. PrixVenteDetail ←  RevenusNecessaires ÷ NombreDeVentes

 

 

 

 

48.90

 

Question 3 (30 points)

Question 3 En utilisant (invoquant) vos algorithmes des questions 1 et 2, écrivez un algorithme pour calculer la différence de prix de vente au détail de vos logiciels que vous auriez besoin d’appliquer afin d’augmenter votre profit espéré d’une valeur donnée à une valeur supérieure (par exemple de $5,000 à $6,000), si vous assumez un certain nombre estimé de ventes de logiciel par mois (votre algorithme prendra donc trois variables données). Veuillez noter que vos frais mensuels totaux ne sont pas donnés mais doivent être calculés par le programme de la question 1 (les frais mensuels de base restent les même que dans la question 1, ainsi que le coût moyen de logiciels au prix de gros et le nombre supplémentaire de logiciels que vous achèterez chaque mois pour ne pas que vos stocks disparaissent).

DONNÉES:
   ProfitEspereMinimal   (Profit minimal que vous espérez pouvoir tirer de votre boutique)

   ProfitEspereMaximal   (Profit maximal que vous espérez pouvoir tirer de votre boutique)

   NombreDeVentes   (Nombre de ventes estimées)
INTERMÉDIAIRES:
   FraisMensuelsTotaux  (Frais mensuels totaux)

  PrixVenteDetailMinimal (Prix de vente au détail qui vous permettra d’obtenir le profit espéré minimal)

  PrixVenteDetailMaximal (Prix de vente au détail qui vous permettra d’obtenir le profit espéré maximal)

RÉSULTAT:
   DifferencePrixVenteDetail   (Différence dans le prix de vente au détail de vos logiciels qui doit être appliquée pour passer d’un profit minimal à un profit maximal)
EN-TÊTE:
    DifferencePrixVenteDetail
CalculDifferencePrixDeVente( ProfitEspereMinimal, ProfitEspereMaximal, NombreDeVentes)
HYPOTHÈSE:
   ProfitEspereMaximal, ProfitEspereMinimal  sont supérieurs ou égaux à 0; ProfitEspereMaximal est supérieur ou égal à ProfitEspereMinimal; NombreDeVentes est supérieur à 0.

MODULE:
   
1. FraisMensuelsTotauxCalculDeFrais(NombreDeVentes)
    2. PrixVenteDetailMinimalCalculDuPrixDeVente(ProfitEspereMinimal, FraisMensuelsTotaux, NombreDeVentes)

    3. PrixVenteDetailMaximalCalculDuPrixDeVente(ProfitEspereMaximal, FraisMensuelsTotaux, NombreDeVentes)

    4. DifferencePrixVenteDetailPrixVenteDetailMaximal - PrixVenteDetailMinimal

Question 4 (30 points)

Implémentez un programme Java simple pour calculer vos frais mensuels totaux étant donné un nombre estimé de ventes, en utilisant l’algorithme de la Question 1. Le programme doit afficher le numéro du devoir et le numéro de la question sur une ligne, de même que votre nom et numéro d'étudiant sur une autre ligne. Après cela, le programme lit une valeur d’entrée du clavier (le nombre estimé de ventes), appelle la méthode qui implémente l’algorithme, et imprime le résultat.

 

// ITI 1520 Automne 2011

// Nom: Nathalie Japkowicz, #Etudiant 123456

/**

 * Ce programme calcule les frais mensuels totaux d'un magasin de logiciels

 * étant donné un nombre estimé de ventes

 */

 

class D1Q4

{

    public static void main (String[] args)

    {

       // DÉCLARATIONS DES VARIABLES ET DICTIONNAIRE DE DONNÉES

        int ventes; // DONNÉES (le nombre de ventes estime)

       

        double fraisTotaux;  // RESULTAT: les frais mensuels totaux

 

        // AFFICHAGE DE L'INFO D'IDENTIFICATION

        System.out.println();

        System.out.println("ITI 1520 Automne 2011 : Devoir 1, Question 4");

        System.out.println("Nom: Nathalie Japkowicz, #Etudiant : 123456");

        System.out.println();

 

        // LECTURE DES VALEURS DONNÉES

    

        System.out.println( "S'il vous plait introduire le nombre estimé de ventes: ");

        ventes = ITI1520.readInt( );

              

        // APPEL DE L'ALGORITHME

    

        fraisTotaux = calculDeFrais(ventes);

           

        // AFFICHAGE DES RÉSULTATS ET MODIFIÉES À L'ÉCRAN

        System.out.println( "Le montant estimé de vos frais mensuels est de " + fraisTotaux);

 

    }

 

    // DÉFINITIONS DES MÉTHODES INVOQUÉES PAR "MAIN"

   

    /**

     * Cette méthode calcule les frais mensuels totaux

     */

     public static double calculDeFrais (double ventes)

     { 

       // DECLARATION DES VARIABLES

       // INTERMEDIAIRES :

          double     fraisDeBase = 9500; // frais de base mensuels en dollars

                    double prixDeGrosDesLogiciels = 29.5;  // prix de gros moyen d`un logiciel
                    double fraisDeMarchandise// frais d`achat de marchandise

       

       // RESULTAT:

          double fraisTotaux;  // frais mensuels totaux

       

       //MODULE DE L'ALGORITHME

       

          fraisDeMarchandise = (ventes + 200) * prixDeGrosDesLogiciels;

          fraisTotaux = fraisDeBase + fraisDeMarchandise;

       

        // RETOURNE LE RESULTAT

        return fraisTotaux;

     }

    

}