Hallo, ich wollte die Grundlagen von CAPL-Programmiersprache kennenlernen. Dabei gibt es ein Programmbeispiel. Ich wollte das Beispiel betrachten und verstehen wie das Programm Schrittweise funktioniert: byte binary Array[16] // Was passiert in der Zeile? Ist hier Datentyp BYTE deklariert mit Array? Was ist 16 ? int number = 1234; // Warum gerade 1234? Wie wollten Sie hier mit der Variable number benutzen? Was bringt die? int index = 0; // Wofür ist die Variable index? Warom ist die =0 ? while ( number !=0) //Solange Variable number ungleich 0 { binaryArray[index++]=number % 10; //Was passiert in der Zeile? number = number /10 Was passiert in der Zeile? Es wurde aber schon in der vorherigen Zeile durch 10 geteilt? Warum auch hier? } -> REsultat 11010010 wie kommt man aufs Ergebnis? ======================= ========================== Und zweites Programmchen: es geht um Beispiel mit Datenyp Funktion: void PrintMe (int num, char msg[]) // Wird hier Funktion PrintMe deklariert? Mit Variablen 1) num von Typ int und 2) msg von Typ char. WElche Rolle spielen die Variablen? Was bedeuten [] bei msg? { write ("%d %s",num msg); } PrintMe(1,"Fehler"); //Funktionsaufruf Was bedeutet 1 und "Fehler"? Wofür sind die? long Mult(int x, int y) //Was ist Mult, x, y ? { int i; long result; //Was ist result und wofür ist die? result = 1; for (i = 1; i <= y; i++) result *= x; //Was passierz in der Zeile? return result; } xy = Mult(2,4); //Funktionsaufruf Warum brauvht man hier Funktion aufzurufen? Kan man welchen Ergebnis sehen? Warum xy sind nebeneinander geschrieben und kein Zeichen (z.B. *) dazwieschen?
:
Bearbeitet durch User
Hi > Es wurde aber schon in der vorherigen Zeile durch 10 >geteilt? Nö >number % 10; heißt number mod 10 >ich wollte die Grundlagen von CAPL-Programmiersprache kennenlernen. Was ist denn das? Erinnert mich irgendwie an C MfG Spess
spess53 schrieb: > Was ist denn das? Erinnert mich irgendwie an C CAPL ist eine von Vector Informatik entwickelte Programmier- sprache, die in den weit verbreiteten Software-Werkzeugen CANoe und CANalyzer zur Verfügung steht.
CAPL ist ein unglaublicher Krampf. Das ist VBA noch richtig gut dagegen. Sowas kann man nicht als Programmiersprache bezeichnen. Und ja, ich weiß, wovon ich spreche. S.
Im ersten Snippet muss byte binary Array[16] wahrscheinlich byte binaryArray[16] heißen. Damit wird es eine sinnvolle Defnition und weiter unten auch so benutzt. Der Rest sieht eigentlich sehr nach Standard-C aus.
Stefan schrieb: > CAPL ist ein unglaublicher Krampf. Das ist VBA noch richtig gut > dagegen. > Sowas kann man nicht als Programmiersprache bezeichnen. Und ja, ich > weiß, wovon ich spreche. > S. Hat das irgendwas mit der Frage des TO zu tun? Hilft ihm das irgendwie weiter?
Hel B. schrieb: > void PrintMe (int num, char msg[]) // Wird hier Funktion PrintMe > deklariert? Mit Variablen 1) > num von Typ int und 2) msg von > Typ char. > > WElche Rolle spielen die > Variablen? Was bedeuten [] bei > msg? > { > write ("%d %s",num msg); > } PrintMe ist eine Prozedur (= Funktion ohne Rückgabewert) die zwei Argumente erwartet. Das erste muss ein Integer sein und wird innerhalb der Prozedur als Variable num zur Verfügung gestellt. Das zweite Argument ist ein Array aus char Elemeten - sprich ein String. Hel B. schrieb: > long Mult(int x, int y) //Was ist Mult, x, y ? > { Das ist jetzt eine Funktion, die ein Ergebnis vom Typ long zurückgibt. Hel B. schrieb: > long result; //Was ist result und wofür ist die? einfach nur eine Variable vom Typ long Hel B. schrieb: > result *= x; //Was passiert in der Zeile? Das, was schon in result steht, wird mit x multipliziert. Hel B. schrieb: > xy = Mult(2,4); //Funktionsaufruf Warum brauvht man xy ist eine neue Variable und wir mit dem Rückgabewert der Funktion gefüllt.
JJ schrieb: > Im ersten Snippet muss > byte binary Array[16] > wahrscheinlich > byte binaryArray[16] > heißen. Damit wird es eine sinnvolle Defnition und weiter unten auch so > benutzt. > > Der Rest sieht eigentlich sehr nach Standard-C aus. Es geht hier aber um eine der vielen C-Erweiterungen... Um die zu verstehen muss man wohl vorher den K&R gelesen haben, was dem OP irgendwie entgangen ist. Und nein, C ist als Programmiersprache nicht selbsterklärend.
Erwin D. schrieb: > Hat das irgendwas mit der Frage des TO zu tun? > Hilft ihm das irgendwie weiter? Er könnte sich überlegen, ob er sinnvoll ist, in diesen Auswuchs von Programmiersprache Zeit zu investieren oder ob er damit in eine Sackgasse läuft. Besser könnte er solche Grundlagen anhand einer weit verbreiteten Programmiersprache lernen.
W.A. schrieb: > Er könnte sich überlegen, ob er sinnvoll ist, in diesen Auswuchs von > Programmiersprache Zeit zu investieren Manchmal hat man die Wahl, manchmal nicht. Ich durfte auch schon Druckertreiber für Data General AOS/VS erstellen. Da war die Wahl auch sehr begrenzt. JJ schrieb: > Im ersten Snippet muss > byte binary Array[16] > wahrscheinlich > byte binaryArray[16] Unwahrscheinlich. Ich vermisse in c auch manchmal binary Arrays. Die Ausgabe sieht so aus, als wäre das schon richtig so. (leider kenne ich CAPL nicht gut genug)
FYI: Die Beispiele scheinen aus diesem Uni-Übungsskript zu kommen: http://www.ias.uni-stuttgart.de/lehre/praktika/automatisierung/unterlagen/06-Kurzanleitung_CAPL-v10_de.pdf Dort steht auf Seite Seit 8: byte binaryArray[16] statt wie oben byte binary Array[16] Das zweite Beispiel von Seite 10 enthält aber auch im Original den Tipfehler des fehlenden Kommas bei "write".
Oh, machen wir hier wieder Hausaufgaben für andere?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.