My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να...

27
9 ο Μαθητικό Συνέδριο Πληροφορικής Κεντρικής Μακεδονίας Θεσσαλονίκη, 25 - 28 Απριλίου 2017, ΝΟΗΣΙΣ "My Binary Logic" Ένας προσομοιωτής λογικών πυλών στο Scratch Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής ΠΕ19 MSc Μαθητές Γ΄ Γυμνασίου Ελληνικό Κολλέγιο Θεσσαλονίκης Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης

Transcript of My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να...

Page 1: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

9ο Μαθητικό Συνέδριο Πληροφορικής Κεντρικής Μακεδονίας

Θεσσαλονίκη, 25 -28 Απριλίου 2017, ΝΟΗΣΙΣ

"My Binary Logic" Ένας προσομοιωτής λογικών πυλών στο Scratch

Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής ΠΕ19 MSc

Μαθητές Γ΄ Γυμνασίου Ελληνικό Κολλέγιο Θεσσαλονίκης

Εκπαιδευτικός Οργανισμός

Ελληνικό Κολλέγιο Θεσσαλονίκης

Page 2: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Εισαγωγή Ο σκοπός της εργασίας

9ο Μαθητικό Συνέδριο Πληροφορικής - Θεσσαλονίκη, Απρίλιος 2017 Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης Μαθητές Γ΄ Γυμνασίου, Καθηγητής Πληροφορικής Κωνσταντίνος Παρασκευόπουλος (ΠΕ19 MSc)

Στην παρακάτω εργασία, χρησιμοποιήσαμε τη γλώσσα προγραμματισμού

Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία μερικών

από τις πλέον βασικές λογικές πύλες.

Συγκεκριμένα σχεδιάσαμε και προγραμματίσαμε τη λειτουργία των πυλών

OR, AND, NOT, NAND, NOR, XOR και XNOR.

Στη συνέχεια χρησιμοποιήσαμε τις παραπάνω πύλες για να δημιουργήσουμε και

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

είναι ο

Half-Adder και ο Full-Adder.

Page 3: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Λογικές Πύλες Οι δομικές μονάδες κάθε ολοκληρωμένου κυκλώματος

9ο Μαθητικό Συνέδριο Πληροφορικής - Θεσσαλονίκη, Απρίλιος 2017 Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης Μαθητές Γ΄ Γυμνασίου, Καθηγητής Πληροφορικής Κωνσταντίνος Παρασκευόπουλος (ΠΕ19 MSc)

Τα ψηφιακά κυκλώματα είναι σχεδιασμένα έτσι ώστε να λαμβάνουν αποφάσεις.

Συνήθως δέχονται στην είσοδο δύο ή περισσότερες τιμές και παράγουν μία ή

περισσότερες τιμές στην έξοδο.

Η διαδικασία αυτή γίνεται με τη βοήθεια των λογικών πυλών ( logic gates).

Η σημασία των λογικών κυκλωμάτων στην επιστήμη των ηλεκτρονικών

υπολογιστών είναι προφανής, καθώς αποτελούν τις δομικές μονάδες κάθε

ολοκληρωμένου κυκλώματος.

Page 4: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Ένα πρωτότυπο λογισμικό Για την προσομοίωση λογικών πυλών και κυκλωμάτων

9ο Μαθητικό Συνέδριο Πληροφορικής - Θεσσαλονίκη, Απρίλιος 2017 Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης Μαθητές Γ΄ Γυμνασίου, Καθηγητής Πληροφορικής Κωνσταντίνος Παρασκευόπουλος (ΠΕ19 MSc)

Για το λόγο αυτό, δημιουργήσαμε ένα πρωτότυπο λογισμικό προσομοίωσης

λογικών πυλών και λογικών κυκλωμάτων ώστε να βοηθήσουμε τους συμμαθητές

μας στην καλύτερη κατανόηση της λειτουργίας τους.

Για τον προγραμματισμό του προσομοιωτή, χρησιμοποιήσαμε τη γλώσσα

προγραμματισμού Scratch.

Η γλώσσα Scratch είναι μια σχετικά καινούργια γλώσσα προγραμματισμού με

γραφικό περιβάλλον με την οποία μπορούμε να κατασκευάσουμε εφαρμογές

εύκολα, γρήγορα και διασκεδαστικά, ενώ είναι ιδανική για αρχάριους

προγραμματιστές.

Page 5: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Αντιμέτωποι με την Άλγεβρα Boole Δημιουργώντας απλές και σύνθετες λογικές προτάσεις

9ο Μαθητικό Συνέδριο Πληροφορικής - Θεσσαλονίκη, Απρίλιος 2017 Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης Μαθητές Γ΄ Γυμνασίου, Καθηγητής Πληροφορικής Κωνσταντίνος Παρασκευόπουλος (ΠΕ19 MSc)

Στο ξεκίνημα της εργασίας ήρθαμε αντιμέτωποι με την Άλγεβρα Boole.

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

και συγκρίσεις, δηλαδή να επεξεργάζεται λογικά δεδομένα.

Χρησιμοποιώντας τα λογικά σύμβολα της Άλγεβρας Boole, μπορούμε να

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

λογικές προτάσεις.

Page 6: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Η Άλγεβρα Boole Λογικές προτάσεις και Άλγεβρα Boole

9ο Μαθητικό Συνέδριο Πληροφορικής - Θεσσαλονίκη, Απρίλιος 2017 Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης Μαθητές Γ΄ Γυμνασίου, Καθηγητής Πληροφορικής Κωνσταντίνος Παρασκευόπουλος (ΠΕ19 MSc)

Λογική Πρόταση Αληθής

Ψευδής

George Boole

Παρουσίαση λογικών προτάσεων με μαθηματικά σύμβολα

Μία πρόταση λέγεται λογική όταν μπορεί να χαρακτηριστεί Αληθής ή Ψευδής.

Ο πρώτος που διατύπωσε τους βασικούς κανόνες με τους οποίους οι λογικές προτάσεις μπορούν να παρουσιαστούν με μαθηματικά σύμβολα, ήταν ο Άγγλος μαθηματικός George Boole

Page 7: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Η Άλγεβρα Boole Οι Πίνακες Αλήθειας

9ο Μαθητικό Συνέδριο Πληροφορικής - Θεσσαλονίκη, Απρίλιος 2017 Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης Μαθητές Γ΄ Γυμνασίου, Καθηγητής Πληροφορικής Κωνσταντίνος Παρασκευόπουλος (ΠΕ19 MSc)

Οι κανόνες που καθορίζουν τις βασικές λογικές πράξεις ορίζονται από

Πίνακες Αλήθειας στους οποίους περιλαμβάνονται όλοι οι δυνατοί συνδυασμοί

των τιμών που μπορούν να πάρουν οι λογικές μεταβλητές καθώς και τα

αποτελέσματα που προκύπτουν από αυτούς τους συνδυασμούς.

Πίνακες Αλήθειας

Α Β Α AND B A OR B A XOR B A NAND B A NOR B A XNOR B

Αληθής Αληθής Αληθής Αληθής Ψευδής Ψευδής Ψευδής Αληθής

Αληθής Ψευδής Ψευδής Αληθής Αληθής Αληθής Ψευδής Ψευδής

Ψευδής Αληθής Ψευδής Αληθής Αληθής Αληθής Ψευδής Ψευδής

Ψευδής Ψευδής Ψευδής Ψευδής Ψευδής Αληθής Αληθής Αληθής

Πίνακας Αλήθειας

A NOT A

Αληθής Ψευδής

Ψευδής Αληθής

Page 8: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Άλγεβρα Boole Η εφαρμογή της στη σχεδίαση απλούστερων ηλεκτρονικών κυκλωμάτων

9ο Μαθητικό Συνέδριο Πληροφορικής - Θεσσαλονίκη, Απρίλιος 2017 Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης Μαθητές Γ΄ Γυμνασίου, Καθηγητής Πληροφορικής Κωνσταντίνος Παρασκευόπουλος (ΠΕ19 MSc)

Όπως είδαμε, στις πράξεις της Άλγεβρας Boole χρησιμοποιούνται μεταβλητές

που παίρνουν δύο μόνο τιμές και δίνουν ως αποτέλεσμα πάλι δίτιμες

μεταβλητές.

Claude Shannon

χμμμ.. Νομίζω ότι με την Άλγεβρα Boole μπορώ να απλοποιήσω τη σχεδίαση των ηλεκτρονικών κυκλωμάτων

Το 1938 ο C. Shannon έδειξε ότι με την Άλγεβρα Boole μπορεί να απλοποιήσει τη σχεδίαση των ηλεκτρονικών κυκλωμάτων.

Page 9: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Λογικές Πύλες Τα ηλεκτρονικά κυκλώματα που εκτελούν πράξεις της Άλγεβρας Boole

9ο Μαθητικό Συνέδριο Πληροφορικής - Θεσσαλονίκη, Απρίλιος 2017 Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης Μαθητές Γ΄ Γυμνασίου, Καθηγητής Πληροφορικής Κωνσταντίνος Παρασκευόπουλος (ΠΕ19 MSc)

Τα ηλεκτρονικά κυκλώματα που εκτελούν τις βασικές πράξεις της Άλγεβρας

Boole καλούνται Λογικές Πύλες.

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

χαμηλής ηλεκτρικής τάσης και δίνει στην έξοδό της ένα μοναδικό λογικό

αποτέλεσμα με τη μορφή υψηλής ή χαμηλής ηλεκτρικής τάσης.

2-5v Υψηλή Τάση Λογικό «1» - Αληθής

0-0.8v Χαμηλή Τάση Λογικό «0» - Ψευδής

Λογική Πύλη

Page 10: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Λογικές Πύλες

9ο Μαθητικό Συνέδριο Πληροφορικής - Θεσσαλονίκη, Απρίλιος 2017 Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης Μαθητές Γ΄ Γυμνασίου, Καθηγητής Πληροφορικής Κωνσταντίνος Παρασκευόπουλος (ΠΕ19 MSc)

Υπάρχουν διάφορες λογικές πύλες.

Οι λογικές πύλες που υποστηρίζονται από τον προσομοιωτή είναι οι:

Στις επόμενες διαφάνειες θα περιγράψουμε τη λειτουργίας τους δίνοντας τους

πίνακες αλήθειας καθώς και το σχήμα με το οποίο συμβολίζονται.

NOT OR NOR XNOR

AND NAND XOR

Page 11: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Λογικές Πύλες Η λογική πύλη NOT

9ο Μαθητικό Συνέδριο Πληροφορικής - Θεσσαλονίκη, Απρίλιος 2017 Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης Μαθητές Γ΄ Γυμνασίου, Καθηγητής Πληροφορικής Κωνσταντίνος Παρασκευόπουλος (ΠΕ19 MSc)

Υλοποιεί τη λογική πράξη «Άρνηση». Έχει μια είσοδο και μια έξοδο.

Όταν η είσοδος είναι 1 η έξοδος είναι 0, ενώ όταν η είσοδος είναι 0 η έξοδος

είναι 1, δηλαδή αντιστρέφει την αξία της εισόδου.

Είσοδοι Έξοδος Κύκλωμα

Α NOT A

0 1

1 0

Page 12: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Λογικές Πύλες Η λογική πύλη AND

9ο Μαθητικό Συνέδριο Πληροφορικής - Θεσσαλονίκη, Απρίλιος 2017 Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης Μαθητές Γ΄ Γυμνασίου, Καθηγητής Πληροφορικής Κωνσταντίνος Παρασκευόπουλος (ΠΕ19 MSc)

Υλοποιεί τη λογική πράξη «Σύζευξη».

Έχει δύο εισόδους και μια έξοδο. H έξοδος είναι 1, όταν όλες οι είσοδοι

είναι 1.

Είσοδοι Έξοδος Κύκλωμα

Α Β Α AND B

0 0 0

0 1 0

1 0 0

1 1 1

Page 13: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Λογικές Πύλες Η λογική πύλη OR

9ο Μαθητικό Συνέδριο Πληροφορικής - Θεσσαλονίκη, Απρίλιος 2017 Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης Μαθητές Γ΄ Γυμνασίου, Καθηγητής Πληροφορικής Κωνσταντίνος Παρασκευόπουλος (ΠΕ19 MSc)

Υλοποιεί τη λογική πράξη «Διάζευξη».

Έχει δύο εισόδους και μια έξοδο. H έξοδος είναι 1, όταν τουλάχιστον μια

είσοδος είναι 1.

Είσοδοι Έξοδος Κύκλωμα

Α Β Α OR B

0 0 0

0 1 1

1 0 1

1 1 1

Page 14: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Λογικές Πύλες Η λογική πύλη NAND

9ο Μαθητικό Συνέδριο Πληροφορικής - Θεσσαλονίκη, Απρίλιος 2017 Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης Μαθητές Γ΄ Γυμνασίου, Καθηγητής Πληροφορικής Κωνσταντίνος Παρασκευόπουλος (ΠΕ19 MSc)

Αποτελείται από μια πύλη AND και μια πύλη NOT.

Η πύλη NAND δίνει την αντίθετη έξοδο από την AND, δηλαδή δίνει λογικό 1

όταν υπάρχει τουλάχιστο ένα λογικό 0 στις εισόδους.

Είσοδοι Έξοδος Κύκλωμα

Α Β Α NAND B

0 0 1

0 1 1

1 0 1

1 1 0

Page 15: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Λογικές Πύλες Η λογική πύλη NOR

9ο Μαθητικό Συνέδριο Πληροφορικής - Θεσσαλονίκη, Απρίλιος 2017 Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης Μαθητές Γ΄ Γυμνασίου, Καθηγητής Πληροφορικής Κωνσταντίνος Παρασκευόπουλος (ΠΕ19 MSc)

Αποτελείται από μια πύλη OR και μια πύλη NOT.

Η πύλη δίνει την αντίθετη έξοδο από την OR, δηλαδή δίνει λογικό 1 όταν και οι

δύο είσοδοι είναι 0.

Είσοδοι Έξοδος Κύκλωμα

Α Β Α NOR B

0 0 1

0 1 0

1 0 0

1 1 0

Page 16: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Λογικές Πύλες Η λογική πύλη XNOR

9ο Μαθητικό Συνέδριο Πληροφορικής - Θεσσαλονίκη, Απρίλιος 2017 Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης Μαθητές Γ΄ Γυμνασίου, Καθηγητής Πληροφορικής Κωνσταντίνος Παρασκευόπουλος (ΠΕ19 MSc)

Αποτελείται από μια πύλη OR και μια πύλη NOT.

Η πύλη δίνει την αντίθετη έξοδο από την OR, δηλαδή δίνει λογικό 1 όταν και οι

δύο είσοδοι είναι 0.

Είσοδοι Έξοδος Κύκλωμα

Α Β Α XNOR B

0 0 1

0 1 0

1 0 0

1 1 1

Page 17: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Συνδυαστικά Λογικά Κυκλώματα Half Adder και Full Adder

9ο Μαθητικό Συνέδριο Πληροφορικής - Θεσσαλονίκη, Απρίλιος 2017 Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης Μαθητές Γ΄ Γυμνασίου, Καθηγητής Πληροφορικής Κωνσταντίνος Παρασκευόπουλος (ΠΕ19 MSc)

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

ένα συνδυαστικό λογικό κύκλωμα.

Το κύκλωμα του Ημιαθροιστή (Half Adder) και το κύκλωμα του Αθροιστή (Full

Adder) είναι δύο από τα περισσότερο γνωστά συνδυαστικά λογικά κυκλώματα

και για αυτό επιλέξαμε να τα υλοποιήσουμε στον προσομοιωτή που

κατασκευάσαμε.

Page 18: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Συνδυαστικά Λογικά Κυκλώματα Το κύκλωμα του Ημιαθροιστή (Half Adder)

9ο Μαθητικό Συνέδριο Πληροφορικής - Θεσσαλονίκη, Απρίλιος 2017 Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης Μαθητές Γ΄ Γυμνασίου, Καθηγητής Πληροφορικής Κωνσταντίνος Παρασκευόπουλος (ΠΕ19 MSc)

Ημιαθροιστής (Half Adder), λέγεται το συνδυαστικό κύκλωμα το οποίο εκτελεί

την πρόσθεση δύο δυαδικών ψηφίων σύμφωνα με τον παρακάτω πίνακα:

+ 0 1

0 0 1

1 1 10

Η πρόσθεση 1 + 1 δίνει άθροισμα 0 και κρατούμενο (carry) 1, το οποίο μεταφέρεται στην επόμενη πιο σημαντική τάξη ψηφίων.

Παράδειγμα πρόσθεσης: 1 1 1 1 1 κρατούμενα

0 1 0 1 0 0 1 0 =82(10)

+ 0 0 1 1 0 1 1 0 =54(10)

1 0 0 0 1 0 0 0 =136(10)

Page 19: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Συνδυαστικά Λογικά Κυκλώματα Το κύκλωμα του Ημιαθροιστή (Half Adder)

9ο Μαθητικό Συνέδριο Πληροφορικής - Θεσσαλονίκη, Απρίλιος 2017 Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης Μαθητές Γ΄ Γυμνασίου, Καθηγητής Πληροφορικής Κωνσταντίνος Παρασκευόπουλος (ΠΕ19 MSc)

Αν Α, Β είναι δυαδικά ψηφία, τότε το άθροισμα τους S (Sum) και το

κρατούμενο της πρόσθεσής τους c (carry) φαίνονται στον παρακάτω πίνακα

αλήθειας.

Πίνακας Αλήθειας

του Ημιαθροιστή

Είσοδοι Έξοδος

Α Β S C

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

Κύκλωμα

άθροισμα κρατούμενο

Page 20: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Συνδυαστικά Λογικά Κυκλώματα Το κύκλωμα του Αθροιστή (Full Adder)

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

δυαδικών αριθμών και, συγκεκριμένα, δύο σημαντικών και ενός κρατουμένου.

Το κρατούμενο ενδέχεται να έχει παραχθεί από προηγούμενη άθροιση.

Κύκλωμα Input Output

A B Cin Cout S

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 0 1

1 0 1 1 0

1 1 0 1 0

1 1 1 1 1

Α, Β: προσθετέοι S: Άθροισμα Cin: Προηγούμενο κρατούμενο Cout: Νέο κρατούμενο

Page 21: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Προγραμματισμός του προσομοιωτή Δημιουργία Υπόβαθρου για τη Διεπαφή Χρήστη

9ο Μαθητικό Συνέδριο Πληροφορικής - Θεσσαλονίκη, Απρίλιος 2017 Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης Μαθητές Γ΄ Γυμνασίου, Καθηγητής Πληροφορικής Κωνσταντίνος Παρασκευόπουλος (ΠΕ19 MSc)

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

προγραμματίσουμε το λογισμικό του προσομοιωτή στο Scratch.

Ξεκινήσαμε από τη δημιουργία της διεπαφής χρήστη στο σχεδιαστικό εργαλείο

του Scratch.

Ο τίτλος της εφαρμογής

Χώρος κυκλωμάτων

Μενού επιλογής κυκλωμάτων

Διακόπτες για τον έλεγχο της εισόδου στα κυκλώματα

Α

Β

Γ

Δ

Page 22: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Προγραμματισμός του προσομοιωτή Δημιουργία αντικειμένων για τις Λογικές Πύλες και τα Λογικά Κυκλώματα

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

Α Για κάθε κύκλωμα δημιουργήσαμε ένα νέο αντικείμενο.

Β

Για κάθε κύκλωμα-αντικείμενο σχεδιάσαμε κατάλληλες ενδυμασίες ώστε να αντιστοιχούν στις διαφορετικές καταστάσεις του Πίνακα Αλήθειας του κάθε κυκλώματος.

Πίνακας Αλήθειας AND

Είσοδοι Έξοδος

Α Β Α AND B

0 0 0

0 1 0

1 0 0

1 1 1

Προγραμματίσαμε το κάθε κύκλωμα-αντικείμενο να αλλάζει ενδυμασία ανάλογα με την είσοδο που θα έπαιρνε από τα χειριστήρια εισόδου.

Γ

Page 23: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Προγραμματισμός του προσομοιωτή Δημιουργία των χειριστηρίων εισόδου

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

Α Δημιουργήσαμε τρία νέα αντικείμενα Β

Για κάθε χειριστήριο εισόδου-αντικείμενο σχεδιάσαμε κατάλληλες ενδυμασίες ώστε να αντιστοιχούν στις δύο λογικές καταστάσεις «0» και «1». Προγραμματίσαμε το κάθε χειριστήριο εισόδου-

αντικείμενο να αλλάζει ενδυμασία ανάλογα με την επιθυμία του χρήστη. Επίσης δημιουργήσαμε κατάλληλα συμβάντα για να ενημερώνονται τα αντικείμενα των λογικών κυκλωμάτων.

Γ Είσοδος Α Είσοδος Β

Κρατούμενο

Συμβάν χρήστη

Αλλαγή ενδυμασίας

Μετέδωσε συμβάν και ενημέρωσε το τρέχων κύκλωμα

Page 24: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Προγραμματισμός του προσομοιωτή Δημιουργία μενού επιλογής Λογικών Κυκλωμάτων

Τέλος σχεδιάστηκαν, τοποθετήθηκαν και προγραμματίστηκαν τα κουμπιά για το μενού επιλογής λογικών κυκλωμάτων :

Α Δημιουργήσαμε εννέα αντικείμενα. Ένα κουμπί για κάθε λογικό κύκλωμα που υποστηρίζει ο προσομοιωτής.

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

Β

Συμβάν χρήστη

Καθολική μεταβλητή crn_gate

Μετέδωσε συμβάν και ενημέρωσε για το πιο είναι το τρέχων επιλεγμένο κύκλωμα

9ο Μαθητικό Συνέδριο Πληροφορικής - Θεσσαλονίκη, Απρίλιος 2017 Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης Μαθητές Γ΄ Γυμνασίου, Καθηγητής Πληροφορικής Κωνσταντίνος Παρασκευόπουλος (ΠΕ19 MSc)

Page 25: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Προγραμματισμός του προσομοιωτή Τα συμβάντα για την επικοινωνία μεταξύ των αντικειμένων

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

9ο Μαθητικό Συνέδριο Πληροφορικής - Θεσσαλονίκη, Απρίλιος 2017 Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης Μαθητές Γ΄ Γυμνασίου, Καθηγητής Πληροφορικής Κωνσταντίνος Παρασκευόπουλος (ΠΕ19 MSc)

Συμβάν change_gate. Ενημερώνει ποιο λογικό κύκλωμα να εμφανιστεί. Συμβάν change_gate.

Ενημερώνει ποια χειριστήρια εισόδου να εμφανιστούν

Συμβάντα input_a_on και input_a_off. Προκαλούν αλλαγή ενδυμασίας στο τρέχων λογικό κύκλωμα.

Page 26: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Προγραμματισμός του προσομοιωτή Το τελικό αποτέλεσμα

Μπορείτε να κατεβάσετε τον προσομοιωτή και να τον ανοίξετε στον μεταγλωττιστή του Scratch από την διεύθυνση :

www.hellenic-college.gr/works/scratch-binary-logic

Page 27: My Binary Logic Ένας προσομοιωτής λογικών …...Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία

Ευχαριστούμε!

Εκπαιδευτικός Οργανισμός Ελληνικό Κολλέγιο Θεσσαλονίκης

Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής Ελληνικού Κολλεγίου Θεσσαλονίκης

Μαθητές Γ΄ Γυμνασίου Καραγιάννη Ελένη, Καραγιαννάκη Μαρία-Ελένη, Βασιλειάδης Αθανάσιος,

Κωστουλίδης Αναστάσιος-Συμεών, Μουτεβελίδης Ιωάννης-Παναγιώτης, Βασιλειάδου Ευαγγελία, Βογιατζή Νίκη, Γοργία Φωτεινή, Ευγενιάδου Πηνελόπη, Τσολακίδου Παναγιώτα