Min - und Max - Funktion

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
EgonEprom
Beiträge: 24
Registriert: 15.02.2010 18:18
Computerausstattung: Windows2000-XP-Vista-7
Wohnort: Saarwellingen

Min - und Max - Funktion

Beitrag von EgonEprom »

In sachen PurebBasic bin ich scheinbar blutiger Anfänger: gibt's die Funktion Min() oder Max() wirklich nicht oder bin ich nur zu blöd, die zu finden?

mfg Egon
Wer offen für alles ist - ist nicht ganz dicht ?
Benutzeravatar
man-in-black
Beiträge: 362
Registriert: 21.08.2006 17:39

Re: Min - und Max - Funktion

Beitrag von man-in-black »

nö, gibts nich.
vllt als api, aber nicht als PB-Befehl.

musst dir halt ne procedure,... schreiben :wink:
(hab alles, kann alles, weiß alles!!^^)

Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Min - und Max - Funktion

Beitrag von RSBasic »

@EgonEprom
Nein sowas gibt es nicht, aber ich weiß nicht, wofür du sowas brauchst.
Kannst du mir kurz erzählen, was die Funktionen machen sollen?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: Min - und Max - Funktion

Beitrag von Kaeru Gaman »

Funktionen wie Min() und Max() stellen keine Basisfunktionalität dar, es sind eher recht komplexe und spezifische Anwendungen.
Sprachen oder Oberflächen die solche Funktionen besitzen sind meist in sich bereits recht komplex und spezifisch,
davon ist PureBasic eher das genaue Gegenteil.

das Problem einer solchen Funktion ist die variable Parameterzahl.
du wirst dich also im Normalfall auf ein Array oder eine Liste beziehen wollen.
da das dann sowieso mit einer Schleife behandelt werden muss, entsteht dir kein Verlust, eine Solche selber zu schreiben.

wenn du genauere Angaben machst wofür du es braucht ist das schnell gelöst.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Min - und Max - Funktion

Beitrag von STARGÅTE »

vermutlich einfach nur den maximalen Wert von 2 oder mehrere Zahlen zurück geben.

Dabei gibt es jedoch n Typ-Frage (Integer, Fließkomma)

man könnte auch n Liste übergeben oder ein Array, deswegen gibt es vermutlich in PB keine Funktion Max, weil jeder Programmieer selber entscheiden soll/darf wie seine Max-Funktion arbeiten soll.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
EgonEprom
Beiträge: 24
Registriert: 15.02.2010 18:18
Computerausstattung: Windows2000-XP-Vista-7
Wohnort: Saarwellingen

Re: Min - und Max - Funktion

Beitrag von EgonEprom »

Diese Antworten geben mit tieferen Einblick, was PureBasic wirklich ist.
Nein kein Problem, die Min()-Funktion ist schnell geschrieben, nur wozu, wenn's diese schon gäbe??

Ich arbeite bislang -noch- mit GfA-Basic (Dos-Version) und da akzeptiert die Min()-Funktion beliebig(?) viele nurmerische Ausdrücke, um die Typen der Veriablen (es gibt 4 verschiedene) braucht man sich keine Gedanken zu machen, das System holt immer das bestmögliche an Qualitat (sprich: Genauigkeit) raus.
Wer offen für alles ist - ist nicht ganz dicht ?
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: Min - und Max - Funktion

Beitrag von Kaeru Gaman »

tja... Profis lassen keine Maschine für sich entscheiden, was für eine Qualität sie benötigen.

wenn ich Zahlen über 72 057 594 037 927 936 (2^56) mit einer Genauigkeit von +/- 1 verarbeiten will, stehe ich mit Double auf dem Schlauch und muss Quad nehmen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
sibru
Beiträge: 265
Registriert: 15.09.2004 18:11
Wohnort: hamburg

Re: Min - und Max - Funktion

Beitrag von sibru »

so was hier:?

Code: Alles auswählen

;Modul      min Version 1.00 vom 27.04.2004
;
;Funktion:  liefert die kleinste von 2 Integer-Zahlenwerten
;
;Aufruf:    Minimum.l = min(Zahl1.l, Zahl2.l)
;
Procedure Min(w1,w2)
  If w1<w2
    ProcedureReturn w1
  EndIf
  ProcedureReturn w2
EndProcedure 
Max ist sehr ähnlich... und für andere PB-VariablenTypen brauchste jeweils
eigene Funktionen (MinD(), MaxQ...)

Gruss
SiBru
Bild Bild
Kevin
Beiträge: 236
Registriert: 11.06.2007 12:55

Re: Min - und Max - Funktion

Beitrag von Kevin »

Max ist sehr ähnlich... und für andere PB-VariablenTypen brauchste jeweils
eigene Funktionen (MinD(), MaxQ...)
wenn es nur sowas ist dann kann man das auch so machen:

Code: Alles auswählen


Macro Min(w1, w2)
 If w1 < w2
   w1 = w2
 EndIf
EndMacro

Macro Max(w1, w2)
 If w1 > w2
   w1 = w2
 EndIf
EndMacro


 Dim Test(8)

 Test(5) = 7
 Min( Test(5) , 8 )
 
 Debug Test(5)
 
 
 bla=345
 Max(bla, 200)

 Debug bla
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: Min - und Max - Funktion

Beitrag von Kaeru Gaman »

@Kevin:
check deinen code noch mal, da ist mindestens ein Tippfehler drin.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten