Laurentvidal.fr facilite la recherche de réponses à toutes vos questions avec l'aide de notre communauté active. Explorez une mine de connaissances de professionnels dans différentes disciplines sur notre plateforme de questions-réponses complète. Posez vos questions et recevez des réponses détaillées de professionnels ayant une vaste expérience dans divers domaines.

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;

}

Merci d'utiliser notre service. Notre objectif est de fournir les réponses les plus précises pour toutes vos questions. Revenez pour plus d'informations. Nous apprécions votre visite. Notre plateforme est toujours là pour offrir des réponses précises et fiables. Revenez quand vous voulez. Merci de faire confiance à Laurentvidal.fr. Revenez nous voir pour obtenir de nouvelles réponses des experts.