Βοήθεια σε πρόβλημα!

Ξεκίνησε από ΒΕΙΜ, 02 Δεκ 2025, 10:30:59 ΜΜ

« προηγούμενο - επόμενο »

ΒΕΙΜ

Έχω φάει το κεφλαλι μου να καταλάβου που στο καλο έχω κάνει λάθος :'( , απλα μια αριθμομιχανή ήθελα να κάνω για το σχολείο!

ΤΟ ΠΡΟΓΡΑΜΜΑ:
Πρόγραμμα π
Μεταβλητές
Ακέραιες: e, e2, e3
Πραγματικές: αρ1, αρ2, αρΠ1, αρΠ2, αρΠΛ1, αρΠΛ2, τελ_αφ, τελ_προ, αρΔ1, αρΔ2
Χαρακτήρες: ι
Αρχή

ι <-- "ι"

Γράψε "Μενού Επιλογών:"
Γράψε "1. Αφαίρεση"
Γράψε "2. Πρόσθεση"
Γράψε "3. Πολλ/σμός"
Γράψε "4. Διαίρεση"
Γράψε "Διάλεξε μια επιλογή"

Αρχή_επανάληψης
  Διάβασε e
  Αν e > 4 ή e < 1 τότε
  Γράψε "Λάθος, ξανά"
  Τέλος_αν
Μέχρις_ότου e = 3 ή e = 2 ή e = 1 ή e = 4

Αν e = 1 τότε
  Αρχή_επανάληψης
  Γράψε "Πές τους αριθμούς που θές να αφαιρέσεις:"
  Διάβασε αρ1, αρ2
  Γράψε "1. Θές:", αρ1, "-", αρ2
  Γράψε "2. Θές:", αρ2, "-", αρ1
  Διάβασε e2
  Αν e2 <> 1 και e2 <> 2 τότε
    Γράψε "Λάθος, ξανά"
  Τέλος_αν
  Μέχρις_ότου e2 = 1 ή e2 = 2
  Αν e2 = 1 τότε
  Αν αρ1 < 0 και αρ2 < 0 τότε
    τελ_αφ <-- -αρ1 + αρ2
    Γράψε "Παραλήπω αρνητικά πρόσημα, αποτέλεσμα:", τελ_αφ
  αλλιώς_αν αρ1 < 0 τότε
    τελ_αφ <-- -αρ1 - αρ2
    Γράψε "Παραλήπω αρνητικό πρόσημο, αποτέλεσμα:", τελ_αφ
  αλλιώς_αν αρ2 < 0 τότε
    τελ_αφ <-- αρ1 + αρ2
    Γράψε "Παραλήπω αρνητικό πρόσημο, αποτέλεσμα:", τελ_αφ
  αλλιώς
    τελ_αφ <-- αρ1 - αρ2
    Γράψε "Αποτέλεσμα:", τελ_αφ
  Τέλος_αν
  αλλιώς_αν e2 = 2 τότε
  Αν αρ1 < 0 και αρ2 < 0 τότε
    τελ_αφ <-- -αρ2 + αρ1
    Γράψε "Παραλήπω αρνητικό πρόσημο, αποτέλεσμα:", τελ_αφ
  αλλιώς_αν αρ1 < 0 τότε
    τελ_αφ <-- -αρ1 - αρ2
    Γράψε "Παραλήπω αρνητικό πρόσημο, αποτέλεσμα:", τελ_αφ
  αλλιώς_αν αρ2 < 0 τότε
    τελ_αφ <-- αρ2 + αρ1
    Γράψε "Παραλήπω αρνητικό πρόσημο, αποτέλεσμα:", τελ_αφ
  αλλιώς
    τελ_αφ <-- αρ2 - αρ1
    Γράψε "Αποτέλεσμα:", τελ_αφ
  Τέλος_αν
Τέλος_αν

Αν e = 2 τότε
  Γράψε "Γράψε 2 αριθμούς που θές να πρωσθέσεις:"
  Διάβασε αρΠ1, αρΠ2
  Αν αρΠ2 < 0 και αρΠ1 < 0 τότε
  τελ_προ <-- -αρΠ1 - αρΠ2
  Γράψε "Παραλήπω αρνητικά πρόσημα, αποτέλεσμα:", τελ_προ
  αλλιώς_αν αρΠ2 < 0 τότε
  τελ_προ <-- αρΠ1 - αρΠ2
  Γράψε "Παραλήπω αρνητικό πρόσημο, αποτέλεσμα:", τελ_προ
  αλλιώς_αν αρΠ1 < 0 τότε
  τελ_προ <-- -αρΠ1 + αρΠ2
  Γράψε "Παραλήπω αρνητικό πρόσημο, αποτέλεσμα:", τελ_προ
  αλλιώς
  Γράψε "Αποτέλεσμα:", αρΠ1 + αρΠ2
  Τέλος_αν
Τέλος_αν

Αν e = 3 τότε
  Γράψε "Γράψε 2 αριθμούς για πολλ/σμό."
  Διάβασε αρΠΛ1, αρΠΛ2
  Γράψε "Αποτέλεσμα:", αρΠΛ1 * αρΠΛ2
Τέλος_αν
Αν e = 4 τότε
  Αρχή_επανάληψης
  Αρχή_επανάληψης
    Γράψε "Γράψε 2 αριθμούς για να διαιρέσεις:"
    Διάβασε αρΔ1, αρΔ2
    Γράψε "1. Θές:", αρΔ1, "/", αρΔ2
    Γράψε "2. Θές:", αρΔ2, "/", αρΔ1
    Διάβασε e3
    Αν e3 <> 1 και e3 <> 2 τότε
    Γράψε "Λάθος, ξανά"
    Τέλος_αν
  Μέχρις_ότου e3 = 1 ή e3 = 2
  Αν e3 = 1 τότε
    Αν αρΔ2 = 0 τότε
    Γράψε "Όχι δια μηδέν!"
    αλλιώς
    Γράψε "Αποτέλεσμα:", αρΔ1/αρΔ2
    ι <-- "ο"
    Τέλος_αν
  αλλιώς
    Αν αρΔ1 = 0 τότε
     Γράψε "Όχι δια μηδέν!"
    αλλιώς
     Γράψε "Αποτέλεσμα:", αρΔ2/αρΔ1
     ι <-- "ο"
    Τέλος_αν
  Τέλος_αν
  Μέχρις_ότου ι = "ο"
Τέλος_αν
Τέλος_αν
τέλος_προγράμματος

Το error που πέρνω είναι: 
  • Σφάλμα Διερμηνευτή: Error: Program error: Cannot perform unaryMinus operation with type n

Zlaton

Φαίνεται ότι για τις εντολές εκχώρησης, χρησιμοποιείς τους χαρακτήρες "<--" αντί για τους χαρακτήρες "<-". Αρκεί να αντικαταστήσεις κάθε διπλή παύλα με μονή παύλα, και το πρόγραμμα μάλλον θα λειτουργεί κανονικά.

George Eco

Μεταβλητή e, E, ε, Ε δεν επιτρέπονται λόγω της Ε(χ)
Αν είσαι σε Γλωσσομάθεια ο τελεστής <-- είναι οκ.
Αν είσαι στο διερμηνευτή της ΓΛΩΣΣΑΣ πρέπει να χρησιμοποιείς <-

ΠΡΟΓΡΑΜΜΑ π
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: e, e2, e3
  ΠΡΑΓΜΑΤΙΚΕΣ: αρ1, αρ2, αρΠ1, αρΠ2, αρΠΛ1, αρΠΛ2, τελ_αφ, τελ_προ, αρΔ1, αρΔ2
  ΧΑΡΑΚΤΗΡΕΣ: ι
ΑΡΧΗ
  ι <- "ι"
  ΓΡΑΨΕ "Μενού Επιλογών:"
  ΓΡΑΨΕ "1. Αφαίρεση"
  ΓΡΑΨΕ "2. Πρόσθεση"
  ΓΡΑΨΕ "3. Πολλ/σμός"
  ΓΡΑΨΕ "4. Διαίρεση"
  ΓΡΑΨΕ "Διάλεξε μια επιλογή"
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΔΙΑΒΑΣΕ e
    ΑΝ e > 4 Η e < 1 ΤΟΤΕ
      ΓΡΑΨΕ "Λάθος, ξανά"
    ΤΕΛΟΣ_ΑΝ
  ΜΕΧΡΙΣ_ΟΤΟΥ e = 3 Η e = 2 Η e = 1 Η e = 4
  ΑΝ e = 1 ΤΟΤΕ
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
      ΓΡΑΨΕ "Πές τους αριθμούς που θές να αφαιρέσεις:"
      ΔΙΑΒΑΣΕ αρ1, αρ2
      ΓΡΑΨΕ "1. Θές:", αρ1, "-", αρ2
      ΓΡΑΨΕ "2. Θές:", αρ2, "-", αρ1
      ΔΙΑΒΑΣΕ e2
      ΑΝ e2 <> 1 ΚΑΙ e2 <> 2 ΤΟΤΕ
        ΓΡΑΨΕ "Λάθος, ξανά"
      ΤΕΛΟΣ_ΑΝ
    ΜΕΧΡΙΣ_ΟΤΟΥ e2 = 1 Η e2 = 2
    ΑΝ e2 = 1 ΤΟΤΕ
      ΑΝ αρ1 < 0 ΚΑΙ αρ2 < 0 ΤΟΤΕ
        τελ_αφ <- -αρ1 + αρ2
        ΓΡΑΨΕ "Παραλήπω αρνητικά πρόσημα, αποτέλεσμα:", τελ_αφ
      ΑΛΛΙΩΣ_ΑΝ αρ1 < 0 ΤΟΤΕ
        τελ_αφ <- -αρ1 - αρ2
        ΓΡΑΨΕ "Παραλήπω αρνητικό πρόσημο, αποτέλεσμα:", τελ_αφ
      ΑΛΛΙΩΣ_ΑΝ αρ2 < 0 ΤΟΤΕ
        τελ_αφ <- αρ1 + αρ2
        ΓΡΑΨΕ "Παραλήπω αρνητικό πρόσημο, αποτέλεσμα:", τελ_αφ
      ΑΛΛΙΩΣ
        τελ_αφ <- αρ1 - αρ2
        ΓΡΑΨΕ "Αποτέλεσμα:", τελ_αφ
      ΤΕΛΟΣ_ΑΝ
    ΑΛΛΙΩΣ_ΑΝ e2 = 2 ΤΟΤΕ
      ΑΝ αρ1 < 0 ΚΑΙ αρ2 < 0 ΤΟΤΕ
        τελ_αφ <- -αρ2 + αρ1
        ΓΡΑΨΕ "Παραλήπω αρνητικό πρόσημο, αποτέλεσμα:", τελ_αφ
      ΑΛΛΙΩΣ_ΑΝ αρ1 < 0 ΤΟΤΕ
        τελ_αφ <- -αρ1 - αρ2
        ΓΡΑΨΕ "Παραλήπω αρνητικό πρόσημο, αποτέλεσμα:", τελ_αφ
      ΑΛΛΙΩΣ_ΑΝ αρ2 < 0 ΤΟΤΕ
        τελ_αφ <- αρ2 + αρ1
        ΓΡΑΨΕ "Παραλήπω αρνητικό πρόσημο, αποτέλεσμα:", τελ_αφ
      ΑΛΛΙΩΣ
        τελ_αφ <- αρ2 - αρ1
        ΓΡΑΨΕ "Αποτέλεσμα:", τελ_αφ
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ
    ΑΝ e = 2 ΤΟΤΕ
      ΓΡΑΨΕ "Γράψε 2 αριθμούς που θές να πρωσθέσεις:"
      ΔΙΑΒΑΣΕ αρΠ1, αρΠ2
      ΑΝ αρΠ2 < 0 ΚΑΙ αρΠ1 < 0 ΤΟΤΕ
        τελ_προ <- -αρΠ1 - αρΠ2
        ΓΡΑΨΕ "Παραλήπω αρνητικά πρόσημα, αποτέλεσμα:", τελ_προ
      ΑΛΛΙΩΣ_ΑΝ αρΠ2 < 0 ΤΟΤΕ
        τελ_προ <- αρΠ1 - αρΠ2
        ΓΡΑΨΕ "Παραλήπω αρνητικό πρόσημο, αποτέλεσμα:", τελ_προ
      ΑΛΛΙΩΣ_ΑΝ αρΠ1 < 0 ΤΟΤΕ
        τελ_προ <- -αρΠ1 + αρΠ2
        ΓΡΑΨΕ "Παραλήπω αρνητικό πρόσημο, αποτέλεσμα:", τελ_προ
      ΑΛΛΙΩΣ
        ΓΡΑΨΕ "Αποτέλεσμα:", αρΠ1 + αρΠ2
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ
    ΑΝ e = 3 ΤΟΤΕ
      ΓΡΑΨΕ "Γράψε 2 αριθμούς για πολλ/σμό."
      ΔΙΑΒΑΣΕ αρΠΛ1, αρΠΛ2
      ΓΡΑΨΕ "Αποτέλεσμα:", αρΠΛ1* αρΠΛ2
    ΤΕΛΟΣ_ΑΝ
    ΑΝ e = 4 ΤΟΤΕ
      ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
        ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
          ΓΡΑΨΕ "Γράψε 2 αριθμούς για να διαιρέσεις:"
          ΔΙΑΒΑΣΕ αρΔ1, αρΔ2
          ΓΡΑΨΕ "1. Θές:", αρΔ1, "/", αρΔ2
          ΓΡΑΨΕ "2. Θές:", αρΔ2, "/", αρΔ1
          ΔΙΑΒΑΣΕ e3
          ΑΝ e3 <> 1 ΚΑΙ e3 <> 2 ΤΟΤΕ
            ΓΡΑΨΕ "Λάθος, ξανά"
          ΤΕΛΟΣ_ΑΝ
        ΜΕΧΡΙΣ_ΟΤΟΥ e3 = 1 Η e3 = 2
        ΑΝ e3 = 1 ΤΟΤΕ
          ΑΝ αρΔ2 = 0 ΤΟΤΕ
            ΓΡΑΨΕ "Όχι δια μηδέν!"
          ΑΛΛΙΩΣ
            ΓΡΑΨΕ "Αποτέλεσμα:", αρΔ1/αρΔ2
            ι <- "ο"
          ΤΕΛΟΣ_ΑΝ
        ΑΛΛΙΩΣ
          ΑΝ αρΔ1 = 0 ΤΟΤΕ
            ΓΡΑΨΕ "Όχι δια μηδέν!"
          ΑΛΛΙΩΣ
            ΓΡΑΨΕ "Αποτέλεσμα:", αρΔ2/αρΔ1
            ι <- "ο"
          ΤΕΛΟΣ_ΑΝ
        ΤΕΛΟΣ_ΑΝ
      ΜΕΧΡΙΣ_ΟΤΟΥ ι = "ο"
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Αυτό έτρεξε βέβαια σε ΓΛΩΣΣΑ κι είναι λίγο παράδοξο, αλλά για την ώρα θα κάνεις δουλειά σου.