Μετάβαση στο κεντρικό περιεχόμενο
Απαιτήσεις ολοκλήρωσης

Ειδάλλως


Όπως είπαμε νωρίτερα ο τύπος "if__, then___"  χρησιμοποιείτε για να πούμε στον υπολογιστή ότι εάν  συμβεί η συνθήκη IF, τότε κάνε την ενέργεια then .

Είδαμε το παράδειγμα, IF clap detected, THEN beep


Μπορείτε επίσης να πείτε στον υπολογιστή τι πρέπει να κάνει εάν η συνθήκη ΔΕΝ συμβεί.

Για να το κάνετε αυτό, πρέπει να χρησιμοποιήσετε έναν τύπο που ονομάζεται if-else statement.

 Μπορείτε να σκεφτείτε τη δήλωση if-else, ως ένα σταυροδρόμι απόφασης για ένα πρόγραμμα. Μια δήλωση if-else λέει στο πρόγραμμα: "Εάν πληρούται η προϋπόθεση, κάντε το πράγμα Α. Εάν η προϋπόθεση δεν πληρούται, κάντε το πράγμα Β.”

Αυτό είναι το  μπλοκ if-else στο EdScratch:

Ακριβώς όπως το μπλοκ if , το μπλοκ if-else χρησιμοποιεί τον βασικό τύπο "if__, then___", αλλά λέει επίσης τι ενέργειες πρέπει να γίνουν όταν η συνθήκη δεν πληρούται. 

Μια δήλωση που αν μη τι άλλο σας επιτρέπει να κάνετε μια επιλογή υπό όρους :

1.     if κάνει κρύο έξω, then βάζω ένα σακάκι πριν φύγω από το σπίτι.  Else θα βγω με μπλουζάκι.

2.     if πεινάω μετά το σχολείο, then τρώω ένα σνακ.  Else περιμένω μέχρι την ώρα του δείπνου για να φάω.

Η χρήση μιας δήλωσης if-else αναγκάζει ένα πρόγραμμα να διακλαδωθεί. Είτε θα ακολουθήσει ένα μονοπάτι, είτε θα ακολουθήσει ένα διαφορετικό μονοπάτι.

Ακριβώς όπως ένα μπλοκ if, όταν ένα πρόγραμμα EdScratch φτάνει σε ένα if-else μπλοκ, ελέγχει για να δει αν η συνθήκη έχει εκπληρωθεί. Ένα μπλοκ if-else λέει στο ρομπότ τι πρέπει να κάνει αν πληρούται η προϋπόθεση  και τι να κάνει αν δεν πληρούται η προϋπόθεση. Έτσι, το ρομπότ έχει μια ενέργεια να κάνει ότι και αν συμβεί.

Παράδειγμα


.Αν πληρούται η προυπόθεση το ρομπότ θα εκτελέσει τον κώδικα που βρίσκεται μέσα στο if’ μπλοκΑν η προυπόθεση δεν πληρούται το ρομπότ θα εκτελέσει τον κώδικα μέσα στο else κομμάτι του μπλοκ



Η χρήση μιας δήλωσης if-else αναγκάζει ένα πρόγραμμα να διακλαδωθεί επειδή το ρομπότ μπορεί να κάνει μόνο τον κωδικό "if" ή τον κωδικό "άλλο", αλλά όχι και τα δύο. Μόλις το ρομπότ τελειώσει είτε τον κωδικό "if" είτε τον κωδικό "άλλο", προχωρά στην επόμενη γραμμή κώδικα του προγράμματος.


Κοιτάξτε αυτό το πρόγραμμα στο EdScratch



1.     Εάν τρέχατε αυτό το πρόγραμμα στο Edison και το ρομπότ ΔΕΝ εντόπιζε ένα πάτημα στρογγυλού κουμπιού, θα χτυπούσε το μπιπ; Όταν εκτελείται αυτό το πρόγραμμα, ποιες ενέργειες θα συμβαίνουν πάντα είτε το ρομπότ ανιχνεύει ένα στρογγυλό πάτημα κουμπιού είτε όχι; Ποια βελτίωση θα προτείνατε? Συμβουλή: Ακολουθήστε το πρόγραμμα με διαδοχική σειρά. 

  • Αν δεν εντόπιζε πάτημα κουμπιού θα εκτελούσε το else πακέτο περιστρεφόμενο κατά 60 μοίρες με μεσαία ταχύτητα και κατόπιν θα άναβε το αριστερό Led. 
  • Είτε ανιχνεύσει το πάτημα κουμπιού είτε όχι θα εκτελεστεί η εντολή εκτός του if-else το turn left LED on.
  • Μια πιθανή βελτίωση αφορά την αύξηση του χρόνου αναμονής στην αρχή ώστε να είμαστε βέβαιοι ότι προλαβαίνουμε να πατήσουμε το στρόγγυλο κουμπί.

Η δημιουργία του προγράμματος

  


Και η εκτέλεσή του.



Τελευταία τροποποίηση: Κυριακή, 6 Μαρτίου 2022, 9:26 PM