Κεφάλαιο 4

Cards (27)

  • Δομή επιλογής
    Υλοποιείται στη ΓΛΩΣΣΑ με την εντολή ΑΝ
  • Μορφές εντολής ΑΝ
    • Απλή εντολή ΑΝ... ΤΟΤΕ
    • Εντολή ΑΝ...ΤΟΤΕ..ΑΛΛΙΩΣ
    • Εντολή ΑΝ...ΤΟΤΕ..ΑΛΛΙΩΣ_ΑΝ
  • Κάθε εντολή ΑΝ πρέπει να κλείνει με ΤΕΛΟΣ_ΑΝ
  • Εμφωλευμένα ΑΝ
    Δύο ή περισσότερες εντολές της μορφής ΑΝ...ΤΟΤΕ...ΑΛΛΙΩΣ που περιέχονται η μία μέσα στην άλλη
  • Εμφωλευμένα ΑΝ
    • Οδηγούν σε πολύπλοκες δομές που αυξάνουν την πιθανότητα του λάθους και τη δυσκολία κατανόησης του προγράμματος
    • Μπορούν να γραφτούν πιο απλά χρησιμοποιώντας σύνθετες εκφράσεις ή την εντολή επιλογής ΑΝ ... ΤΟΤΕ ... ΑΛΛΙΩΣ_ΑΝ
  • Εντολή ΕΠΙΛΕΞΕ
    Εκφράζει τη δομή της πολλαπλής επιλογής
  • Σύνταξη εντολής ΕΠΙΛΕΞΕ
    1. ΕΠΙΛΕΞΕ <έκφραση>
    2. ΠΕΡΙΠΤΩΣΗ <λίστα_τιμών_1>
    3. <εντολές_1>
    4. ΠΕΡΙΠΤΩΣΗ <λίστα_τιμών_2>
    5. <εντολές_2>
    6. ......
    7. ΠΕΡΙΠΤΩΣΗ ΑΛΛΙΩΣ
    8. <εντολές_αλλιώς>
    9. ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
  • <έκφραση>

    Μεταβλητή, αριθμητική πράξη ή συγκριτική πράξη που ελέγχεται με τις τιμές στις ΠΕΡΙΠΤΩΣΕΙΣ
  • <λίστα_τιμών_Ν>
    Διακριτές τιμές, περιοχή τιμών ή συνθήκη
  • Εκτέλεση εντολής ΕΠΙΛΕΞΕ
    1. Υπολογίζεται η τιμή της έκφρασης και εκτελούνται οι εντολές της αντίστοιχης περίπτωσης
    2. Αν η τιμή δεν αντιστοιχεί σε καμία περίπτωση, εκτελούνται οι εντολές της ΠΕΡΙΠΤΩΣΗΣ_ΑΛΛΙΩΣ
  • Εμφωλευμένες δομές

    Ο συνδυασμός δύο ή περισσοτέρων δομών επιλογής ή / και επανάληψης, όπου η μία περιέχεται μέσα στην άλλη
  • Βρόχος
    Η δομή επανάληψης - μέσα στο βρόχο είναι οι εντολές που επαναλαμβάνονται
  • Δομές επανάληψης
    • ΟΣΟ
    • ΜΕΧΡΙΣ
    • ΓΙΑ
  • Γενική μορφή δομών επανάληψης
    1. ΟΣΟ: σύνθετη συνθήκη, πρώτα ελέγχει και μετά εκτελεί
    2. ΜΕΧΡΙΣ: σύνθετη συνθήκη, πρώτα εκτελεί και μετά ελέγχει
    3. ΓΙΑ: απλή συνθήκη, πρώτα ελέγχει και μετά εκτελεί
  • Μετατροπή εντολής ΓΙΑ σε ΟΣΟ και ΜΕΧΡΙΣ_ΟΤΟΥ
    1. Ι <- α
    2. ΟΣΟ Ι <= β επανάλαβε
    3. εντολές
    4. Ι <- Ι + γ
    5. ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    6. Ι <- α
    7. ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    8. εντολές
    9. Ι <- Ι + γ
    10. ΜΕΧΡΙΣ_ΟΤΟΥ Ι > β
  • επανάληψης
    Μέσα στο βρόχο είναι οι εντολές που επαναλαμβάνονται
  • Τρεις δομές επανάληψης

    • Όσο
    • Μέχρις
    • Για
  • Όσο
    Σύνθετη συνθήκη, πρώτα ελέγχει και μετά εκτελεί, ελέγχει αν θα συνεχίσει, δεν ξέρουμε από την αρχή το πλήθος των επαναλήψεων
  • Μέχρις
    Σύνθετη συνθήκη, πρώτα εκτελεί και μετά ελέγχει γι' αυτό κάνει τουλάχιστον μια επανάληψη, ελέγχει αν θα σταματήσει, δεν ξέρουμε από την αρχή το πλήθος των επαναλήψεων
  • Για
    Απλή συνθήκη, πρώτα ελέγχει και μετά εκτελεί, γνωστό εξ' αρχής πλήθος επαναλήψεων
  • Μετατροπή εντολής Για σε Όσο και Μέχρις_Οτου
    1. Όσο Ι <= β επανάλαβε
    2. Αρχή_επανάληψης, μέχρις_ότου Ι > β
  • Για τη μετατροπή από το όσο στο μέχρις_ότου, αν η τιμή του α δεν είναι αριθμός, αλλά αριθμητική τιμή (πχ. έχει προκύψει από κάποιο ΔΙΑΒΑΣΕ), πρέπει να προστεθεί ένα ΑΝ Ι <= β τότε ώστε να μην εκτελεστούν οι εντολές ούτε μία φορά
  • Έλεγχος στην αρχή, ίσως καμία εκτέλεση, συνθήκη συνέχειας (Όσο, Για)
  • Έλεγχος στο τέλος, πάντα μία εκτέλεση, συνθήκη τερματισμού (Μέχρις)
  • Εμφωλευμένοι βρόχοι
    • Ο εσωτερικός βρόχος πρέπει να βρίσκεται ολόκληρος μέσα στον εξωτερικό
    • Ο βρόχος που ξεκινάει τελευταίος, πρέπει να ολοκληρώνεται πρώτος
    • Η είσοδος σε κάθε βρόχο υποχρεωτικά γίνεται από την αρχή του
    • Δεν μπορεί να χρησιμοποιηθεί η ίδια μεταβλητή ως μετρητής δύο ή περισσοτέρων
  • Πολλαπλασιασμός αλά ρωσικά
    1. Θέσε Ρ=0
    2. Αν Μ2>0, τότε πήγαινε στο Βήμα 3, αλλιώς πήγαινε στο Βήμα 7
    3. Αν ο Μ2 είναι περιττός, τότε θέσε Ρ=Ρ+Μ1
    4. Θέσε Μ1=Μ1*2
    5. Θέσε Μ2=Μ2/2 (θεώρησε μόνο το ακέραιο μέρος)
    6. Πήγαινε στο Βήμα 2
    7. Τύπωσε τον Ρ
  • Η τεχνική του "πολλαπλασιασμού αλά ρωσικά" χρησιμοποιείται στην υλοποίηση του πολλαπλασιασμού από τον επεξεργαστή, γιατί απαιτεί μόνο προσθέσεις και πολλαπλασιασμούς/διαιρέσεις με το 2, που τους υλοποιεί με ολισθήσεις δεξιά και αριστερά, αφού χρησιμοποιεί το δυαδικό σύστημα