![]() |
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 |
Re: Alkoholkonsum mit Algorithmus und Programm berechnen
Und wo hängst du jetzt genau?
Du hast keine konkrete Frage gestellt. |
Re: Alkoholkonsum mit Algorithmus und Programm berechnen
Ich weiß nicht wie ich anfangen soll und wie ich weiterkomme. :(
|
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* ;) |
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ß |
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 |
Re: Alkoholkonsum mit Algorithmus und Programm berechnen
Zitat:
|
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ß |
Re: Alkoholkonsum mit Algorithmus und Programm berechnen
Zitat:
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? ;) |
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. |
Re: Alkoholkonsum mit Algorithmus und Programm berechnen
Wie wär's damit:
Delphi-Quellcode:
Für Wein und Schnaps bekommst du das sicher selbst hin.
function BerechneAlkImBier(anzahl:integer):double;
const PROZENTE = 10.0; VOLUMEN = 0.2; begin result := anzahl * VOLUMEN * PROZENTE/100.0; end; PS: ich liebe Alkoholberechnungen :mrgreen: Prost :cheers: |
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:
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.
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. Wäre nett, wenn ihr mir helft. [edit=Luckie]Delphi-Tags. Mfg, Luckie[/edit] |
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? |
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! |
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 |
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ß |
Re: Alkoholkonsum mit Algorithmus und Programm berechnen
DAS IST MEINE UNIT:
Delphi-Quellcode:
DAS IST DER EINIZIGE FEHLER DES PROJEKTS:
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. [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] |
Re: Alkoholkonsum mit Algorithmus und Programm berechnen
Delphi-Quellcode:
Grüße
var Pas1B, Pas1W, Pas1S, ZwischenergebnisPas1, ErgebnisPas1 : SINGLE;
-> var Alkoholkonsum: TAlkoholkonsum; Pas1B, Pas1W, Pas1S, ZwischenergebnisPas1, ErgebnisPas1 : SINGLE; Klaus |
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 |
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ß |
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); |
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:
PS: keine Ahnung, weshalb in deinen Namen das Wort "Pas" vorkommt (Anspielung auf Pascal?).
Alkoholmenge := BerechneAlkImBier(AnzahlBier)+BerechneAlkImWein(AnzahlWein)+BerechneAlkImSchnaps(AnzahlSchnaps);
Ich kann dir nur empfehlen Variablennamen wie z.B. "AnzahlBier" zu verwenden; dann weiss Jeder was damit gemeint ist. |
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? |
Re: Alkoholkonsum mit Algorithmus und Programm berechnen
Würdet ihr einfach nur meine FOrmel verändern? Wenn ja wie?
Danke im vorraus. |
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.
|
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:
[edit=Luckie]Delphi-Tags Mfg, Luckie[/edit]
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. |
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 |
Re: Alkoholkonsum mit Algorithmus und Programm berechnen
Hallo,
Zitat:
Heiko |
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