![]() |
ungerade und gerade Zahlen erkennen
Hi ich möchte in einem Programm erreichen das es erkennt ob eine erreichte Zahl gerade ist oder ungerade und dann dementsprechend handelt z Bsp mit einem if x=(gerade zahl) then ... Hilfe währe nett ^^
|
AW: ungerade und gerade Zahlen erkennen
|
AW: ungerade und gerade Zahlen erkennen
danke kann man das auch irgendwie bei komma zahlen benutzen also obs ne komme zahl oder ganze zahl ist
|
AW: ungerade und gerade Zahlen erkennen
Sicher, einfach den Teil nach dem Komma entfernen:
Delphi-Quellcode:
Statt
if Odd(Trunc(X)) = ...
![]() Grüße Dalai |
AW: ungerade und gerade Zahlen erkennen
danke schön ^^
|
AW: ungerade und gerade Zahlen erkennen
Was kennzeichnet eine gerade Zahl? Das sie ohne Rest durch 2 teilbar ist...
Wie kann somit eine Zahl mit Nachkommastellen jemals gerade sein? |
Dieses Thema wurde am "24. May 2019, 08:49 Uhr" von "Daniel" aus dem Forum "Fragen / Anregungen zur DP" in das Forum "Object-Pascal / Delphi-Language" verschoben.
|
AW: ungerade und gerade Zahlen erkennen
Zitat:
Eine Prüfung könnte aussehen:
Delphi-Quellcode:
//Prüft ob Kommazahl oder ganze Zahl
if x = trunc(x) then showmessage('Ganze Zahl') else showmessage('Kommazahl'); //Prüft auf gerade Zahl if odd(x) then showmessage('ungerade Zahl') else showmessage('gerade Zahl'); |
AW: ungerade und gerade Zahlen erkennen
Deine Gerade/Ungerade Prüfung ist falsch rum. "Odd" bedeuted "Ungerade".
Es wurde zwar schon angedeutet, aber was dein Lehrer wahrscheinlich statt der Funktion Odd() haben wollte ist wahrscheinlich was anderes. Eine Zahl ist gerade wenn sie ohne Rest durch 2 teilbar ist. In Delphi gibt es den "mod" Operator mit dem du den Rest einer Division erhältst. D.h. eine andere Art zu prüfen wäre:
Delphi-Quellcode:
if (zahl mod 2) = 0 then // Falls der Rest der Division von der Zahl geteilt durch zwei 0 ist, ist die Zahl gerade
ShowMessage('Zahl ist gerade') else ShowMessage('Zahl ist ungerade'); |
AW: ungerade und gerade Zahlen erkennen
etwas Hardcore:
in der binären Darstellung einer ganzen Zahl ist das niederwertigste Bit=0
Delphi-Quellcode:
(das überfordert aber teils schon manche Lehrer... )
if (zahl and 1) = 0 then
ShowMessage('Zahl ist gerade') else ShowMessage('Zahl ist ungerade'); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:41 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