WebQuest
Εργαστηριακή Συνεδρία Γνωριμία με τη Python (Workshop Introduction to Python for Computer Scien
Task
Δραστηριότητα ΑΑ1 (Μάντεψε τον αριθμό- Εισαγωγή στη Δομή επιλογής και Δομή επανάληψης)
Επισκεφτείτε το Δικτυακό Κόμβοhttp://www.pythonschool.net/basics/while-loops/και δείτε μέσα από παραδείγματα μικρών βίντεο τη χρήση της δομής επανάληψης While και της δομής επιλογής if www.pythonschool.net/basics/the-if-statement/
Β)Στη συνέχεια τροποποιήστε κατάλληλα τον παραπάνω κώδικα και χρησιμοποιήστε τη δομή πολλαπλής επιλογής if….elif…else για τους αντίστοιχους ελέγχους του αριθμού που δόθηκε από τον χρήστη (αν χρειαστεί συμβουλευτείτε για τη σύνταξη της δομής το www.pythonschool.net). Επιπρόσθετα προσθέστε τις κατάλληλες εντολές ώστε το πρόγραμμα να μετράει και να εμφανίζει στο τέλος τις αποτυχημένες προσπάθειες που έγιναν.
Δραστηριότητα ΑΑ2: (Εισαγωγή στις Μεταβλητές και στους Βασικούς Τύπους Δεδομένων)
a=1 a=2 a=b=2
Ανοίξτε το φύλλο εργασίας της δραστηριότητας ΑΑ2 και πειραματιστείτε με τις προτεινόμενες δραστηριότητες. Αν θέλετε να μάθετε περισσότερα για τους βασικούς τύους δεδομένων και τις μεταβλητές επισκεφτείτε τους Δικτυακούς Τόπους:
- http://www.pythonschool.net/basics/data-types-and-operators/
- http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html
- Using-python-as-a-calculator
Δραστηριότητα ΔΗ1: (Υλοποιώντας το παιχνίδι "Κρεμάλα" στην Python)
Στην δραστηριότητα αυτή θα υλοποιήσετε το παιχνίδι "Κρεμάλα" στην Python στο οποίο ο υπολογιστής θα επιλέγει μια λέξη προς εύρεση από μια λίστα διαθέσιμων λέξεων και ο παίκτης θα μαντεύει γράμματα μέχρι να βρει τη λέξη ή να τελειώσουν οι διαθέσιμες προσπάθειές του.
Οι στόχοι αυτής της δραστηριότητας είναι :
- να χρησιμοποιήσουμε τη δομή επανάληψης με σύνθετες συνθήκες
- να χρησιμοποιήσουμε τους τελεστές και λειτουργίες σε λίστες και συμβολοσειρές και να διακρίνουμε τις διαφορές τους
- να χρησιμοποιήσουμε συναρτήσεις και να μπορούμε να τις καλούμε στο πρόγραμμά μας με τις κατάλληλες παραμέτρους
- να υλοποιήσουμε αλγορίθμους αναζήτησης και συγκεκριμένα τη σειριακή αναζήτηση
Δραστηριότητα E1 (Δομή Επιλογής - Γραφική Διεπαφή - Έλεγχος ποντικιού)
Στην δραστηριότητα αυτή καλείστε να συμπληρώσετε τον κώδικα σε ένα πρόγραμμα έτσι ώστε να ελέγχει σωστά αν το σημείο που επέλεξε με το ποντίκι ο χρήστης βρίσκεται εντός μιας δεδομένης ορθογώνιας περιοχής. Ο στόχος αυτής της δραστηριότητας είναι διττός:
- να χρησιμοποιήσουμε τη δομή επιλογής για επίλυση προβλημάτων με σύνθετες συνθήκες με λογικούς τελεστές
- να διερευνήσουμε και να τροποποιήσουμε τον κώδικα μιας απλής γραφικής διεπαφής στην Python
Δραστηριότητα E2 ( Αλγορίθμος Συμπίεσης Δεδομένων RLE )
Στην δραστηριότητα αυτή θα υλοποιήσουμε τον γνωστό αλγόριθμο συμπίεσης δεδομένων RLE (Run Length Encoding) εκμεταλλευόμενοι κάποια από τα χαρακτηριστικά της γλώσσας Python όπως:
- η πολυμορφική συμπεριφορά των τελεστών +, * αποτέλεσμα του lazy evaluation της γλώσσας
- οι δυναμικές λίστες που προσφέρει η γλώσσα για την αποθήκευση ακολουθιών από αντικείμενα
Δραστηριότητα Ε3 ( Πρώτοι Αριθμοί - Κόσκινο Ερατοσθένη - Εμπειρικός υπολογισμός της απόδοσης αλγορίθμου )
Στην δραστηριότητα αυτή θα υλοποιήσετε μια συνάρτηση allPrimes εύρεσης πρώτων αριθμών με τη λογική brute force (ωμής βίας ) και μια συνάρτηση primeSieve η οποία θα υλοποιεί το κόσκινο του Ερατοσθένη. Στη συνέχεια θα συγκρίνετε πειραματικά την απόδοση των δυο αλγορίθμων για διάφορα σύνολα δεδομένων με χρήση της συνάρτησης timer της βιβλιοθήκης cs.
Δραστηριότητα Ε4 ( Αναδρομικοί Αλγόριθμοι )
Θα μελετήσουμε διάφορους αναδρομικούς αλγορίθμους και θα διερευνήσουμε με τη χρήση της timer την απόδοσή τους. Για κάθε αναδρομικό αλγόριθμο που επιλύει ένα πρόβλημα θα αναπτύξουμε και τον αντίστοιχο επαναληπτικό ώστε να συγκρίνουμε τη συμπεριφορά τους για διάφορα είδη δεδομένων εισόδου. Τέλος θα χρησιμοποιήσουμε τη βοηθητική συνάρτηση trace για την οπτικοποίηση του δέντρου των αναδρομικών κλήσεων ενός αλγορίθμου.
Attachments
Φύλλο Εργασίας Δραστηριότητας ΔΗ1
hangman.py
hangman_solution.py
Πόροι για δραστηριότητες ΔΗ
Φύλλο Εργασίας Δραστηριότητας ΔΗ1
hangman.py
hangman_solution.py
Φύλλο Εργασίας Δραστηριότητας ΑΑ1
guessnum.py
Description: Αρχείο κώδικα που χρειάζεται τροποποίηση σύμφωνα με τη δραστηριότητα ΑΑ1
gueesnumsolution2.py
Φύλλο Εργασίας Δραστηριότητας ΑΑ2
Description: Διαχείριση βασικών τύπων δεδομένων και μεταβλητών
vartest.py
Πόροι για δραστηριότητες ΑΑ1-ΑΑ3
Φύλλο Εργασίας Δραστηριότητας ΑΑ1
guessnum.py
Description: Αρχείο κώδικα που χρειάζεται τροποποίηση σύμφωνα με τη δραστηριότητα ΑΑ1
gueesnumsolution2.py
Φύλλο Εργασίας Δραστηριότητας ΑΑ2
Description: Διαχείριση βασικών τύπων δεδομένων και μεταβλητών
vartest.py
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