JotD / QotD Ελληνική Λίστα Κουίζ (QotD)


Θέμα: Reversion



(nil): George Charitonidis (cyberscout(@)freemail.gr)
Ημερομηνία: Tue 11 Jan 2005 - 13:13:35 EET

Καλή χρονιά σε όλους!

Μια μικρή πρόκληση για τους "κομπιουτεράδες" και κυρίως αυτούς που
ασχολούνται λιγάκι με τον προγραμματισμό.

Έστω ότι έχουμε δυο μεταβλητές Α=10 και Β=20. Θέλουμε να
αντιμεταθέσουμε τα περιεχόμενα των μεταβλητών αυτών, ώστε τελικά να
έχουμε Α=20 και Β=10. Ένας τρόπος (ο "εύκολος") για να το πετύχουμε
αυτό είναι να δημιουργήσουμε μια προσωρινή μεταβλητή ΤΜΡ και να
κάνουμε τα εξής:

ΤΜΡ = Α; // Α=10, Β=20, ΤΜΡ=10
Α = Β; // Α=20, Β=20, ΤΜΡ=10
Β = ΤΜΡ; // Α=20, Β=10, ΤΜΡ=10

(Σε σχόλια αναφέρω τα περιεχόμενα κάθε μεταβλητής μετά από κάθε βήμα)

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

Για οποιαδήποτε απορία ή σχόλιο επικοινωνήστε μαζί μου με προσωπικό
mail. Η απάντηση (ή οι απαντήσεις, αν υπάρχουν πολλές) θα σταλεί σε
10-15 μέρες.

Καλή επιτυχία!

George Charitonidis
Computer Science Department
University of Crete

____________________________________________________________________
http://www.freemail.gr - δωρεάν υπηρεσία ηλεκτρονικού ταχυδρομείου.
http://www.freemail.gr - free email service for the Greek-speaking.

--
_______________________________________________________________
      Quiz of the Day ... Ελληνική Λίστα με σπαζοκεφαλιές
             https://anekdota.duckdns.org
        ___ Η QotD βγαίνει σε Ελληνικά και Greeklish ___
_______________________________________________________________

Γραφτείτε και εσείς στην Ελληνική Λίστα με σπαζοκεφαλιές (QotD) και στείλτε τα κουίζ σας!!!

Επιστροφή στον κεντρικό κατάλογο αυτού του αρχείου