Algorithme du banquier

koukoufat -  
 sara -
Bonjour,
SALUT je voudrait me donner le code source de l'algorithme du banquier(algorithme qui gère les resource d'un système) ecrit en java avec
A voir également:

8 réponses

lamis2009 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   3
 
il suffit de penser!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3
koukoufat
 
merci de me rèpondre en principe c'est pas trop long voilà le code
1 si demande(Pi)<=besoin(Pi)
2 aller à 5
3 sinon
4 erreur(demande supèrieur aux besoins)
5 si demande (Pi)<=disponible
6 aller à 9
7 sinon
8 bloquer Pi;
9 dèterminer_ètat avec:
10 disponible=disponible -demande(Pi)
11 allouè(Pi)=allouè(Pi)+DEmande (Pi)
12 si etat sur alors faire la maj des structure de donnèes

avec Pi=process ou programme en cours et les resources et process sont des donnèe entrèe par l'utilisateur
j'aimerais bien que vous me donner au moins une idèe comment le faire en java merci pour votre attention
3
sara
 
merciiiiii
0
koukoufat
 
SALUT l'algorithme du banquier c'est celui qui gère la distributions des ressources dans un système pour ne pas arriver à un etat non sur j'ai le code source mais je ne sais pas comment le translater en java ?si je vous donne le code vous pouvez me le donnner en java?
2
yahia slimani Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   3
 
Il faut le faire soi meme le TP
tous ceux qui me rendenent un TP téléchargé d'internet auront SYSTÉMATIQUEMENT la note ZÉRO
2
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
Noooon? Vous êtes le prof? Dites moi que je rêve ou ça va passer dans le bêtisier :-DD
0
nilouver Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
mech normal!!!!!!!
slouma ychatii :00000))))))
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
scriptiz Messages postés 1424 Date d'inscription   Statut Membre Dernière intervention   425
 
Bon je n'ai pas tout compris sur ta petite liste numérotée mais voici une ébauche dont tu peux certainement te resservir et adapter :

Processus.java :
public class Processus
{
	private String id;
	private int besoin;
	private int demande;
	
	public Processus(String id, int besoin, int demande)
	{
		this.id = id;
		this.besoin = besoin;
		this.demande = demande;
	}
	
	public String getId()
	{
		return this.id;
	}
	
	public int getBesoin()
	{
		return this.besoin;
	}
	
	public int getDemande()
	{
		return this.demande;
	}
	
	public String toString()
	{
		String strProcess = "Identifiant : " + this.id + "\n";
		strProcess += "Besoin : " + this.besoin + "\n";
		strProcess += "Demande : " + this.demande + "\n";
		return strProcess;
	}
}


----------

Ressources.java
public class Ressources
{
	private Processus[] tableProcessus;
	private int nombreProcessus;
	
	public Ressources(int disponibles)
	{
		tableProcessus = new Processus[disponibles];
		this.nombreProcessus = 0;
	}
	
	public boolean ajouterProcessus(Processus processusAjoute)
	{
		int disponible = this.tableProcessus.length - this.nombreProcessus;
		if(processusAjoute.getDemande() > disponible)
				return false;
				
		for(int i = 0; i < processusAjoute.getDemande(); i++)
		{
			this.tableProcessus[this.nombreProcessus++] = processusAjoute;
		}
		return true;
	}
	
	public String ressourcesUtilisees()
	{
		String strRessources = "" + this.nombreProcessus;
		strRessources += " ressources utilisées sur ";
		strRessources += this.tableProcessus.length;
		strRessources += " disponibles.";
		return strRessources;
	}
	
	public String toString()
	{
		String liste = "";
		for(int i = 0; i < this.nombreProcessus; i++)
		{
			liste += "[" + (i+1) + "] utilisée par\n" + this.tableProcessus[i] + "\n";
		}
		return liste;
	}
}


----------

Banquier.java (le fichier à éxecuter - contient le main())
public class Banquier
{
	private static java.util.Scanner scanner = new java.util.Scanner(System.in);
	private static Ressources mesRessources;
	
	public static void main(String[] args)
	{
		System.out.print("Ressources disponibles : ");
		mesRessources = new Ressources(scanner.nextInt());
		
		boolean continuer = true;
		while(continuer)
		{
			System.out.println("\nQue souhaitez-vous faire ?");
			System.out.println("1 > Ajouter un processus");
			System.out.println("2 > Afficher la liste des processus.");
			System.out.println("3 > Afficher l'utilisation des ressources.");
			System.out.println("Autre > Quitter.");
			int choix = scanner.nextInt();
			System.out.println("\n");
			switch(choix)
			{
				case 1:
					System.out.print("Identifiant du processus : ");
					String identifiant = scanner.next();
					System.out.print("Besoin du processus : ");
					int besoin = scanner.nextInt();
					System.out.print("Demande du processus : ");
					int demande = scanner.nextInt();
					
					if(demande > besoin)
						System.out.println("Erreur : la demande est supérieure aux besoin.");
					else
					{
						if(mesRessources.ajouterProcessus(new Processus(identifiant, besoin, demande)))
							System.out.println("Processus ajouté.");
						else
							System.out.println("Processus bloqué, il n'y a plus assez de ressources.");
					}
					break;
					
				case 2:
					System.out.println("Utilisation des cases ressources :\n" + mesRessources);
					break;
					
				case 3:
					System.out.println(mesRessources.ressourcesUtilisees() + "\n");
					break;
					
				default:
					continuer = false;
			}
		}
	}
}



Voilà bon j'espère que ça te servira.
1
koukoufat
 
merci pour ton aide scriptiz
0
Zongo
 
bonsoir votre code source est sur quel langage . pouvez vous me l'envoyez sur mon mail zongod @yahoo.fr?
1
scriptiz Messages postés 1424 Date d'inscription   Statut Membre Dernière intervention   425
 
Peut tu spécifier le contexte, l'environnement, le type des ressources, ce qu'elles se partagent, ... ?

Bref un algorithme c'est bien gentil mais pour le coder il faut savoir sur quel problème l'appliquer.
0
scriptiz Messages postés 1424 Date d'inscription   Statut Membre Dernière intervention   425
 
Ca dépends du nombres de lignes, et du langage de ton code source ^^
0