Μάθημα : ΠΛΗΡΟΦΟΡΙΚΗ Γ' ΓΥΜΝΑΣΙΟΥ

Κωδικός : G1306107

G1306106  -  ΜΑΡΘΑ ΤΣΑΠΑΤΩΡΗ

Ενότητες - ΚΕΦΑΛΑΙΟ 1 - ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΚΕΦΑΛΑΙΟ 1 - ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΣΕΛΙΔΕΣ ΣΧΟΛΙΚΟΥ ΒΙΒΛΙΟΥ: 176-185

 

ΘΕΩΡΙΑ

1. Η έννοια του προβλήματος

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

  • Για να επιλύσουμε ένα πρόβλημα πρέπει αρχικά να το κατανοήσουμε

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

  • Σε κάθε πρόβλημα ψάχνουμε να βρούμε την απάντηση σε μια ερώτηση. Αυτό που ψάχνουμε είναι το ζητούμενο

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

 

Πολλές φορές η λύση ενός προβλήματος χρειάζεται περισσότερη διερεύνηση. Για παράδειγμα στο επόμενο πρόβλημα: Ένας εργάτης χτίζει 1 μέτρο τοίχο σε 2 ώρες. Σε πόσο χρόνο θα έχει ολοκληρώσει το χτίσιμο 11 μέτρων, αν δουλέψει μόνος του;

Είναι σημαντικό να προσδιορίσουμε και το «περιβάλλον» ή το πλαίσιο μέσα στο οποίο εντάσσεται το πρόβλημα (χώρος του προβλήματος).

 

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

 

2. Η έννοια του αλγορίθμου

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

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

Μια συνταγή μαγειρικής είναι αλγόριθμος ! Ξέρετε άλλους ??

 

Χαρακτηριστικά αλγορίθμου:

  1. Ακρίβεια

  2. Σαφήνεια

  3. Κάποτε θα τελειώσει

  4. Απλά λόγια

 

ΠΑΡΑΔΕΙΓΜΑ 1: Δώστε σε ένα συμμαθητή σας οδηγίες για να φτιάξει ένα "νοητό" τετράγωνο στο πάτωμα.

 

ΠΑΡΑΔΕΙΓΜΑ 2: Ανάλυση ποσού σε χαρτονομίσματα του Ευρώ

 

Δείτε και αυτό ... "Οι πύργοι του Ανόι"

 

3. Υλοποίηση Αλγορίθμου με υπολογιστή - Προγραμματισμός

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


Πρόγραμμα σε γλώσσα Python

Ο όρος «bug» (κοριός) χρησιμοποιείται κατά κόρον στην αγγλική γλώσσα για να υποδηλώσει σφάλματα στον πηγαίο κώδικα προγραμμάτων.

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

Η εργασία σύνταξης των προγραμμάτων ονομάζεται προγραμματισμός ενώ τα άτομα που γράφουν και συντάσσουν ένα πρόγραμμα ονομάζονται προγραμματιστές.

Όλα τα προγράμματα του υπολογιστή αποτελούνται από ένα πλήθος κατάλληλων εντολών, που είναι γραμμένες σε λογική σειρά. Τα παιχνίδια, ο Επεξεργαστής Κειμένου, η Ζωγραφική, το Λειτουργικό Σύστημα αποτελούνται από ένα πλήθος εντολών κατανοητών από τον υπολογιστή.

Κάθε φορά που χρειαζόμαστε ένα πρόγραμμα, για να εκτελέσουμε μια λειτουργία ή να επιλύσουμε κάποιο πρόβλημα, ένα σύνολο εντολών αποθηκεύονται («φορτώνονται») στη μνήμη του υπολογιστή, για να εκτελεστούν στη συνέχεια πιστά από την Κεντρική Μονάδα Επεξεργασίας

(Δείτε ξανά ... Πώς "τρέχει" ένα πρόγραμμα ).

 

4. Γλώσσες προγραμματισμού

Οι γλώσσες που «καταλαβαίνουν» οι υπολογιστές είναι τεχνητές γλώσσες που ονομάζονται γλώσσες προγραμματισμού.

Όπως έχει αναφερθεί στη Β΄ Γυμνασίου, η λειτουργία των υπολογιστών βασίζεται στην αναπαράσταση μόνο δύο ψηφίων, των «0» και «1». Η γλώσσα αυτή ονομάστηκε γλώσσα μηχανής. Η γλώσσα μηχανής είναι αρκετά δύσκολη για να την μάθει κάποιος, γιατί είναι πολύ διαφορετική από τη φυσική μας γλώσσα. Επίσης δεν είναι ενιαία σε όλους τους υπολογιστές, μια και κάθε τύπος υπολογιστή (με διαφορετικό επεξεργαστή) έχει τη δική του γλώσσα μηχανής.

Μερικές γνωστές γλώσσες προγραμματισμού είναι η Visual Basic, η Logo, η Pascal, η C++, η Java, η Python και άλλες.

Όπως και οι φυσικές γλώσσες, έτσι και κάθε γλώσσα προγραμματισμού έχει ως βασικά χαρακτηριστικά:

  • το αλφάβητο,

  • το λεξιλόγιο και

  • το συντακτικό.

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

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

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

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

 

5. Το ολοκληρωμένο προγραμματιστικό περιβάλλον 

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

Τα κύρια εργαλεία είναι:

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

Τα προγράμματα - μεταφραστές μπορούν να χωριστούν σε δύο κατηγορίες:

  • στους μεταγλωττιστές και
  • στους διερμηνείς

Η διαφορά τους είναι ότι οι μεταγλωττιστές (compilers) θα ελέγξουν όλο το πρόγραμμα για συντακτικά λάθη και μετά θα το μετατρέψουν όλο σε μια κατάλληλη σειρά από 0 και 1, ώστε να μπορεί να εκτελεστεί από τον επεξεργαστή του υπολογιστή.

Αντίθετα οι διερμηνείς (interpreters) ελέγχουν μία οδηγία κάθε φορά, την εκτελούν και μετά ελέγχουν την επόμενη οδηγία.

 

Μεταγλώττιση και Σύνδεση Προγράμματος

 

6. Τι γίνεται με τα λάθη ??

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

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

 

Συνοψίζοντας ...

Ο κύκλος ζωής ενός προγράμματος

 

**********************************************************************

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

***********************************************************************

 

Και τώρα ... ελέγξτε τις γνώσεις σας !!

Online κουίζ Νο 1

Online κουίζ Νο 2

 

λίγες ασκήσεις ακόμη ...

Ασκήσεις - Κεφάλαιο 1