Τετάρτη 3 Σεπτεμβρίου 2025

NEO - Πληροφορική Γ' Γυμνασίου

Blinking feature using JavaScript

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


Το εργαστήριο το σεβόμαστε και το προστατεύουμε ώστε να μπορούν να μορφώνονται όλοι οι μαθητές του Σχολείου.

Μέσα στο εργαστήριο:

  • Δεν φέρνουμε τρόφιμα ή ροφήματα. Επιτρέπεται μόνο μπουκαλάκι νερό.
  • Δεν μασάμε τσίχλα η καραμέλα
  • Καθόμαστε ΑΠΟΚΛΕΙΣΤΙΚΑ στον υπολογιστή που μας έχει ανατεθεί, ελέγχουμε την λειτουργία του και αναφέρουμε κατευθείαν στον εκπαιδευτικό τυχόν φθορές που θα παρατηρήσουμε (π.χ. πλήκτρα που λείπουν, οθόνη ή υπολογιστής ή οτιδήποτε που δυσλειτουργεί κλπ)
  • Δεν αλλάζουμε την εικόνα στην επιφάνεια εργασίας ούτε τροποποιούμε τα εικονίδια.
  • Δεν εγκαθιστούμε προγράμματα.
  • Δεν παίζουμε παιχνίδια εκτός εάν μας το έχει επιτρέψει ο εκπαιδευτικός
  • Δεν προκαλούμε φθορές στον εξοπλισμό
  • Αφήνουμε ανοιχτό στην επιφάνεια εργασίας τον υπολογιστή μας κατά την έξοδό μας από το εργαστήριο.



Το βιβλίο πληροφορικής μπορείτε να το ανοίξετε οnline εδώ





Ενότητα 1: Αλγοριθμική


Στην ενότητα αυτή θα μάθουμε να:

  • αναγνωρίζουμε την αναδρομική δομή σε ένα πρόβλημα ή ένα αντικείμενο
  • εκτελούμε απλούς αναδρομικούς αλγορίθμους
  • υλοποιούμε απλούς αναδρομικούς αλγορίθμους
  • αναγνωρίζουμε την αναγκαιότητα του βήματος διακοπής της αναδρομή


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

Η αναδρομή είναι μια από τις θεμελιώδεις έννοιες της επιστήμης της Πληροφορικής.


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

Ορισμός Σχεδίασε_Σπιράλ μήκος
    Κινήσου μήκος
    Στρίψε αριστερά 90°
    Σχεδίασε_Σπιράλ μήκος + 5

Σημείωση: Λέξεις σε πορτοκαλί χρώμα είναι μεταβλητές

Παρατηρούμε ότι η εντολή Σχεδίασε_Σπιράλ αναφέρεται ξανά στον εαυτό της, κάτι που δεν έχουμε δει ξανά. Αυτού του είδους οι αυτοαναφορικοί ορισμοί λέγονται αναδρομικοί.

Αν δοκιμάσουμε να εκτελέσουμε αυτή την εντολή στο Scratch, θα διαπιστώσουμε ότι δε σταματάει ποτέ, άρα παραβιάζει την περατότητα.

Προγραμματισμός:

Δημιουργήστε πρόγραμμα στο Scratch ή οποιοδήποτε άλλο οπτικό περιβάλλον προγραμματισμού επιθυμείτε, το οποίο να δημιουργεί με αναδρομή το spiral που φαίνεται στην παραπάνω εικόνα.

  • Tip: Τι πρέπει να προβλέψετε να αρχικοποιήσετε πριν την εκτέλεση του αναδρομικού βήματος;
  • Tip: Πότε πρέπει να τελειώνει η αναδρομική διαδικασία;

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



Δραστηριότητα 1:

Οι πύργοι του Ανόϊ

Για εξάσκηση, μπορείτε να χρησιμοποιήσετε τον παρακάτω σύνδεσμο που υλοποιεί τους πύργους του Ανόϊ με το πρόγραμμα Geogebra Online

Οι πύργοι του Ανόϊ Online


Δραστηριότητα 2

Να γράψετε αλγόριθμο που να δημιουργεί ένα τρίγωνο Sierpinski









Ενότητα 2: Προγραμματισμός με την γλώσσα python


Στην ενότητα αυτή θα μάθουμε να:

  • αναγνωρίζουμε τις βασικές έννοιες του προγραμματισμού (μεταβλητές, τύποι δεδομένων, τελεστές, εκφράσεις)
  • αναπτύσσουμε απλά προγράμματα στη γλώσσα Python
  • εξηγούμε τη ροή εκτέλεσης ενός προγράμματος
  • αναγνωρίζουμε και να διορθώνουμε συντακτικά λάθη
  • χρησιμοποιούμε τις δομές επανάληψης for, while για την ανάπτυξη προγραμμάτων
  • γράφουμε κώδικα που δέχεται δεδομένα και να τα μετατρέπουμε στον κατάλληλο τύπο
  • χρησιμοποιούμε λίστες για την επίλυση απλών προβλημάτων


2.1 Εισαγωγή (Διάβασμα από το βιβλίο)


Προγραμματιστικά Περιβάλλοντα που μπορείτε να κατεβάσετε:

Python (official)

Python editor

Thonny (python IDE) (Προτεινόμενο)

Edublocks (online blocks and python editor)



2.2 Η γλώσσα Python


Η Python είναι μια υψηλού επιπέδου γλώσσα προγραμματισμού η οποία δημιουργήθηκε από τον Ολλανδό Guido van Rossum το 1990. Ένα σημαντικό πλεονέκτημά της είναι η ευκολία χρήσης της. Για τον λόγο αυτό χρησιμοποιείται από πολλά πανεπιστήμια και σχολεία σε εισαγωγικά μαθήματα αλγοριθμικής.

Παραπάνω φαίνεται ο σχεδιασμός ενός τετραγώνου με πλευρά 100 σε Scratch, σε Edublocks και στη γλώσσα Python. Στο περιβάλλον Edublocks κάθε μπλοκ αντιστοιχεί σε μια εντολή της γλώσσας Python. Η διαφορά με το Scratch είναι ότι εδώ θα πρέπει πρώτα να δημιουργήσουμε το αντικείμενο, π.χ. τον franklin το χελωνάκι, στο οποίο θα δώσουμε τις κατάλληλες εντολές, για παράδειγμα να κινηθεί μπροστά (franklin.forward()) ή να στρίψει αριστερά (franklin.left()). Αυτού του είδους ο προγραμματισμός που είναι προσανατολισμένος ή, όπως λέγεται, στρέφεται προς το αντικείμενο λέγεται αντικειμενοστρεφής.

Δραστηριότητα B1

Προσπαθήστε να εξηγήσετε τι κάνει η κάθε μια ξεχωριστά από τις εντολές της Python.


2.2.1 Το περιβάλλον EduBlocks

Το περιβάλλον EduΒlocks έχει ομάδες εντολών σε μορφή πλακιδίων, όπως ακριβώς και το Scratch. Η διαφορά εδώ είναι ότι, εκτός από τον κώδικα στη μέση της οθόνης, δεξιά παράγεται και ο ισοδύναμος κώδικας σε Python. Κάθε μπλοκ ισοδυναμεί με μια γραμμή κώδικα σε γλώσσα Python.

Το παραπάνω πρόγραμμα υπολογίζει τους πρώτους 11 αριθμούς Fibonacci. Έτσι έχουμε τους αριθμούς 1, 1, 2, 3, 5, 8, 13, 21 κ.λπ. Όπως φαίνεται, κάθε αριθμός στην ακολουθία είναι το άθροισμα των δυο προηγουμένων. Η ακολουθία Fibonacci είναι μια ακολουθία αριθμών που εμφανίζεται στη φύση, όπως για παράδειγμα στη διάταξη των φύλλων ενός φυτού και στα πέταλα των λουλουδιών. Οι σπείρες των κοχυλιών και των σαλιγκαριών συχνά ακολουθούν την ακολουθία Fibonacci. Tο αρχικό παράδειγμα που χρησιμοποίησε ο Fibonacci για να περιγράψει την ακολουθία του είναι η αναπαραγωγή κουνελιών. Κάθε ζεύγος κουνελιών παράγει ένα νέο ζεύγος κάθε μήνα, με κάθε νέο ζεύγος να ξεκινά την αναπαραγωγή από τον δεύτερο μήνα.

Δραστηριότητα B2

Γράψτε το παραπάνω πρόγραμμα στο προγραμματιστικό περιβάλλον του EduBlocks.


Όταν αρχίσετε να γράφετε προγράμματα με πολλές γραμμές κώδικα, θα διαπιστώσετε ότι η διαχείρισή τους σε ένα περιβάλλον με πλακίδια δεν είναι τόσο εύκολη. Μπορείτε να μεταβείτε από το περιβάλλον EduBlocks στο περιβάλλον κειμενικού (textual) προγραμματισμού, όπου μπορείτε να πληκτρολογείτε τον κώδικά σας στη γλώσσα Python. Εναλλακτικά μπορείτε να γράψετε τον κώδικα κατ'ευθείαν σε python σε κάποιο προγραμματιστικό περιβάλλον όπως για παράδειγμα το Thonny.

Δραστηριότητα B3

Αντιγράψτε τον κώδικα που παράχθηκε στην δραστηριότητα Β2 από το EduBlocks στο προγραμματιστικό περιβάλλον του Thonny που είναι εγκατεστημένο στον υπολογιστή του εργαστηρίου Πληροφορικής ώστε να διαπιστώσετε τις ομοιότητες και διαφορές.


2.2.2 Το περιβάλλον προγραμματισμού Thonny

Το Thonny είναι ένα δωρεάν και ανοικτού κώδικα περιβάλλον προγραμματισμού για τη γλώσσα Python.

Εκτός από το παράθυρο του συντάκτη κειμένου που βρίσκεται πάνω αριστερά μπορούμε να δοκιμάσουμε και εντολές στο τερματικό του διερμηνευτή (κέλυφος/shell), αν θέλουμε να πειραματιστούμε και να δούμε τι λειτουργία επιτελούν. Εναλλακτικά περιβάλλοντα που μπορείτε να χρησιμοποιήσετε αντί για το Thonny είναι το IDLE (https://www.python.org/) και το Spyder (https://www.spyder-ide.org/).


2.3 Τύποι δεδομένων


Δραστηριότητα 1

Μεταβείτε στο κέλυφος (shell) του Thonny και δώστε τις παρακάτω εκφράσεις:

2**10

2**100

2**1000

2**10000


Μπορείτε να εξηγήσετε τη λειτουργία της εντολής **;


Διαβασμα από το βιβλίο


Δραστηριότητα 2

Μεταβείτε στο κέλυφος (shell) του Thonny και δώστε τις παρακάτω εκφράσεις:

5*("Grace" + "Hopper" + " , ")

5*"Grace" + 5*"Hopper" + 5*" , "

"Alan Turing"[5:10]


Μπορείτε να εξηγήσετε τη λειτουργία που επιτελεί η έκφραση "python"[2:4];


Δραστηριότητα 3

Μεταβείτε στο κέλυφος (shell) του Thonny και δώστε τις παρακάτω εκφράσεις:

len(str(8128))

len(str(496))

len(str(10**20))

len(str(2**100))

str(len(5))


Τι κάνει η συνάρτηση len και τι η str; Τι πετυχαίνουμε με τη συνδυασμένη χρήση τους;



2.4 Μεταβλητές


Διαβασμα από το βιβλίο



2.5 Εντολές εισόδου δεδομένων-εξόδου αποτελεσμάτων


Διαβασμα από το βιβλίο

Παραδείγματα σύνταξης εντολής print

print(x)
print(x, y)
print("Το αποτέλεσμα είναι: ", y)
print("Ο πρώτος αριθμός είναι:", a, " και ο δεύτερος αριθμός είναι:", b)

Όταν θέλουμε να εμφανίζουμε 2 η περισσότερες πληροφορίες με την εντολή εξόδου (print) όπως φαίνεται στο 2,3 και 4 παράδειγμα παραπάνω, τότε χωρίζουμε τις διαφορετικές πληροφορίες με κόμμα. Ας το εξηγήσουμε καλύτερα αυτό.

Πώς συντάσσουμε μια Εντολή Εξόδου;

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

Στην ουσία, η εντολή μας αποτελείται από δύο ειδών δεδομένα:

  • Τα μηνύματα: Βρίσκονται μέσα σε εισαγωγικά και εμφανίζονται ακριβώς όπως τα γράψαμε.
  • Οι μεταβλητές: Γράφονται χωρίς εισαγωγικά και εμφανίζουν την τιμή (το περιεχόμενο) που έχουν αποθηκευμένο εκείνη τη στιγμή.
Παράδειγμα:

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

print("Ο εργαζόμενος ", onoma, " έχει ΑΦΜ: ", afm1)
Στοιχείο Εντολής Τύπος Τι θα δει ο χρήστης
"Ο εργαζόμενος " Κείμενο (σταθερό) Ο εργαζόμενος
onoma Μεταβλητή Το όνομα (π.χ. Μαλλιαρίδης Κωνσταντίνος)
" έχει ΑΦΜ: " Κείμενο (σταθερό) έχει ΑΦΜ:
afm1 Μεταβλητή Το ΑΦΜ του (π.χ. 909909909)
Θυμόμαστε τον κανόνα;

Χρησιμοποιούμε εισαγωγικά (") για το κείμενο που μένει ίδιο και σκέτο όνομα για τις μεταβλητές. Το κόμμα είναι η "κόλλα" που τα ενώνει όλα στη σειρά.


Δραστηριότητα 4

Δημιουργήστε πρόγραμμα σε γλώσσα προγραμματισμού python και αποθηκεύστε το με το όνομα 25_τετράγωνο που:

  1. να διαβάζει έναν ακέραιο αριθμό από το πληκτρολόγιο (με την εντολή input).
  2. να υπολογίζει και να εμφανίζει "Το τετράγωνο του αριθμού είναι: " και το τετράγωνο του αριθμού που υπολογίστηκέ.
  3. στην επόμενη γραμμή να υπολογίζει και να εμφανίζει "Ο κύβος του αριθμού είναι: " και τον υπολογισμένο κύβο του αριθμού.


2.6 Υποπρογράμματα - Συναρτήσεις


Διαβασμα από το βιβλίο



Προ-δραστηριότητα

Δημιουργήστε πρόγραμμα σε γλώσσα προγραμματισμού python και αποθηκεύστε το με το όνομα 26_polygon00 που να χρησιμοποιεί το υποπρόγραμμα Polygon που περιγράφεται παρακάτω για να θα σχεδιάσει 8γωνο, 7γωνο, 6γωνο και 5γωνο, με πλευρά 100 pixel. Tip: Πρώτα πρέπει να εισάγετε την βιβλιοθήκη Turtle (from turtle import *). Μετά να δηλώσετε το παρακάτω υποπρόγραμμα (Polygon) και μετά να εκτελέσετε τις εντολές στο κυρίως πρόγραμμα όπου θα ορίσετε μια χελώνα π.χ. με το όνομα Franklin. Το 8γωνο σχηματίζεται με την εντολή: Polygon(Franklin, 100, 8)

def Polygon(turtle, length, N):
    for i in range(N):
        turtle.forward(length)
        turtle.left(360/N)
Εξηγήστε τι αποτέλεσμα θα έχει κάθε ένα από τα παρακάτω προγράμματα.
for i in range(12):
    print(i)
    
for i in range(0,10):
    print(i)
    
for i in range(5,9):
    print(i)
    
for i in range(5,9,1):
    print(i)
    
for i in range(0,9,3):
    print(i)

for i in range(8,1,-1):
    print(i)
    
for i in range(1,8,-1):
    print(i)

Δραστηριότητα 1

Δημιουργήστε πρόγραμμα σε γλώσσα προγραμματισμού python και αποθηκεύστε το με το όνομα 26_polygon01 που να χρησιμοποιεί το υποπρόγραμμα Polygon για να θα σχεδιάσει 12 πολύγωνα με πλευρά 80 pixels, ξεκινώντας από ένα τετράγωνο και καταλήγοντας σε ένα δεκαπεντάγωνο, αυξάνοντας το πλήθος των πλευρών κατά 1 κάθε φορά. Στο κυρίως πρόγραμμα η εντολή Polygon πρέπει να χρησιμοποιηθεί μόνο μια φορά.


Δραστηριότητα 2

Δημιουργήστε πρόγραμμα σε γλώσσα προγραμματισμού python και αποθηκεύστε το με το όνομα 26_polygon02 που να σχεδιάζει 20 τετράγωνα το ένα μέσα στο άλλο. Το πρώτο τετράγωνο θα έχει πλευρά 10 εικονοστοιχεία και το κάθε επόμενο τετράγωνο θα έχει πλευρά μεγαλύτερη κατά 5 εικονοστοιχεία από το προηγούμενο. Να γίνει χρήση του υποπρογράμματος Polygon στο κύριο πρόγραμμα μόνο μια φορά.



2.7 Η τύχη βοηθάει τους τολμηρούς (Δομή επιλογής και επανάληψης)


Διαβασμα από το βιβλίο



2.8 Παίζοντας Πέτρα-Ψαλίδι-Χαρτί με τον υπολογιστή


Διαβασμα από το βιβλίο







Ενότητα 3: Φυσική υπολογιστική - ρομποτικές διατάξεις


Στην ενότητα αυτή θα μάθουμε να:

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


3.2 Γράφοντας κώδικα για τον Διεθνή Διαστημικό Σταθμό

Ο Διεθνής Διαστημικός Σταθμός (ΔΔΣ) (International Space Station, ISS) είναι ένας ερευνητικός διαστημικός σταθμός που βρίσκεται σε τροχιά γύρω από τη Γη. Η συναρμολόγησή του ξεκίνησε τον Νοέμβριο του 1998, ενώ το πρώτο του πλήρωμα εγκαταστάθηκε τον Νοέμβριο του 2000. Είναι ορατός από τη Γη δια γυμνού οφθαλμού, με την απόστασή του από την επιφάνειά της να κυμαίνεται μεταξύ 400,2 και 409,5 χιλιομέτρων. Ταξιδεύει με μέση ταχύτητα ως προς την επιφάνεια της Γης 27.744 χιλιομέτρων ανά ώρα.

Αυτό σημαίνει ότι κάνει περίπου 15 περιφορές γύρω από τη γη την ημέρα, άρα η περίοδος της τροχιάς του σταθμού γύρω από τη Γη είναι μία φορά κάθε 90 λεπτά. Γι’ αυτό οι παρατηρητές εντός του ISS έχουν την πολυτέλεια να βλέπουν μια ανατολή ή δύση του ηλίου περίπου κάθε 45 λεπτά.

Ο διαγωνισμός Astro Pi Mission Zero είναι ένα εκπαιδευτικό πρόγραμμα του Ευρωπαϊκού Οργανισμού Διαστήματος (ESA) που διενεργείται σε συνεργασία με το Ίδρυμα Raspberry Pi. Προσφέρει σε μαθητές και μαθήτριες την εκπληκτική́ ευκαιρία να διεξαγάγουν επιστημονικές έρευνες στο διάστημα, γράφοντας προγράμματα υπολογιστών που εκτελούνται στους υπολογιστές Raspberry Pi στον ISS. Οι μαθητές και οι μαθήτριες θα προγραμματίσουν ένα Astro Pi, δηλαδή ένα Rasperry Pi το οποίο έχει πάνω του την πλακέτα Sense Hat Εικόνα 3.2 Ο Διεθνής Διαστημικός Σταθμός που διαθέτει Led Matrix οθόνη με 8x8 pixels, αισθητήρες θερμοκρασίας, υγρασίας, πίεσης, γυροσκόπιο κ.ά. Στην περίπτωση μη διαθέσιμου υλικού, μπορεί να αξιοποιηθεί ο τρισδιάστατος διαδικτυακός εξομοιωτής του Sense Hat στο trinket (https://trinket.io/sense-hat).

Το Sense Hat είναι εφοδιασμένο με αισθητήρες θερμοκρασίας, υγρασίας και ατμοσφαιρικής πίεσης, τους οποίους μπορούμε να χειριστούμε και μέσω του εξομοιωτή.

Δραστηριότητα 3_1

1) Μπείτε στον εξομοιωτή του Sense Hat στο trinket από https://trinket.io/sense-hat

2) Γράψτε προσεκτικά το παρακάτω πρόγραμμα. Μπορείτε να παραλείψετε για συντομία συγγραφής τα σχόλια (Γραμμές που ξεκινάνε με τον χαρακτήρα #).

3) Τρέξτε το πρόγραμμα με την εντολή run

4) Τι πιστεύετε ότι κάνει το παρακάτω πρόγραμμα;

5) Αλλάξτε τον αριθμό 270 σε 0, 90, 180. Τι παρατηρείτε;

Χειρισμός αισθητήρων

Το Sense Hat είναι εφοδιασμένο με αισθητήρες θερμοκρασίας, υγρασίας και ατμοσφαιρικής πίεσης, τους οποίους μπορούμε να χειριστούμε και μέσω του εξομοιωτή για το διαγωνισμό Mission Zero στην ιστοσελίδα https://trinket.io/sense-hat.

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

Δίπλα φαίνεται ένα ενδεικτικό πρόγραμμα που έχει αναπτυχθεί στον εξομοιωτή του Astro Pi με επεξήγηση σε μορφή σχολίων για κάθε γραμμή κώδικα. Με τη βοήθεια του κατασκευαστή αντικειμένων SenseHat δημιουργείται ένα αντικείμενο, το οποίο μπορούμε να χειριστούμε με τη βοήθεια της μεταβλητής sense. Όταν θέλουμε να δώσουμε μια εντολή στο αντικείμενο sense, για να εκτελέσει μια συγκεκριμένη λειτουργία, γράφουμε:

sense.λειτουργία()

Μπορείτε να εξηγήσετε τι κάνει το διπλανό πρόγραμμα;

Δραστηριότητα 1 βιβλίου (τροποποιημένη)

1) Προσθέσετε τις διπλανές εντολές στο προηγούμενο πρόγραμμα ("HELLO ISS") και δοκιμάσετε την λειτουργία του διπλανού προγράμματος.

2) Tροποποιήστε το, ώστε να εκτυπώνει το μήνυμα Not safe conditions σε κάθε άλλη περίπτωση.
Tip: Εντολή else:

3) Να χρησιμοποιήσετε την εντολή print για να εμφανίσετε στην κονσόλα (Text Output) τις τιμές της υγρασίας και της θερμοκρασίας. Τι παρατηρείτε;

Πώς μπορούν να γίνουν τα αποτελέσματα πιο ευανάγνωστα;


Δημιουργία εικόνων στον LED πίνακα 8x8


Μελέτη στο βιβλίο

Καθένα από 8x8=64 LEDs του Astro Pi μπορούν να ανάψουν σε συγκεκριμένο χρώμα που θα ορίσουμε εμείς. Η εικόνα που εμφανίζεται ορίζεται ως μια λίστα με 64 τιμές. Κάθε τιμή είναι μια τριάδα αριθμών, που αναπαριστούν τη φωτεινότητα των τριών χρωμάτων (Red, Green, Blue). Οι τρεις αυτοί αριθμοί σχηματίζουν μια δομή που είναι γνωστή στην Python ως πλειάδα (tuple). Στη συνέχεια όλες αυτές οι πλειάδες (μια για κάθε pixel/led της εικόνας) τοποθετούνται σε μια λίστα με το όνομα image. Προηγουμένως έχουμε ορίσει τα χρώματα που χρειαζόμαστε.

Έτσι για παράδειγμα, εαν θέλετε να εμφανίσετε το κόκκινο χρώμα σε ένα pixel, αρκεί να θέσετε στην πλειάδα (RGB) τις τιμές (255, 0, 0), για κίτρινο χρώμα, θα χρειαστεί συνδυασμός του κόκκινου και πράσινου δηλαδή τις τιμές (255, 255, 0).

Δραστηριότητα 2 βιβλίου (τροποποιημένη)

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


Σημείωση: Τα χρώματα του ουράνιου τόξου είναι με την σειρά:

  1. Κόκκινο
  2. Πορτοκαλί
  3. Κίτρινο
  4. Πράσινο
  5. Μπλε
  6. Ίντιγκο (λουλακί - Βαθύ μπλε προς μωβ)
  7. Ιώδες (μωβ)







Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου