Post Reply 
Problems hope someone can help
Yesterday, 02:16 PM
Post: #1
Problems hope someone can help
Hello everyone
I got the Prime g2 for Christmas and am now trying to get it ready for my work.

Now of course I have this stupid idea to create some programs that can calculate everything for me without much effort.
Of course, since I don't know anything about programming, Chatgpt has helped me so far, but unfortunately it doesn't work that way with a program because I still get syntax errors after x attempts.

Attached is the code:

EXPORT margenRechner()
BEGIN
LOCAL bruttopreis, eigenrabatt, kundenrabatt, schlussrabatt, skonto, allgemeine_abzuege;
LOCAL preis_nach_kundenrabatt, preis_nach_schlussrabatt, preis_nach_skonto, endpreis, effektiver_einkaufspreis, marge;

// Eingabe der Werte
bruttopreis := REQUEST("Gib den Bruttopreis ein: ");
eigenrabatt := REQUEST("Gib den Eigenrabatt in Prozent ein: ");
kundenrabatt := REQUEST("Gib den Kundenrabatt in Prozent ein: ");
schlussrabatt := REQUEST("Gib den Schlussrabatt in Prozent ein: ");
skonto := REQUEST("Gib den Skonto in Prozent ein: ");
allgemeine_abzuege := REQUEST("Gib die allgemeinen Abzüge in Prozent ein: ");

// Berechnung des effektiven Einkaufspreises nach Eigenrabatt
effektiver_einkaufspreis := bruttopreis * (1 - eigenrabatt / 100);

// Berechnung des Preises nach Kundenrabatt
preis_nach_kundenrabatt := bruttopreis * (1 - kundenrabatt / 100);

// Berechnung des Preises nach Schlussrabatt
preis_nach_schlussrabatt := preis_nach_kundenrabatt * (1 - schlussrabatt / 100);

// Berechnung des Preises nach Skonto
preis_nach_skonto := preis_nach_schlussrabatt * (1 - skonto / 100);

// Berechnung des Endpreises nach allen allgemeinen Abzügen (Prozent)
endpreis := preis_nach_skonto * (1 - allgemeine_abzuege / 100);

// Berechnung der Marge
marge := (endpreis - effektiver_einkaufspreis) / endpreis * 100;

// Ausgabe der Ergebnisse
PRINT("Effektiver Einkaufspreis nach Eigenrabatt:" ;effektiver_einkaufspreis);
PRINT("Preis nach Kundenrabatt:" ;preis_nach_kundenrabatt);
PRINT("Preis nach Schlussrabatt:" ;preis_nach_schlussrabatt);
PRINT("Preis nach Skonto:" ;preis_nach_skonto);
PRINT("Endpreis nach allen Abzügen:" ;endpreis);
PRINT("Die Marge beträgt: ", marge, " %");
END;


Maybe someone can help me with the syntax error I've been getting with print lines:

So now the next problem:
The screen flickers especially when I'm not using the standard calculation. What could that be about?
In the beginning it wasn't like that.
Find all posts by this user
Quote this message in a reply
Yesterday, 04:47 PM (This post was last modified: Yesterday 04:56 PM by komame.)
Post: #2
RE: Problems hope someone can help
Chat GPT applied the REQUEST command, which does not exist on the HP Prime. Additionally, there is also a problem with the fact that PRINT accepts only one argument. If you want to display a description and a value, you need to concatenate them, for example, using the "+" operator (this results in concatenation into a single output string). HP Prime provides various methods for inputting data. One of them is entering data directly from the terminal using the READLINE command (example below). However, there is a more professional approach using the INPUT command, which displays a dialog box and allows you to edit values on a single unified screen, which is very convenient. If you need an example of how to use INPUT, let me know.

Unfortunately, READLINE always returns a string type, so if you input numbers, you need to convert them using the EXPR function:

EXPORT margenRechner()
BEGIN
LOCAL bruttopreis, eigenrabatt, kundenrabatt, schlussrabatt, skonto, allgemeine_abzuege;
LOCAL preis_nach_kundenrabatt, preis_nach_schlussrabatt, preis_nach_skonto, endpreis, effektiver_einkaufspreis, marge;

// Bildschirm zurücksetzen
PRINT;

// Eingabe der Werte

PRINT("Gib den Bruttopreis ein: ");
PRINT(bruttopreis := EXPR(READLINE));

PRINT("Gib den Eigenrabatt in Prozent ein: ");
PRINT(eigenrabatt := EXPR(READLINE));

PRINT("Gib den Kundenrabatt in Prozent ein: ");
PRINT(kundenrabatt := EXPR(READLINE));

PRINT("Gib den Schlussrabatt in Prozent ein: ");
PRINT(schlussrabatt := EXPR(READLINE));

PRINT("Gib den Skonto in Prozent ein: ");
PRINT(skonto := EXPR(READLINE));

PRINT("Gib die allgemeinen Abzüge in Prozent ein: ");
PRINT(allgemeine_abzuege := EXPR(READLINE));

// Berechnung des effektiven Einkaufspreises nach Eigenrabatt
effektiver_einkaufspreis := bruttopreis * (1 - eigenrabatt / 100);

// Berechnung des Preises nach Kundenrabatt
preis_nach_kundenrabatt := bruttopreis * (1 - kundenrabatt / 100);

// Berechnung des Preises nach Schlussrabatt
preis_nach_schlussrabatt := preis_nach_kundenrabatt * (1 - schlussrabatt / 100);

// Berechnung des Preises nach Skonto
preis_nach_skonto := preis_nach_schlussrabatt * (1 - skonto / 100);

// Berechnung des Endpreises nach allen allgemeinen Abzügen (Prozent)
endpreis := preis_nach_skonto * (1 - allgemeine_abzuege / 100);

// Berechnung der Marge
marge := (endpreis - effektiver_einkaufspreis) / endpreis * 100;

// Ausgabe der Ergebnisse
PRINT("-------------");
PRINT("Effektiver Einkaufspreis nach Eigenrabatt: " + effektiver_einkaufspreis);
PRINT("Preis nach Kundenrabatt: " + preis_nach_kundenrabatt);
PRINT("Preis nach Schlussrabatt: " + preis_nach_schlussrabatt);
PRINT("Preis nach Skonto: " + preis_nach_skonto);
PRINT("Endpreis nach allen Abzügen: " + endpreis);
PRINT("Die Marge beträgt: " + marge + " %");
END;


Regarding the screen flickering, press On + Shift (make sure it's in this order), and while holding both keys, press + or - to adjust the screen refresh rate.
A bar showing the current settings should appear.

Piotr Kowalewski
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)