Informatique

Question

J’ai besoin d’aide en NSI

Est-ce que quelqu’un peut m’aider a faire un programme svp
J’ai besoin d’aide en NSI Est-ce que quelqu’un peut m’aider a faire un programme svp

1 Réponse

  • Réponse :

    Tu peux essaye le code ici c'est en javascript mais tu devrai pouvoir t'en aidé pour le faire en python

    au finale j'ai pas fait que du pseudo code :)

    https://jsfiddle.net/deiiku/m8tr3y95/

    Explications :

    https://jsfiddle.net/deiiku/m8tr3y95/

    /* get order va récuperer le nom du client et donné la commande ou false si pas possible */

    function getOrder(nameCustomer,orderList) {

     let indexCliOrder = nameCustomer.replace("cli","");  

     

    // check if le tableau a une longeur suffisante pour récuperer la command  

    // je check aussi que la valeur de indexCliOrder est uniquement un nombre entre 0-9 est rien d'autre si

     if (orderList.length < indexCliOrder || indexCliOrder.match(/^[0-9]+$/) == null)

      return false;

       

     return orderList[indexCliOrder];

    }

    function countTotalPriceOrder(order,listPrice) {

    let totalPrice = 0;

     // exemple  order === [10,12,2,5,0,8,9,4,1,10]

     for (let i = 0; i < order.length; i++) {

      let quantityDemand = order[i];

       let price = listPrice[i];

       let priceTotalOneProduct = quantityDemand * price;

       

       totalPrice = totalPrice + priceTotalOneProduct;

     }

     return totalPrice;

    }

    function removeOrderFromStock(stock,order) {

    // le stock est un tableau a key pas d'index il va faloire récuperer les key banene orange ect..

    // En python exemple : myDict.keys() # => ["john", "jeff"] nous donne un tableau de toute les key

     for (let i= 0; i < order.length; i++) {

      let quantityProductToWithdraw =  order[i];

       let listKeyStock = Object.keys(stock); //["banane", "orange", "poire", "pamplemousse" ect...]  

      let key = listKeyStock[i]; // key = "banana" par exemple  

     

       stock[key] = stock[key] - quantityProductToWithdraw;

       

     }

     

     return stock;

    }

    function buy(stock,order,price,nameCustomer) {

    let totalPrice = countTotalPriceOrder(order,price);

     console.log(nameCustomer + " doit payer " + totalPrice +"euros");

     

    let newStock = removeOrderFromStock(stock,order);// retourne le stock a jour après l'achat du client;

     

     console.log(newStock); //on affiche le stock total comme demandé dans le sujet

     return newStock;

    }

    let enterStandardValue = "cli1";

    let cli = [

      [10,12,2,5,0,8,9,4,1,10],

      [8,1,3,1,0,8,9,4,1,10],

      [1,3,2,5,0,8,9,4,1,10]

    ];

    // if enterStandardValue == cli1  

    // alors == cli[0]

    //  if enterStandardValue == cli2  

    // alors == cli[1] ect..

     

    let stock = {"banane":130, "orange" : 1150, "poire" : 85, "pamplemousse" :53, "avocat" : 191, "Poireau":233, "Poivzon" : 145, "chou" : 1100, "celeri" : 164,"fenouil":142 };

    let prix = [1.2,1.7,1.75,1.9,3.1,0.7,2.1,1.35,1.8,2.25];

    // prix des stock prix[0] = banane , prix[8] = prix du  celerie et prix[1] = orange ect..

    let order = getOrder(enterStandardValue,cli);

    if (order != false)  

    {

    stock = buy(stock,order,prix, enterStandardValue);  

     // on change la variable stock avec la nouvelle valeur retourne de buy;

    }