Hallo
Ich verstehe einfach nicht wozu man Proceduren braucht bzw. welche funktion sie haben kann mir das einer erklären ? In der hilfe hab ich schon nachgekuckt aber ich verstehe es immernoch nicht.
Proceduren sind Unterprogramme und Funktionen (in anderen Sprachen oft getrennt in Function und Sub) und dienen der strukturierten (übersichtlichen) Programmierung. Durch Prozeduren entstehen neue Gültigkeitsbereichte für Variablen (lokale Variablen).
Syntax siehste in dem Beispiel von 125
Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Hm.. aber immer wenn ich eine Procedure erstelle funktioniert der Teil in der Procedure nicht mehr, muss man das irgendwie abrufen oder was mache ich da falsch.
Sinn und Zweck von Prozeduren sind mir zwar klar, aber gibt es eigentlich deutliche Geschwindigkeitsunterschiede bei der Verwendung von Prozeduren im Vergleich zu GOSUB?
Würde mich wirklich mal interessieren.
Ach bevor ichs vergesse. Bin neu hier als PureBasic-Jünger. Prost Gemeinde.
Gisela hat geschrieben:Sinn und Zweck von Prozeduren sind mir zwar klar, aber gibt es eigentlich deutliche Geschwindigkeitsunterschiede bei der Verwendung von Prozeduren im Vergleich zu GOSUB?
Würde mich wirklich mal interessieren.
Ach bevor ichs vergesse. Bin neu hier als PureBasic-Jünger. Prost Gemeinde.
Procedure.l Test(Wert,Wert1)
a=0
For i=1 To Wert
For b= 1 To Wert1
a+1
Next b
Next i
ProcedureReturn a
EndProcedure
StartTime = ElapsedMilliseconds()
Ergebnis.l=Test(20000,1000)
ElapsedTime1 = ElapsedMilliseconds()-StartTime
StartTime = ElapsedMilliseconds()
Gosub test
ElapsedTime2 = ElapsedMilliseconds()-StartTime
MessageRequester("Vergleicht", "Procedure: "+Str(ElapsedTime1)+" Millisekunden ;"+ Str(Ergebnis)+#LFCR$+"Gosub: "+Str(ElapsedTime2)+" Millisekunden ;"+Str(Ergebnis1))
test:
a1=0
For i=1 To 20000
For b= 1 To 1000
Ergebnis1+1
Next b
Next i
Return
Ich glaube es wäre besser, wenn du die Aufrufgeschwindigkeit testest und nicht die Verarbeitungsgeschwindigkeit. Darin liegt nämlich der Unterschied. Hier ganz klar zu sehen.
Zudem sollte man auch noch erwähnen, dass die Vorteile von Prozeduren auf anderer Ebene liegen, z.B. bei der Kapselung von Variablen in ihrem eigenen Gültigkeitsbereich, Rückgabewerte, Parameter, Rekursion usw. .
Beginne jeden Tag als ob es Absicht wäre! BILDblog