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


Θέμα: Reversion


From: George Charitonidis (cyberscout(@)freemail.gr)
Date: Τρι 11 Ιαν 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) και στείλτε τα κουίζ σας!!!

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