AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Warum kann delphi net rechnen ? Unerklärliches Problem
Thema durchsuchen
Ansicht
Themen-Optionen

Warum kann delphi net rechnen ? Unerklärliches Problem

Ein Thema von Fredchenhh · begonnen am 3. Dez 2010 · letzter Beitrag vom 6. Dez 2010
Antwort Antwort
Seite 1 von 2  1 2      
Fredchenhh

Registriert seit: 3. Dez 2010
6 Beiträge
 
#1

Warum kann delphi net rechnen ? Unerklärliches Problem

  Alt 3. Dez 2010, 16:30
Hey leute ,
hab folgendes Programmiert :
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    BTGroesser: TButton;
    BTKleiner: TButton;
    Label1: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure BTGroesserClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  RateZahl:Integer;
  RateZahlMin:Integer;
  RateZahlMax:Integer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
RateZahl:=50;
RateZahlMin:=0;
RateZahlMax:=100;
Edit1.Text:=IntToStr(RateZahl);
Edit2.Text:=IntToStr(RateZahlMax);
Edit3.Text:=IntToStr(RateZahlMin);
end;

procedure TForm1.BTGroesserClick(Sender: TObject);
begin
RateZahlMin:=RateZahl;
RateZahl:=RateZahl+Round(RateZahlMax-RateZahlMin/2);
Edit1.Text:=IntToStr(RateZahl);
Edit2.Text:=IntToStr(RateZahlMax);
Edit3.Text:=IntToStr(RateZahlMin);
end;

end.
Mir geht es darum das ich die Zahl erraten kann an die jemand denkt. Das Problem ist wenn ich auf den Größer Button klicke kommt 125 bei raus aber wenn ich es nachrechne MÜSSEN es 75 sein. Was ist da falsch?LG

Geändert von mkinzler ( 3. Dez 2010 um 16:46 Uhr) Grund: Code-Tag durch Delphi-Tag ersetzt
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Warum kann delphi net rechnen ? Unerklärliches Problem

  Alt 3. Dez 2010, 16:43
Klammern vergessen?
RateZahl:=RateZahl+Round((RateZahlMax-RateZahlMin)/2); Übrigens: wieso verwendest Du Fließkommaoperationen bei ganzen Zahlen?

[edit] Sry, Willkommen in der DP [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Fredchenhh

Registriert seit: 3. Dez 2010
6 Beiträge
 
#3

AW: Warum kann delphi net rechnen ? Unerklärliches Problem

  Alt 3. Dez 2010, 17:04
Oh mist stimmt ja Punkt vor Strich rechnung. Was ist eine Fließkommaoperation?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Warum kann delphi net rechnen ? Unerklärliches Problem

  Alt 3. Dez 2010, 17:07
Zahlen mit Nachkommastellen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#5

AW: Warum kann delphi net rechnen ? Unerklärliches Problem

  Alt 3. Dez 2010, 17:24
Integeroperationen sind schneller und optimaler, wenn man eh bei den Integern bleibt.

Delphi-Quellcode:
RateZahl := RateZahl + Trunc((RateZahlMax - RateZahlMin) / 2);

RateZahl := RateZahl + (RateZahlMax - RateZahlMin) div 2;
Wenn (RateZahlMax - RateZahlMin) positiv ist und es gerundet werden soll, dann muß man einfach nur noch die Hälfte des Teilers dazurechnen, vor dem Teilen.
Delphi-Quellcode:
RateZahl := RateZahl + Round((RateZahlMax - RateZahlMin) / 2);

RateZahl := RateZahl + (RateZahlMax - RateZahlMin + 1) div 2;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Fredchenhh

Registriert seit: 3. Dez 2010
6 Beiträge
 
#6

AW: Warum kann delphi net rechnen ? Unerklärliches Problem

  Alt 4. Dez 2010, 08:01
Und was ändert das?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Warum kann delphi net rechnen ? Unerklärliches Problem

  Alt 4. Dez 2010, 08:09
Im 1. Fall entsgehen gebrochene Zahlen als Zwischenergebnis, doieses muss wieder zu einer Ganzzahl gewandelt werden, was u.U. zu einem anderen Ergebnis führen kann
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Warum kann delphi net rechnen ? Unerklärliches Problem

  Alt 4. Dez 2010, 08:10
Stand doch da:
Integeroperationen sind schneller und optimaler, wenn man eh bei den Integern bleibt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#9

AW: Warum kann delphi net rechnen ? Unerklärliches Problem

  Alt 4. Dez 2010, 09:45
---
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! | engbarth.es

Geändert von divBy0 ( 4. Dez 2010 um 09:51 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Warum kann delphi net rechnen ? Unerklärliches Problem

  Alt 4. Dez 2010, 09:47
Das wurde doch schon hinreichend geklärt ... und der TE hatte es auch schon verstanden ...
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz