Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Algorithme d'alcoolémie

Posté par
mama00165
01-05-17 à 11:58

Bonjour,

J'ai doit réaliser un programme sur Algobox qui doit me permettre de calculer l'alcoolémie d'une personne.

Voila les informations dont je dispose:
Il faut multiplier le volume d'alcool (en ml) par 0,8  pour avoir le poids d'alcool pur correspondant (en g)
Le coefficient de diffusion est égal à 0,7 pour l'homme et à 0,6 pour la femme. L'alcoolémie est maximale 30 min après l'absorption de l'alcool
Le calcul de l'alcoolémie une heure après l'absorption et à jeun s'effectue par la formule t=a/(c*m) où a est la masse d'alcool absorbé (en g), m la masse de la personne qui l'a absorbé (en kg) et c le coefficient de diffusion. t mesure l'alcoolémie, en (g/l) au bout d'une heure.
Il faut savoir qu'entre l'absorption d'alcool à jeun et l'absorption de même quantité d'alcool au cours d'un repas, l'alcool diminue d'un tiers.
test: une femme de 55kg, à jeun, qui consomme 2 verres de 25 cl aura une alcoolémie d'environ 0,61g/l et non à jeun de 0,40 g/l

Voila la moitié de l'algorithme (que avec l'homme) sachant qu'avec la femme je referais la même chose. J'ai essayé de rentrer les données en testant l'algorithme cependant il y a de multiples erreurs. Si il existe un algorithme plus rapide et facile je suis preneuse.

Merci d'avance pour votre aide

Algorithme d\'alcoolémie

Posté par
Glapion Moderateur
re : Algorithme d'alcoolémie 01-05-17 à 12:18

Voilà les erreurs que je vois à priori :

il faut mettre des . à la place des virgule dans les nombres décimaux, 0.8 et pas 0,8

dommage de mettre alcoolémie prend_la_valeur ... et de refaire le calcul la ligne d'après
pourquoi la ligne d'après ne pas mettre simplement Afficher alcoolémie

les déclarations H est de type chaine et F est de type chaine ne servent à rien, ces variables ne sont pas utilisées.

à la question "Etes vous à jeun ?" si la personne répond Oui, ou non, cela ne rentrera pas dans la variable a_jeun qui est de type nombre

SI(a_jeun) alors n'a pas de sens
j'aurais compris un SI (a_jeun =="Oui") ALORS avec une variable de type chaine

Posté par
mama00165
re : Algorithme d'alcoolémie 01-05-17 à 12:21

Merci beaucoup je vais le modifier en prenant compte de vos remarques.
Si il y a un problème je vous tiens au courant.

Posté par
mama00165
re : Algorithme d'alcoolémie 01-05-17 à 12:37

J'ai suivis vos indications cependant il y a une erreur à la ligne 11 à "lire sexe"
Si je rajoute la femme cela fonctionnera?
La dernière indication veut dire qu'il faut que je mette alcoolémie en chaine ?

Algorithme d\'alcoolémie

Posté par
Glapion Moderateur
re : Algorithme d'alcoolémie 01-05-17 à 12:43

non alcoolémie c'est un résultat de calcul, c'est bien un nombre.

je ne vois pas pourquoi ça marche pas à la ligne 11, j'ai fait des essais et chez moi ça marche sans problème.

dommage que tu ne donnes pas ton code en mode éditeur de texte, j'aurais pu le tester directement alors que là je ne peux pas.

Posté par
mama00165
re : Algorithme d'alcoolémie 01-05-17 à 13:07

Comment fait-on pour donner son code en mode editeur du texte?

Posté par
Glapion Moderateur
re : Algorithme d'alcoolémie 01-05-17 à 13:11

Dans le menu Edition / Mode Edition on coche Mode Editeur de Texte

ensuite il n'y a plus qu'à copier/coller le texte dans un post comme un texte normal.

autre façon de faire : utiliser algobox en ligne
(et pareil, copier/coller le texte)

Posté par
mama00165
re : Algorithme d'alcoolémie 01-05-17 à 13:59

VARIABLES
Poids EST_DU_TYPE NOMBRE
sexe EST_DU_TYPE CHAINE
alcoolémie EST_DU_TYPE NOMBRE
volumeabsorbe EST_DU_TYPE NOMBRE
ajeun EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
AFFICHER "etes vous un homme ou une femme? (H ouF)"
LIRE sexe
SI (sexe==H) ALORS
DEBUT_SI
AFFICHER "Quel est le volume absorbé?"
LIRE volumeabsorbe
AFFICHER "Poids"
LIRE Poids
AFFICHER "Etes-vous a jeun?"
LIRE ajeun
SI (ajeun=="oui") ALORS
DEBUT_SI
alcoolémie PREND_LA_VALEUR (volumeabsorbe*0.8)/(0.7*poids)
AFFICHER alcoolémie
AFFICHER "g/L dans le sang"
FIN_SI
SINON
DEBUT_SINON
alcoolémie PREND_LA_VALEUR ((volumeabsorbe*0.8)/(0.7*poids))*1/3
AFFICHER alcoolémie
AFFICHER "g/L dans le sang"
FIN_SINON
SI (sexe==F) ALORS
DEBUT_SI
AFFICHER "Quel est le volume absorbé?"
LIRE volumeabsorbe
AFFICHER "Poids"
LIRE Poids
AFFICHER "Etes-vous a jeun?"
LIRE ajeun
SI (ajeun=="oui") ALORS
DEBUT_SI
alcoolémie PREND_LA_VALEUR (volumeabsorbe*0.8)/(0.6*poids)
AFFICHER alcoolémie
AFFICHER "g/L dans le sang"
FIN_SI
SINON
DEBUT_SINON
alcoolémie PREND_LA_VALEUR ((volumeabsorbe*0.8)/(0.6*poids))*1/3
AFFICHER alcoolémie
AFFICHER "g/L dans le sang"
FIN_SINON
FIN_ALGORITHME
Voila l'algorithme réaliser en ligne je ne l'ai pas testé car je ne sais pas comment faire

Posté par
Glapion Moderateur
re : Algorithme d'alcoolémie 01-05-17 à 14:17

attention à la variable Poids qui avait une minuscule ou une majuscule
il manquait des Fin_SI
des "" dans "H" et "F"
voici un code corrigé qui tourne (que tu peux copier/coller en ligne ou en mode éditeur de texte) :


VARIABLES
	Poids EST_DU_TYPE NOMBRE
	sexe EST_DU_TYPE CHAINE
	alcoolémie EST_DU_TYPE NOMBRE
	volumeabsorbe EST_DU_TYPE NOMBRE
	ajeun EST_DU_TYPE CHAINE
DEBUT_ALGORITHME
	AFFICHER "etes vous un homme ou une femme? (H ou F) ? "
	LIRE sexe
	SI (sexe=="H") ALORS
		DEBUT_SI
		AFFICHER "Quel est le volume absorbé ? "
		LIRE volumeabsorbe
		AFFICHER "Poids ?"
		LIRE Poids
		AFFICHER "Etes-vous a jeun ?"
		LIRE ajeun
		SI (ajeun=="oui") ALORS
			DEBUT_SI
			alcoolémie PREND_LA_VALEUR volumeabsorbe*0.8/(0.7*Poids)
			AFFICHER alcoolémie
			AFFICHER "g/L dans le sang"
			FIN_SI
		FIN_SI
		SINON
			DEBUT_SINON
			alcoolémie PREND_LA_VALEUR volumeabsorbe*0.8/(0.7*Poids)*(1/3)
			AFFICHER alcoolémie
			AFFICHER "g/L dans le sang"
			FIN_SINON
	SI (sexe=="F") ALORS
		DEBUT_SI
		AFFICHER "Quel est le volume absorbé ?"
		LIRE volumeabsorbe
		AFFICHER "Poids ?"
		LIRE Poids
		AFFICHER "Etes-vous a jeun ?"
		LIRE ajeun
		SI (ajeun=="oui") ALORS
			DEBUT_SI
			alcoolémie PREND_LA_VALEUR volumeabsorbe*0.8/(0.6*Poids)
			AFFICHER alcoolémie
			AFFICHER "g/L dans le sang"
			FIN_SI
		SINON
			DEBUT_SINON
			alcoolémie PREND_LA_VALEUR volumeabsorbe*0.8/(0.6*Poids)*(1/3)
			AFFICHER alcoolémie
			AFFICHER "g/L dans le sang"
			FIN_SINON
	FIN_SI
FIN_ALGORITHME

Posté par
mama00165
re : Algorithme d'alcoolémie 01-05-17 à 14:23

Merci, j'ai testé l'algo et ça me met ça :
Désolé de vous déranger.

Algorithme d\'alcoolémie

Posté par
mama00165
re : Algorithme d'alcoolémie 01-05-17 à 14:32

En fin de compte en mettant les guillemet a "H" ça fonctionne
Merci pour tout et encore désolé

Posté par
mama00165
re : Algorithme d'alcoolémie 01-05-17 à 14:35

Mince il y a toujours l'erreur pour la femme même avec les guillemets

Posté par
Glapion Moderateur
re : Algorithme d'alcoolémie 01-05-17 à 14:38

oui, il y a encore un FIN_SI qui était mal placé


VARIABLES
	Poids EST_DU_TYPE NOMBRE
	sexe EST_DU_TYPE CHAINE
	alcoolémie EST_DU_TYPE NOMBRE
	volumeabsorbe EST_DU_TYPE NOMBRE
	ajeun EST_DU_TYPE CHAINE
DEBUT_ALGORITHME
	AFFICHER "etes vous un homme ou une femme? (H ou F) ? "
	LIRE sexe
	SI (sexe=="H") ALORS
		DEBUT_SI
		AFFICHER "Quel est le volume absorbé ? "
		LIRE volumeabsorbe
		AFFICHER "Poids ?"
		LIRE Poids
		AFFICHER "Etes-vous a jeun ?"
		LIRE ajeun
		SI (ajeun=="oui") ALORS
			DEBUT_SI
			alcoolémie PREND_LA_VALEUR volumeabsorbe*0.8/(0.7*Poids)
			AFFICHER alcoolémie
			AFFICHER "g/L dans le sang"
			FIN_SI
		
		SINON
			DEBUT_SINON
			alcoolémie PREND_LA_VALEUR ((volumeabsorbe*0.8)/(0.7*Poids))/3
			AFFICHER alcoolémie
			AFFICHER "g/L dans le sang"
			FIN_SINON
			FIN_SI
	SI (sexe=="F") ALORS
		DEBUT_SI
		AFFICHER "Quel est le volume absorbé ?"
		LIRE volumeabsorbe
		AFFICHER "Poids ?"
		LIRE Poids
		AFFICHER "Etes-vous a jeun ?"
		LIRE ajeun
		SI (ajeun=="oui") ALORS
			DEBUT_SI
			alcoolémie PREND_LA_VALEUR volumeabsorbe*0.8/(0.6*Poids)
			AFFICHER alcoolémie
			AFFICHER "g/L dans le sang"
			FIN_SI
		SINON
			DEBUT_SINON
			alcoolémie PREND_LA_VALEUR volumeabsorbe*0.8/(0.6*Poids)*(1/3)
			AFFICHER alcoolémie
			AFFICHER "g/L dans le sang"
			FIN_SINON
	FIN_SI

Posté par
mama00165
re : Algorithme d'alcoolémie 01-05-17 à 14:41

Ca fonctionne enfin!
Encore merci!



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1674 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !