Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Alkoholkonsum mit Algorithmus und Programm berechnen (https://www.delphipraxis.net/145082-alkoholkonsum-mit-algorithmus-und-programm-berechnen.html)

danielZ 23. Dez 2009 07:57


Alkoholkonsum mit Algorithmus und Programm berechnen
 
Hallo Leute,

wir arbeiten gerade mit Delphi 4!
Und ich komme mit meiner Aufgabe, die ich in den nächsten Tagen fertig stellen muss, nicht klar.

Meine Aufgabe lautet: Es werden Passanten, wie viel Glas Bier oder Wein und wie viel Glas Spirituosen sie durchschnittlich pro Woche trinken. Darraus soll der durchschnittliche jährliche Alkoholverbrauch der befragten Personen errechnet werden.
Entwickeln Sie zu diesem Problem Algorithmus und Programm! Prüfen Sie den Algorithmus mit einer Wertbelegungstabelle!

Hinweis: Gehen SIe von einem mittleren Alkoholgehalt von 10 Vol% bei Bier und Wein, sowie von 40 Vol% bei harten Alkoholika aus. Ein Wein bzw. Bierglas faßt 0,2 Liter, ein Schnapsglas 0,02 Liter.

Bitte helft mir!

gruß daniel

Bernhard Geyer 23. Dez 2009 07:58

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
Und wo hängst du jetzt genau?
Du hast keine konkrete Frage gestellt.

danielZ 23. Dez 2009 08:01

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
Ich weiß nicht wie ich anfangen soll und wie ich weiterkomme. :(

hoika 23. Dez 2009 08:06

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
Hallo,

1. Anfangen:

Algorithmus entwickeln.
Fange mit 5 Passanten an,
Passant 1: Bier, 1 Glas pro Tag
Passant 2: Bier, 2 Gläser pro Tag
Passant 3: Wein, 3 Gläser pro Tag
Passant 4: Schnaps, 1 Glas pro Tag
Passant 5: Schnaps, 2 Gläser pro Tag

Rechne den Durchschnitt mal von Hand aus.

Dann beginne mit dem Schreiben in Delphi.
Da die Passanten-Zahl nicht bekannt ist
-> dynamisches Array oder TObjectList


Erwarte nicht, dass dir das hier jemand abnimmt.
Obwohl, ist ja Weihnachten ...


Heiko

*hicks* ;)

danielZ 23. Dez 2009 08:15

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
ja danke erstmal, allerdings habe ich diesen ersten Teil mit den Passanten schon durchgeführt.
Ich komme mit den Delphi Anweisungen nicht weiter.
Wäre nett, wenn mir da jemand helfen würde.
gruß

Klaus01 23. Dez 2009 08:17

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
Guten Morgen,

dann stelle Deinen Code (bei de Du nicht weiter kommst) doch hier ein.

Grüße
Klaus

Luckie 23. Dez 2009 10:47

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
Zitat:

Zitat von danielZ
ja danke erstmal, allerdings habe ich diesen ersten Teil mit den Passanten schon durchgeführt.
Ich komme mit den Delphi Anweisungen nicht weiter.
Wäre nett, wenn mir da jemand helfen würde.
gruß

Dann zeig uns doch mal was du hast und die zugehörigen Fehlermeldungen.

danielZ 23. Dez 2009 12:07

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
ja ich hab halt, dann mit den Passanten von 1-5.
Das was ich in Delphi eingeben soll, da komm ich nicht weiter.
Wie die Formeln lauten.
gruß

leddl 23. Dez 2009 12:14

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
Zitat:

Zitat von danielZ
Wie die Formeln lauten.

Naja...
Du hast den durchschnittlichen Verbrauch pro Woche für jedes Getränk, du hast den Alkoholgehalt der Getränke und du weißt, dass das Jahr (grob gerechnet) 52 Wochen hat. Was könnte man daraus denn jetzt für eine sinnvolle Formel machen? ;)

PhilmacFLy 23. Dez 2009 12:16

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
Naja mit Volumen Pronzent is das ja noch einfach:

Bei 10 Volumenprozent sind 10% des Volumens reiner Alkohol.
Bei 20 Volumenprozent sind 20% des Volumens reiner Alkohol.
Bei XX Volumenprozent sind XX% des Volumens reiner Alkohol.

Sprich bei 100ml und 10 Volumenprozent sinds 10ml reiner Alkohol.

Ab jetzt sollte der Rest ziemlich einfach sein.

sx2008 23. Dez 2009 14:29

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
Wie wär's damit:
Delphi-Quellcode:
function BerechneAlkImBier(anzahl:integer):double;
const
  PROZENTE = 10.0;
  VOLUMEN = 0.2;
begin
  result := anzahl * VOLUMEN * PROZENTE/100.0;
end;
Für Wein und Schnaps bekommst du das sicher selbst hin.

PS: ich liebe Alkoholberechnungen :mrgreen: Prost :cheers:

danielZ 1. Jan 2010 15:10

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
ich hab noch ne Frage, weil an dieser Stelle komm ich nicht weiter.
Also meine Formeln etc. der Aufgabe in Delphi hab ich so geschrieben:
Pas steht für den Passanten und B für Bier, W für Wein, S für Spirituosen

Delphi-Quellcode:
procedure TLblAngabe.BtnBerechnenClick(Sender: TObject);
const
  Prozent_Bier_Wein = 10.0;
  Volumen_Bier_Wein = 0,2;
  Prozent_Sprit = 40.0;
  Volumen_Sprit = 0,02;
begin
  Pas1B := strtofloat (
  Pas1W := strtofloat (
  Pas1S := strtofloat (
  ZwischenergebnisPas1 := (Pas1B + Pas1W) * Volumen_Bier_Wein * Prozent_Bier_Wein/100.0 + (Pas1S * Volumen_Sprit * Prozent_Sprit/100.0);
end;

end.
Dazu hab ich eine Wertbelegungstabelle gemacht und ich weiß jetzt nicht wie ich die einzelnen Spalten der Tabelle bezeichen soll, denn Delphi muss es ja erkennen, dass muss ich dann nach strtofloat in die Klammern hereinschreiben.

Wäre nett, wenn ihr mir helft.

[edit=Luckie]Delphi-Tags. Mfg, Luckie[/edit]

DP-Maintenance 1. Jan 2010 16:47

DP-Maintenance
 
Dieses Thema wurde von "Luckie" von "FreePascal / Lazarus IDE" nach "Object-Pascal / Delphi-Language" verschoben.
Warum steht das eigentlich bei Freepascal/Lazarus, wenn du selber angibst mit Delphi 4 zu arbeiten?

danielZ 1. Jan 2010 19:14

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
es wäre nett, wenn mir jemand helfen könnte mit der Wertbelegungstabell, denn ich weiß wie gesagt nicht wie ich das in Delphi reinschreiben soll, damit Delphi bescheid weiß, was für ne Zeile/Spalte ich meine.
Helft mir bitte!

Klaus01 1. Jan 2010 20:09

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
Guten Abend,

ist Deine Wertbelegungstabelle ein TStringGrid?

Wenn ja, dann kanns Du mit Wertbelegungstabelle.cells(spalte, reihe) darauf zugreifen.

Grüße
Klaus

danielZ 1. Jan 2010 21:46

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
ja das stimmt es ist TstringGrid.
Gut, dann kann ich bei cells reinschreiben, was ich in den Zeilen haben will z.B Bier, Wein....? Dann weiss auch Delphi wo rum es geht?
gruß

danielZ 2. Jan 2010 21:04

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
DAS IST MEINE UNIT:

Delphi-Quellcode:
unit UAlkoholkonsum_3;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, StdCtrls;

type
  TAlkoholkonsum = class(TForm)
    LblAlkoholkonsum: TLabel;
    closeBtn: TButton;
    BtnBerechnen: TButton;
    LblAngabe: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    LblErgebnis: TLabel;
    procedure closeBtnClick(Sender: TObject);
    procedure BtnBerechnenClick(Sender: TObject);
  private
    { Private-Deklarationen}
  public
    { Public-Deklarationen}
  end;

var Pas1B, Pas1W, Pas1S, ZwischenergebnisPas1, ErgebnisPas1 : SINGLE;


implementation

{$R *.DFM}


procedure TAlkoholkonsum.closeBtnClick(Sender: TObject);
begin
close
end;

procedure TAlkoholkonsum.BtnBerechnenClick(Sender: TObject);
const
  Prozent_Bier_Wein = 10.0;
  Volumen_Bier_Wein = 0.2;
  Prozent_Sprit = 40.0;
  Volumen_Sprit = 0.02;
begin
  Pas1B := strtofloat (Edit1.text);
  Pas1W := strtofloat (Edit2.text);
  Pas1S := strtofloat (Edit3.text);
  ErgebnisPas1 := (Pas1B + Pas1W) * Volumen_Bier_Wein * Prozent_Bier_Wein/100.0 + (Pas1S * Volumen_Sprit * Prozent_Sprit/100.0);
  LblErgebnis.caption := floattostr (ErgebnisPas1 * 52);
end;


end.


DAS IST MEIN PROJEKT:
program PAlkoholkonsum_3;

uses
  Forms,
  UAlkoholkonsum_3 in 'UAlkoholkonsum_3.pas' {Alkoholkonsum};

{$R *.RES}

begin
  Application.Initialize;
  Application.CreateForm(TAlkoholkonsum, Alkoholkonsum);
  Application.Run;
end.
DAS IST DER EINIZIGE FEHLER DES PROJEKTS:
[Fehler] PAlkoholkonsum_3.dpr(11): Undefinierter Bezeichner: 'Alkoholkonsum'


JETZT WEISS ICH NICHT, WAS ICH MACHEN SOLL, DAMIT MEIN PROGRAMM(FORM1) ANFAENGT ZU LAUFEN:

Es wäre nett, wenn mir einer helfen könnte.
gruß

[edit=Admin]Code in Delphi-Tags gesetzt. Künftig bitte selbst machen, danke. ;-) Mfg, Daniel[/edit]

Klaus01 2. Jan 2010 21:11

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
Delphi-Quellcode:
var Pas1B, Pas1W, Pas1S, ZwischenergebnisPas1, ErgebnisPas1 : SINGLE;
->

var
 Alkoholkonsum: TAlkoholkonsum;
 Pas1B, Pas1W, Pas1S, ZwischenergebnisPas1, ErgebnisPas1 : SINGLE;
Grüße
Klaus

fkerber 3. Jan 2010 00:12

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
Hi!

@danielZ:
Bitte packe deine Quelltexte doch in -Tags - dann ist es gleich viel hübscher zu lesen ;)
Einen Beitrag kannst du auch nachträglich noch ändern, indem du (innerhalb von 24h) oben rechts auf den Edit-Knopf am Beitrag klickst.


Grüße, Frederic

danielZ 5. Jan 2010 14:06

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
hallo,
bei mir läuft jetzt das Programm, nur ich gebe für den Passanten die Angaben in die drei Edt Felder ein und dann kommt bei dem LblErgebnis Feld ein falsches Ergebnis raus.
Woran kann das liegen?
Es wäre nett, wenn mir einer helfen würde.
gruß

Frankfurtoder 5. Jan 2010 15:00

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
Wenn du ein falsches Ergebnis bekommst, dann wird es wohl was mit der Formel auf sich haben. Rechne das mal mit einem Taschenrechner oder Excel nach.

Delphi-Quellcode:
 ErgebnisPas1 := (Pas1B + Pas1W) * Volumen_Bier_Wein * Prozent_Bier_Wein/100.0 + (Pas1S * Volumen_Sprit * Prozent_Sprit/100.0);
LblErgebnis.caption := floattostr (ErgebnisPas1 * 52);

sx2008 5. Jan 2010 16:54

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
In Beitrag #11 habe ich Dir eine schöne leicht verständliche Funktion gegeben.
Dein Problem ist hausgemacht, denn du hast jetzt alles in eine schwer verständliche "Superformel" gepackt,
anstatt das Ergebnis aus einfachen Funktionen zusammenzusetzen.
So sollte es sein (saubere,eindeutige Namen und leicht verständlich):
Delphi-Quellcode:
Alkoholmenge := BerechneAlkImBier(AnzahlBier)+BerechneAlkImWein(AnzahlWein)+BerechneAlkImSchnaps(AnzahlSchnaps);
PS: keine Ahnung, weshalb in deinen Namen das Wort "Pas" vorkommt (Anspielung auf Pascal?).
Ich kann dir nur empfehlen Variablennamen wie z.B. "AnzahlBier" zu verwenden; dann weiss Jeder was damit gemeint ist.

danielZ 5. Jan 2010 19:11

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
ne das ist schon klar das Pas sollte auf passant bezogen werden, denn ich muss das für Passanten ausrechnen, wie viel Bier/Wein/Schnaps sie durschschnitlich im Jahr trinken vom Alkoholgehalt her wie viel liter die im jahr durchschnittlich trinken.

Also wie würdet ihr denn meine FOrmeln jetzt umstellen?

danielZ 5. Jan 2010 19:13

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
Würdet ihr einfach nur meine FOrmel verändern? Wenn ja wie?
Danke im vorraus.

Leanahtan 5. Jan 2010 19:45

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
Woher weißt du denn, dass ein falsches Ergebnis herauskommt? Wenn du das nachrechnest, dann müsstest du doch zum nachrechnen auch eine Formel haben - mit der müsstest du dann nur vergleichen.

danielZ 5. Jan 2010 23:07

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
ok, dann ist das was ich gemacht habe, um den durschschnittliche jährlichen Alkoholverbrauch der befragten Person, da hab ich eine genommen, ja schon richtig oder?
Hier ist nochmal alles was ich gemacht hab:
Bei dem Projekt hab ich halt für die ANgaben der Passanten, die drei edt Fenster hingemacht und dann hab ich noch zwei buttons Ende, Berechnen eingefügt und ein Lbl Ergebnis Feld für den Durchschnitt.
Dann müsste wohl so alles passen, oder seid ihr anderer Meinung?


Delphi-Quellcode:
unit UAlkoholkonsum_3;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, StdCtrls;

type
  TAlkoholkonsum = class(TForm)
    LblAlkoholkonsum: TLabel;
    closeBtn: TButton;
    BtnBerechnen: TButton;
    LblAngabe: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    LblErgebnis: TLabel;
    procedure closeBtnClick(Sender: TObject);
    procedure BtnBerechnenClick(Sender: TObject);
  private
    { Private-Deklarationen}
  public
    { Public-Deklarationen}
  end;

var
Alkoholkonsum: TAlkoholkonsum;
Pas1B, Pas1W, Pas1S, ZwischenergebnisPas1, ErgebnisPas1 : SINGLE;


implementation

{$R *.DFM}


procedure TAlkoholkonsum.closeBtnClick(Sender: TObject);
begin
close
end;

procedure TAlkoholkonsum.BtnBerechnenClick(Sender: TObject);
const
  Prozent_Bier_Wein = 10.0;
  Volumen_Bier_Wein = 0.2;
  Prozent_Sprit = 40.0;
  Volumen_Sprit = 0.02;
begin
  Pas1B := strtofloat (Edit1.text);
  Pas1W := strtofloat (Edit2.text);
  Pas1S := strtofloat (Edit3.text);
  ErgebnisPas1 := (Pas1B + Pas1W) * Volumen_Bier_Wein * Prozent_Bier_Wein/100.0 + (Pas1S * Volumen_Sprit * Prozent_Sprit/100.0);
  LblErgebnis.caption := floattostr (ErgebnisPas1 * 52);
end;


end.
[edit=Luckie]Delphi-Tags Mfg, Luckie[/edit]

fkerber 6. Jan 2010 07:11

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
Hi!

@danielZ:
Bitte packe deine Quelltexte doch in -Tags - dann ist es gleich viel hübscher zu lesen ;)
Einen Beitrag kannst du auch nachträglich noch ändern, indem du (innerhalb von 24h) oben rechts auf den Edit-Knopf am Beitrag klickst.


Grüße, Frederic

hoika 6. Jan 2010 07:44

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
Hallo,

Zitat:

Dann müsste wohl so alles passen, oder seid ihr anderer Meinung?
Ob das Ergebnis stimmt, musst du schon selber mal (von Hand) nachrechnen.


Heiko

danielZ 6. Jan 2010 14:25

Re: Alkoholkonsum mit Algorithmus und Programm berechnen
 
ok, mach ich, aber so von den der Unit/Projekt würdet ihr das auch so machen?
Oder kann man das so auch machen?
gruß daniel


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz