WebQuest

Εργαστηριακή Συνεδρία Γνωριμία με τη Python (Workshop Introduction to Python for Computer Scien

Task

20151005022633hegaR.jpg

Δραστηριότητα ΑΑ1 (Μάντεψε τον αριθμό- Εισαγωγή στη Δομή επιλογής και Δομή επανάληψης)

Επισκεφτείτε το Δικτυακό Κόμβοhttp://www.pythonschool.net/basics/while-loops/και δείτε μέσα από παραδείγματα μικρών βίντεο τη χρήση της δομής επανάληψης While και της δομής επιλογής if www.pythonschool.net/basics/the-if-statement/

Α)Τροποποιήστε το κώδικα python που δίνεται στο αρχείο guessnum.py προσθέτοντας τα κατάλληλα κενά στη δομή επανάληψης και στις δομές επιλογής. Σκοπός είναι η δημιουργία ενός προγράμματος όπου αρχικά ο υπολογιστής θα επιλέγει έναν αριθμό από το 1 μέχρι το 100 και στη συνέχεια ο χρήστης θα προσπαθεί να τον μαντέψει από το πληκτρολόγιο. Γράψτε ένα σχόλιο στην αρχή του προγράμματος για το τι κάνει το πρόγραμμα (#). Τρέξτε το πρόγραμμα!

Β)Στη συνέχεια τροποποιήστε κατάλληλα τον παραπάνω κώδικα και χρησιμοποιήστε τη δομή πολλαπλής επιλογής if….elif…else για τους αντίστοιχους ελέγχους του αριθμού που δόθηκε από τον χρήστη (αν χρειαστεί συμβουλευτείτε για τη σύνταξη της δομής το www.pythonschool.net). Επιπρόσθετα προσθέστε τις κατάλληλες εντολές ώστε το πρόγραμμα να μετράει και να εμφανίζει στο τέλος τις αποτυχημένες προσπάθειες που έγιναν.

Δραστηριότητα ΑΑ2: (Εισαγωγή στις Μεταβλητές και στους Βασικούς Τύπους Δεδομένων)


a1tag.pnga2tag.pngab2tag.png

        a=1              a=2                a=b=2

Ανοίξτε το φύλλο εργασίας της δραστηριότητας ΑΑ2 και πειραματιστείτε με τις προτεινόμενες δραστηριότητες. Αν θέλετε να μάθετε περισσότερα για τους βασικούς τύους δεδομένων και τις μεταβλητές επισκεφτείτε τους Δικτυακούς Τόπους:

Δραστηριότητα ΔΗ1: (Υλοποιώντας το παιχνίδι  "Κρεμάλα" στην Python)

Στην δραστηριότητα αυτή θα υλοποιήσετε το παιχνίδι "Κρεμάλα" στην Python στο οποίο ο υπολογιστής θα επιλέγει μια λέξη προς εύρεση από μια λίστα διαθέσιμων λέξεων και ο παίκτης θα μαντεύει γράμματα μέχρι να βρει τη λέξη ή να τελειώσουν οι διαθέσιμες προσπάθειές του.

Οι στόχοι αυτής της δραστηριότητας είναι :

  • να χρησιμοποιήσουμε τη δομή επανάληψης με σύνθετες συνθήκες
  • να χρησιμοποιήσουμε τους τελεστές και λειτουργίες σε λίστες και συμβολοσειρές και να διακρίνουμε τις διαφορές τους
  • να χρησιμοποιήσουμε συναρτήσεις και να μπορούμε να τις καλούμε στο πρόγραμμά μας με τις κατάλληλες παραμέτρους
  • να υλοποιήσουμε αλγορίθμους αναζήτησης και συγκεκριμένα τη σειριακή αναζήτηση


Δραστηριότητα E1 (Δομή Επιλογής - Γραφική Διεπαφή - Έλεγχος ποντικιού)

Στην δραστηριότητα αυτή καλείστε να συμπληρώσετε τον κώδικα σε ένα πρόγραμμα έτσι ώστε να ελέγχει σωστά αν το σημείο που επέλεξε με το ποντίκι ο χρήστης βρίσκεται εντός μιας δεδομένης ορθογώνιας περιοχής. Ο στόχος αυτής της δραστηριότητας είναι διττός:

  • να χρησιμοποιήσουμε τη δομή επιλογής για επίλυση προβλημάτων με σύνθετες συνθήκες με λογικούς τελεστές
  • να διερευνήσουμε και να τροποποιήσουμε τον κώδικα μιας απλής γραφικής διεπαφής στην Python

Δραστηριότητα E2 ( Αλγορίθμος Συμπίεσης Δεδομένων RLE )

Στην δραστηριότητα αυτή θα υλοποιήσουμε τον γνωστό αλγόριθμο συμπίεσης δεδομένων RLE (Run Length Encoding) εκμεταλλευόμενοι κάποια από τα χαρακτηριστικά της γλώσσας Python όπως:

  • η πολυμορφική συμπεριφορά των τελεστών +, * αποτέλεσμα του lazy evaluation της γλώσσας
  • οι δυναμικές λίστες που προσφέρει η γλώσσα για την αποθήκευση ακολουθιών από αντικείμενα
https://www.e-education.psu.edu/files/geog486/image/L05_fig49.gif

Δραστηριότητα Ε3 ( Πρώτοι Αριθμοί - Κόσκινο Ερατοσθένη - Εμπειρικός υπολογισμός της απόδοσης αλγορίθμου )

Στην δραστηριότητα αυτή θα υλοποιήσετε μια συνάρτηση allPrimes εύρεσης πρώτων αριθμών με τη λογική brute force (ωμής βίας ) και μια συνάρτηση primeSieve η οποία θα υλοποιεί το κόσκινο του Ερατοσθένη. Στη συνέχεια θα συγκρίνετε πειραματικά την απόδοση των δυο αλγορίθμων για διάφορα σύνολα δεδομένων με χρήση της συνάρτησης timer της βιβλιοθήκης cs.

Δραστηριότητα Ε4 ( Αναδρομικοί Αλγόριθμοι )

https://upload.wikimedia.org/wikipedia/commons/6/60/Tower_of_Hanoi_4.gif

Θα μελετήσουμε διάφορους αναδρομικούς αλγορίθμους και θα διερευνήσουμε με τη χρήση της timer την απόδοσή τους. Για κάθε αναδρομικό αλγόριθμο που επιλύει ένα πρόβλημα θα αναπτύξουμε και τον αντίστοιχο επαναληπτικό ώστε να συγκρίνουμε τη συμπεριφορά τους για διάφορα είδη δεδομένων εισόδου. Τέλος θα χρησιμοποιήσουμε τη βοηθητική συνάρτηση trace για την οπτικοποίηση του δέντρου των αναδρομικών κλήσεων ενός αλγορίθμου.

Attachments

Πόροι για δραστηριότητες ΑΑ1-ΑΑ3
Φύλλο Εργασίας Δραστηριότητας ΑΑ1
guessnum.py
Description: Αρχείο κώδικα που χρειάζεται τροποποίηση σύμφωνα με τη δραστηριότητα ΑΑ1
gueesnumsolution2.py
Φύλλο Εργασίας Δραστηριότητας ΑΑ2
Description: Διαχείριση βασικών τύπων δεδομένων και μεταβλητών
vartest.py
Πόροι για δραστηριότητες ΑΑ1-ΑΑ3
Φύλλο Εργασίας Δραστηριότητας ΑΑ1
guessnum.py
Description: Αρχείο κώδικα που χρειάζεται τροποποίηση σύμφωνα με τη δραστηριότητα ΑΑ1
gueesnumsolution2.py
Φύλλο Εργασίας Δραστηριότητας ΑΑ2
Description: Διαχείριση βασικών τύπων δεδομένων και μεταβλητών
vartest.py
Πόροι για δραστηριότητες Ε1-Ε4
testRectangle.py
cs.py
Description: Αρχείο κώδικα Python με βοηθητικές συναρτήσεις (timer, trace)
Φύλλο Εργασίας Δραστηριότητας Ε1
Description: Έλεγχος αν ένα σημείο ανήκει σε μια ορθογώνια περιοχή
Φύλλο Εργασίας Δραστηριότητας Ε2
Description: Αλγόριθμος Συμπίεσης Run Length Encoding (RLE)
Φύλλο Εργασίας Δραστηριότητας Ε3
Description: Το κόσκινο του Ερατοσθένη
Φύλλο Εργασίας Δραστηριότητας Ε4
Description: Αναδρομικοί Αλγόριθμοι
Φύλλο Εργασίας Δραστηριότητας Ε5
Description: Αλγόριθμος Κρυπτογράφησης του Καίσαρα
Πόροι για δραστηριότητες Ε1-Ε4
testRectangle.py
cs.py
Description: Αρχείο κώδικα Python με βοηθητικές συναρτήσεις (timer, trace)
Φύλλο Εργασίας Δραστηριότητας Ε1
Description: Έλεγχος αν ένα σημείο ανήκει σε μια ορθογώνια περιοχή
Φύλλο Εργασίας Δραστηριότητας Ε2
Description: Αλγόριθμος Συμπίεσης Run Length Encoding (RLE)
Φύλλο Εργασίας Δραστηριότητας Ε3
Description: Το κόσκινο του Ερατοσθένη
Φύλλο Εργασίας Δραστηριότητας Ε4
Description: Αναδρομικοί Αλγόριθμοι
Φύλλο Εργασίας Δραστηριότητας Ε5
Description: Αλγόριθμος Κρυπτογράφησης του Καίσαρα

The Public URL for this WebQuest:
http://zunal.com/webquest.php?w=296423
WebQuest Hits: 5,136
Save WebQuest as PDF

Ready to go?

Select "Logout" below if you are ready
to end your current session.