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

Σχετικά έγγραφα
9 ο Μαθητικό Συνέδριο Πληροφορικής Κεντρικής Μακεδονίας. "My Binary Logic" Ένας προσομοιωτής λογικών πυλών στο Scratch

ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΨΗΦΙΑΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ. Κεφάλαιο 3

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 2 ο. ΑΛΓΕΒΡΑ Boole ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

9. OIΚΟΥΜΕΝΙΚΕΣ ΠΥΛΕΣ ΠΟΛΛΑΠΛΩΝ ΕΙΣΟ ΩΝ

ΠΛΗ10 Κεφάλαιο 2. ΠΛH10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: : Αριθμητική περιοχή της ALU 2.5: Κυκλώματα Υπολογιστών

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

Ψηφιακά Κυκλώματα (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Ψηφιακή Λογική και Σχεδίαση

σύνθεση και απλοποίησή τους θεωρήµατα της άλγεβρας Boole, αξιώµατα του Huntington, κλπ.

4.1 Θεωρητική εισαγωγή

Κεφάλαιο 4. Λογική Σχεδίαση

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

Κεφάλαιο 8. Αριθμητική Λογική μονάδα

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

Εισαγωγή στην πληροφορική

Αθροιστές. Ημιαθροιστής

Ψηφιακά Συστήματα. 6. Σχεδίαση Συνδυαστικών Κυκλωμάτων

ΑΣΚΗΣΗ 4 ΣΧΕΔΙΑΣΗ ΑΡΙΘΜΗΤΙΚΩΝ ΛΟΓΙΚΩΝ ΚΥΚΛΩΜΑΤΩΝ

Ψηφιακά Συστήματα. 3. Λογικές Πράξεις & Λογικές Πύλες

Αναλογικά & Ψηφιακά Κυκλώματα ιαφάνειες Μαθήματος ρ. Μηχ. Μαραβελάκης Εμ.

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Συνδυαστική Λογική. Επιμέλεια Διαφανειών: Δ.

Γ2.1 Στοιχεία Αρχιτεκτονικής. Γ Λυκείου Κατεύθυνσης

K15 Ψηφιακή Λογική Σχεδίαση 6: Λογικές πύλες και λογικά κυκλώματα

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Πράξεις με δυαδικούς αριθμούς

3. ΛΟΓΙΚΕΣ ΠΡΑΞΕΙΣ & ΛΟΓΙΚΕΣ ΠΥΛΕΣ

Πράξεις με δυαδικούς αριθμούς

Κεφάλαιο 3. Λογικές Πύλες

Bubble Hack Οπτικοποίηση του αλγορίθμου ταξινόμησης Bubble Sort στο Scratch

i Το τρανζίστορ αυτό είναι τύπου NMOS. Υπάρχει και το συμπληρωματικό PMOS. ; Τι συμβαίνει στο τρανζίστορ PMOS; Το τρανζίστορ MOS(FET)

Κεφάλαιο 2 Η έννοια και η παράσταση της πληροφορίας στον ΗΥ. Εφ. Πληροφορικής Κεφ. 2 Καραμαούνας Πολύκαρπος 1

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Συνδυαστικά Κυκλώματα

Κεφάλαιο 4 : Λογική και Κυκλώματα

ΦΟΙΤΗΤΡΙΑ : ΒΟΥΛΓΑΡΙ ΟΥ ΜΑΡΙΑ, ΑΕΜ: 2109 ΕΠΙΒΛΕΠΩΝ : ΚΑΛΟΜΟΙΡΟΣ ΙΩΑΝΝΗΣ, ΕΠΙΚΟΥΡΟΣ ΚΑΘΗΓΗΤΗΣ

K15 Ψηφιακή Λογική Σχεδίαση 4+5: Άλγεβρα Boole

Εργαστήριο Εισαγωγής στη Σχεδίαση Συστημάτων VLSI

Περιεχόμενα. Πρώτο Κεφάλαιο. Εισαγωγή στα Ψηφιακά Συστήματα. Δεύτερο Κεφάλαιο. Αριθμητικά Συστήματα Κώδικες

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ

ΑΣΚΗΣΗ 1 ΛΟΓΙΚΕΣ ΠΥΛΕΣ

Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 2013 Διάρκεια εξέτασης : 160 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών:

a -j a 5 a 4 a 3 a 2 a 1 a 0, a -1 a -2 a -3

επανενεργοποιηθεί Βιομηχανικά Ηλεκτρονικά - Κ.Ι.Κυριακόπουλος Control Systems Laboratory

Αναλογικά & Ψηφιακά Κυκλώματα ιαφάνειες Μαθήματος ρ. Μηχ. Μαραβελάκης Εμ.

ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 3

Μάθημα 0: Εισαγωγή. Λευτέρης Καπετανάκης. ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ Άνοιξη 2011

Εισαγωγή στους Υπολογιστές

ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ. ιδάσκων : ρ. Β. ΒΑΛΑΜΟΝΤΕΣ. Πύλες - Άλγεβρα Boole 1

e-book ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΑΣΚΗΣΕΙΣ

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

7. Ψηφιακά Ηλεκτρονικά

Κεφάλαιο Τρία: Ψηφιακά Ηλεκτρονικά

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 4 ο Πράξεις με bits. Δρ.

ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 2 ΛΟΓΙΚΕΣ ΠΥΛΕΣ OR, NOR, XOR

K24 Ψηφιακά Ηλεκτρονικά 4: Σχεδίαση Συνδυαστικών Κυκλωμάτων

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΕΙΡΙΑΚΗ ΠΡΟΣΘΕΣΗ

Εισαγωγή στην Επιστήμη των Υπολογιστών

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

w x y Υλοποίηση της F(w,x,y,z) με πολυπλέκτη 8-σε-1

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

Κεφάλαιο 9. Ψηφιακά κυκλώματα - Άλγεβρα Boole

Υ52 Σχεδίαση Ψηφιακών Ολοκληρωμένων Κυκλωμάτων και Συστημάτων. Δεληγιαννίδης Σταύρος Φυσικός, MsC in Microelectronic Design

1 η Θεµατική Ενότητα : Αριθµητικά Κυκλώµατα. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

Ύλη Λογικού Σχεδιασµού Ι

Ψηφιακή Σχεδίαση Εργαστηριο 1. Τμήμα: Μηχανικών Πληροφορικής κ Τηλεπικοινωνιών Διδάσκων: Δρ. Σωτήριος Κοντογιαννης Μάθημα 2 ου εξαμήνου

ΑΣΚΗΣΗ 8 η -9 η ΣΧΕΔΙΑΣΗ ΑΡΙΘΜΗΤΙΚΗΣ ΛΟΓΙΚΗΣ ΜΟΝΑΔΑΣ ΤΕΣΣΑΡΩΝ ΔΥΑΔΙΚΩΝ ΨΗΦΙΩΝ

ΑΣΠΑΙΤΕ Εργαστήριο Ψηφιακών Συστημάτων & Μικροϋπολογιστών Εργαστηριακές Ασκήσεις για το μάθημα «Λογική Σχεδίαση» ΑΣΚΗΣΗ 3 ΠΙΝΑΚΕΣ KARNAUGH

2 η Θεµατική Ενότητα : Σύνθετα Συνδυαστικά Κυκλώµατα. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

Κεφάλαιο 5. Λογικά κυκλώματα

ΗΜΜΥ 100 Εισαγωγή στην Τεχνολογία

Λογική Σχεδίαση Ψηφιακών Συστημάτων

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα

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

HY118-Διακριτά Μαθηματικά

Ενότητα 2 ΑΛΓΕΒΡΑ BOOLE ΛΟΓΙΚΕΣ ΠΥΛΕΣ

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:07. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Εκτέλεση πράξεων. Ψηφιακά Ηλεκτρονικά και Δυαδική Λογική. Πράξεις με δυαδικούς αριθμούς. Πράξεις με δυαδικούς αριθμούς

Η κανονική μορφή της συνάρτησης που υλοποιείται με τον προηγούμενο πίνακα αληθείας σε μορφή ελαχιστόρων είναι η Q = [A].

ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΛΟΓΙΚΕΣ ΠΥΛΕΣ - 'Τα κύτταρα των ψηφιακών συστημάτων'

HY118-Διακριτά Μαθηματικά. Προτασιακός Λογισμός. Προηγούμενη φορά. Βάσεις της Μαθηματικής Λογικής. 02 Προτασιακός Λογισμός

3. Απλοποίηση Συναρτήσεων Boole

C D C D C D C D A B

Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης.

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II

K15 Ψηφιακή Λογική Σχεδίαση 1: Εισαγωγή

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Απλοποίηση Συναρτήσεων Boole. Επιμέλεια Διαφανειών: Δ.

ΑΣΚΗΣΗ 3 ΣΥΝΔΥΑΣΤΙΚΑ ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ: ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ

Πρόγραμμα Επικαιροποίησης Γνώσεων Αποφοίτων

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

Ελίνα Μακρή

Αρχιτεκτονικές Υπολογιστών BOOLEAN ALGEBRA

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 4 : Πράξεις με bits. Δρ. Γκόγκος Χρήστος

Transcript:

"My Binary Logic" Ένας προσομοιωτής λογικών πυλών στο Scratch Καραγιάννη Ελένη 1, Καραγιαννάκη Μαρία-Ελένη 2, Βασιλειάδης Αθανάσιος 3, Κωστουλίδης Αναστάσιος-Συμεών 4, Μουτεβελίδης Ιωάννης-Παναγιώτης 5, Βασιλειάδου Ευαγγελία 6, Βογιατζή Νίκη 7, Γοργία Φωτεινή 8, Ευγενιάδου Πηνελόπη 9, Τσολακίδου Παναγιώτα 10 1..10 Μαθητές Γ Γυμνασίου, Ελληνικό Κολλέγιο Θεσσαλονίκης Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19) Ελληνικό Κολλέγιο Θεσσαλονίκης diparaske@gmail.com Περίληψη Τα ψηφιακά κυκλώματα είναι σχεδιασμένα έτσι ώστε να λαμβάνουν αποφάσεις. Συνήθως δέχονται στην είσοδο δύο ή περισσότερες τιμές και παράγουν μία ή περισσότερες τιμές στην έξοδο. Η διαδικασία αυτή γίνεται με τη βοήθεια των λογικών πυλών (logic gates). Στην παρακάτω εργασία, χρησιμοποιήσαμε τη γλώσσα προγραμματισμού Scratch για να οπτικοποιήσουμε και να προσομοιώσουμε τη λειτουργία μερικών από τις πλέον βασικές λογικές πύλες. Συγκεκριμένα σχεδιάσαμε και προγραμματίσαμε τη λειτουργία των πυλών OR, AND, NOT, NAND, NOR, XOR και XNOR. Στη συνέχεια χρησιμοποιήσαμε τις παραπάνω πύλες για να δημιουργήσουμε και να προσομοιώσουμε τη λειτουργία πιο σύνθετων λογικών κυκλωμάτων όπως είναι ο Half-Adder και ο Full-Adder. Λέξεις κλειδιά: Scratch, λογικές πύλες, προσομοίωση. 1. Εισαγωγή Η σημασία των λογικών κυκλωμάτων στην επιστήμη των ηλεκτρονικών υπολογιστών είναι προφανής, καθώς αποτελούν τις δομικές μονάδες κάθε ολοκληρωμένου κυκλώματος. Για το λόγο αυτό, δημιουργήσαμε ένα πρωτότυπο λογισμικό προσομοίωσης λογικών πυλών και λογικών κυκλωμάτων ώστε να βοηθήσουμε τους συμμαθητές μας στην καλύτερη κατανόηση της λειτουργίας τους. Για τον προγραμματισμό του προσομοιωτή, χρησιμοποιήσαμε τη γλώσσα προγραμματισμού Scratch. Η γλώσσα Scratch είναι μια σχετικά καινούργια γλώσσα προγραμματισμού με γραφικό περιβάλλον με την οποία μπορούμε να κατασκευάσουμε εφαρμογές εύκολα, γρήγορα και διασκεδαστικά. Προτιμήθηκε αφού είναι μια ιδανική γλώσσα για αρχάριους προγραμματιστές σχεδιασμένη ειδικά για την εκπαίδευση. 2. Μελέτη της Άλγεβρας Boole Ο υπολογιστής, εκτός από αριθμητικές πράξεις, έχει τη δυνατότητα να εκτελεί και συγκρίσεις, δηλαδή να επεξεργάζεται λογικά δεδομένα. Τα δεδομένα αυτά μπορεί να είναι απλές ή σύνθετες λογικές προτάσεις οι οποίες μπορούν να παρουσιαστούν με λογικά σύμβολα χρησιμοποιώντας την Άλγεβρα Boole. Πριν ξεκινήσουμε επομένως την υλοποίηση του προσομοιωτή και τον προγραμματισμό του, μελετήσαμε διεξοδικά την Άλγεβρα Boole αλλά και τον τρόπο με τον οποίο εφαρμόζεται στη σχεδίαση των ηλεκτρονικών κυκλωμάτων στους υπολογιστές. 1

2.1. Λογικές προτάσεις και άλγεβρα Boole Μια πρόταση λέγεται λογική, όταν μπορεί να χαρακτηριστεί αληθής ή ψευδής. Ο πρώτος που διατύπωσε τους βασικούς κανόνες με τους οποίους οι λογικές προτάσεις μπορούν να παρουσιαστούν με μαθηματικά σύμβολα, ήταν ο Άγγλος μαθηματικός George Boole το 1847. Οι κανόνες που διατύπωσε χρησιμοποιούνται για να επιλύσουμε λογικά προβλήματα και αποτελούν τμήμα της Άλγεβρας Boole. Στην Άλγεβρα Boole υπάρχουν μόνο δύο είδη προτάσεων καθώς και δύο είδη μεταβλητών, αυτές που είναι αληθείς και αυτές που είναι ψευδείς. Οι κανόνες που καθορίζουν τις βασικές λογικές πράξεις ορίζονται από Πίνακες Αλήθειας στους οποίους περιλαμβάνονται όλοι οι δυνατοί συνδυασμοί των τιμών που μπορούν να πάρουν οι λογικές μεταβλητές καθώς και τα αποτελέσματα που προκύπτουν από αυτούς τους συνδυασμούς. Στον Πίνακα 1 μπορείτε να δείτε τους Πίνακες Αλήθειας που αντιστοιχούν στις πράξεις της άλγεβρας Boole που υποστηρίζονται από το λογισμικό προσομοίωσης που δημιουργήσαμε Πίνακας 1: Πίνακας Αλήθειας για τις πράξεις της άλγεβρας Boole που υποστηρίζονται από τον προσομοιωτή. Πίνακες Αλήθειας Α Β Α AND B A OR B A XOR B A NAND B A NOR B A XNOR B Αληθής Αληθής Αληθής Αληθής Ψευδής Ψευδής Ψευδής Αληθής Αληθής Ψευδής Ψευδής Αληθής Αληθής Αληθής Ψευδής Ψευδής Ψευδής Αληθής Ψευδής Αληθής Αληθής Αληθής Ψευδής Ψευδής Ψευδής Ψευδής Ψευδής Ψευδής Ψευδής Αληθής Αληθής Αληθής 3. Λογικές πύλες Πίνακας Αλήθειας A NOT A Αληθής Ψευδής Ψευδής Αληθής Όπως είδαμε, στις πράξεις της Άλγεβρας Boole χρησιμοποιούνται μεταβλητές που παίρνουν δύο μόνο τιμές και δίνουν ως αποτέλεσμα πάλι δίτιμες μεταβλητές. Το 1938 ο C. Shannon έδειξε ότι η Άλγεβρα Boole μπορούσε να εφαρμοστεί στην απλοποίηση και στη σχεδίαση των ηλεκτρονικών κυκλωμάτων, όπως, για παράδειγμα στα τηλεφωνικά κυκλώματα. Αργότερα χρησιμοποιήθηκε για τη σχεδίαση των κυκλωμάτων των υπολογιστών. Τα ηλεκτρονικά κυκλώματα που εκτελούν τις βασικές πράξεις της Άλγεβρας Boole καλούνται λογικές πύλες. Κάθε τέτοια πύλη δέχεται στην είσοδό της σήματα με τη μορφή υψηλής ή χαμηλής ηλεκτρικής τάσης και δίνει στην έξοδό της ένα μοναδικό λογικό αποτέλεσμα με τη μορφή υψηλής ή χαμηλής ηλεκτρικής τάσης. Συνδυάζοντας κατάλληλα λογικές πύλες δημιουργούνται πιο σύνθετα κυκλώματα που μπορούν να εκτελέσουν λογικές πράξεις. Αρχικά για την υλοποίηση των λογικών πυλών χρησιμοποιήθηκαν διακριτά ηλεκτρονικά στοιχεία. Σήμερα στα ολοκληρωμένα κυκλώματα υπάρχει ένα μεγάλο πλήθος επιμέρους κυκλωμάτων, τα οποία με τη σειρά τους αποτελούνται από πλήθος λογικών πυλών. 3.1. Οι υποστηριζόμενες λογικές πύλες Οι λογικές πύλες που υποστηρίζονται από τον προσομοιωτή είναι οι NOT, AND, OR, NAND, NOR, XOR, και η XNOR. Παρακάτω περιγράφεται η λειτουργίας τους και για κάθε μία από αυτές δίνεται ο πίνακας αλήθειας καθώς και το σχήμα με το οποίο συμβολίζονται. Η λογική πύλη NOT Υλοποιεί τη λογική πράξη «Άρνηση». Έχει μια είσοδο και μια έξοδο. Όταν η είσοδος είναι 1 η έξοδος είναι 0, ενώ όταν η είσοδος είναι 0 η έξοδος είναι 1, δηλαδή αντιστρέφει την αξία της εισόδου. Ο πίνακας αλήθειας καθώς και το κυκλωματικό σχήμα της πύλης φαίνονται παρακάτω: 2

Η λογική πύλη AND Α NOT A 0 1 1 0 Υλοποιεί τη λογική πράξη «Σύζευξη». Έχει δύο εισόδους και μια έξοδο. H έξοδος είναι 1, όταν όλες οι είσοδοι είναι 1. Ο πίνακας αλήθειας καθώς και το κυκλωματικό σχήμα της πύλης φαίνονται παρακάτω: Η λογική πύλη OR Α Β Α AND B 0 0 0 0 1 0 1 0 0 1 1 1 Υλοποιεί τη λογική πράξη «Διάζευξη». Έχει δύο εισόδους και μια έξοδο. H έξοδος είναι 1, όταν τουλάχιστον μια είσοδος είναι 1. Ο πίνακας αλήθειας καθώς και το κυκλωματικό σχήμα της πύλης φαίνονται παρακάτω: Η λογική πύλη XOR Α Β Α OR B 0 0 0 0 1 1 1 0 1 1 1 1 Υλοποιεί τη λογική πράξη «Αποκλειστική διάζευξη». Έχει δύο εισόδους και μια έξοδο. H έξοδος είναι 1, όταν οι τιμές στις εισόδους είναι διαφορετικές μεταξύ τους. Ο πίνακας αλήθειας καθώς και το κυκλωματικό σχήμα της πύλης φαίνονται παρακάτω: Α Β Α XOR B 0 0 0 0 1 1 1 0 1 1 1 0 Μπορούμε να δημιουργήσουμε πιο πολύπλοκες λογικές πύλες είτε προσθέτοντας περισσότερες εισόδους είτε συνδυάζοντας τις απλές με την πύλη ΟΧΙ (NOT). Η λογική πύλη NAND Αποτελείται από μια πύλη AND και μια πύλη NOT. Η πύλη NAND δίνει την αντίθετη έξοδο από την AND, δηλαδή δίνει λογικό 1 όταν υπάρχει τουλάχιστο ένα λογικό 0 στις εισόδους. Ο πίνακας αλήθειας καθώς και το κυκλωματικό σχήμα της πύλης φαίνονται παρακάτω: Η λογική πύλη NOR Α Β Α NAND B 0 1 1 1 0 1 1 1 0 3

Αποτελείται από μια πύλη OR και μια πύλη NOT. Η πύλη δίνει την αντίθετη έξοδο από την OR, δηλαδή δίνει λογικό 1 όταν και οι δύο είσοδοι είναι 0. Ο πίνακας αλήθειας καθώς και το κυκλωματικό σχήμα της πύλης φαίνονται παρακάτω: Η λογική πύλη XNOR Α Β Α NOR B 0 1 0 1 0 0 1 1 0 Η πύλη ΧNΟR δίνει την αντίθετη έξοδο από την ΧOR, δηλαδή δίνει λογικό 1 όταν οι δύο είσοδοι είναι στην ίδια λογική στάθμη. Ο πίνακας αλήθειας καθώς και το κυκλωματικό σχήμα της πύλης φαίνονται παρακάτω: 3. Συνδυαστικά Λογικά Κυκλώματα Α Β Α XNOR B 0 1 0 1 0 0 1 1 1 Οι παραπάνω λογικές πύλες μπορούν να συνδυαστούν και να δημιουργήσουν ένα συνδυαστικό λογικό κύκλωμα. Το κύκλωμα του Ημιαθροιστή (Half Adder) και το κύκλωμα του Αθροιστή (Full Adder) είναι δύο από τα περισσότερο γνωστά συνδυαστικά λογικά κυκλώματα και για αυτό επιλέξαμε να τα υλοποιήσουμε στον προσομοιωτή που κατασκευάσαμε. Η λειτουργίας τους περιγράφεται παρακάτω. Το κύκλωμα του Ημιαθροιστή (Half Adder) Ημιαθροιστής (Half Adder), λέγεται το συνδυαστικό κύκλωμα το οποίο εκτελεί την πρόσθεση δύο δυαδικών ψηφίων σύμφωνα με τον παρακάτω πίνακα: + 0 1 1 1 10 Η πρόσθεση 1 + 1 δίνει άθροισμα 0 και κρατούμενο (carry) 1, το οποίο μεταφέρεται στην επόμενη πιο σημαντική τάξη ψηφίων. Αν Α, Β είναι δυαδικά ψηφία, τότε το άθροισμα τους S (Sum) και το κρατούμενο της πρόσθεσής τους c φαίνονται στον παρακάτω πίνακα αλήθειας. Πίνακας Αλήθειας Είσοδοι Έξοδος Α Β S C 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Το λογικό κύκλωμα του ημιαθροιστή βρίσκεται εύκολα, γιατί οι έξοδοι S και C είναι ίδιες με τις εξόδους των πυλών XOR και AND αντίστοιχα. Το κυκλωματικό σχήμα του Ημιαθροιστή φαίνεται παρακάτω: 4

Το κύκλωμα του Αθροιστή (Full Adder) Ο Αθροιστής είναι το συνδυαστικό κύκλωμα που εκτελεί την πρόσθεση τριών δυαδικών αριθμών και, συγκεκριμένα, δύο σημαντικών και ενός κρατουμένου. Το κρατούμενο ενδέχεται να έχει παραχθεί από προηγούμενη άθροιση. Το κύκλωμα του Αθροιστή, έχει τρεις εισόδους A, B, Cin, που αποτελούν τους δυο προσθετέους και το προηγούμενο κρατούμενο. Οι δυο έξοδοι S, Cout συμβολίζουν το άθροισμα και το νέο κρατούμενο. Ο πίνακας αλήθειας του αθροιστή έχει ως εξής: Input Output A B Cin Cout S 0 0 0 0 0 0 1 0 1 0 1 1 1 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 Το κυκλωματικό σχήμα του Αθροιστή φαίνεται παρακάτω: 4. Προγραμματισμός του προσομοιωτή Αφού κατανοήσαμε πλήρως τη λειτουργία των λογικών πυλών και τον τρόπο με τον οποίο συνδυάζονται για να δημιουργήσουν τα κύκλωμα του Ημιαθροιστή και του Αθροιστή, ήρθε η ώρα να προγραμματίσουμε το λογισμικό του προσομοιωτή στο Scratch. Ξεκινήσαμε από τη δημιουργία της διεπαφής χρήστη. Σχεδιάσαμε το υπόβαθρο της διεπαφής στο σχεδιαστικό εργαλείο του Scratch, φροντίζοντας να χωρίσουμε τη διαθέσιμη περιοχή σε 4 τμήματα. Όπως φαίνεται στην Εικόνα 1, στο επάνω τμήμα τοποθετήθηκε ο τίτλος της εφαρμογής, στο αριστερό τμήμα δημιουργήθηκε χώρος για να μπουν αργότερα διακόπτες για τον έλεγχο των εισόδων των λογικών κυκλωμάτων, στο δεξί τμήμα δεσμεύτηκε χώρος για την απεικόνιση των κυκλωμάτων ενώ στο κάτω τμήμα της διαθέσιμης περιοχής δημιουργήθηκε χώρος για να τοποθετηθούν αργότερα τα κουμπιά επιλογής των λογικών κυκλωμάτων. Τίτλος εφαρμογής Διακόπτες ελέγχου εισόδων Εικόνα 1: Τα τμήματα του υποβάθρου της εφαρμογής Απεικόνιση κυκλωμάτων Κουμπιά επιλογής κυκλωμάτων 5

Στη συνέχεια σχεδιάστηκαν, τοποθετήθηκαν και προγραμματίστηκαν τα κουμπιά επιλογής λογικών κυκλωμάτων καθώς και οι διακόπτες εισόδου. Τέλος σχεδιάστηκαν, τοποθετήθηκαν και προγραμματίστηκαν οι λογικές πύλες και τα λογικά κυκλώματα. Στις Εικόνες 2, 3 και 4 φαίνεται το γραφικό περιβάλλον της εφαρμογής. Εικόνα 2: Το γραφικό περιβάλλον της εφαρμογής με μία πύλη NAND Εικόνα 3: Προσομοίωση της λειτουργίας ενός Ημιαθροιστή 6

Εικόνα 4: Προσομοίωση της λειτουργίας ενός Αθροιστή Ο περιορισμένος χώρος της παρούσας εργασίας δεν μας επιτρέπει να παρουσιάσουμε τον κώδικα της εφαρμογής η οποία όμως διατίθεται για κατέβασμα στο διαδικτυακό τόπο του Ελληνικού Κολλεγίου Θεσσαλονίκης www.hellenic-college.gr στην ενότητα Εκπαιδευτικό Λογισμικό. Ευχαριστίες Θα θέλαμε να εκφράσουμε τις ευχαριστίες μας στον καθηγητή πληροφορικής του Ελληνικού Κολλεγίου Θεσσαλονίκης, κ. Κωνσταντίνο Παρασκευόπουλο για τις υποδείξεις και την καθοδήγηση που προσέφερε σε όλη τη διάρκεια της εργασίας Βιβλιογραφία 1. Εφαρμογές Πληροφορικής Υπολογιστών (Α, Β, Γ Γενικού Λυκείου - Επιλογής) - Βιβλίο Μαθητή 2. https://scratch.mit.edu/ 3. Παρασκευόπουλος Κ. (2014). Εισαγωγή στον προγραμματισμό Η/Υ - Εργαστηριακές Σημειώσεις, Θεσσαλονίκη, Ελληνικό Κολλέγιο Θεσσαλονίκης. 7