Σάββατο 25 Ιουνίου 2011

Άσκηση: συγγραφή διαδικασίας

Γράψτε διαδικασία η οποία διαβάζει μια ακολουθία χαρακτήρων
η οποία τερματίζεται όταν δοθεί το κενό διάστημα ή το συνολικό
πλήθος των χαρακτήρων αυτών φθάσει το 120. Τα δεδομένα
καταχωρούνται σε κατάλληλο μονοδιάστατο πίνακα που
αποτελεί και τη μια παράμετρο της διαδικασίας. Η δεύτερη
και τελευταία παράμετρος είναι το συνολικό πλήθος των
χαρακτήρων εισόδου.
Παρατήρηση : Το κενό διάστημα δε συμπεριλαμβάνεται στα
καταχωρημένα δεδομένα.

Λύση

       ΔΙΑΔΙΚΑΣΙΑ ΔΙΑΒΧΑΡ(ΧΑΡ, ΠΛΗΘ)
       ΜΕΤΑΒΛΗΤΕΣ
             ΑΚΕΡΑΙΕΣ: ΠΛΗΘ
             ΧΑΡΑΚΤΗΡΕΣ: ΧΑΡ[120], Χ
       ΑΡΧΗ
             ΠΛΗΘ <-- 0
             ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
                     ΔΙΑΒΑΣΕ Χ
                     ΑΝ (Χ < > '  ') ΤΟΤΕ
                           ΠΛΗΘ <-- ΠΛΗΘ+1
                           ΧΑΡ[ΠΛΗΘ] <-- Χ
                     ΤΕΛΟΣ_ΑΝ
             ΜΕΧΡΙΣ_ΟΤΟΥ (Χ = '  ') Ή (ΠΛΗΘ = 120)
       ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ


Παρασκευή 24 Ιουνίου 2011

Άσκηση : συγγραφή συνάρτησης

Γράψτε συνάρτηση που δέχεται έναν ακέραιο πίνακα
Α[3, 12, 4] και υπολογίζει το ελάχιστο στοιχείο του.

Λύση

     ΣΥΝΑΡΤΗΣΗ ΜΙΚΡ(Α) : ΑΚΕΡΑΙΑ
     ΜΕΤΑΒΛΗΤΕΣ
           ΑΚΕΡΑΙΕΣ: Α[3, 12, 4], Κ, Λ, Μ, ΜΙΚ
     ΑΡΧΗ
           ΜΙΚ <-- Α[1, 1, 1]
           ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 3
                ΓΙΑ Λ ΑΠΟ 1 ΜΕΧΡΙ 12
                      ΓΙΑ Μ ΑΠΟ 1 ΜΕΧΡΙ 4
                           ΑΝ Α[Κ, Λ, Μ] < ΜΙΚ ΤΟΤΕ
                                 ΜΙΚ <-- Α[Κ, Λ, Μ]
                           ΤΕΛΟΣ_ΑΝ
                      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           ΜΙΚΡ <-- ΜΙΚ
     ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ



Άσκηση : συγγραφή συνάρτησης

Γράψτε συνάρτηση που δέχεται έναν ακέραιο πίνακα
Α[3, 12, 4] και υπολογίζει το ελάχιστο στοιχείο του.

Λύση

     ΣΥΝΑΡΤΗΣΗ ΜΙΚΡ(Α) : ΑΚΕΡΑΙΑ
     ΜΕΤΑΒΛΗΤΕΣ
           ΑΚΕΡΑΙΕΣ: Α[3, 12, 4], Κ, Λ, Μ, ΜΙΚ
     ΑΡΧΗ
           ΜΙΚ <-- Α[1, 1, 1]
           ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 3
                ΓΙΑ Λ ΑΠΟ 1 ΜΕΧΡΙ 12
                      ΓΙΑ Μ ΑΠΟ 1 ΜΕΧΡΙ 4
                           ΑΝ Α[Κ, Λ, Μ] < ΜΙΚ ΤΟΤΕ
                                 ΜΙΚ <-- Α[Κ, Λ, Μ]
                           ΤΕΛΟΣ_ΑΝ
                      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           ΜΙΚΡ <-- ΜΙΚ
     ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ



Πέμπτη 23 Ιουνίου 2011

Συμπλήρωση κενών

Συμπληρώστε τα κενά που λείπουν στις παρακάτω προτάσεις
1. Η περιεχόμενη ομάδα εντολών μιας δομής επανάληψης
    μπορεί να εκτελεστεί 0 ή τουλάχιστον μία ή ______
    φορές.
2. Μια μεταβλητή έχει ένα συγκεκριμένο _____ δεδομένων.
3. Ο ________ πίνακας διατάσσει τα στοιχεία του κατά
    μήκος μιας γραμμής ή μιας στήλης.
4. Η Α_Τ είναι μια προκαθορισμένη ________ της ΓΛΩΣΣΑΣ.
5. Ένα πρόγραμμα γραμμένο σε γλώσσα _______ δεν απαιτεί
    μεταγλωττιστή για την εκτέλεσή του.


Απάντηση

1. άπειρες
2. τύπο
3. μονοδιάστατος
4. συνάρτηση
5. μηχανής

Τρίτη 21 Ιουνίου 2011

Ερωτήσεις σωστού λάθους

Ποιες από τις παρακάτω προτάσεις είναι σωστές και ποιες
λάθος;
1. Αυτός που καλείται να επιλύσει  ένα πρόβλημα αποκαλείται
    και επιλυτής.
2. Τα προβλήματα βελτιστοποίησης επιλύονται ευκολότερα
    από τα προβλήματα απόφασης.
3. Η εντολή Δεδομένα είναι πολύ συνηθισμένη στα
    προγράμματα.
4. Οι πίνακες έχουν μεταβλητό πλήθος στοιχείων.
5. Ο τμηματικός προγραμματισμός επεκτείνει τις
    δυνατότητες των γλωσσών προγραμματισμού.

Απαντήσεις

1. Σ
2. Λ
3. Λ
4. Λ
5. Σ

Άσκηση : Γέμισμα πίνακα

Γράψτε αλγόριθμο που διαβάζει τα μεγέθη 30
γωνιών και καταχωρεί σε έναν πραγματικό πίνακα
Α[30, 3] το ημίτονο (1η στήλη), το συνημίτονο
(2η στήλη) και την εφαπτομένη (3η στήλη) τους.
Αν η εφαπτομένη δεν ορίζεται, καταχωρείται η
τιμή -9999.9

Λύση

      Αλγόριθμος Γεμ
      Για κ από 1 μέχρι 30
            Διάβασε Χ
            Α[κ, 1] <-- ΗΜ(Χ)
            Α[κ, 2] <-- ΣΥΝ(Χ)
            Αν Α[κ, 2] < > 0 τότε
                   Α[κ, 3] <-- ΕΦ(Χ)
            Τέλος_αν
      Τέλος_επανάληψης
      Αποτελέσματα // Α //
      Τέλος Γεμ

Σάββατο 18 Ιουνίου 2011

Φρουρός

Γράψτε αλγόριθμο που διαβάζει μια ακολουθία τετραψήφιων
θετικών ακεραίων αριθμών (η είσοδος ολοκληρώνεται μόλις
δοθεί μια μη θετική τετραψήφια τιμή), υπολογίζει και
εμφανίζει:
α) το άθροισμα των πρώτων ψηφίων τους,
β) το γινόμενο των τελευταίων ψηφίων τους.
Παρατήρηση : Θεωρείστε ότι δόθηκε  τουλάχιστον μια
τιμή εισόδου διαφορετική του φρουρού.

Λύση

      Αλγόριθμος Φρουρός
      Αθρ <-- 0
      Γιν <-- 1
      Αρχή_επανάληψης
            Διάβασε Χ
            Αν (Χ >= 1000) ΚΑΙ (Χ <= 9999) τότε
                  Ψ0 <-- Χ mod 10
                  Ψ3 <-- Χ div 1000
                  Αθρ <-- Αθρ+Ψ3
                  Γιν <-- Γιν*Ψ0
            Τέλος_αν
      Μέχρις_ότου (Χ < 1000) Ή (Χ > 9999)
      Εμφάνισε Αθρ, Γιν
      Τέλος Φρουρός

Κυκλώστε τα σωστά

Ποιες από τις παρακάτω προτάσεις αντιπροσωπεύουν διαφορές
ανάμεσα σε μια συνάρτηση και μια διαδικασία;
1. Η συνάρτηση μπορεί να υπολογίζει ένα μόνο αποτέλεσμα
    ενώ η διαδικασία μπορεί να εκτελεί οποιαδήποτε λειτουργία.
2. Η συνάρτηση είναι πιο γρήγορη από μια διαδικασία.
3. Η συνάρτηση και η διαδικασία έχουν διαφορετικό τρόπο
    κλήσης.
4. Η συνάρτηση έχει τύπο ενώ η διαδικασία δεν έχει.
5. Η διαδικασία μπορεί να μην έχει καμιά παράμετρο ενώ
    η συνάρτηση πρέπει να έχει τουλάχιστον μία.
6. Η διεύθυνση επιστροφής μιας συνάρτησης είναι το
    ακριβές σημείο στο οποίο πραγματοποιήθηκε η κλήση,
    ενώ η διεύθυνση επιστροφής της διαδικασίας είναι η
    εντολή μετά την ΚΑΛΕΣΕ.

Απάντηση

1, 3, 4, 6

Παρασκευή 17 Ιουνίου 2011

Απλοποίηση

Απλοποιήστε το παρακάτω σύνολο εντολών
     Διάβασε α
     Αν α > 27 τότε
           β <-- Ψευδής
     αλλιώς
           β <--  Αληθής
     Τέλος_αν
     Αν β Ή ΟΧΙ(β) τότε
           γ <-- α^2
     Τέλος_αν
     γ <-- γ+1

Λύση

     Διάβασε α
     β <-- α <= 27
     γ <-- α^2+1
    

Πέμπτη 16 Ιουνίου 2011

Πίνακας αλήθειας

Συμπληρώστε τα κενά στον πίνακα αλήθειας που ακολουθεί:

     Χ                  Υ             ΟΧΙ Χ ΚΑΙ ΟΧΙ Υ    Χ  Ή ΟΧΙ Υ
                                         Αληθής
                                                                  Ψευδής
Ψευδής                               Ψευδής

Απάντηση


  Χ                  Υ             ΟΧΙ Χ ΚΑΙ ΟΧΙ Υ    Χ  Ή ΟΧΙ Υ
Ψευδής      Ψευδής               Αληθής           Αληθής
Ψευδής      Αληθής               Ψευδής           Ψευδής
Ψευδής      Αληθής               Ψευδής           Ψευδής



Προσδιορισμός τύπου υποπρογράμματος

Ποιο είδος υποπρογράμματος θα επιλέγατε για καθένα από
τους παρακάτω υπολογισμούς
1. Εύρεση των 4 μεγαλύτερων στοιχείων στον πίνακα Α[70].
2. Υπολογισμός του αθροίσματος 1+3+....+57.
3. Υπολογισμός του αθροίσματος και του μέσου όρου 50
    τυχαίων αριθμών.
4. Αντιγραφή των πρώτων 15 θέσεων του πίνακα Α[100]
    στον πίνακα Β[15].
5. Υπολογισμός του πλήθους των λύσεων της εξίσωσης
     3Χ+5Υ -2 = 0 στο ακέραιο διάστημα τιμών [-20, 20].

Απάντηση

1. Διαδικασία
2. Συνάρτηση
3. Διαδικασία
4. Διαδικασία
5. Συνάρτηση

Τρίτη 14 Ιουνίου 2011

Συμπληρώστε τις σχέσεις

Αν  Χ, Υ ακέραιες μεταβλητές συμπληρώστε τις
παρακάτω σχέσεις
1.  Α_Τ(Χ)+Α_Τ(Υ) < 0  = ................
2.  Α_Τ(Χ) DIV (A_T(X)+A_T(Y)+1) = ...................
3.  Α_Τ(Υ) MOD (A_T(X)+A_T(Y)+1) = ...................
4.  A_M(X)+A_M(Y) <= X+Y = .................

Απαντήσεις

1. ΨΕΥΔΗΣ
2. 0
3. A_T(Y)
4. ΑΛΗΘΗΣ


Συμπλήρωση κενών

Συμπληρώστε τα κενά που λείπουν
1. Το _______ είναι αυτό που προσπαθούμε να βρούμε σε
    ένα πρόβλημα.
2. Η ___________ είναι ένα αλγοριθμικό κριτήριο που
    εξασφαλίζει ότι ο αλγόριθμος κάποτε τελειώνει.
3. Η εγγραφή είναι μια _______ δεδομένων.
4. Οι μεταγλωττιστές είναι μια κατηγορία ___________
    προγραμμάτων.
5. Ο _______ ^ είναι αριθμητικός.

Απαντήσεις

1. ζητούμενο
2. περατότητα
3. δομή
4. μεταφραστικών
5. τελεστής

Παρασκευή 10 Ιουνίου 2011

Άσκηση : επεξεργασία δοσμένου πλήθους αλφαριθμητικών δεδομένων

Γράψτε αλγόριθμο που διαβάζει 25 λέξεις και
εμφανίζει τη λέξη εκείνη που προηγείται αλφαβητικά
όλων των άλλων.
Παρατήρηση : Όλες οι λέξεις είναι διαφορετικές
μεταξύ τους και  απαρτίζονται από κεφαλαία γράμματα.

Λύση

    Αλγόριθμος Λέξεις
    Διάβασε Λέξη
    Μικ <-- Λέξη
    Για κ από 2 μέχρι 25
         Διάβασε Λέξη
         Αν Λέξη < Μικ τότε
              Μικ <-- Λέξη
         Τέλος_αν
    Τελος_επανάληψης
    Εμφάνισε Μικ
    Τέλος Λέξεις

Πέμπτη 9 Ιουνίου 2011

Διόρθωση λανθασμένων προτάσεων

Διορθώστε τις παρακάτω προτάσεις και επαναδιατυπώστε τις
με σωστό τρόπο.
1. Η λίστα των παραμέτρων μιας συνάρτησης είναι τουλάχιστον
    μονομελής.
2. Το πρόβλημα "Επιλογή μέσου μαζικής μεταφοράς" είναι
    αδόμητο.
3. Το αποτέλεσμα της παράστασης 2+3*4 είναι 20.
4. Η εντολή εκχώρησης παριστάνεται με το σύμβολο =.
5. Για να περιγράψουμε το πλήθος των επιβατών ενός
    πλοίου απαιτείται μια μεταβλητή πραγματικού τύπου.



Απάντηση

1.  Η λίστα των παραμέτρων μιας συνάρτησης είναι
     προαιρετική.
2. Το πρόβλημα "Επιλογή μέσου μαζικής μεταφοράς" είναι
    ημιδομημένο.
3. Το αποτέλεσμα της παράστασης 2+3*4 είναι 14.
4. Η εντολή εκχώρησης παριστάνεται με το σύμβολο <--.
5. Για να περιγράψουμε το πλήθος των επιβατών ενός
    πλοίου απαιτείται μια μεταβλητή ακεραίου τύπου.

Τετάρτη 8 Ιουνίου 2011

Άσκηση : επεξεργασία στοιχείων μονοδιάστατου πίνακα

Σε μια τάξη φοιτούν 25 μαθητές. Γράψτε αλγόριθμο που,
δοθέντος του πίνακα ΥΨΗ[25] που περιέχει τα ύψη των 
μαθητών αυτής της τάξης, εμφανίζει τους αύξοντες 
αριθμούς (1-25) των 5 ψηλότερων μαθητών.
Παρατήρηση : Όλα τα ύψη είναι διαφορετικά μεταξύ τους.


Λύση

     Αλγόριθμος ΤΑΞΗ
     Δεδομένα // ΥΨΗ //
     Για κ από 1 μέχρι 25
          ΑΑ[κ] <-- κ
     Τέλος_επανάληψης
      Για κ από μέχρι 25
          Για λ από 25 μέχρι κ με_βήμα -1
               Αν ΥΨΗ[λ-1] < ΥΨΗ[λ] τότε
                     Βοηθ <-- ΥΨΗ[λ-1]
                     ΥΨΗ[λ-1] <-- ΥΨΗ[λ]
                     ΥΨΗ[λ] <-- Βοηθ
                     ΤΕΜΡ <-- ΑΑ[λ-1]
                     ΑΑ[λ-1] <-- ΑΑ[λ]
                     ΑΑ[λ] <-- ΤΕΜΡ
               Τέλος_αν
          Τέλος_επανάληψης
     Τέλος_επανάληψης
     Για κ από 1 μέχρι 5
           Εμφάνισε ΑΑ[κ]
     Τέλος_επανάληψης
     Τέλος ΤΑΞΗ

Τρίτη 7 Ιουνίου 2011

Επεξεργασία μονοδιάστατου πίνακα

Σε μια τάξη φοιτούν 28 μαθητές. Γράψτε αλγόριθμο ο οποίος:
α) διαβάζει τον τελικό μέσο όρο επίδοσης του απουσιολόγου
β) διαβάζει τους τελικούς μέσους όρους επίδοσης των
    υπόλοιπων 27 μαθητών και τους καταχωρεί σε μονο-
    διάστατο πίνακα,
γ) υπολογίζει και εμφανίζει:
    * τον αύξοντα αριθμό (1-27) του μαθητή που ο τελικός
       μέσος όρος επίδοσής του απέχει λιγότερο από τον
       τελικό μέσο όρο επίδοσης του απουσιολόγου
       (θεωρείστε ότι είναι μοναδικός),
    * τους αύξοντες αριθμούς (1-27) των μαθητών που ο
       τελικός μέσος όρος επίδοσής τους  απέχει περισσότερο
       από τον τελικό μέσο όρο επίδοσης του απουσιολόγου.
Παρατήρηση : Θεωρείστε ότι ο απουσιολόγος έχει το
μεγαλύτερο τελικό μέσο όρο επίδοσης μέσα στην τάξη.

Λύση

       Αλγόριθμος Μαθητές
       Διάβασε ΜΟΑπ
       Για κ από 1 μέχρι 27
            Διάβασε ΜΟ[κ]
       Τέλος_επανάληψης
       Μεγ <-- ΜΟΑπ-ΜΟ[1]
       Μικ <-- ΜΟΑπ-ΜΟ[1]
       Για κ από μέχρι 27
            Αν ΜΟΑπ-ΜΟ[κ] > Μεγ τότε
                  Μεγ <-- ΜΟΑπ-ΜΟ[κ]
            Τέλος_αν
            Αν ΜΟΑπ-ΜΟ[κ] < Μικ τότε
                  Μικ <-- ΜΟΑπ-ΜΟ[κ]
                  ΑΑΜικ <-- κ
            Τέλος_αν
       Τέλος_επανάληψης
       Εμφάνισε 'Μικρότερη απόκλιση από τον τελικό '
       Εμφάνισε 'μέσο όρο του απουσιολόγου έχει ο :', ΑΑΜικ
       Εμφάνισε 'Τη μεγαλύτερη απόκλιση από τον τελικό'
       Εμφάνισε 'μέσο όρο του απουσιολόγου είχαν οι:',
        Για κ από μέχρι 27
            Αν ΜΟΑπ-ΜΟ[κ] =  Μεγ τότε
                  Εμφάνισε κ
            Τέλος_αν
       Τέλος_επανάληψης
       Τέλος Μαθητές

Κυριακή 5 Ιουνίου 2011

Ερωτήσεις σωστού λάθους

Ποιές από τις παρακάτω προτάσεις είναι σωστές και ποιές
λάθος;
1. Σε μια δυναμική δομή δεδομένων δεν μπορεί να γίνει
    η λειτουργία της προσπέλασης.
2. Όλοι οι αλφαριθμητικοί πίνακες είναι μονοδιάστατοι.
3. Ένα υπολογιστικό πρόβλημα μπορεί να ανήκει και
    στην κατηγορία των προβλημάτων απόφασης.
4. Οι συναρτήσεις είναι πιο γρήγορες από τις διαδικασίες.
5. Η πρόσθεση έχει την ίδια προτεραιότητα με την αφαίρεση.


Απαντήσεις

1. Λ
2. Λ
3. Σ
4. Λ
5. Σ

Παρασκευή 3 Ιουνίου 2011

Άσκηση : συγγραφή διαδικασίας

Γράψτε διαδικασία η οποία δέχεται ως παραμέτρους
* δύο ακέραιους πίνακες Α[30], Β[30]
* έναν πραγματικό πίνακα Χ[30, 2]
και επιλύει τις εξισώσεις:
      Α[Κ]*Χ = Β[Κ], για Κ = 1, 2, 3, ...., 30
Αν μια τέτοια εξίσωση έχει μοναδική λύση,
καταχωρείται στη θέση Χ[Κ, 1] και στη θέση Χ[Κ, 2]
εκχωρείται η τιμή 0.
Αν υπάρχουν άπειρες λύσεις, η θέση Χ[Κ, 1] μένει
κενή και στη θέση Χ[Κ, 2] εκχωρείται η τιμή 1.
Αν η εξίσωση είναι αδύνατη, η θέση Χ[Κ, 1] μένει
κενή και στη θέση Χ[Κ, 2] εκχωρείται η τιμή 2.

Λύση

      ΔΙΑΔΙΚΑΣΙΑ ΕΞΙΣΩΣΕΙΣ(Α, Β, Χ)
      ΜΕΤΑΒΛΗΤΕΣ
            ΑΚΕΡΑΙΕΣ: Α[30], Β[30], Κ
            ΠΡΑΓΜΑΤΙΚΕΣ: Χ[30, 2]
      ΑΡΧΗ
            ΓΙΑ Κ ΑΠΟ 1 ΜΕΧΡΙ 30
                 ΑΝ Α[Κ] < > 0 ΤΟΤΕ
                       Χ[Κ, 1] <-- Β[Κ]/Α[Κ]
                       Χ[Κ, 2] <-- 0
                 ΑΛΛΙΩΣ
                        ΑΝ Β[Κ] = 0 ΤΟΤΕ
                              Χ[Κ, 2] <-- 1
                        ΑΛΛΙΩΣ
                              Χ[Κ, 2] <-- 2
                        ΤΕΛΟΣ_ΑΝ
                 ΤΕΛΟΣ_ΑΝ
            ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Πέμπτη 2 Ιουνίου 2011

Άσκηση : συγγραφή συνάρτησης

Γράψτε συνάρτηση που δέχεται ως παραμέτρους τρεις
 ακέραιες τιμές Α, Β, Γ, ένα χαρακτήρα Χ και υπολογίζει το:
* Α+Β+Γ, αν Χ = 'Α'
* Α-Β-Γ, αν Χ = 'Δ'
* Α*Β*Γ, αν Χ = 'Π'
* (Α+Β-Γ)/2, αν το Χ έχει μια οποιαδήποτε άλλη τιμή.

Λύση

       ΣΥΝΑΡΤΗΣΗ Φ(Α, Β, Γ, Χ) : ΠΡΑΓΜΑΤΙΚΗ
       ΜΕΤΑΒΛΗΤΕΣ
              ΑΚΕΡΑΙΕΣ: Α, Β, Γ
              ΧΑΡΑΚΤΗΡΕΣ: Χ
       ΑΡΧΗ
              ΑΝ Χ = 'Α' ΤΟΤΕ 
                   Φ <-- Α+Β+Γ
              ΑΛΛΙΩΣ_ΑΝ Χ = 'Δ' ΤΟΤΕ
                   Φ <-- Α-Β-Γ
              ΑΛΛΙΩΣ_ΑΝ Χ = 'Π' ΤΟΤΕ
                   Φ <-- Α*Β*Γ
              ΑΛΛΙΩΣ
                   Φ <-- (Α+Β-Γ)/2
              ΤΕΛΟΣ_ΑΝ
       ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Τετάρτη 1 Ιουνίου 2011

Μετατροπές

Γράψτε με ισοδύναμο τρόπο το παρακάτω σύνολο εντολών,
χρησιμοποιώντας μόνο εντολές Αν..τότε
      Αν Χ > Α τότε
            Αν Υ > Β τότε
                Ζ <-- Χ*Υ+Α-Β
            αλλιώς
                Ζ <-- Χ+Υ*(Α-Β)
            Τέλος_αν
     αλλιώς_αν Χ < Α τότε
            Αν Υ >= Β τότε
                  Ζ <-- Χ^Υ+Α*Β
            Τέλος_αν
      αλλιώς
            Αν Υ < Β τότε
                  Ζ <-- (Χ-1)^Α+Υ*2-Β
            Τέλος_αν
      Τέλος_αν


Λύση

       Αν (Χ > Α) ΚΑΙ (Υ > Β) τότε            
                Ζ <-- Χ*Υ+Α-Β
       Τέλος_αν
       Αν (Χ > Α) ΚΑΙ (Υ <= Β) τότε   
                Ζ <-- Χ+Υ*(Α-Β)
       Τέλος_αν
       Αν (Χ < Α) ΚΑΙ (Υ >= Β) τότε
                  Ζ <-- Χ^Υ+Α*Β
       Τέλος_αν
       Αν (Χ = Α) ΚΑΙ (Υ < Β) τότε
                  Ζ <-- (Χ-1)^Α+Υ*2-Β
       Τέλος_αν