Algorithme du banquier

Fermé
koukoufat - 22 déc. 2008 à 21:42
 sara - 30 janv. 2013 à 23:07
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

8 réponses

lamis2009 Messages postés 15 Date d'inscription vendredi 9 janvier 2009 Statut Membre Dernière intervention 8 février 2009 3
9 janv. 2009 à 23:35
il suffit de penser!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3
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
merciiiiii
0
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 mercredi 24 décembre 2008 Statut Membre Dernière intervention 24 décembre 2008 3
24 déc. 2008 à 14:39
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 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
10 janv. 2009 à 02:20
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 mardi 10 novembre 2009 Statut Membre Dernière intervention 3 décembre 2009
3 déc. 2009 à 21:01
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 dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
24 déc. 2008 à 15:51
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
merci pour ton aide scriptiz
0
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 dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
22 déc. 2008 à 22:22
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 dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
23 déc. 2008 à 13:20
Ca dépends du nombres de lignes, et du langage de ton code source ^^
0