Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Μήνυμα ξεκίνησε από: Stop GOTO στις 18 Μαρ 2013, 10:13:08 ΠΜ

Τίτλος: ΑΠΟΡΊΑ ΣΕ ΠΡΌΓΡΑΜΜΑ
Αποστολή από: Stop GOTO στις 18 Μαρ 2013, 10:13:08 ΠΜ
Αναφέρομαι σε μια άσκηση του τετραδίου του μαθητή στο μάθημα του ΑΕΠΠ και πιο συγκεκριμένα στην Άσκηση ΔΕ3 σελ.80 η οποία λέει :

Να γραφεί πρόγραμμα το οποίο θα εκτελεί κάποια από τις βασικές πράξεις πρόσθεση , αφαίρεση πολλαπλασιασμό και διαίρεση ανάμεσα σε δύο ακέραιους αριθμούς και θα εμφανίζει το αποτέλεσμα στην οθόνη. Το πρόγραμμα θα ελέγχεται από το παρακάτω μενού επιλογής και θα σταματάει όταν ο χρήστης επιλέξει από το μενού την επιλογή έξοδο.
                                                                                                            1.   Πρόσθεση
                                                                                                                  2.   Αφαίρεση
                                                                                                                  3.   Πολλαπλασιασμό
                                                                                                                  4.   Διαίρεση
                                                                                                                  5.   Έξοδος
                                                   
                                                                                                                    Δώσε επιλογή :__

Εγώ το έλυσα όπως θα δείτε αλλά μπερδεύτηκα λίγο στο τμήμα δηλώσεων και αναρωτιέμαι πως μπορώ να το γράψω καλύτερα και γρηγορότερα  απ'ότι έτσι:


ΠΡΟΓΡΑΜΜΑ βασικές_πράξεις
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: χ, ψ, π, α, πο
  ΠΡΑΓΜΑΤΙΚΕΣ: δ
  ΧΑΡΑΚΤΗΡΕΣ: Επιλογή
ΑΡΧΗ
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΔΙΑΒΑΣΕ χ, ψ
    ΓΡΑΨΕ ' Δωσε επιλογή : '
    ΔΙΑΒΑΣΕ Επιλογή
    ΑΝ Επιλογή = 'Πρόσθεση' ΤΟΤΕ
      π <- χ + ψ
      ΓΡΑΨΕ π
    ΤΕΛΟΣ_ΑΝ
    ΑΝ Επιλογή = 'Αφαίρεση' ΤΟΤΕ
      α <- Α_Τ(χ - ψ)
      ΓΡΑΨΕ α
    ΤΕΛΟΣ_ΑΝ
    ΑΝ Επιλογή = 'Πολλαπλασιασμο' ΤΟΤΕ
      πο <- χ*ψ
      ΓΡΑΨΕ πο
    ΤΕΛΟΣ_ΑΝ
    ΑΝ Επιλογή = 'Διαίρεση' ΤΟΤΕ
      ΑΝ ψ <> 0 ΤΟΤΕ
        δ <- χ/ψ
        ΓΡΑΨΕ δ
      ΑΛΛΙΩΣ
        ΓΡΑΨΕ ' Δεν γίνεται η διαίρεση '
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ
  ΜΕΧΡΙΣ_ΟΤΟΥ Επιλογή = 'Έξοδος'
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Ευχαριστώ , Βασίλης



                   
Τίτλος: Απ: ΑΠΟΡΊΑ ΣΕ ΠΡΌΓΡΑΜΜΑ
Αποστολή από: P.Tsiotakis στις 18 Μαρ 2013, 10:29:24 ΠΜ
σωστό φαίνεται
απλά, θα μπορούσες να περάσεις από έλεγχο εγκυρότητας και τη μεταβλητή επιλογή
Τίτλος: Απ: ΑΠΟΡΊΑ ΣΕ ΠΡΌΓΡΑΜΜΑ
Αποστολή από: Λευτέρης Δουκέρης στις 18 Μαρ 2013, 06:19:56 ΜΜ
Καλησπέρα.
Ο αλγόριθμος που προτείνεις είναι μια χαρά . Απλά ίσως θα έπρεπε κάθε φορά να εμφανίζεται το «μενού επιλογών» . Επίσης Αν θες η μεταβλητή Επιλογή θα μπορούσε να είναι ακέραια όποτε ο αλγόριθμος θα είναι:

ΠΡΟΓΡΑΜΜΑ βασικές_πράξεις
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: χ, ψ, π, α, πο , Επιλογή
ΠΡΑΓΜΑΤΙΚΕΣ: δ
ΑΡΧΗ
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
Εμφάνισε 'δώσε δύο αριθμούς'
ΔΙΑΒΑΣΕ χ, ψ
Εμφάνισε '1. 'Πρόσθεση'
Εμφάνισε '2. 'Αφαίρεση'
Εμφάνισε '3. 'Πολλαπλασιασμο'
Εμφάνισε '4. 'Διαίρεση'
Εμφάνισε '5. τέλος '
Αρχή_Επανάληψης
ΓΡΑΨΕ ' Δωσε επιλογή : '
ΔΙΑΒΑΣΕ Επιλογή
Μεχρις_ότου επιλογή >=1 και επιλογή <=5
ΑΝ Επιλογή = 1 ΤΟΤΕ
π <- χ + ψ
ΓΡΑΨΕ π
αλλιώς_ΑΝ Επιλογή = 2 ΤΟΤΕ
α <- Α_Τ(χ - ψ)
ΓΡΑΨΕ α
αλλιώς_ΑΝ Επιλογή =  3 ΤΟΤΕ
πο <- χ*ψ
ΓΡΑΨΕ πο
ΤΕΛΟΣ_ΑΝ
αλλιώς_ΑΝ  Επιλογή = 4 ΤΟΤΕ
ΑΝ ψ <> 0 ΤΟΤΕ
δ <- χ/ψ
ΓΡΑΨΕ δ
ΑΛΛΙΩΣ
ΓΡΑΨΕ ' Δεν γίνεται η διαίρεση '
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΜΕΧΡΙΣ_ΟΤΟΥ Επιλογή = 5
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Τίτλος: Απ: ΑΠΟΡΊΑ ΣΕ ΠΡΌΓΡΑΜΜΑ
Αποστολή από: Stop GOTO στις 19 Μαρ 2013, 09:01:49 ΜΜ
Ευχαριστώ πολύ ... ναι όντως γινεται πιο κατανοητό με την εμφανιση του μενου