Έχω φάει το κεφλαλι μου να καταλάβου που στο καλο έχω κάνει λάθος :'( , απλα μια αριθμομιχανή ήθελα να κάνω για το σχολείο!
ΤΟ ΠΡΟΓΡΑΜΜΑ:
Πρόγραμμα πΜεταβλητέςΑκέραιες: 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
Φαίνεται ότι για τις εντολές εκχώρησης, χρησιμοποιείς τους χαρακτήρες "<--" αντί για τους χαρακτήρες "<-". Αρκεί να αντικαταστήσεις κάθε διπλή παύλα με μονή παύλα, και το πρόγραμμα μάλλον θα λειτουργεί κανονικά.
Μεταβλητή 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
ι <- "ο"
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΜΕΧΡΙΣ_ΟΤΟΥ ι = "ο"
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Αυτό έτρεξε βέβαια σε ΓΛΩΣΣΑ κι είναι λίγο παράδοξο, αλλά για την ώρα θα κάνεις δουλειά σου.