Γ ΤΑΞΗ ΓΥΜΝΑΣΙΟΥ
PYTHON ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ
1ος Πανελλήνιος Μαθητικός Διαγωνισμός Τεχνητής Νοημοσύνης
1ος Πανελλήνιος Μαθητικός Διαγωνισμός Τεχνητής Νοημοσύνης
Για μαθητές Β’ & Γ’ Γυμνασίου και Λυκείου
Πρoστατευμένο: ΤΝ
Πρoστατευμένο: Διαγώνισμα Γ1
Γ ΓΥΜΝΑΣΙΟΥ
ΘΕΩΡΙΑ (ΒΙΒΛΙΟ)
Οι οδηγίες που δίνουμε με λογική σειρά, ώστε να εκτελέσουμε μια εργασία ή να επιλύσουμε ένα πρόβλημα, συνθέτουν έναν Αλγόριθμο. Για παράδειγμα, οι οδηγίες για την κατασκευή ενός χαρταετού μπορεί να αποτελέσουν έναν αλγόριθμο. Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών – βημάτων, με σκοπό την επίλυση ενός προβλήματος.
Αλγόριθμος μπορεί να είναι μια συνταγή μαγειρικής ή η βήμα προς βήμα περιγραφή της λύσης ενός μαθηματικού προβλήματος. Όταν σχεδιάζουμε έναν αλγόριθμο, πρέπει να είμαστε ιδιαίτερα προσεκτικοί, ώστε να βάζουμε με λογική σειρά τις οδηγίες (instructions) που θα μας οδηγήσουν στη λύση του προβλήματός μας.
1.3 Ιδιότητες ενός Αλγορίθμου
Οι εντολές ενός αλγορίθμου πρέπει να έχουν ακρίβεια και σαφήνεια, ώστε να μην μπερδευτεί αυτός που θα υλοποιήσει τον αλγόριθμο και τις εκτελέσει με λανθασμένο τρόπο.
Πρώτα απ’ όλα, πρέπει να είμαστε σίγουροι ότι, αν υλοποιήσουμε τον αλγόριθμο, κάποτε θα τελειώσει επιτυγχάνοντας τον αρχικό σκοπό.
Δεν πρέπει να ξεχνάμε ότι ο αλγόριθμος είναι η περιγραφή της λύσης ενός προβλήματος με μια συγκεκριμένη διαδοχική σειρά βημάτων
Τέλος, οι εντολές ενός αλγορίθμου πρέπει να είναι εκφρασμένες με απλά λόγια, ώστε να είναι απόλυτα κατανοητές.
1.4 Υλοποίηση Αλγορίθμου με υπολογιστή – Προγραμματισμός
Πρόγραμμα είναι η αναπαράσταση ενός αλγορίθμου γραμμένη σε γλώσσα κατανοητή για έναν υπολογιστή. Ένα πρόγραμμα, δηλαδή, αποτελείται από μία σειρά εντολών που δίνονται στον υπολογιστή με σκοπό να εκτελέσει κάποια συγκεκριμένη λειτουργία ή να υπολογίσει κάποιο επιθυμητό αποτέλεσμα. Η εργασία σύνταξης των προγραμμάτων ονομάζεται προγραμματισμός, ενώ τα άτομα που γράφουν και συντάσσουν ένα πρόγραμμα ονομάζονται προγραμματιστές.
1.5 Γλώσσες Προγραμματισμού
Γλώσσα Μηχανής
Όπως έχει αναφερθεί στη Β΄ Γυμνασίου, η λειτουργία των υπολογιστών βασίζεται στην αναπαράσταση μόνο δύο ψηφίων, των «0» και «1». Στα πρώτα βήματα της ιστορίας των υπολογιστών οι άνθρωποι, για να επικοινωνήσουν με τον υπολογιστή,πρεπε να χρησιμοποιούν μία γλώσσα που είχε ως αλφάβητο το «0» και το «1». Αν ήθελαν λοιπόν να δώσουν μία απλή εντολή στον υπολογιστή, π.χ. να προσθέσει το 3+5 και να εμφανίσει το αποτέλεσμα, έπρεπε να μετατρέψουν όλη την εντολή σε μία γραμμή από 0 και 1. Η γλώσσα αυτή ονομάστηκε γλώσσα μηχανής. Η γλώσσα μηχανής είναι αρκετά δύσκολη για να την μάθει κάποιος, γιατί είναι πολύ διαφορετική από τη φυσική μας γλώσσα (Εικόνα 1.3). Επίσης δεν είναι ενιαία σε όλους τους υπολογιστές, μια και κάθε τύπος υπολογιστή (με διαφορετικό επεξεργαστή) έχει τη δική του γλώσσα μηχανής.
Χαρακτηριστικά Γλωσσών Προγραμματισμού
Μερικές γνωστές γλώσσες προγραμματισμού είναι η Visual Basic, η Logo, η Pascal, η C++, η Java και άλλες.
- το αλφάβητο,
- το λεξιλόγιο και
- το συντακτικό
Το αλφάβητο μιας γλώσσας προγραμματισμού είναι το σύνολο των χαρακτήρων που χρησιμοποιούνται από τη γλώσσα.
Το λεξιλόγιο μιας γλώσσας είναι το σύνολο των λέξεων που αναγνωρίζει η γλώσσα και έχουν συγκεκριμένη και μοναδική σημασία. Στις γλώσσες προγραμματισμού το λεξιλόγιο είναι πολύ περιορισμένο (μερικές δεκάδες λέξεις), ώστε να μπορούμε να το μάθουμε εύκολα.
Το συντακτικό μιας γλώσσας προγραμματισμού είναι το σύνολο των κανόνων που πρέπει να ακολουθούμε, για να συνδέουμε λέξεις σε προτάσεις. Σε μια γλώσσα προγραμματισμού η σύνδεση λέξεων δημιουργεί ολοκληρωμένες εντολές προς τον υπολογιστή. Αν δεν ακολουθήσουμε αυστηρά το συντακτικό μιας γλώσσας, είναι αδύνατο για τον υπολογιστή να καταλάβει ποια εντολή του δίνουμε.
Το ολοκληρωμένο προγραμματιστικό περιβάλλον
Ένα περιβάλλον προγραμματισμού αποτελείται από διάφορα εργαλεία που βοηθάνε τον προγραμματιστή να γράψει και να διορθώσει το πρόγραμμά του.
Τα κύρια εργαλεία είναι:
- ένας εξειδικευμένος κειμενογράφος, που χρησιμεύει για τη σύνταξη και τη διόρθωση του προγράμματος και
- ένα πρόγραμμα-μεταφραστής που μετατρέπει τις οδηγίες μας στη μορφή που τις καταλαβαίνει ο επεξεργαστής, δηλαδή σε μια σειρά από 0 και 1
Τα προγράμματα που μετατρέπουν τις οδηγίες μας σε 0 και 1 μπορούν να χωριστούν σε δύο κατηγορίες:
- στους μεταγλωττιστές και
- στους διερμηνείς.
Η διαφορά τους είναι ότι οι μεταγλωττιστές (compilers) θα ελέγξουν όλο το πρόγραμμα για συντακτικά λάθη και μετά θα το μετατρέψουν όλο σε μια κατάλληλη σειρά από 0 και 1, ώστε να μπορεί να εκτελεστεί από τον επεξεργαστή του υπολογιστή.
Αντίθετα οι διερμηνείς (interpreters) ελέγχουν μία οδηγία κάθε φορά, την εκτελούν και μετά ελέγχουν την επόμενη οδηγία. Η γλώσσα προγραμματισμού Logo, που θα δούμε στο επόμενο κεφάλαιο, χρησιμοποιεί διερμηνέα.
Αν σε κάποια οδηγία έχουμε κάνει λάθος στο αλφάβητο, στο λεξιλόγιο ή στο συντακτικό τότε το πρόγραμ-μα που μετατρέπει τις οδηγίες μας σε σειρά από 0 και 1 θα μας δώσει ένα κατάλληλο μήνυμα λάθους, ώστε να μας βοηθήσει να διορθώσουμε το λάθος μας. Τα λάθη αυτά ονομάζονται συντακτικά λάθη.
Δεν πρέπει να ξεχνάμε ότι ο υπολογιστής εκτελεί πιστά, όποιες συντακτικά ορθές εντολές και αν του δώσουμε. Αν το αποτέλεσμα, που τελικά προκύπτει από την εκτέλεση του προγράμματος, δεν είναι το αναμενόμενο, τότε το πρόβλημα δε βρίσκεται στον τρόπο εκτέλεσης, αλλά στον αλγόριθμο που κατασκευάσαμε για τη λύση του προβλήματός μας. Στην περίπτωση αυτή λέμε ότι έχουμε κάνει ένα λογικό λάθος και πρέπει να ελέγξουμε ένα προς ένα τα βήματα – εντολές του αλγορίθμου μας, ώστε να διαπιστώσουμε, αν δίνουμε τις κατάλληλες εντολές με τη σωστή σειρά.




