Κυριακή, 7 Σεπτεμβρίου 2014

Ποιο είναι πιο γρήγορο;

Δίνονται τα παρακάτω ισοδύναμα τμήματα εντολών:

Τμήμα Α

     Αν  Χ < 100 τότε
         Εμφάνισε Χ
     αλλιώς_αν Χ < 200 τότε
         Εμφάνισε Χ+1
     αλλιώς_αν Χ < 300 τότε
         Εμφάνισε Χ+2
     αλλιώς
         Εμφάνισε Χ+3
     Τέλος_αν

Τμήμα Β

     Αν  Χ < 100 τότε
         Εμφάνισε Χ
     αλλιώς
          Αν Χ < 200 τότε
                Εμφάνισε Χ+1
          αλλιώς
               Αν Χ < 300 τότε
                   Εμφάνισε Χ+2
               αλλιώς
                   Εμφάνισε Χ+3
               Τέλος_αν
           Τέλος_αν
      Τέλος_αν

   Τμήμα Γ

     Αν  Χ < 100 τότε
         Εμφάνισε Χ
     Τέλος_αν
     Αν (Χ >= 100) ΚΑΙ (Χ < 200) τότε
          Εμφάνισε Χ+1
     Τέλος_αν
     Αν (Χ >= 200) ΚΑΙ (Χ < 300) τότε
           Εμφάνισε Χ+2
     Τέλος_αν
     Αν  Χ >= 300 τότε
            Εμφάνισε Χ+3
     Τέλος_αν

Ποιο είναι γρηγορότερο και γιατί;

Απάντηση

Το πιο αργό από τα τρία είναι το τμήμα Γ, αφού κατά
την εκτέλεσή του θα πραγματοποιηθούν και οι τέσσερις
έλεγχοι (κάθε Αν..τότε είναι ανεξάρτητη από τις άλλες).
Τα τμήματα Α και Β έχουν την ίδια ακριβώς ταχύτητα
εκτέλεσης η οποία και είναι η μεγαλύτερη δυνατή για
τη συγκεκριμένη υπολογιστική διαδικασία (μόλις
αποτιμηθεί μια συνθήκη ως Αληθής εκτελείται η
αντίστοιχη Εμφάνισε και η αλληλουχία εντολών
ολοκληρώνεται επί τόπου).





Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου