Archived
1
0
This repository has been archived on 2025-03-31. You can view files and clone it, but cannot push or open issues or pull requests.
pascal/ALK.PAS
2001-11-30 12:14:44 +01:00

60 lines
1.8 KiB
Plaintext
Raw Blame History

program Alkoholberechnung; { Autor: Markus Birth }
uses Crt, Logo;
var Menge, Gewicht, Alkoholml, Alkoholg, Promille, Abbauzeit, AZh, AZm, AZs, Redfaktor: real;
vol: integer;
Geschlecht: char;
begin
ClrScr;
TextColor(15);
WriteLn('-=ðþ Alkoholberechnung þð=-');
WriteLn;
WriteLn('3rd program by');
WriteLogo;
TextColor(15);
Write('Aufgenommene Menge in ml: ');
ReadLn(Menge);
Write('Anteil Alkohol (% vol.): ');
ReadLn(vol);
Write('Gewicht der Person in kg: ');
ReadLn(Gewicht);
TextColor(7);
Write('Ist die Person ein ');
TextColor(14);
Write('M');
TextColor(7);
Write('ann oder eine ');
TextColor(14);
Write('F');
TextColor(7);
Write('rau? ');
TextColor(15);
Geschlecht := ReadKey;
WriteLn(Geschlecht);
case Geschlecht of
'm','M': Redfaktor := 0.7;
'f','F': Redfaktor := 0.6;
else
WriteLn('ERROR! Using male factor.');
Redfaktor := 0.7;
end;
WriteLn('============');
WriteLn('Reduktionsfaktor : ',Redfaktor:1:1);
Alkoholml := Menge*(vol/100);
WriteLn('Enthaltener Alkohol in ml: ',Alkoholml:4:2);
Alkoholg := Alkoholml*0.8;
WriteLn('Enthaltener Alkohol in g : ',Alkoholg:4:2);
Promille := Alkoholg/(Gewicht*Redfaktor);
WriteLn('Promille im Blut : ',Promille:1:4);
if Promille > 3.2 then Write('Dieser Mensch ist schon so gut wie tot!');
if Promille > 5 then WriteLn(' --- Berichtigung: Er IST tot! ---') else WriteLn;
Abbauzeit := Promille/0.15;
WriteLn('Abbauzeit in h : ',Abbauzeit:3:4);
AZh := Int(Abbauzeit);
AZm := (Abbauzeit-Int(Abbauzeit))*60;
AZs := (AZm-Int(AZm))*60;
WriteLn('Abbauzeit : ',AZh:2:0,'h ',AZm:2:0,'m ',AZs:2:0,'s');
WriteLn;
WriteLn('Bitte eine Taste dr<64>cken...');
repeat until Keypressed;
end.