Connectez-vous avec des experts et des passionnés sur Zoofast.fr. Posez n'importe quelle question et recevez des réponses immédiates et bien informées de la part de notre communauté d'experts dévoués.

J’ai besoin d’aide en NSI

Est-ce que quelqu’un peut m’aider a faire un programme svp

Jai Besoin Daide En NSI Estce Que Quelquun Peut Maider A Faire Un Programme Svp class=

Sagot :

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;

}