Μετάβαση στο κύριο περιεχόμενο

Αξιολόγηση και Εξήγηση

Εικονίδιο Εργαλειοθήκης Εκπαιδευτικού Εργαλειοθήκη Εκπαιδευτικού - Εισαγωγή στην Αποδοτικότητα Κώδικα

Τώρα που οι μαθητές έχουν εξασκηθεί στη σύνταξη ακολουθιών κώδικα για την ολοκλήρωση μιας συγκεκριμένης εργασίας, θα τους ζητηθεί να εφαρμόσουν αυτές τις δεξιότητες στην ανάγνωση ακολουθιών κώδικα και στην αξιολόγησή τους. Σε αυτήν τη δραστηριότητα, στους μαθητές θα δοθεί ένας χάρτης παρόμοιος με αυτόν στην ενότητα Παιχνίδι και θα τους ζητηθεί να εξετάσουν 3 ακολουθίες κώδικα για να επιλέξουν την προτιμώμενη λύση. Για κάθε ακολουθία οι μαθητές θα απαντήσουν σε 3 ερωτήσεις:

  • Αυτός ο κώδικας ολοκληρώνει την εργασία;

  • Αν λειτουργεί, ποια είναι τα πλεονεκτήματα αυτού του κώδικα σε σχέση με τους άλλους;

  • Ποια είναι τα μειονεκτήματα αυτού του κώδικα σε σχέση με τους άλλους;

Στη συνέχεια, εξετάζοντας όλες τις ακολουθίες, οι μαθητές θα εισαχθούν στην ιδέα της αποδοτικότητας του κώδικα και θα ερωτηθούν ποια είναι η προτιμώμενη λύση τους —με βάση την αποδοτικότητα και τις δικές τους προτιμήσεις— και θα εξηγήσουν γιατί. Αυτό μπορεί να αποτελέσει εφαλτήριο για μια συζήτηση σε ολόκληρη την τάξη σχετικά με την αποτελεσματικότητα και την ακρίβεια στον προγραμματισμό.

Ανάγνωση ακολουθιών κώδικα για επιλογή μιας προτιμώμενης λύσης

Καθώς η τάξη σας εργαζόταν στην ενότητα Παιχνίδι, πιθανώς παρατηρήσατε ότι υπήρχαν πολλές διαφορετικές λύσεις στο ίδιο πρόβλημα που παρουσιάστηκε. Αυτό είναι κάτι που συμβαίνει συχνά στον κόσμο του προγραμματισμού. Ενώ μπορεί να υπάρχουν διαφορετικοί τρόποι για να γίνει κάτι, ο καθένας θα έχει μια προτιμώμενη μέθοδο ή λύση, και αυτό θα μπορούσε να βασίζεται σε διάφορους παράγοντες. Σε αυτήν τη δραστηριότητα, η ομάδα σας θα εξετάσει 3 πιθανές λύσεις μπλοκ κώδικα για ένα πρόβλημα, θα διαπιστώσει εάν λειτουργούν με τον προβλεπόμενο τρόπο και, στη συνέχεια, θα επιλέξει μια προτιμώμενη λύση από την ομάδα και θα εξηγήσει γιατί την επέλεξε.

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

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

  • Για κάθε λύση παρακάτω, απαντήστε στις 3 παρακάτω ερωτήσεις στο σημειωματάριό σας για τη μηχανική:
    • Αυτός ο κώδικας ολοκληρώνει την εργασία; Γιατί ή γιατί όχι;
    • Αν λειτουργεί, ποια είναι τα πλεονεκτήματα αυτού του κώδικα σε σχέση με τους άλλους;
    • Ποια είναι τα μειονεκτήματα αυτού του κώδικα σε σχέση με τους άλλους;
  • Τις περισσότερες φορές, ο προγραμματισμός αξιολογείται με βάση την αποτελεσματικότητά του και η προτιμώμενη λύση είναι αυτή που επιτυγχάνει τον στόχο με τον πιο αποτελεσματικό δυνατό τρόπο.

Κάντε κλικ στις παρακάτω λύσεις για να δείτε μια μεγαλύτερη εικόνα.

Παράδειγμα λύσης για την πρόκληση που αποτελείται από 19 βήματα "Οδήγηση προς" και "Στροφή" για μπλοκ που συνδέονται με το μπλοκ "Όταν ξεκίνησε". Με τη σειρά, τα μπλοκ θα κάνουν το ρομπότ να στρίψει δεξιά 90 μοίρες, να κινηθεί προς τα εμπρός 10 ίντσες, να στρίψει αριστερά 90 μοίρες, να κινηθεί προς τα εμπρός 3 ίντσες, μετά να κάνει όπισθεν 6 ίντσες, μετά να στρίψει αριστερά 90 μοίρες, να κινηθεί προς τα εμπρός 10 ίντσες. Στη συνέχεια, στρίψτε δεξιά 90 μοίρες, οδηγήστε 8 ίντσες προς τα εμπρός και 4 ίντσες προς τα πίσω, στρίψτε δεξιά 90 μοίρες, οδηγήστε 10 ίντσες προς τα εμπρός. Στη συνέχεια, στρίψτε αριστερά 90 μοίρες, οδηγήστε μπροστά 1 ίντσα, στρίψτε δεξιά 90 μοίρες, οδηγήστε μπροστά 3 ίντσες και κάντε όπισθεν 4, έπειτα στρίψτε δεξιά 90 μοίρες και οδηγήστε μπροστά 5 ίντσες.
Λύση Α (ίντσες)

Ένα παράδειγμα λύσης με 11 Drive for και Turn for μπλοκ συνδεδεμένα σε ένα μπλοκ When started (Κατά την εκκίνηση). Με τη σειρά που τα μπλοκ θα κάνουν το ρομπότ να κινηθεί προς τα εμπρός 10 ίντσες, να στρίψει αριστερά 90 μοίρες, να κινηθεί προς τα εμπρός 1 ίντσα, να στρίψει αριστερά 90 μοίρες, να κινηθεί προς τα εμπρός 1 ίντσα, να στρίψει δεξιά 90 μοίρες, να κινηθεί προς τα εμπρός 10 ίντσες, να στρίψει δεξιά 90 μοίρες, και στη συνέχεια να κινηθεί προς τα πίσω 5 ίντσες, να στρίψει δεξιά 90 μοίρες και να κινηθεί προς τα εμπρός 10 ίντσες.
Λύση Β (ίντσες)
Ένα παράδειγμα λύσης με 10 Drive for και Turn for μπλοκ συνδεδεμένα με το μπλοκ When started. Με τη σειρά, τα μπλοκ θα κάνουν το ρομπότ να κινηθεί προς τα εμπρός για 8 ίντσες και στη συνέχεια 4 ίντσες, να στρίψει δεξιά 90 μοίρες, να κινηθεί προς τα εμπρός 13 ίντσες, να στρίψει αριστερά 90 μοίρες, να κινηθεί προς τα εμπρός 8 ίντσες, να στρίψει αριστερά 90 μοίρες, να κινηθεί προς τα εμπρός 4 ίντσες, να στρίψει δεξιά 90 μοίρες και να κινηθεί προς τα πίσω για 5 ίντσες.
Λύση C (ίντσες)
Παράδειγμα λύσης για την πρόκληση που αποτελείται από 19 βήματα "Οδήγηση προς" και "Στροφή" για μπλοκ που συνδέονται με το μπλοκ "Όταν ξεκίνησε". Με τη σειρά, τα μπλοκ θα κάνουν το ρομπότ να στρίψει δεξιά 90 μοίρες, να κινηθεί προς τα εμπρός 254 χιλιοστά, να στρίψει αριστερά 90 μοίρες, να κινηθεί προς τα εμπρός 76 χιλιοστά, μετά να κάνει όπισθεν 152 χιλιοστά, μετά να στρίψει αριστερά 90 μοίρες, να κινηθεί προς τα εμπρός 254 χιλιοστά. Στη συνέχεια, στρίψτε δεξιά 90 μοίρες, οδηγήστε προς τα εμπρός 203 mm και προς τα πίσω 101 mm, στρίψτε δεξιά 90 μοίρες, οδηγήστε προς τα εμπρός 254 mm. Στη συνέχεια, στρίψτε αριστερά 90 μοίρες, οδηγήστε προς τα εμπρός 25 mm, στρίψτε δεξιά 90 μοίρες, οδηγήστε προς τα εμπρός 76 mm και προς τα πίσω 101 mm, στη συνέχεια στρίψτε δεξιά 90 μοίρες και οδηγήστε προς τα εμπρός 127 mm.
Λύση Α (μετρική)
Ένα παράδειγμα λύσης με 11 Drive for και Turn for μπλοκ συνδεδεμένα σε ένα μπλοκ When started (Κατά την εκκίνηση). Με τη σειρά που τα μπλοκ θα κάνουν το ρομπότ να κινηθεί προς τα εμπρός 254 mm, να στρίψει αριστερά 90 μοίρες, να κινηθεί προς τα εμπρός 25 mm, να στρίψει αριστερά 90 μοίρες, να κινηθεί προς τα εμπρός 25 mm, να στρίψει δεξιά 90 μοίρες, να κινηθεί προς τα εμπρός 254 mm, να στρίψει δεξιά 90 μοίρες, να κινηθεί προς τα εμπρός 90 μοίρες, στη συνέχεια να κινηθεί προς τα πίσω 127 mm, να στρίψει δεξιά 90 μοίρες και να κινηθεί προς τα εμπρός 254 mm.
Λύση Β (μετρική)
Ένα παράδειγμα λύσης με 10 Drive for και Turn for μπλοκ συνδεδεμένα με το μπλοκ When started. Με τη σειρά, τα μπλοκ θα κάνουν το ρομπότ να κινηθεί προς τα εμπρός για 203 mm, στη συνέχεια 101 mm, να στρίψει δεξιά 90 μοίρες, να κινηθεί προς τα εμπρός 330 mm, να στρίψει αριστερά 90 μοίρες, να κινηθεί προς τα εμπρός 203 mm, να στρίψει αριστερά 90 μοίρες, να κινηθεί προς τα εμπρός 10 mm, να στρίψει δεξιά 90 μοίρες και να κινηθεί προς τα πίσω για 127 mm.
Λύση Γ (μετρική)

Τι είναι η Αποδοτικότητα Κώδικα;

Αν χρειαζόταν να πάρεις 3 πράγματα από την κουζίνα σου, πιθανότατα θα πήγαινες να τα πάρεις και τα 3 μαζί, αντί να κάνεις 3 ξεχωριστά ταξίδια. Γιατί; Γιατί θα ήταν πιο αποτελεσματικό. Αποδοτικός σημαίνει «επίτευξη μέγιστης παραγωγικότητας με την ελάχιστη σπατάλη προσπάθειας ή κόστους». Πώς λοιπόν συνδέεται αυτό με τον προγραμματισμό;

Αποδοτικότητα κώδικα σημαίνει ότι ένα πρόγραμμα είναι γραμμένο για να λειτουργεί καλά και γρήγορα, χρησιμοποιώντας σωστά την ελάχιστη ποσότητα εργασίας ή βημάτων, ενώ παράλληλα κάνει τη δουλειά του. Είναι σημαντικό επειδή μειώνει τον κίνδυνο ένα πρόγραμμα να μην λειτουργεί σωστά και, με τη σειρά του, να προκαλεί προβλήματα σε άλλα μέρη ενός προγράμματος που εκτελούνται γύρω από αυτό. Η αποτελεσματικότητα ενός κώδικα μπορεί να αποτελεί μέτρο ποιότητας και όταν γράφουμε έργα σε μπλοκ VEXcode IQ, συχνά αναζητούμε το πιο «αποδοτικό» έργο ως την προτιμώμενη λύση.

Βασικά, η αποτελεσματικότητα του κώδικα είναι μια αρχή που σημαίνει ότι θέλετε να γράψετε έναν κώδικα που επιτυγχάνει τον στόχο σας χρησιμοποιώντας τις λιγότερες δυνατές εντολές ή μπλοκ.

Στο Τετράδιο Μηχανικής σας, απαντήστε στις ακόλουθες ερωτήσεις:

  • Λαμβάνοντας υπόψη την αποτελεσματικότητα του κώδικα, ποια είναι η λύση που προτιμάτε και γιατί;
  • Πιστεύετε ότι αυτή είναι η καλύτερη λύση, γιατί ή γιατί όχι;

Εικονίδιο Εργαλειοθήκης Εκπαιδευτικού Εργαλειοθήκη Δασκάλου - Απαντήσεις

Οι απαντήσεις ενδέχεται να διαφέρουν, καθώς δεν δόθηκαν συγκεκριμένες διαστάσεις παραπάνω για τη δημιουργία μιας ακολουθίας για πλοήγηση σε τρία δωμάτια.
Κάντε κλικ εδώ για ένα πιθανό παράδειγμα λύσης.

Εικονίδιο "Κίνητρο για συζήτηση" Παρακινήστε τη συζήτηση

Ενώ η αποτελεσματικότητα είναι χρήσιμη, συχνά έχουμε και άλλες σκέψεις σχετικά με το πώς ή γιατί κάνουμε τα πράγματα με έναν συγκεκριμένο τρόπο. Ζητήστε από τους μαθητές να μοιραστούν τις απαντήσεις τους στο Τετράδιο Μηχανικής τους ή/και να χρησιμοποιήσουν αυτήν την ερώτηση για να πλαισιώσουν μια συζήτηση σχετικά με την ισορροπία μεταξύ αποδοτικότητας και ενεργειών.
Ε: Στον προγραμματισμό, η αποδοτικότητα είναι συνήθως η προτιμώμενη μεθοδολογία. Μπορείτε να σκεφτείτε έναν λόγο για τον οποίο συμβαίνει αυτό;
Α: Οι απαντήσεις θα ποικίλλουν, αλλά μερικές περιλαμβάνουν:

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

  • Τα έργα είναι πάντα επιρρεπή σε σφάλματα. Όσο πιο αποτελεσματικά είναι γραμμένο ένα έργο, τόσο λιγότερες είναι οι πιθανότητες να γίνει κάποιο λάθος.

  • Τα άτομα που χρησιμοποιούν προγραμματισμό για τον χειρισμό βιομηχανικών ρομπότ βασίζονται στην αποτελεσματικότητα αυτών των έργων, προκειμένου να εξοικονομήσουν στην εταιρεία χρόνο, ενέργεια και πόρους.