Αγαπητοί/ες μου μαθητές/τριες το blog αυτό έχει δημιουργηθεί για να σας βοηθήσει στο μάθημα της πληροφορικής. Απαιτείται να έχετε στο εργαστήριο πληροφορικής:
ένα τετράδιο 20 φύλλων
στυλό για να κρατάτε σημειώσεις για το μάθημα
Το εργαστήριο το σεβόμαστε και το προστατεύουμε ώστε να μπορούν να μορφώνονται όλοι οι μαθητές του Σχολείου.
Μέσα στο εργαστήριο:
- Δεν φέρνουμε τρόφιμα ή ροφήματα. Επιτρέπεται μόνο μπουκαλάκι νερό.
- Δεν μασάμε τσίχλα η καραμέλα
- Καθόμαστε ΑΠΟΚΛΕΙΣΤΙΚΑ στον υπολογιστή που μας έχει ανατεθεί, ελέγχουμε την λειτουργία του και αναφέρουμε κατευθείαν στον εκπαιδευτικό τυχόν φθορές που θα παρατηρήσουμε (π.χ. πλήκτρα που λείπουν, οθόνη ή υπολογιστής ή οτιδήποτε που δυσλειτουργεί κλπ)
- Δεν αλλάζουμε την εικόνα στην επιφάνεια εργασίας ούτε τροποποιούμε τα εικονίδια.
- Δεν εγκαθιστούμε προγράμματα.
- Δεν παίζουμε παιχνίδια εκτός εάν μας το έχει επιτρέψει ο εκπαιδευτικός
- Δεν προκαλούμε φθορές στον εξοπλισμό
- Αφήνουμε ανοιχτό στην επιφάνεια εργασίας τον υπολογιστή μας κατά την έξοδό μας από το εργαστήριο.
Το βιβλίο πληροφορικής μπορείτε να το ανοίξετε οnline εδώ
Γρήγορη μετάβαση
Ενότητα 2: Η έννοια του προβλήματος
Ενότητα 3: Αλγόριθμοι
Ενότητα 4: Γλώσσες αναπαράστασης αλγορίθμων
Ενότητα 2: Η έννοια του προβλήματος
Πρόβλημα είναι μια κατάσταση που απαιτεί λύση αλλά η λύση της δεν είναι γνωστή ούτε προφανής.
κατηγορίες προβλημάτων
Αν παρατηρήσουμε τα προβλήματα που αναφέρθηκαν παραπάνω, διαπιστώνουμε τη διαφορετική τους φύση. Η κατηγοριοποίησή τους μπορεί να γίνει με βάση διάφορα κριτήρια. Αν ως κριτήριο θέσουμε τη δυνατότητα επίλυσής τους, τα προβλήματα διακρίνονται σε:
- Επιλύσιμα: Χαρακτηρίζονται τα προβλήματα των οποίων η λύση έχει διατυπωθεί ή η συνάφειά τους με άλλα, ήδη λυμένα, μας επιτρέπει να θεωρούμε βέβαιη την δυνατότητα επίλυσής τους. Παραδείγματα τέτοιων προβλημάτων είναι η επίλυση δευτεροβάθμιων εξισώσεων, ο υπολογισμός του ρεύματος σε ένα κύκλωμα, η κατασκευή μιας γέφυρας, η εξοικονόμηση ενέργειας, η οργάνωση μιας βιβλιοθήκης
- Ανοικτά: Χαρακτηρίζονται τα προβλήματα των οποίων η λύση δεν έχει ακόμα βρεθεί, ούτε έχει αποδειχθεί ότι δεν επιδέχονται λύση. Ως ανοικτά προβλήματα μπορούμε να αναφέρουμε την ανακάλυψη ζωής σε άλλους πλανήτες, τη θεραπεία του καρκίνου, την πρόβλεψη των σεισμών
- Μη επιλύσιμα: Χαρακτηρίζονται τα προβλήματα για τα οποία έχουμε καταλήξει στην παραδοχή ότι δεν μπορούν να λυθούν. Τέτοια προβλήματα είναι ο τετραγωνισμός του κύκλου, το ταξίδι στο παρελθόν, η γήρανση του ανθρώπου.
Κατηγοριοποίηση ανάλογα με τον τρόπο επίλυσης
- Υπολογιστικά: Τα προβλήματα που δίνονται προς επίλυση στον υπολογιστή έχουν να κάνουν με τη διενέργεια υπολογισμών οι οποίοι απαιτούν μια σειρά από λογικές, αριθμητικές πράξεις και επαναληπτικές διαδικασίες. Αυτά είναι τα προβλήματα με τα οποία θα ασχοληθούμε κυρίως στο μάθημα αυτό.
- Απόφασης: είναι ένα πρόβλημα στο οποίο η απάντηση είναι ένα ναι ή ένα όχι. Για παράδειγμα, δεδομένου ότι ο καιρός είναι άστατος, να πάω στο σχολείο με το ποδήλατο;
- Βελτιστοποίησης: είναι ένα πρόβλημα στο οποίο αναζητούμε την απάντηση που ικανοποιεί κατά τον καλύτερο τρόπο τα δεδομένα του. Για παράδειγμα, δεδομένου ότι διαθέτω 100 ευρώ, ποιο είναι το καλύτερο κινητό που μπορώ να αγοράσω;
2.3 Διαδικασία επίλυσης προβλημάτων
Η αντιμετώπιση υπολογιστικών προβλημάτων γίνεται με συγκεκριμένη διαδικασία που περιέχει σαφή βήματα.
1. Κατανόηση και τρόπος παρουσίας ενός προβλήματος
H κατανόηση ενός προβλήματος είναι το πρώτο και σημαντικότερο βήμα κατά την διαδικασία επίλυσης ενός προβλήματος. Στο βήμα αυτό πρέπει να αποσαφηνιστούν τα δεδομένα του προβλήματος το/α ζητούμενο/α του προβλήματος και ο χώρος του προβλήματος. Επιπλέον πρέπει να ερευνηθεί η ορθότητα και η πληρότητα του.
- δεδομένα του προβλήματος: ονομάζονται τα γνωστά ή αποδεκτά στοιχεία το οποία χρησιμοποιούνται ως βάση ή προϋπόθεση για την επίλυση του προβλήματος. Πολλά από αυτά πρέπει να ανακαλυφθούν από άλλα δεδομένα. Για παράδειγμα για την εύρεση το μέσου όρου ενός μαθητή δεδομένο είναι και ο αριθμός των μαθημάτων που μπορεί να μην δίνεται στην εκφώνηση του προβλήματος.
- ζητούμενο/α του προβλήματος: είναι αυτό που ψάχνουμε για να βγούμε από τη δύσκολη κατάσταση στην οποία βρισκόμαστε. Το ζητούμενο πρέπει να επιλύεται σε κάθε περίπτωση και όχι μερικώς.
- χώρος του προβλήματος: Καθορίζεται με τη βοήθεια ερωτήσεων («πώς», «πού», «τί», «γιατί», «πότε»). Απαντώντας στα ερωτήματα προσδιορίζουμε πολλές φορές και τα δεδομένα και τα ζητούμενα του προβλήματος. (Είσοδος - Έξοδος)
- ορθότητα: Πριν ξεκινήσουμε την προσπάθεια επίλυσης ενός προβλήματος πρέπει να ελέγξουμε την ορθότητα των δεδομένων. Για παράδειγμα, έστω ότι σας ζητείται να ταξινομήσετε σε αλφαβητική σειρά τα επίθετα των συμμαθητών σας. Αν σας τα έχουν δώσει με ορθογραφικά λάθη, η ταξινόμηση που θα προκύψει θα είναι λανθασμένη.
- πληρότητα: Πρέπει να ελέγχεται κάθε φορά που επιδιώκεται η επίλυση ενός προβλήματος. Έστω ότι μας ζητάνε να ταξινομηθούν οι συμμαθητές μας με βάση την ημερομηνία γέννησης και μας δίνουν τα στοιχεία στην παρακάτω εικόνα. Παρατηρούμε ότι τα δεδομένα είναι ελλιπή (εφόσον στην Παπαδάκη Μιχαέλα ΔΕΝ υπάρχει ημερομηνία γέννησης) και συνεπώς, δεν μπορούμε να επιλύσουμε το πρόβλημα.
Επίθετο Όνομα Ημερομηνία γέννησης Παπαδοπούλου Κυριακή 22/03/2010 Μπέλλης Νικόλαος 27/08/2009 Παπαδάκη Μιχαέλα - Στανίσης Πέτρος 26/08
2. Επίλυση του προβλήματος
Προχωρώντας προς το στάδιο της επίλυσης καταλαβαίνουμε ότι σε πολλά προβλήματα η λύση τους δεν είναι άμεσα γνωστή. Η επίλυση περιλαμβάνει την σχεδίαση της λύσης και την υλοποίησης της λύσης.
- Σχεδίαση: Η φάση της σχεδίασης είναι πολύ σημαντική. Μπορεί να αναγνωριστεί σε πολλές επιστήμες γύρω μας. Για παράδειγμα, για την κατασκευή μιας βίλας προϋποθέτει αρχικά τον σχεδιασμό της στο χαρτί από έναν αρχιτέκτονα και μετά την υλοποίησης της από έναν πολιτικό μηχανικό με βάση τα σχέδια του αρχιτέκτονα.
Στο μάθημά μας θα ασχοληθούμε με τους αλγόριθμους που ουσιαστικά αποτελούν τον σχεδιασμό των προγραμμάτων για την επίλυση ενός προβλήματος. Τους αλγορίθμους τους κατασκευάζουν ειδικοί επιστήμονες πληροφορικής που ονομάζονται αναλυτές συστημάτων.
Όταν το πρόβλημα είναι πολύ δύσκολο να επιλυθεί πρέπει να εφαρμόσουμε την διαδικασία διαίρει και βασίλευε, δηλαδή να το αναλύσουμε σε μικρότερα προβλήματα που θα είναι πιο απλά και ονομάζονται υποπροβλήματα. Εάν κάποιο υποπρόβλημα συνεχίζει να παραμένει σύνθετο και άρα δύσκολο προς επίλυση το αναλύουμε σε μικρότερα υποπροβλήματα. Η διαδικασία αυτή ονομάζεται αναλυτική. Στην παρακάτω εικόνα φαίνεται ένα αρχικό πρόβλημα το Π που έχει αναλυθεί στα υποπροβλήματά του. Με την επίλυση των υποπροβλημάτων του που δέν έχουν περαιτέρω διάσπαση, έχουν τελικά την επίλυση του αρχικού προβλήματος. Στο παρακάτω παράδειγμα πρέπει να επιλυθούν MONO τα υποπροβλήματα: Π11, Π12, Π2, Π31, Π32 για να έχουμε την επίλυση του αρχικού προβλήματος Π.
Προετοιμασία ταξιδιού- Υλοποίηση: Είναι η κατασκευή προγραμμάτων από τους προγραμματιστές σε μια γλώσσα προγραμματισμού (π.χ. Python) με βάση κάποιον αλγόριθμο.
3. Αξιολόγηση της λύσης
Το στάδιο αξιολόγησης της λύσης είναι πολύ σημαντικό. Για να ελέγξουμε εάν έχουμε επιλύσει σωστά ένα πρόβλημα, αρχικά καταγράφουμε υποθετικά δεδομένα σύμφωνα με τις απαιτήσεις του προβλήματος. Στη συνέχεια, εφαρμόζουμε τα βήματα επίλυσης για να εξάγουμε τα αποτελέσματα. Τέλος, συγκρίνουμε τα αποτελέσματα που πήραμε με τα ζητούμενα του προβλήματος. Εάν διαπιστώσουμε λάθος, εντοπίζουμε το τμήμα της λύσης που εκτελεί τη λανθασμένη λειτουργία, το διορθώνουμε και επαναλαμβάνουμε τη διαδικασία ελέγχου, έως ότου τα αποτελέσματα να μη διαφέρουν από τα ζητούμενα. Πολλές φορές το λάθος μπορεί να οφείλεται και στην κατανόηση του προβλήματος. Στην περίπτωση αυτή η διαδικασία επίλυσης Ξεκινάει ξανά από την αρχή.
Ερωτήσεις - Θέματα για συζήτηση
Ενότητα 3: Αλγόριθμοι
3.1 Η έννοια του αλγορίθμου
Η διαδικασία επίλυσης ενός προβλήματος οδηγεί στη δημιουργία ενός αλγορίθμου. Η έννοια του αλγορίθμου είναι θεμελιώδης για την επιστήμη της Πληροφορικής. Στα Μαθηματικά δίνουμε ορισμούς που περιγράφουν το «τι είναι». Διατυπώνουμε γενικές ιδιότητες και θεωρήματα. Συνδυάζοντάς τα, λύνουμε ειδικά προβλήματα (π.χ. τον υπολογισμό της ρίζας του 2). Στην Πληροφορική κατασκευάζουμε αλγορίθμους που περιγράφουν το «πώς υπολογίζεται», δηλαδή δημιουργούμε συγκεκριμένες υπολογιστικές διαδικασίες οι οποίες εκτελούνται μηχανικά. Στη συνέχεια, τις εφαρμόζουμε για να λύνουμε γενικά προβλήματα (π.χ. υπολογισμός της ρίζας οποιουδήποτε αριθμού).
Αλγόριθμος είναι η ακριβής περιγραφή μιας σειράς βημάτων που απαιτούνται για την επίλυση ενός προβλήματος.
Ο αλγόριθμος αποτελεί τη βάση για τη δημιουργία ενός προγράμματος που θα εκτελεστεί από έναν ηλεκτρονικό υπολογιστή. Η έννοιά του είναι γενικότερη από εκείνη του προγράμματος και δε συνδέεται αποκλειστικά με την Πληροφορική. Μπορεί να εκφραστεί ακόμα και σε φυσική γλώσσα, Ελληνικά ή Αγγλικά. Μια συνταγή μαγειρικής είναι ένας αλγόριθμος. Οι οδηγίες του καθηγητή για την επίλυση της δευτεροβάθμιας εξίσωσης είναι, επίσης, αλγόριθμος. Στην επίλυση προβλημάτων μέσω αλγορίθμων, υπάρχουν τέσσερεις (4) διαφορετικοί διακριτοί ρόλοι:
- Ο σχεδιαστής (Αναλυτής συστημάτων): Είναι αυτός που καλείται να αντιμετωπίσει το πρόβλημα σχεδιάζοντας τον αλγόριθμο.
- Ο υλοποιητής (Προγραμματιστής): Είναι αυτός που θα δημιουργήσει το πρόγραμμα σε γλώσσα προγραμματισμού (π.χ. Python, C++, Java) με βάση τον αλγόριθμο του αναλυτή συστημάτων.
- Ο εκτελεστής (Υπολογιστής): Ο Υπολογιστής θα εκτελέσει το πρόγραμμα που έγγραψε ο προγραμματιστής, θα εφαρμόσει δηλαδή πιστά τις εντολές του προγράμματος.
- Ο χρήστης: Ο χρήστης δίνει την εντολή για να εκτελεστεί το πρόγραμμα όποτε αυτός θέλει προκειμένου να επιλύσει το πρόβλημα.
Ερωτήσεις - Θέματα για συζήτηση
Α. Γράψτε τον αριθμό της πρότασης και δίπλα το γράμμα Σ εάν θεωρείτε ότι η πρόταση είναι σωστή ή το γράμμα Λ εάν θεωρείτε ότι είναι λανθασμένη.
- Η έννοια του αλγόριθμου είναι θεμελιώδης για την επιστήμη της Πληροφορικής.
- Η έννοια του αλγόριθμου είναι γενικότερη από εκείνη του προγράμματος.
- Η έννοια του αλγόριθμου συνδέεται αποκλειστικά με την Πληροφορική.
- Μια συνταγή μαγειρικής είναι ένας αλγόριθμος
- Στην επίλυση προβλημάτων μέσω αλγορίθμων, υπάρχουν δύο διαφορετικοί διακριτοί ρόλοι
Β. Συμπληρώστε τις προτάσεις με την κατάλληλη λέξη:
- Ο αλγόριθμος αποτελεί τη βάση για τη δημιουργία ενός .........................
- Οι διακριτοί ρόλοι στην επίλυση προβλημάτων μέσω αλγορίθμων είναι ο ........................., ο ........................., ......................... και ο .........................
Γ. Αντιστοιχίστε κάθε στοιχείο της στήλης Α με την κατάλληλη έννοια της στήλης Β
3.2 Χαρακτηριστικά αλγορίθμου
O αλγόριθμος αποτελείται από μια σειρά εντολών που, αν εφαρμοσθούν πιστά, οδηγούν στην επίλυση ενός προβλήματος. Είναι, όμως, οποιαδήποτε σειρά από εντολές ένας αλγόριθμος; Η απάντηση είναι όχι. Οι εντολές ενός αλγορίθμου, αλλά και ο αλγόριθμος ως ολότητα, θα πρέπει να ικανοποιούν κάποια κριτήρια:
Κάθε αλγόριθμος καθορίζεται από πέντε 5 χαρακτηριστικά:
- Καθοριστικότητα: Κάθε βήμα πρέπει να είναι αυστηρά καθορισμένο και σαφές.
- Περατότητα: Ο αλγόριθμος πρέπει να τερματίζει μετά από την εκτέλεση πεπερασμένου πλήθους βημάτων.
- Είσοδος: Ένας αλγόριθμος μπορεί να έχει καμία, μία ή περισσότερες εισόδους, οι οποίες αντιστοιχούν στα δεδομένα που πρέπει να χρησιμοποιήσει για να επιλύσει το πρόβλημα.
- Έξοδος: Ένας αλγόριθμος, πρέπει να έχει τουλάχιστον μία έξοδο, η οποία αντιστοιχεί στη λύση του προβλήματος.
- Αποτελεσματικότητα: Κάθε βήμα του αλγορίθμου πρέπει να είναι διατυπωμένο με απλό τρόπο, ώστε να μπορεί να εκτελεστεί από αυτόν που θα τον εκτελέσει (π.χ. υλοπογιστής). Για παράδειγμα, αν ο αλγόριθμος απευθύνεται σε ανθρώπους, θα πρέπει να μπορεί να εκτελεστεί με χαρτί και μολύβι από έναν άνθρωπο ακολουθώντας απλές και κατανοητές εντολές.
Tα κριτήρια της καθοριστικότητας και αποτελεσματικότητας είναι σχετικά με αυτόν που θα κληθεί να εφαρμόσει τον αλγόριθμο. Κάθε εκτελεστής έχει διαφορετικές δυνατότητες, διαφορετικά δυνατά και αδύνατα σημεία. Ο άνθρωπος, για παράδειγμα, μπορεί να ακούσει, να διαβάσει, μπορεί να μιλήσει αλλά ακόμα και να εφαρμόσει τύπους, να σκεφθεί, να αυτοσχεδιάσει. Ο υπολογιστής, από την άλλη, μπορεί να διαχειρίζεται δεδομένα με ασύλληπτη ταχύτητα, να εμφανίσει, να κάνει αριθμητικές και λογικές πράξεις ακαριαία. Κάθε εκτελεστής έχει διαφορετικό σύνολο κατανοητών και εφικτών εντολών. Ο άνθρωπος έχει ένα ευρύ σύνολο εκτελέσιμων εντολών. Ο υπολογιστής μπορεί να εκτελεί μόνο βασικές πράξεις. Σε κάθε περίπτωση τα βήματα του αλγορίθμου θα πρέπει να μπορούν να εκτελεστούν από αυτό στον οποίο θα ανατεθούν. Παράδειγμα, άλλες εντολές θα έχει ένας αλγόριθμος κατασκευής μακαρονάδας εάν ο εκτελεστής είναι η μαμά και άλλες εάν είναι ένας 5χρονος μπόμπιρας!
Ερωτήσεις - Θέματα για συζήτηση
Α. Γράψτε τον αριθμό της πρότασης και δίπλα το γράμμα Σ εάν θεωρείτε ότι η πρόταση είναι σωστή ή το γράμμα Λ εάν θεωρείτε ότι είναι λανθασμένη.
- Μια σειρά από εντολές είναι ένας αλγόριθμος.
- Οι εντολές ενός αλγορίθμου πρέπει να ικανοποιούν κάποια κριτήρια.
- Ένας αλγόριθμος είναι μια σειρά εντολών.
- Ο υπολογιστής μπορεί να εκτελεί μόνο βασικές πράξεις.
- Κατα την δημιουργία ενός αλγορίθμου, θα πρτέπει να λαμβάνεται υπόψιν το ποιός θα κληθεί να τον εκτελέσει.
- Ο άνθρωπος έχει ευρύτερο σύνολο εκτελέσιμων εντολών από τον υπολογιστή.
B. Αντιστοιχίστε κάθε στοιχείο της στήλης Α με την κατάλληλη έννοια της στήλης Β
Γ. Συμπληρώστε τις προτάσεις με την κατάλληλη λέξη:
- Ο αλγόριθμος αποτελείται από μια σειρά από ......................... που, αν εφαρμοσθούν πιστά, οδηγούν στην ......................... ενός προβλήματος.
- Τα κριτήρια της ......................... και ......................... είναι σχετικά με αυτόν που θα κληθεί να εφαρμόσει τον αλγόριθμο.
Quiz!!!
Μπείτε στο joinmyquiz.com όταν σας πει ο εκπαιδευτικός σας πληκτρολογήστε το πραγματικό ονομά σας τον κωδικό που θα σας δοθεί και παίξτε QUIZ!!!
Ενότητα 4: Γλώσσες αναπαράστασης αλγορίθμων
Στόχοι. Στην ενότητα αυτή θα μάθουμε να:
- να διακρίνουν τις βασικές εντολές και δομές που χρησιμοποιούνται σε έναν αλγόριθμο.
- να επιλύουν απλά προβλήματα διατυπώνοντας τη λύση σε μορφή αλγορίθμου.
- να γνωρίσουν διαφορετικούς αλγορίθμους για την επίλυση συγκεκριμένων προβλημάτων και να προβληματιστούν για τα χαρακτηριστικά τους.
- να εντοπίζουν και να διορθώνουν τα λογικά λάθη ενός αλγορίθμου.
- να γνωρίσουν τη σημασία της τεκμηρίωσης σε έναν αλγόριθμο.
4.1 Γενικά στοιχεία αναπαράστασης αλγορίθμων
Το πρόγραμμα ΓΛΩΣΣΑ που θα μας βοηθήσει να γράψουμε αλγορίθμους στον υπολογιστή μπορείτε να το κατεβάσετε από εδώ.
Στο προηγούμενο κεφάλαιο γνωρίσαμε την έννοια του αλγορίθμου σε θεωρητικό επίπεδο, ως τη γενική διαδικασία επίλυσης ενός προβλήματος. Στη συνέχεια θα μπούμε στην πράξη, θα δούμε πως αντιμετωπίζουμε προβλήματα με τη δημιουργία αλγορίθμων. Για την αναπαράσταση των αλγορίθμων του κεφαλαίου θα χρησιμοποιήσουμε μια Ψευδογλώσσα με κωδικοποιημένες εντολές χωρίς να μας απασχολεί η αυστηρότητα που διέπει μια επίσημη γλώσσα προγραμματισμού.
Γενικά, η μορφή ενός αλγορίθμου σε Ψευδογλώσσα πρέπει να ακολουθεί την παρακάτω σύνταξη:
Αλγόριθμος <ονομα> Εντολές Τέλος <ονομα>
Εντολή Εξόδου
Με την εντολή αυτή παρουσιάζονται τα αποτελέσματα του αλγόριθμου. Θα μπορούσε να είναι η εμφάνιση σε μια οθόνη, η εκτύπωση σε έναν εκτυπωτή. Κάθε αποτέλεσμα μπορεί ναι είναι είτε ένα μήνυμα μέσα σε εισαγωγικά οπότε παρουσιάζεται αυτούσιο, ή μια μεταβλητή οπότε παρουσιάζεται η τιμή της ή μια παράσταση οπότε υπολογίζεται και παρουσιάζεται η τιμή της.
Γενική σύνταξη:
Εμφάνισε (λίστα_αποτελεσμάτων)Εναλακτικά, μπορεί να χρησιμοποιηθεί και η εντολή Εκτύπωσε με την ίδια λειτουργία, υπονοώντας όμως εκτύπωση σε εκτυπωτή και όχι εμφάμνιση στην οθόνη. Επειδή οι αλγόριθμοι έχουν χαλαρή συνταξη επιτρέπεται να χρησιμοποιηθεί και η εντολή Γράψε.
Παραδείγματα:
Εμφάνισε "Καλημέρα παιδιά!" Εμφάνισε x Εμφάνισε "Ο/Η Μαθητής/τρια ", ΟΝΟΜΑ, " έβγαλε στο μάθημα ", ΜΑΘΗΜΑ, " τελικό βαθμό ", ΒΔραστηριότητα 4_01:
Γράψτε τον παρακάτω Αλγόριθμο στην "ΓΛΩΣΣΑ". Συνήθως όταν γράφουμε το πρώτο μας αλγόριθμο ή πρόγραμμα σε μια νέα γλώσσα προγραμματισμού αυτό είναι το πρώτο πρόγραμμα που γράφουμε!!!
Αλγόριθμος O_πρώτος_μου_αλγόριθμος Εμφάνισε "Καλημέρα κόσμε!!!" ΤέλοςΠαρατηρήσεις: Όταν δίνουμε ένα όνομα σε αλγόριθμο στην ΓΛΩΣΣΑ, αυτό πρέπει να είναι με λατινικούς χαρακτήρες, ελληνικούς χαρακτήρες, αριθμούς ή την κάτω παύλα (_) που χρησιμοποιείται κυρίως για τον διαχωρισμό των λέξεων. Δεν επιτρέπονται άλλα σύμβολα ούτε και το κενό στο όνομα αλγορίθμου.
Ποιές άλλες εντολές μπορούμε να χρησιμοποιήσουμε αντί για την εντολή Εμφάνισε;Αποθηκεύστε τον αλγόριθμό που γράψατε με το όνομα Algo01 στον φάκελο του τμήματός σας (όπου σας υποδείξει ο εκπαιδευτικός σας)
Δραστηριότητα 4_02:
Γράψτε αλγόριθμο με το όνομα A4_02_Τα_στοιχεία_μου που να εμφανίζει στην οθόνη το ονοματεπώνυμό σας, στην επόμενη γραμμή το Τμήμα σας, και στην επόμενη το Σχολείο σας. όταν τελειώσετε, αποθηκεύστε το με το όνομα Algo02. Η έξοδος του αλγορίθμου θα είναι κάπως έτσι, αλλά με τα δικά σας στοιχεία!
Ονοματεπώνυμο: Μαλλιαρίδης Κωνσταντίνος Τμήμα: Γ3 Σχολείο: 12 ΕΠΑΛ Θεσσαλονίκης
Εντολή Εισόδου
Με την εντολή αυτή ο εισάγονται τιμές από το χρήστη. Κατά την εκτέλεση της, σταματά προσωρινά η ροή εκτέλεσης του αλγόριθμου. Κάθε τιμή που εισάγεται εκχωρείται στην αντίστοιχη μεταβλητή (μια θέση στην μνήμη RAM). Όταν δοθούν τόσες τιμές, όσες και οι μεταβλητές στη λίστα, ολοκληρώνεται η είσοδος και συνεχίζει η εκτέλεση του αλγόριθμου.
Γενική σύνταξη:
Δεδομένα // (λίστα_δεδομένων_χωρισμένα_με_κενό) // ή Διάβασε (λίστα_δεδομένων_χωρισμένα_με_κενό)Παραδείγματα:
Δεδομένα // x // Δεδομένα // Αριθμός_1, Αριθμός_2 // ή Διάβασε x Διάβασε Αριθμός_1, Αριθμός_2Τί είναι όμως η μεταβλητή;
Σταθερές και μεταβλητές
📦 Τα "Δεδομένα" του Υπολογιστή
Για να λύσει ένα πρόβλημα ο υπολογιστής, χρειάζεται πληροφορίες. Αυτές τις πληροφορίες τις αποθηκεύει σε "κουτάκια" στη μνήμη του (RAM). Αυτά τα κουτάκια τα χωρίζουμε σε δύο είδη:
🔵 Μεταβλητή
Είναι ένα κουτί που το περιεχόμενό του μπορεί να αλλάζει όσο τρέχει ο αλγόριθμος.
💡 Σκέψου το σαν το "Σκορ" σε ένα παιχνίδι: ξεκινάει από 0 και ανεβαίνει!
🟠 Σταθερά
Είναι ένα κουτί που η τιμή του μένει ίδια από την αρχή μέχρι το τέλος.
💡 Σκέψου το σαν τον αριθμό των ημερών της εβδομάδας (πάντα 7).
🧩 Τι "είδους" πράγματα βάζουμε στα κουτιά;
Κάθε κουτάκι δέχεται μόνο ένα συγκεκριμένο είδος πληροφορίας, που το λέμε Τύπο Δεδομένου:
- 🔢 Ακέραιος: Ολόκληροι αριθμοί χωρίς υποδιαστολή (π.χ.
10, 5, -2).- 📏 Πραγματικός: Αριθμοί με υποδιαστολή (π.χ.
1.75, 3.14).- 💬 Χαρακτήρες: Γράμματα ή λέξεις μέσα σε εισαγωγικά (π.χ.
"Μαρία", "Α").- ⚖️ Λογικός: Δέχεται μόνο δύο τιμές:
ΑληθήςήΨευδής.💻 Πως ονομάζουμε τις μεταβλητές;
Κάθε μεταβλητή έχει όνομα που εκφράζει το περιεχόμενό της. Το όνομα πρέπει:
• να μην έχει κενά
• να μην έχει σύμβολα (+,-,*,$,%)
• να μην ξεκινά από αριθμό, αν και μπορεί να περιέχει
• να μην είναι δεσμευμένη λέξη (λέξη που χρησιμοποιείται στη γλώσσα για ειδικό σκοπό)
Οι ίδιες οδηγίες χρησιμοποιούνται και όταν δίνουμε όνομα σε έναν αλγόριθμο.
💻 Η χρήση τους στους αλγορίθμους
Όταν γράφουμε πρόγραμμα, πρέπει να δηλώνουμε το είδος των μεταβλητών (π.χ. Ακέραιος, Πραγματικός κλπ) που πρόκειται να χρησιμοποιήσουμε. Στους αλγορίθμους όμως είναι πιο απλοποιημένα τα πράγματα και δεν απαιτείται να δηλώσουμε τον τύπο των μεταβλητών που θα χρησιμοποιήσουμε γιατί βρισκόμαστε στην φάση της σχεδίασης.
Σημείωση: Όταν θέλουμε να εμφανίζουμε 2 η περισσότερες πληροφορίες με την εντολή εξόδου, τότε χωρίζουμε τις διαφορετικές πληροφορίες με με το κόμμα.
ΣΤΑΘΕΡΕΣ Εκτύπωσε 15 Εμφάνισε Αληθής Εμφάνισε "123" ΜΕΤΑΒΛΗΤΕΣ Διάβασε x Διάβασε x, y Δεδομένα // x, y, z // Εμφάνισε Αριθμός_2 Εμφάνισε "Η ηλικία σου είναι: ", age
Δραστηριότητα 4_03:
Γράψτε αλγόριθμο με το όνομα A4_03_Καλημέρα που να ζητάει το όνομά σας (με την εντολή Δεδομένα ή Διάβασε) και μετά να εμφανίζει με την εντολή Εμφάνισε, Καλημέρα (Όνομα)!!! Αποθηκεύστε τον αλγόριθμο σας στον φάκελο που θα σας υποδείξει ο καθηγητής σας με το όνομα Algo03 και εκτελέστε τον για να δείτε το αποτέλεσμα!
Μην ξεχάσετε να κλείσετε τον αλγόριθμό σας με την λέξη Τέλος.
Δραστηριότητα 4_04:
Γράψτε αλγόριθμο με το όνομα A4_04_Το_Σχολείο_μου που να ζητάει/αποθηκεύει σε μια μεταβλητή (π.χ. onoma) το όνομα του Σχολείου σας με την χρήση της εντολής Δεδομένα και μετά να εμφανίζει με την εντολή Εμφάνισε, Το σχολείο μου είναι το: (Όνομα Σχολείου)!!! Αποθηκεύστε τον αλγόριθμο σας στον φάκελο που θα σας υποδείξει ο καθηγητής σας με το όνομα Algo04 και εκτελέστε τον για να δείτε το αποτέλεσμα!
Μην ξεχάσετε να κλείσετε τον αλγόριθμό σας με την λέξη Τέλος.
Χρήση εντολής εισόδου με επεξηγηματική προτροπή στον χρήστη
Όταν χρησιμοποιούμε μια εντολή εισόδου σε έναν αλγόριθμο, ο υπολογιστής σταματά να εκτελεί το πρόγραμμα και περιμένει από τον χρήστη να πληκτρολογήσει κάτι. Αν δεν έχουμε γράψει ένα επεξηγηματικό μήνυμα πριν από αυτή την εντολή, ο χρήστης θα βλέπει μια κενή οθόνη ή έναν κέρσορα που αναβοσβήνει και δεν θα ξέρει τι πρέπει να κάνει. Το μήνυμα προτροπής είναι απαραίτητο γιατί λειτουργεί ως οδηγία: εξηγεί στον χρήστη ακριβώς τι είδους δεδομένα πρέπει να δώσει (π.χ. έναν αριθμό ή ένα όνομα), αποτρέποντας έτσι τα λάθη και κάνοντας το πρόγραμμα κατανοητό και εύκολο στη χρήση.
Για να ενημερώσουμε σωστά τον χρήστη για το τι δεδομένα θέλουμε να εισάγει, χρησιμοποιούμε ακριβώς πριντ την εντολή εισόδου, μια εντολή εξόδου που περιέχει ως κείμενο την ερώτηση/προτροπή προς τον χρήστη, όπως φαίνεται στο παρακάτω παράδειγμα:
Εμφάνισε "Δώσε το όνομα σου: " Διάβασε onoma1
Πώς συντάσσουμε μια Εντολή Εξόδου;
Στην εντολή εξόδου, όταν θέλουμε να εμφανίσουμε στην οθόνη πολλά διαφορετικά στοιχεία μαζί, χρησιμοποιούμε το κόμμα ( , ) για να τα διαχωρίσουμε. Αυτό είναι απαραίτητο για να καταλάβει ο υπολογιστής πού τελειώνει το ένα στοιχείο και πού αρχίζει το επόμενο.
Στην ουσία, η εντολή μας αποτελείται από δύο ειδών δεδομένα:
- Τα μηνύματα: Βρίσκονται μέσα σε εισαγωγικά και εμφανίζονται ακριβώς όπως τα γράψαμε.
- Οι μεταβλητές: Γράφονται χωρίς εισαγωγικά και εμφανίζουν την τιμή (το περιεχόμενο) που έχουν αποθηκευμένο εκείνη τη στιγμή.
Παράδειγμα:
Ας δούμε για παράδειγμα, τι κάνει το κάθε κομμάτι στην παρακάτω εντολή:
Εμφάνισε "Ο εργαζόμενος ", onoma, " έχει ΑΦΜ: ", afm1
Στοιχείο Εντολής Τύπος Τι θα δει ο χρήστης "Ο εργαζόμενος " Κείμενο (σταθερό) Ο εργαζόμενος onoma Μεταβλητή Το όνομα (π.χ. Μαλλιαρίδης Κωνσταντίνος) " έχει ΑΦΜ: " Κείμενο (σταθερό) έχει ΑΦΜ: afm1 Μεταβλητή Το ΑΦΜ του (π.χ. 909909909) Θυμόμαστε τον κανόνα;Χρησιμοποιούμε εισαγωγικά (") για το κείμενο που μένει ίδιο και σκέτο όνομα για τις μεταβλητές. Το κόμμα είναι η "κόλλα" που τα ενώνει όλα στη σειρά.
Δραστηριότητα 4_05:
Γράψτε αλγόριθμο με το όνομα A4_05_Ο_Βαθμός_μου που να ζητάει/αποθηκεύει δύο δεδομένα. Με την προτροπή "Δώσε το όνομά σου: " να καταχωρεί το όνομα του χρήστη (π.χ. στην μεταβλητή onoma) και αντίστοιχα με την προτροπή "Δώσε τον βαθμό σου: " να καταχωρεί τον βαθμό του στο μάθημα της πληροφορικής (π.χ. στην μεταβλητή bathm). Συνεχίζοντας να εμφανίζει με την εντολή Εμφάνισε, Ο μαθητής (Όνομα_μαθητή) πήρε στην Πληροφορική: (βαθμός). Αποθηκεύστε τον αλγόριθμο σας στον φάκελο που θα σας υποδείξει ο καθηγητής σας με το όνομα Algo05 και εκτελέστε τον για να δείτε το αποτέλεσμα!
Η δημιουργία κάθε αλγορίθμου στηρίζεται στη χρήση τριών αλγοριθμικών δομών της δομής ακολουθίας, της δομής επιλογής και της δομής επανάληψης. Με τον συνδυασμό των τριών παραπάνω δομών μπορεί να υλοποιηθεί οποιοσδήποτε αλγόριθμος όσο δύσκολος κι αν είναι αυτός!
4.2 Δομή ακολουθίας
Η Ελένη θα πάει σε πάρτι σήμερα!
Έχω πάρτι το βράδυ! Έχω όμως και διάβασμα. Πρέπει να τελειώσω στην ώρα μου, για να έχω χρόνο μετά να ετοιμαστώ και να είμαι στις 9 στο πάρτι. Ας οργανωθώ: 7:00-7:30 να διαβάσω. 7:30-7:45 να κάνω μπάνιο. 7:45-8:00 να στεγνώσω τα μαλλιά μου. 8:00-8:15 να μακιγιαριστώ. 8:15-8:30 να ντυθώ. 8:45-9:00 να πάω στο πάρτι. Όλα πρέπει να εκτελεσθούν στη σειρά και με απόλυτη ακρίβεια. Αν αλλάξω τη σειρά των βημάτων ή παραλείψω κάποιο βήμα, δε θα έχω το επιθυμητό αποτέλεσμα.Η δομή ακολουθίας χρησιμοποιείται για την αντιμετώπιση απλών προβλημάτων όπου η εκτέλεση των εντολών είναι αποκλειστικά σειριακή. Πρακτικά, η δομή ακολουθίας περιέχεται σε κάθε αλγόριθμο.
Εντολή εκχώρησης τιμής σε μεταβλητή
Για να καταλάβουμε την εντολή εκχώρησης τιμής σε μεταβλητή, πρέπει πρώτα να κατανοήσουμε προηγουμένως 2 άλλες πολύ σημαντικές έννοιες. Τους τελεστές και τις εκφράσεις.
Τελεστής είναι το σύμβολο που χρησιμοποιείται για την εκτέλεση μιας πράξης. Υποστηρίζονται τρία είδη πράξεων, οι αριθμητικές, οι συγκριτικές και οι λογικές. Ο τελεστής ^ είναι η ύψωση σε δύναμη. Οι τελεστές div και mod υλοποιούν το πηλίκο και το υπόλοιπο της διαίρεσης ακεραίων, αντίστοιχα. Ο συγκριτικός τελεστής <> είναι το διάφορο.
Έκφραση είναι o συνδυασμός σταθερών και μεταβλητών με πράξεις (τελεστές). Κάθε έκφραση μπορεί να αποτιμηθεί. Η τελική τιμή μιας έκφρασης εξαρτάται από την ιεραρχία των πράξεων και τη χρήση των παρενθέσεων. Η τιμή μιας έκφρασης μπορεί να είναι είτε αριθμός, οπότε μιλάμε για αριθμητική έκφραση, είτε ΑΛΗΘΗΣ ή ΨΕΥΔΗΣ οπότε μιλάμε για λογική έκφραση. Μια λογική έκφραση που περιέχει λογικούς τελεστές λέγεται σύνθετη, διαφορετικά απλή. Σε μια έκφραση εκτελούνται πρώτα οι αριθμητικοί, μετά οι συγκριτικοί και τέλος οι λογικοί τελεστές.
Παραδείγματα εκφράσεων αριθμητικών τελεστών:
- 15/3
- (15+3)/2
- 14 div 5
- 14 mod 5
- 2*3^2+2
- 2*a+b
- (8/2)/(10/5) Τι πιστεύετε ότι κωδικοποιεί;
Παραδείγματα εκφράσεων με συγκριτικούς και λογικούς τελεστές:
15 > 3 Αποτέλεσμα -> Αληθής 15+3 = 16 Αποτέλεσμα -> Ψευδής 19 div 5 > 14 div 5 Αποτέλεσμα; 19 mod 5 = 14 mod 5 Αποτέλεσμα; όχι 2*3^2+2 = 20 Αποτέλεσμα; 2=4 και 2=2 Αποτέλεσμα; (2=2 και 4=4) ή 4=2 Αποτέλεσμα;
Σύνταξη εντολής
μεταβλητή ← έκφρασηΕρμηνεία εντολής: Υπολόγισε την έκφραση στην δεξιά πλευρά της εντολής εκχώρησης και βάλε το αποτέλεσμα στην μεταβλητή στα αριστερά
Παραδείγματα εντολής εκχώρησης
a ← 5+10 b ← a + 6 a ← b + a βαθμός ← (Ατετρ + Βτετρ + Γραπτα) / 3Παραδείγμα αλγορίθμου:
Θέλουμε να κατεβάσουμε στο κινητό μας τηλέφωνο μια εφαρμογή. Η ταχύτητα σύνδεσής μας στο διαδίκτυο είναι 1,6 ΜΒ/δευτερόλεπτο. Γράψτε αλγόριθμο που δέχεται ως είσοδο το μέγεθος της εφαρμογής σε MB και υπολογίζει σε πόσο χρόνο θα κατέβει η εφαρμογή.
Αλγόριθμος Download Εμφάνισε "Δώστε το μέγεθος της εφαρμογής σε MB: " Διάβασε μέγεθος χρόνος ← μέγεθος/1.6 Εμφάνισε "Απαιτούνται ", χρόνος, " δευτερόλεπτα για να κατεβεί η εφαρμογή." Τέλος
Δραστηριότητα 4_06:
Γράψτε αλγόριθμο με το όνομα A4_06_Μέσος_όρος που να ζητάει/αποθηκεύει δύο δεδομένα. Με την προτροπή "Δώσε βαθμό Α' τετράμηνου: " να καταχωρεί τον βαθμό του Α' τετράμηνου ενός μαθητή και αντίστοιχα με την προτροπή "Δώσε βαθμό Β' τετράμηνου: " να καταχωρεί τον βαθμό του Β' τετράμηνου ενός μαθητή στο μάθημα της πληροφορικής. Υπολογίστε σε νέα μεταβλητή τον μέσο όρο του μαθήματος και εμφανίστε με την εντολή Εμφάνισε, Μέσος όρος Πληροφορικής: (βαθμός). Αποθηκεύστε τον αλγόριθμο σας στον φάκελο που θα σας υποδείξει ο καθηγητής σας με το όνομα Algo06 και εκτελέστε τον για να δείτε το αποτέλεσμα!
Δραστηριότητα 4_07:
Γράψτε αλγόριθμο με το όνομα A4_07_ύψος που ο οποίος:
Να διαβάζει τα ύψη τριών μαθητών σε εκατοστά.
Να υπολογίζει με την εντολή εκχώρησης τον μέσο όρο ύψους τους σε μέτρα.
Να εμφανίζει: Μέσος όρος ύψους: (Μέσος όρος)
Eκτελέστε τον για να δείτε το αποτέλεσμα!
Αποθηκεύστε τον αλγόριθμο σας στον φάκελο που θα σας υποδείξει ο καθηγητής σας με το όνομα Algo07
Δραστηριότητα 4_08:
Γράψτε αλγόριθμο με το όνομα A4_07_θερμοκρασια ο οποίος να δέχεται βαθμούς Φαρενάϊτ και υπολογίζει βαθμούς Κελσίου με βάση τον εξής τύπο:
Κελσίου = 5 / 9 (Φαρενάϊτ -32)
Στην συνέχεια να εμφανίζει (βαθμοί) Φαρενάϊτ = (βαθμοί) Κελσίου
Eκτελέστε τον για να δείτε το αποτέλεσμα!
Αποθηκεύστε τον αλγόριθμο σας στον φάκελο που θα σας υποδείξει ο καθηγητής σας με το όνομα Algo08
- Πώς υπολογίζεται ο Μέγιστος Κοινός Διαιρέτης (ΜΚΔ) δύο θετικών αριθμών; Περιγράψτε φραστικά.
- Επιχειρήστε να υπολογίσετε τον ΜΚΔ των αριθμών 27 και 78.
- Αν κάποιος σας ζητούσε να υπολογίσετε τον ΜΚΔ δύο άλλων αριθμών τι θα κάνατε;
- Αν ήταν απαραίτητο να υπολογίσετε τον ΜΚΔ δύο ακόμα αριθμών τι θα κάνατε;
- Θα μπορούσε να συνεισφέρει η επιστήμη της πληροφορικής στον υπολογισμό του ΜΚΔ δύο αριθμών; Εξηγήστε.
- Ανοίξτε το μαθησιακό αντικείμενο «ο αλγόριθμος του Ευκλείδη»
- Εκτελέστε τον αλγόριθμο για διάφορα ζεύγη τιμών. (π.χ. 512 & 120, 123 & 84)
- Τι συμπεραίνετε;
Γράψτε στο αλγοριθμικό περιβάλλον ΓΛΩΣΣΑ τον παρακάτω αλγόριθμο του Ευκλείδη. Μετά δοκιμάστε εάν δουλεύει υπολογίζει σωστά τον ΜΚΔ) με διάφορα ζεύγη ζεύγη αριθμών που θα δοκιμάσετε.
Αλγόριθμος Ευκλείδης Διάβασε x, y z ← y Όσο z ≠ 0 επανάλαβε z ← x mod y x ← y y ← z Τέλος_επανάληψης Εμφάνισε "ΜΚΔ=", x ΤέλοςΑποθηκεύστε τον αλγόριθμο με το όνομα 01_Euklidis στον φάκελο διαδρομή που θα σας υποδείξει ο εκπαιδευτικός σας.
Quiz!!!
Μπείτε στο joinmyquiz.com όταν σας πει ο εκπαιδευτικός σας πληκτρολογήστε το πραγματικό ονομά σας τον κωδικό που θα σας δοθεί και παίξτε QUIZ!!!




