AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Zwischen Geraden und ungeraden Zahlen unterscheiden
Thema durchsuchen
Ansicht
Themen-Optionen

Zwischen Geraden und ungeraden Zahlen unterscheiden

Ein Thema von Andreas L. · begonnen am 10. Mai 2007 · letzter Beitrag vom 10. Mai 2007
Antwort Antwort
Seite 1 von 2  1 2      
Andreas L.
(Gast)

n/a Beiträge
 
#1

Zwischen Geraden und ungeraden Zahlen unterscheiden

  Alt 10. Mai 2007, 14:51
Hi,
ich glaube ich hab das schonmal gefragt, finde aber den Beitrag nicht mehr. Wie kann ich gerade von ungeraden Zahlen unterscheiden.

Beispiel:
Delphi-Quellcode:
1 = ungerade
2 = gerade
3 = ungerade
...

IstGerade(2) = true
IstGerade(1) = false
Wie heißt die Funktion?

*alzheimer hab*
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: Zwischen Geraden und ungeraden Zahlen unterscheiden

  Alt 10. Mai 2007, 14:52
Hi,

Ein Tipp: Gerade Zahlen lassen sich ohne Rest durch 2 teilen

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#3

Re: Zwischen Geraden und ungeraden Zahlen unterscheiden

  Alt 10. Mai 2007, 14:54
Zitat von Neutral General:
Hi,

Ein Tipp: Gerade Zahlen lassen sich ohne Rest durch 2 teilen

Gruß
Neutral General
Klar, ich Idiot.... Aber gabs da nicht trotzdem eine Funktion die das auto. macht?
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: Zwischen Geraden und ungeraden Zahlen unterscheiden

  Alt 10. Mai 2007, 14:56
Ja die gibts:

Delphi-Quellcode:
function BauDirDochSelbstEine(Zahl: Integer): Boolean;
begin
  Result := Zahl mod 2 = 0;
end;
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
WS1976
(Gast)

n/a Beiträge
 
#5

Re: Zwischen Geraden und ungeraden Zahlen unterscheiden

  Alt 10. Mai 2007, 15:04
Hallo,

mit etwas nachdenken....

If (a div 2)=(a /2) then 'gerade Zahl' else 'ungerade Zahl'
die Null musst du noch separat abfangen.

Für alle die es wie immer besser wissen:
das ist kein Code sondern nur eine Anleitung (Prinzip) wie mans macht.


Grüsse
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#6

Re: Zwischen Geraden und ungeraden Zahlen unterscheiden

  Alt 10. Mai 2007, 15:04
Odd() ist originales Wirth-Pascal.
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Zwischen Geraden und ungeraden Zahlen unterscheiden

  Alt 10. Mai 2007, 15:05
OH sagt bei suche nach 'Ungerade': Odd (Funktion)

EDIT:
1. Zu langsam
2. Gefällt mir MOD nicht (wenn oft ausgeführt) wenn schon was basteln, dann isses imho besser wenn man mit shl (shr) arbeitet. (Performanter!?)
EDIT2:
Schade, daß in der System.pas nicht drinnen steht wie odd arbeitet
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Zwischen Geraden und ungeraden Zahlen unterscheiden

  Alt 10. Mai 2007, 15:08
Delphi-Referenz durchsuchenOdd

Zitat von OH: Odd:
Die Funktion gibt true zurück, wenn das Argument eine ungerade Zahl ist.

Delphi-Quellcode:
Function Odd(i: Integer): Boolean;
  Begin
    Result := i and 1 <> 0;
  End;
i and 1 : niederwertiges Bit auswählen
... <> 0 : testen ob dieses Bit gesetzt ist

Warum man über dieses Bit auf (un)gerade prüfen kann wird klar, wenn man sich den Datentyp mal ansieht.

Ach ja: ein binärer Vergleich ist in der Regel schneller/optimaler als eine mathematische Berechnung.
$2B or not $2B
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#9

Re: Zwischen Geraden und ungeraden Zahlen unterscheiden

  Alt 10. Mai 2007, 15:09
Zitat von TeronG:
OH sagt bei suche nach 'Ungerade': Odd (Funktion)

EDIT:
1. Zu langsam
2. Gefällt mir MOD nicht (wenn oft ausgeführt) wenn schon was basteln, dann isses imho besser wenn man mit shl (shr) arbeitet. (Performanter!?)
Ahh, das wars. Danke
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Zwischen Geraden und ungeraden Zahlen unterscheiden

  Alt 10. Mai 2007, 15:15
Ahh .. nicht verzagen himitsu fragen

Die Methode ist natürlich schöner als "mein" shl ... währe ich wohl nie drauf gekommen.
btw: ist deine Lösung auch die Art, wie es Delphi macht!?
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  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 04:56 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