Juniors WorkstationLidos BerlinComputer PassDies und Das
Nutzungsbedingungen    Datenschutz    Impressum       Kontakt        Registrieren       <== zurück zur Startseite    
 
  Lernen durch Lehren
 
  LDL - Wissenswertes
  LDL - Hardwaretests
  LDL - Softwaretests
  LDL - Tipps & Tricks
  LDL - Workshops
 


  Profan² Einsteiger FAQ 7.5
 
  Profan² Einsteiger FAQ 7.5
  Profan² an die Schulen
  Profan² Script - FAQ
  Profan² Erweiterungen
  Profan² Helferlein
  Profan² Quellcode
 


  HTML Einsteiger FAQ 4.07
 
  HTML Einsteiger FAQ 4.07
  HTML indirekte Fragen
  kleine JavaScript FAQ
 


250 MB mit PHP / MySQL
 
Sie suchen noch Webspace, der kosten- und werbefrei ist, PHP (5.x) und MySQL (3.x) unter- stützt ...

Sie haben Fragen und benötigen Antworten
 
Das verstehen wir - und genau aus diesem Grund haben wir versucht, auf Ihre (am häu- figsten) gestellten Fragen zu antworten.
 
Lern- und Lehrbereich: Juniors Workstation
 
   einen Beitrag auswählenzum Anfang eine Seite zurück  eine Seite vor zum Ende     
   Bereich Kennung Zuordnung Klick Titel 
11  Workstation FAQ Profan Profan-FAQ105297  Profan² - eine Programmiersprache Profan-FAQ - Profan² - eine Programmiersprache
12  Workstation FAQ Profan Profan-FAQ40006  Profan² - dieser Name steht für ein Programmiersystem Profan-FAQ - Profan² - dieser Name steht für ein Programmiersystem
13  Workstation FAQ Profan Profan-FAQ45528  Profan² - eine Scriptsprache Profan-FAQ - Profan² - eine Scriptsprache
14  Workstation FAQ Profan Profan-FAQ45296  Profan² - eine Datenbank-Sprache Profan-FAQ - Profan² - eine Datenbank-Sprache
15  Workstation FAQ Profan Profan-FAQ43495  Profan² - Versionen im Download Profan-FAQ - Profan² - Versionen im Download
16  Workstation FAQ Profan Profan-FAQ47082  Was sind Ereignisse? Profan-FAQ - Was sind Ereignisse?
17  Workstation FAQ Profan Profan-FAQ47416  Was ist eine Multimedia-Schnittstelle? Profan-FAQ - Was ist eine Multimedia-Schnittstelle?
18  Workstation FAQ Profan Profan-FAQ50160  Was ist und enthält eine Windows-Nachricht? Profan-FAQ - Was ist und enthält eine Windows-Nachricht?
19  Workstation FAQ Profan Profan-FAQ47626  Definitionen, Funktionen und Operatoren unter Profan² Profan-FAQ - Definitionen, Funktionen und Operatoren unter Profan²
33  Workstation FAQ Profan Profan-FAQ48655  Einiges über Variablen und Platzhalter ... Profan-FAQ - Einiges über Variablen und Platzhalter ...

135 registrierte Beiträge gefunden; davon werden aktuell 10 angezeigt. 

 
   Definitionen, Funktionen und Operatoren unter Profan²

Viele angehende Programmierer fragen immer wieder, warum man nicht in Profan² einfach 1 + 1 rechnen kann. Diese Schreibweise versteht selbst der billigste Taschenrechner und BASIC kann das ja auch. Um diese Frage richtig beantworten zu können, sollte man das Grundprinzip von Profan² kennen.

Es beruht ganz allgemein darauf, daß alles was Sie ausdrücken wollen, immer in klare, logische Funktionen umgesetzt werden muß. - ein Vorteil, wie Sie selber noch feststellen werden, der nicht von der Hand zu weisen ist.

Es muß aber auch gesagt werden, daß weiterentwickelte Versionen von Profan² auch 1 + 1 rechnen können. Jedoch ist das nicht Gegenstand dieses Forums und in den Hilfen der entsprechenden Versionen zu Profan² hinreichend erklärt.

Jeder kennt Funktionen aus der Schule und die einfachste könnte da lauten: x = a + b und in diese könnte ich die spezielle Aufgabe 1 + 1 einordnen. Nur ist das in diesem Fall ein sehr einfaches Beispiel.

Der Autor hat u.a. diese Funktion für den Programmierer bereits definiert und ihr den Namen @ADD gegeben. Sie als Programmierer brauchen sich also keine Gedanken mehr darüber zu machen, wie zwei Zahlen miteinander zu addieren sind - Sie können sich um Wichtigeres kümmern. Sie benutzen nur noch die Funktion @ADD und haben auch schon das Ergebnis.

   PRINT @ADD(1,1)    
   WAITINPUT 

Alle vom Autor bereits vordefinierten Funktionen werden in der Hilfe und Referenz zu Profan² ausführlich beschrieben. Sie brauchen sich also nur noch die benötigten Funktionen heraussuchen und einsetzen. Das ist zugegebener Maßen am Anfang etwas mühsam. Aber sehr schnell werden Sie sich die wichtigsten Funktionen eingeprägt haben, da der Autor hier versucht hat, möglichst sinnverwandte Abkürzungen zu benutzen. So steht z.B. für Subtraktion @SUB, für Division @DIV, für MulTipplikation @MUL ...

Natürlich ist es unmöglich, alle Funktionen und Varianten zu erfassen. Daher hat sich der Autor von Profan² hier in die Karten sehen lassen und die Möglichkeit angeboten, daß Sie sich benötigte Funktionen selber auf einfache Art definieren können.

Daß solche Definitionen an den Anfang eines Programmes gehören, versteht sich sicher von selbst. Ich möchte hier nur im folgenden an einem Beispiel kurz darstellen, wie eine Funktion definiert und benutzt werden muß. Als Aufgabe soll dabei das Beispiel aus der Hilfe zu Profan² "Funktion zur Errechnung der dritten Potenz einer Zahl" dienen.

Zunächst machen wir uns die Aufgabe einmal klar, oder besser, stellen wir uns die Frage: Wie ist die dritte Potenz einer beliebigen Zahl zu ermitteln?

Möglich wären hier zunächst diese zwei Wege: X = Y * Y * Y oder X = Y² * Y

   PRINT @MUL(@MUL(Y%,Y%),Y%)    
   WAITINPUT 
   PRINT MUL(@SQU(Y%),Y%)    
   WAITINPUT 

Den zweiten Lösungsweg zu benutzen erscheint sinnvoller, da er bereits eine vordefinierte Funktion (Y² -> @SQU) enthält und somit hier ein Teil mathematischen Quelltextes entfällt.

Eine Definition wird mit dem Befehlswort DEF eingeleitet, gefolgt vom Name der Funktion. Nach dem Namen folgt in Klammern die Anzahl der Parameter, also die Anzahl, mit wieviel verschiedenen Werten in der Funktion gerechnet (wieviel verschiedene Werte von der Funktion benutzt) werden sollen. In unserem Beispiel, ganz klar, ist es nur Y%, also nur ein Wert.

   DEF @POT3(1) 
   DEF @POT3(1) 

Jetzt bräuchten wir eigentlich nur noch den mathematischen Ausdruck anzufügen, der die Funktion (der dritten Potenz einer Zahl) beschreibt, also z.B: MUL ( @SQU ( 1. Wert), 1. Wert) .

Der Einfachheit wegen wird anstatt "1. Wert" einfach nur eine "1" geschrieben, und damit das Programm auch weiß, um welche Art von Wert (Variable) es sich handelt, mit der gerechnet werden soll, stellen wir dieser Angabe das Postfix voran: "@!". Das Postfix "!" steht hier, damit wir ein möglichst genaues Rechenergebnis (bis 15 Stellen nach dem Komma) erzielen.

   DEF @POT3(1) @MUL(@MUL(@!(1)),@!(1)),@!(1)) 
   DEF @POT3(1) @MUL(@SQU(@!(1)),@!(1)) 

Mit der so erstellten Definition können wir nun wie gewohnt arbeiten:

   DECLARE Y%    
   DEF @POT3(1) @MUL(@SQU(@!(1)),@!(1))     
   PRINT @POT3(Y%)    
   WAITINPUT 

Wenden wir das eben gesagt auf das zweite Beispiel in der Hilfe zu Profan² einmal konsequent an. Hier bestand die Aufgabe darin, "die ersten X Zeichen eines Strings" (String -> Zeichenkette) zu ermitteln.

Zunächst machen wir uns die Aufgabe wieder klar, oder eben besser, stellen wir uns die Frage:
Wie ermittle ich die ersten X Zeichen eines Strings?

Um eine bestimmte Anzahl von Zeichen aus einer Zeichenkette auszulesen, hat der Autor von Profan² bereits eine Funktion zur Verfügung gestellt: @MID$(S,N1,N2)

Sie ermittelt uns einen String, der N2 Zeichen ab Position N1 aus dem String S enthält, also für unsere Aufgabe z.B.:

   DECLARE A$   
   LET A$="lidos berlin"     
   PRINT @MID$(A$,1,5)    
   WAITINPUT 

Mit Hilfe der zu erstellenden Funktion läßt sich das Ganze doch um einen Parameter vereinfachen, da ein Parameter eigentlich eine Konstante ist und wir hier nur zwei Parameter übergeben brauchen. Dementsprechend könnten wir sagen:

   DEF @LETF$(2) @MID$(1. Wert, 1 , 2. Wert) 

Vereinfachen wir jetzt und setzen die Postfixe entsprechend ein, für den ersten zu übergebenden Wert einen String, für den 2. zu übergebenden Wert ein Integer. Die Zahl "1" an zweiter Stelle ist kein zu übergebender Wert, sie ist ja die Konstante.

   DEF @LETF$(2) @MID$(@$(1), 1 ,@%(2))    
   DECLARE A$     
   LET A$="lidos berlin"     
   PRINT @LETF$(A$,5)    
   WAITINPUT 



Beachten Sie folgenden Hinweis:

Schreib- und Tippfehler bleiben nicht aus und so ist das Beispiel in der Hilfe zu Profan² "die ersten n Zeichen eines Strings ermitteln" falsch oder besser gesagt: Es ist unvollständig und verursacht daher einen Fehler. Es wurde die Konstante (eine 1) einfach nur vergessen.

In Ihrer Arbeit als Programmierer werden Ihnen mit absoluter Sicherheit solche Fehler auch unterlaufen! Und Sie werden fluchen und schimpfen ... und dunkle Ringe unter Ihre Augen bekommen.

Erleichtert atmen Sie nach Stunden oder Tagen auf, klatschen sich an die Stirn und sagen: "eine 1 vergessen!"

©2012 Lidos Berlin - alle Rechte vorbehalten.