Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Κεφάλαιο 1 Εισαγωγή στην Έννοια του Αλγορίθμου και τον Προγραμματισμό.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Κεφάλαιο 1 Εισαγωγή στην Έννοια του Αλγορίθμου και τον Προγραμματισμό."— Μεταγράφημα παρουσίασης:

1 Κεφάλαιο 1 Εισαγωγή στην Έννοια του Αλγορίθμου και τον Προγραμματισμό.
Πληροφορική Γ′ Γυμνασίου Κεφάλαιο 1 Εισαγωγή στην Έννοια του Αλγορίθμου και τον Προγραμματισμό. 8-Feb-18 Προγραμματισμός

2 Η έννοια του προβλήματος
Κεφαλαιο 1 Η έννοια του προβλήματος Τη λέξη πρόβλημα την έχουμε συναντήσει πολλές φορές στην καθημερινή μας ζωή, στο σχολείο. Έχουμε λύσει για παράδειγμα προβλήματα στα Μαθηματικά και τη Φυσική Έχουμε κάποιο πρόβλημα με τους φίλους μας, τους γονείς μας. Όμως: τι είναι πρόβλημα; ποιες κατηγορίες προβλημάτων υπάρχουν; πώς μπορούμε να περιγράψουμε με σαφήνεια τη λύση ενός προβλήματος; 8-Feb-18 Προγραμματισμός

3 Τι ονομάζουμε Πρόβλημα; Κατηγορίες προβλημάτων
Πρόβλημα θεωρούμε κάθε ζήτημα που τίθεται προς επίλυση, κάθε κατάσταση που μας απασχολεί και πρέπει να αντιμετωπιστεί. Κατηγορίες προβλημάτων Προβλήματα είναι σχετικά απλά και σύντομα βρίσκουμε τη λύση τους. Προβλήματα που είναι αρκετά πολύπλοκα και η λύση τους μας δυσκολεύει ιδιαίτερα: (η ρύπανση της ατμόσφαιρας, η εξοικονόμηση ενέργειας, η θεραπεία ορισμένων ασθενειών) Υπάρχουν επίσης άλλες κατηγορίες προβλημάτων που: είτε δεν μπορούμε να τα επιλύσουμε με τις μέχρι τώρα γνώσεις μας, όπως η ακριβής πρόβλεψη των σεισμών, η γήρανση του ανθρώπου, είτε έχει αποδειχθεί ότι δεν μπορούμε να τα επιλύσουμε, όπως: ο τετραγωνισμός του κύκλου με κανόνα και διαβήτη ή το ταξίδι στο παρελθόν. 8-Feb-18 Προγραμματισμός

4 Ποια είναι τα βασικά στοιχεία ενός προβλήματος;
τα δεδομένα (είναι τα στοιχεία που μας είναι γνωστά και μπορούν να βοηθήσουν στην επίλυση ενός προβλήματος) το ζητούμενο (αυτό που ψάχνουμε ) η επίλυση ( Η διαδικασία μέσω της οποίας βρίσκουμε το ζητούμενο και επιτυγχάνουμε τον επιθυμητό στόχο) 8-Feb-18 Προγραμματισμός

5 Επίλυση ενός προβλήματος
Έτσι για να επιλύσουμε ένα πρόβλημα πρέπει: Να το κατανοήσουμε δηλαδή να καταλάβουμε καλά το περιεχόμενο του να διακρίνουμε τα δεδομένα που έχουμε στη διάθεση μας και τα ζητούμενα του και πρέπει να προσδιορίσουμε και το «περιβάλλον» ή πλαίσιο μέσα στο οποίο εντάσσεται το πρόβλημα (χώρος του προβλήματος) Να το αναλύσουμε σε απλούστερα προβλήματα αν είναι σύνθετο. Να το επιλύσουμε 8-Feb-18 Προγραμματισμός

6 Τα στάδια αντιμετώπισης ενός προβλήματος είναι:
Κατανόηση Ανάλυση Επίλυση 8-Feb-18 Προγραμματισμός

7 Επιλυςη ενος προβληματος
Πολλές φορές η επίλυση ενός προβλήματος χρειάζεται περισσότερη διερεύνηση. Παράδειγμα: Ένας εργάτης χτίζει 1 μέτρο τοίχο σε 2 ώρες. Σε πόσο χρόνο θα έχει ολοκληρώσει το χτίσιμο 11 μέτρων, αν δουλέψει μόνος του; Η απάντηση: σε 22 ώρες φαίνεται λογική, αλλά ξεχνάμε ότι ένας εργάτης δεν μπορεί να δουλέψει 22 ώρες συνεχόμενες! 8-Feb-18 Προγραμματισμός

8 Ανάλυση του προβλήματος «Οργάνωση Εκπαιδευτικής Εκδρομής» σε απλούστερα προβλήματα.
Τα περισσότερα προβλήματα είναι σύνθετα και δεν μας έρχεται στο νου η λύση τους με την πρώτη ματιά. Για να μπορέσουμε να λύσουμε ένα σύνθετο πρόβλημα είναι αναγκαίο να το αναλύσουμε σε απλούστερα προβλήματα. Πρόβλημα: Οργάνωση Εκπαιδευτικής Εκδρομής Εύρεση Τόπου Επίσκεψης Υπολογισμός Αντιτίμου Συμμετοχής Συγκέντρωση Χρημάτων Τρόπος Μεταφοράς Καθορισμός Ημερομηνίας Επίσκεψης Συγκέντρωση Βεβαιώσεων Συμμετοχής 8-Feb-18 Προγραμματισμός

9 Τι ονομάζουμε Αλγόριθμο;
Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών - βημάτων για την επίλυση ενός προβλήματος. Αλγόριθμος μπορεί να είναι μια συνταγή μαγειρικής ή ακόμη και οι οδηγίες βήμα - βήμα για την επίλυση ενός μαθηματικού προβλήματος. 8-Feb-18 Προγραμματισμός

10 Για παράδειγμα ας δούμε τα βήματα που πρέπει να ακολουθηθούν, ώστε να μαγειρέψει ένας άπειρος μάγειρας μια μακαρονάδα: Άνοιξε το μάτι της κουζίνας στο 2. Βάλε 3 λίτρα νερό σε μία κατσαρόλα χωρητικότητας 4 λίτρων. Βάλε την κατσαρόλα στο μάτι της κουζίνας, που έχεις ήδη ανάψει. Πρόσθεσε στην κατσαρόλα μία κουταλιά της σούπας αλάτι. Περίμενε μέχρι να βράσει το νερό. Βγάλε τα μακαρόνια από το πακέτο. Βάλε τα μακαρόνια στην κατσαρόλα. Ανακάτευε τα μακαρόνια για 10 λεπτά. Κλείσε το μάτι της κουζίνας που άνοιξες. Βγάλε την κατσαρόλα από το μάτι της κουζίνας. Άδειασε τα μακαρόνια από την κατσαρόλα σε ένα σουρωτήρι. Ρίξε κρύο νερό από τη βρύση στα μακαρόνια για 20 δευτερόλεπτα. Άφησε για 2 λεπτά τα μακαρόνια να στραγγίξουν. Σερβίρισε τα μακαρόνια στο πιάτο. Πρόσθεσε σε κάθε πιάτο 3 κουταλιές της σούπας τριμμένο τυρί. Eρωτήσεις: Τι θα συμβεί αν ξεχάσουμε την εντολή 9 στον παραπάνω αλγόριθμο; Μπορούμε να αντιμεταθέσουμε τις εντολές 7 και 8; Τι θα συμβεί, αν αντικαταστήσουμε την εντολή στο βήμα 4 με την εντολή «πρόσθεσε αλάτι»; Αν αντιμεταθέσουμε τις εντολές 1 και 2, θα υπάρξει κάποιο πρόβλημα στον αλγόριθμο; 8-Feb-18 Προγραμματισμός

11 Ποιες είναι οι ιδιότητες ενός Αλγορίθμου;
Ποιες είναι οι ιδιότητες ενός Αλγορίθμου; Κάποτε πρέπει να τελειώνει. Οι εντολές θα πρέπει να έχουν ακρίβεια και σαφήνεια. Οι εντολές θα πρέπει να είναι εκφρασμένες με απλά λόγια. Να οδηγεί στη λύση του προβλήματος. Για παράδειγμα σε μια συνταγή μαγειρικής θα πρέπει να περιγράψουμε ακριβώς την ποσότητα αλατιού που θα ρίξει ο μάγειρας (π.χ μια κουταλιά ή 20 gr) 8-Feb-18 Προγραμματισμός

12 Κάποτε πρέπει να τελειώνει. Επανάλαβε συνεχώς [σχεδίασε πέταλο]
Αλγόριθμος δημιουργίας ενός λουλουδιού με 10 πέταλα Το αποτέλεσμα υλοποίησης του Αλγορίθμου επανάλαβε 10 φορές[σχεδίασε_πέταλο] Επανάλαβε συνεχώς [σχεδίασε πέταλο] Η παραπάνω οδηγία δεν μπορεί να θεωρηθεί αλγόριθμος γιατί ο υπολογιστής θα σχεδιάζει πέταλα συνεχώς χωρίς να σταματήσει ποτέ! 8-Feb-18 Προγραμματισμός

13 1ο Παράδειγμα Παράδειγμα 1: «Έχει κάποιος ένα πρόβατο, ένα λύκο και ένα καφάσι με χόρτα στη μία όχθη ενός ποταμού και θέλει να τα περάσει στην απέναντι όχθη χρησιμοποιώντας μία βάρκα. Η βάρκα όμως είναι μικρή και μπορεί να μεταφέρει, εκτός από τον ίδιο, άλλο ένα από τα ζώα ή το καφάσι. Ωστόσο δεν πρέπει να μείνουν μαζί ο λύκος με το πρόβατο και το πρόβατο με τα χόρτα. Μπορείτε να δώσετε οδηγίες στο βαρκάρη για το πώς πρέπει να κάνει τη μεταφορά τους;» Δεδομένα: 1 πρόβατο, 1 λύκος, 1 καφάσι με χόρτα, μία θέση επιπλέον στη βάρκα, 2 όχθες ποταμού. Πλαίσιο του προβλήματος: Ο λύκος δεν πρέπει να μείνει μαζί με το πρόβατο. Το πρόβατο δεν πρέπει να μείνει μαζί με τα χόρτα. Ζητούμενο: Να περάσει ο λύκος, το πρόβατο και το καφάσι με τα χόρτα στην απέναντι όχθη. 8-Feb-18 Προγραμματισμός

14 Αλγόριθμος για το 1ο Παράδειγμα
Αρχή του αλγορίθμου: Βάλε το πρόβατο στη βάρκα. Πήγαινε στην απέναντι όχθη. Άφησε το πρόβατο στην όχθη. Γύρνα πίσω στην αρχική όχθη. Φόρτωσε το καφάσι με τα χόρτα. Άφησε το καφάσι στην όχθη. Πήγαινε στην αρχική όχθη. Βάλε το λύκο στη βάρκα. Άφησε το λύκο στην όχθη. Βάλε το πρόβατο στη βάρκα Τέλος του αλγορίθμου 8-Feb-18 Προγραμματισμός

15 2ο Παράδειγμα Παράδειγμα 2: Θέλουμε να περιγράψουμε σε ένα μικρό παιδί πώς θα δημιουργήσει με τις πατούσες του ένα τετράγωνο στην άμμο. Αν το παιδί δε γνωρίζει τι σχήμα θέλουμε να αποτυπωθεί στην άμμο, ποιες είναι οι κατάλληλες οδηγίες που θα του δώσουμε; Κατ’ αρχάς πρέπει να αναλύσουμε την έννοια «τετράγωνο»: Ένα τετράγωνο είναι ένα κλειστό γεωμετρικό σχήμα με 4 ίσες πλευρές. Άρα, για να σχηματίσουμε τις πλευρές, πρέπει κάθε φορά να κάνουμε τον ίδιο αριθμό βημάτων Ένα τετράγωνο έχει 4 ορθές γωνίες δηλ. 4 γωνίες των 90ο. Άρα, μόλις σχηματίζουμε μία πλευρά πρέπει να γυρνάμε κατά 90ο γύρω από τον εαυτό μας και πάντοτε με την ίδια φορά. 8-Feb-18 Προγραμματισμός

16 Αλγόριθμος για το 2ο Παράδειγμα
Αρχή του Αλγορίθμου Περπάτησε 5 βήματα μπροστά. Στρίψε δεξιά κατά ενενήντα μοίρες. Τέλος του Αλγορίθμου 8-Feb-18 Προγραμματισμός

17 Ανατροφοδοτούμενος σχεδιασμός
Μερικές φορές ένας αλγόριθμος μπορεί να μη μας δώσει τα προσδοκώμενα αποτελέσματα. Τότε είμαστε υποχρεωμένοι να γυρίσουμε πίσω στις εντολές που δώσαμε και να ελέγξουμε που κάνουμε λάθος. Στη συνέχεια αντικαθιστούμε τις λανθασμένες εντολές με τις σωστές και υλοποιούμε ξανά τον αλγόριθμο. Αυτή η ανατροφοδοτούμενη μορφή σχεδιασμού μας βοηθάει να καταλάβουμε καλύτερα το πρόβλημα και την επίλυση του. 8-Feb-18 Προγραμματισμός

18 Υλοποίηση Αλγορίθμου με υπολογιστή - Προγραμματισμός
Για να εκτελέσει έναν αλγόριθμο ο υπολογιστής πρέπει αυτός να είναι γραμμένος σε γλώσσα που καταλαβαίνει. Οι γλώσσες που καταλαβαίνουν οι υπολογιστές λέγονται γλώσσες προγραμματισμού. Πρόγραμμα είναι μια σειρά εντολών που δίνονται στον υπολογιστή με σκοπό να εκτελέσει μια συγκεκριμένη λειτουργία ή να υπολογίσει ένα επιθυμητό αποτέλεσμα Πρόγραμμα είναι η αναπαράσταση ενός αλγορίθμου σε γλώσσα κατανοητή για ένα υπολογιστή. 8-Feb-18 Προγραμματισμός

19 Γλώσσες Προγραμματισμού Τι είναι οι γλώσσες προγραμματισμού;
Οι γλώσσες που «καταλαβαίνουν» οι υπολογιστές είναι τεχνητές γλώσσες που ονομάζονται γλώσσες προγραμματισμού. Οι γλώσσες προγραμματισμού χρησιμοποιούνται για την επικοινωνία του ανθρώπου με τη μηχανή, όπως οι φυσικές γλώσσες χρησιμοποιούνται για την επικοινωνία μεταξύ των ανθρώπων. Οι γλώσσες προγραμματισμού έχουν και αυτές το δικό τους λεξιλόγιο και συντακτικό. Αν θέλουμε να προγραμματίζουμε τον υπολογιστή για να εκτελεί πιστά τις λειτουργίες που του ζητάμε πρέπει να μάθουμε μια γλώσσα προγραμματισμού. 8-Feb-18 Προγραμματισμός

20 Τι είναι Προγραμματισμός και τι Προγραμματιστές;
Υλοποίηση Αλγορίθμου με υπολογιστή - Προγραμματισμός Τι είναι Προγραμματισμός και τι Προγραμματιστές; Η διαδικασία σύνταξης (κατασκευής) ενός προγράμματος λέγεται Προγραμματισμός . Προγραμματιστές ονομάζονται τα άτομα που γράφουν και συντάσσουν ένα πρόγραμμα. 8-Feb-18 Προγραμματισμός

21 Παράδειγμα προγράμματος;
Υλοποίηση Αλγορίθμου με υπολογιστή - Προγραμματισμός Παράδειγμα προγράμματος; void DisplayBlock(SBlock Block) { if (Block.nY < 1) return; RECT rcBlock = g_rcBlock; rcBlock.left = Block.nColor * BLOCK_DIAMETER; rcBlock.right = Block.nColor * BLOCK_DIAMETER + BLOCK_DIAMETER; g_pDisplay->Blt( (DWORD)Block.nX * BLOCK_DIAMETER - 2 , (DWORD)Block.nY * BLOCK_DIAMETER , g_pSecondarySurface, &rcBlock ); } Το γνωστό παιχνίδι ΤΕΤΡΙΣ είναι ένα πρόγραμμα το οποίο περιλαμβάνει μια σειρά εντολών (ένα μικρό υποσύνολο των εντολών του μπορείτε να δείτε στα δεξιά της εικόνας). 8-Feb-18 Προγραμματισμός

22 Γλώσσα μηχανής Όπως είναι γνωστό η λειτουργία του υπολογιστή βασίζεται στην αναπαράσταση μόνο δύο ψηφίων των «0» και «1» . Στα πρώτα χρόνια των υπολογιστών οι άνθρωποι έπρεπε να χρησιμοποιούν μια γλώσσα που είχε ως αλφάβητο το «0» και «1» για να δώσουν εντολές στον υπολογιστή. Η γλώσσα αυτή ονομάστηκε Γλώσσα Μηχανής. Σε ένα πρόγραμμα γραμμένο σε γλώσσα μηχανής όλες οι εντολές αποτελούνται από μια σειρά «0» και «1» Τμήμα Προγράμματος σε γλώσσα μηχανής 8-Feb-18 Προγραμματισμός

23 Γλώσσα μηχανής Η γλώσσα μηχανής :
είναι δύσκολη (οι εντολές της αποτελούνται από 0 και 1) δεν είναι ενιαία σε όλους τους υπολογιστές μια και κάθε τύπος υπολογιστή (με διαφορετικό επεξεργαστή) έχει την δική του γλώσσα μηχανής. Γι‘ αυτό δημιουργήθηκαν οι γλώσσες προγραμματισμού που πλησιάζουν τη φυσική μας γλώσσα 8-Feb-18 Προγραμματισμός

24 Γλώσσες Προγραμματισμού
Χαρακτηριστικά γλωσσών Προγραμματισμού το αλφάβητο : είναι το σύνολο των χαρακτήρων που χρησιμοποιούνται από τη γλώσσα το λεξιλόγιο : το σύνολο των λέξεων που αναγνωρίζει η γλώσσα και έχουν συγκεκριμένη και μοναδική σημασία – περιορισμένο δηλ. μερικές δεκάδες λέξεις. Στη Logo στο λεξιλόγιο ανήκουν: Ανακοίνωση, Ερώτηση το συντακτικό : το σύνολο των κανόνων που πρέπει να ακολουθούμε, για να συνδέουμε λέξεις σε προτάσεις 8-Feb-18 Προγραμματισμός

25 Γλώσσες Προγραμματισμού
Visual BASIC PASCAL FORTRAN C++ Java PROLOG Scratch Logo 8-Feb-18 Προγραμματισμός

26 Βασικά σημεία όταν προγραμματίζουμε
Για τον υπολογιστή τίποτε δεν είναι αυτονόητο. Ενώ εμείς οι άνθρωποι έχουμε την ικανότητα να συμπληρώνουμε τις οδηγίες κάποιου με τη λογική και την εμπειρία μας, ο υπολογιστής χρειάζεται να περιγράψουμε με μεγάλη ακρίβεια τις εντολές μας, για να τις εκτελέσει. Για να φτιάξουμε ένα καλό πρόγραμμα θα πρέπει πρώτα να έχουμε σχεδιάσει ένα καλό αλγόριθμο. 8-Feb-18 Προγραμματισμός

27 Γλώσσες Προγραμματισμού
Τα λάθη που μπορούμε να κάνουμε όταν γράφουμε ένα πρόγραμμα μπορούν να χωριστούν σε δύο κατηγορίες: στα συντακτικά στα λογικά Αν έχουμε κάνει λάθος σε κάποια οδηγία στο αλφάβητο, στο λεξιλόγιο ή στο συντακτικό τότε το λάθος αυτό ονομάζεται συντακτικό λάθος. Γλώσσες Προγραμματισμού 8-Feb-18 Προγραμματισμός

28 Λογικά Λάθη Αν το αποτέλεσμα που προκύπτει από την εκτέλεση ενός προγράμματος δεν είναι το αναμενόμενο, τότε το πρόβλημα δε βρίσκεται στον τρόπο εκτέλεσης, αλλά στον αλγόριθμο που κατασκευάσαμε. Στην περίπτωση αυτή λέμε ότι έχουμε κάνει ένα λογικό λάθος και θα πρέπει να ελέγξουμε μια προς μια τις εντολές του αλγορίθμου για να διαπιστώσουμε αν δίνουμε τις κατάλληλες εντολές με τη σωστή σειρά. Στον παρακάτω αλγόριθμο υπάρχει λογικό λάθος. Δώσε μου το έτος που έχουμε σήμερα. Δώσε μου το έτος που γεννήθηκες. Η ηλικία σου υπολογίζεται με το άθροισμα του έτους που γεννήθηκες και του έτους που έχουμε σήμερα. Εμφάνιση της ηλικίας. 8-Feb-18 Προγραμματισμός

29 Ολοκληρωμένο προγραμματιστικό περιβάλλον
Ένα περιβάλλον προγραμματισμού αποτελείται από διάφορα εργαλεία που βοηθάνε τον προγραμματιστή να γράψει και να διορθώσει το πρόγραμμά του. Τα κύρια εργαλεία είναι: ένας εξειδικευμένος κειμενογράφος, που χρησιμεύει για τη σύνταξη και τη διόρθωση του προγράμματος και ένα πρόγραμμα-μεταφραστής που μετατρέπει τις οδηγίες μας στη μορφή που τις καταλαβαίνει ο επεξεργαστής, δηλαδή σε μια σειρά από 0 και 1. 8-Feb-18 Προγραμματισμός

30 Γλώσσες Προγραμματισμού Προγραμματιστικό περιβάλλον Microworlds Pro
8-Feb-18 Προγραμματισμός

31 Μεταφραστικά προγράμματα
Τα μεταφραστικά προγράμματα που μετατρέπουν τις οδηγίες μας σε 0 και 1 μπορούν να χωριστούν σε δύο κατηγορίες: στους μεταγλωττιστές (compilers) στους διερμηνείς (interpreters) Οι μεταγλωττιστές (compilers) θα ελέγξουν όλο το πρόγραμμα για συντακτικά λάθη και μετά θα το μετατρέψουν όλο σε κατάλληλη σειρά από 0 και 1, ώστε να μπορεί να εκτελεστεί από την Κεντρική Μονάδα Επεξεργασίας του υπολογιστή. Οι διερμηνείς (interpreters) ελέγχουν μία οδηγία κάθε φορά για συντακτικά λάθη , την εκτελούν και μετά ελέγχουν την επόμενη οδηγία. Η γλώσσα προγραμματισμού Logo, χρησιμοποιεί διερμηνέα. Αν βρουν συντακτικά λάθη θα βγάλουν αντίστοιχο μήνυμα. Δεν βρίσκουν τα λογικά λάθη. 8-Feb-18 Προγραμματισμός

32 Μετατροπή του προγράμματος σε γλώσσα μηχανής (0,1)
Προγραμματισμός Συνοψίζοντας καταλαβαίνουμε ότι για τη λύση ενός προβλήματος από τον υπολογιστή ακολουθούνται τα εξής στάδια Μετατροπή του προγράμματος σε γλώσσα μηχανής (0,1) Εκτέλεση από την Κ.Μ.Ε Πρόγραμμα Αλγόριθμος 8-Feb-18 Προγραμματισμός


Κατέβασμα ppt "Κεφάλαιο 1 Εισαγωγή στην Έννοια του Αλγορίθμου και τον Προγραμματισμό."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google