1. Γ΄ τάξη
ΕΝΟΤΗΤΑ 1, Κεφάλαιο 1:
Εισαγωγή στην έννοια του αλγορίθμου
και στον Προγραμματισμό
Λέξεις Κλειδιά:
Πρόβλημα,
Κατανόηση Προβλήματος,
Δεδομένα,
Ζητούμενα,
Επίλυση
Αλγόριθμος,
Γλώσσες Προγραμματισμού,
Πρόγραμμα,
Εντολή,
Προγραμματισμός,
Προγραμματιστής
Αλγόριθμος Προγραμματισμός
2. Η έννοια του προβλήματος
• Ζήτημα που τίθεται προς επίλυση
• Εμβαδόν αίθουσας πληροφορικής
• Εβδομαδιαίο χαρτζηλίκι
• Κατάσταση που μας απασχολεί και πρέπει να
αντιμετωπιστεί
• Συντομότερη διαδρομή για το σχολείο
• Τακτοποίηση δισκοθήκης μου
3. Κατηγορίες προβλημάτων
• Συνήθως υπολογιστικά
• Απαιτούν
• Λογικές σκέψεις
• Μαθηματικές πράξεις
• Καθημερινής ζωής
• Προβλήματα που
• Λύνονται
• Εύκολα
• Δύσκολα
• δεν μπορούμε να τα επιλύσουμε με τις μέχρι τώρα γνώσεις
μας
• έχει αποδειχθεί ότι δεν μπορούμε να τα επιλύσουμε
4. Επίλυση προβλήματος
• Κατανόηση
• Δεδομένα (αυτά που μας δίνουν)
• Ζητούμενο (αυτό που ψάχνουμε)
• «Περιβάλλον»
• Χτίστης
Ένας εργάτης χτίζει 1 μέτρο τοίχο σε 2 ώρες.
Σε πόσο χρόνο θα έχει ολοκληρώσει το
χτίσιμο 11 μέτρων, αν δουλέψει μόνος του;
• Αφαίρεση αριθμών
• Επίλυση
• Μοναδική λύση
• Περισσότερες από μια λύσεις
• Περιγραφή λύσης
12. Αλγόριθμος
• Περιγραφή ξεχωριστών οδηγιών-βημάτων
• σαφή
• ακριβή
• λογική σειρά
• Σκοπός : επίλυση προβλήματος.
• Πχ οδηγίες για
• κατασκευή χαρταετού
• Μαγείρεμα μακαρονάδας
13. Παράδειγμα αλγόριθμου - μακαρονάδα
1. Άνοιξε το μάτι της κουζίνας στο 2.
2. Βάλε 3 λίτρα νερό σε μία κατσαρόλα χωρητικότητας 4 λίτρων.
3. Τοποθέτησε την κατσαρόλα στο μάτι της κουζίνας, που έχεις ήδη ανάψει.
4. Πρόσθεσε στην κατσαρόλα μία κουταλιά της σούπας αλάτι.
5. Περίμενε μέχρι να βράσει το νερό.
6. Βγάλε τα μακαρόνια από το πακέτο.
7. Βάλε τα μακαρόνια στην κατσαρόλα.
8. Ανακάτευε τα μακαρόνια για 10 λεπτά.
9. Κλείσε το μάτι της κουζίνας που άνοιξες.
10. Βγάλε την κατσαρόλα από το μάτι της κουζίνας.
11. Άδειασε τα μακαρόνια από την κατσαρόλα σε ένα σουρωτήρι.
12. Ρίξε κρύο νερό από τη βρύση στα μακαρόνια για 20 δευτερόλεπτα.
13. Άφησε για 2 λεπτά τα μακαρόνια να στραγγίξουν.
14. Σερβίρισε τα μακαρόνια στο πιάτο.
15. Πρόσθεσε σε κάθε πιάτο 3 κουταλιές της σούπας τριμμένο τυρί.
Πριν προχωρήσουμε παρακάτω προσπάθησε να απαντήσεις στις ακόλουθες ερωτήσεις:
1 Τι θα συμβεί αν ξεχάσουμε την εντολή 9 στον παραπάνω αλγόριθμο;
2 Μπορούμε να αντιμεταθέσουμε τις εντολές 7 και 8;
3 Τι θα συμβεί, αν αντικαταστήσουμε την εντολή στο βήμα 4 με την εντολή
«πρόσθεσε αλάτι»;
4 Αν αντιμεταθέσουμε τις εντολές 1 και 2, θα υπάρξει κάποιο πρόβλημα στον
αλγόριθμο;
14. Τετράγωνο στην άμμο
• Θέλουμε να περιγράψουμε σε ένα μικρό παιδί πώς θα
δημιουργήσει με τις πατούσες του ένα τετράγωνο
στην άμμο.
• γνωρίζει το παιδί τι είναι τετράγωνο;
• κλειστό γεωμετρικό σχήμα με
• 4 ίσες πλευρές.
• 4 ορθές γωνίες (90ο).
16. Ορθογώνιο στην άμμο
• Θέλουμε να περιγράψουμε σε ένα μικρό παιδί πώς θα
δημιουργήσει με τις πατούσες του ένα ορθογώνιο
στην άμμο.
17. Ιδιότητες ενός Αλγορίθμου
• Τα βήματα : οδηγίες ή εντολές
• Προϋποθέσεις
• έχει τέλος
• ακριβής
• σαφής
• απλά λόγια
• Λογική σειρά
Αλγόριθμος δημιουργίας ενός λουλουδιού Το αποτέλεσμα υλοποίησης του
με 10 πέταλα Αλγορίθμου
επανάλαβε 10 φορές[σχεδίασε_πέταλο]
18. Πρόβλημα
«Έχει κάποιος ένα πρόβατο, ένα λύκο και ένα καφάσι με χόρτα στη μία όχθη
ενός ποταμού και θέλει να τα περάσει στην απέναντι όχθη χρησιμοποιώντας
μία βάρκα. Η βάρκα όμως είναι μικρή και μπορεί να μεταφέρει, εκτός από
τον ίδιο, άλλο ένα από τα ζώα ή το καφάσι. Ωστόσο δεν πρέπει να μείνουν
μαζί ο λύκος με το πρόβατο και το πρόβατο με τα χόρτα. Μπορείτε να
δώσετε οδηγίες στο βαρκάρη για το πώς πρέπει να κάνει τη μεταφορά τους;»
Δεδομένα: 1 πρόβατο, 1 λύκος, 1 καφάσι με χόρτα, μία θέση επιπλέον στη βάρκα, 2 όχθες
ποταμού.
Πλαίσιο του Ο λύκος δεν πρέπει να μείνει μαζί με το πρόβατο.
προβλήματος: Το πρόβατο δεν πρέπει να μείνει μαζί με τα χόρτα.
Ζητούμενο: Να περάσει ο λύκος, το πρόβατο και το καφάσι με τα χόρτα στην απέναντι όχθη.
19. Δραστηριότητα : μεταφορά με τη
βάρκα
• Ανοίξτε τον υπολογιστή σας
• Χρησιμοποιείστε το εικονίδιο Course για να ξεκινήσετε το
«Λογισμικό Υποστήριξης Πληροφορικής Γυμνασίου»
• Επιλέξτε «Αναχωρήσεις Γ Γυμνασίου»
• Επιλέξτε «Γνωρίζω τον Υπολογιστή ως ενιαίο σύστημα»
• Επιλέξτε «Εισαγωγή στην έννοια του αλγόριθμου»
• Στη βαλίτσα επιλέξτε το 5, «Συνεργατική δραστηριότητα»
• Διαβάστε τις οδηγίες κι ενεργήστε ανάλογα
• Κάντε κλικ πάνω στο αντικείμενο που θα μεταφέρει κάθε
φορά η βάρκα
20. Αλγόριθμος επίλυσης του προβλήματος
Αρχή του αλγορίθμου:
• Πήγαινε στην αρχική όχθη.
– Βάλε το πρόβατο στη βάρκα. • Άφησε το πρόβατο στην όχθη.
– Πήγαινε στην απέναντι όχθη. • Βάλε το λύκο στη βάρκα.
– Άφησε το πρόβατο στην όχθη. • Πήγαινε στην απέναντι όχθη.
– Γύρνα πίσω στην αρχική όχθη. • Άφησε το λύκο στην όχθη.
– Φόρτωσε το καφάσι με τα χόρτα. • Γύρνα πίσω στην αρχική όχθη.
– Πήγαινε στην απέναντι όχθη. • Βάλε το πρόβατο στη βάρκα
– Άφησε το καφάσι στην όχθη. • Πήγαινε στην απέναντι όχθη.
– Βάλε το πρόβατο στη βάρκα. • Άφησε το πρόβατο στην όχθη.
Τέλος του αλγορίθμου
21. Από το βιβλίο μας
• Κεφάλαιο 1 : Εισαγωγή στην έννοια του
αλγόριθμου και στον προγραμματισμό,
• &1.1 - &1.2 (Σελ 178 -181)
• Ερωτήσεις 3 – 4 (σελ 185)
• Ασκήσεις αυτο-αξιολόγησης :
• Προτάσεις σωστού λάθους : 5-6 (σελ 200)
• Δραστηριότητες :
• 5-7 (σελ 201)
25. Αναπαράσταση αλγόριθμου
Διάγραμμα ροής
• Αρχή
• Τέλος
• Ενέργεια
• Ερώτηση – Απόφαση
• Ροή ενεργειών
26. Αρχή
Σήκωσε το ακουστικό
Τοποθέτησε την κάρτα
στη σχισμή
Οχι Έχει μονάδες;
Ναί
Σχημάτισε τον
Αριθμό
Συνομίλησε
Τοποθέτησε το
Ακουστικό στη θέση του
Βγάλε την κάρτα
Τέλος
27. Δραστηριότητα : Διαστημικός
σταθμός Ι-47
• Ανοίξτε τον υπολογιστή σας
• Χρησιμοποιείστε το εικονίδιο Course για να ξεκινήσετε το
«Λογισμικό Υποστήριξης Πληροφορικής Γυμνασίου»
• Επιλέξτε «Αναχωρήσεις Γ Γυμνασίου»
• Επιλέξτε «Γνωρίζω τον Υπολογιστή ως ενιαίο σύστημα»
• Επιλέξτε «Εισαγωγή στην έννοια του αλγόριθμου»
• Επιλέξτε «Διδασκαλία» (No 1)
• Διαβάστε τις οδηγίες
• Κάντε διαδοχικά κλικ στα βήματα που πρέπει να
ακολουθηθούν
• Δείτε τις οδηγίες του αλγόριθμού σας.
30. Δραστηριότητα : η χελώνα
• Ανοίξτε τον υπολογιστή σας
• Χρησιμοποιείστε το εικονίδιο Course για να ξεκινήσετε το
«Λογισμικό Υποστήριξης Πληροφορικής Γυμνασίου»
• Επιλέξτε «Αναχωρήσεις Γ Γυμνασίου»
• Επιλέξτε «Γνωρίζω τον Υπολογιστή ως ενιαίο σύστημα»
• Επιλέξτε «Εισαγωγή στον Προγραμματισμό»
• Επιλέξτε «Πρακτική άσκηση και εξάσκηση» (No 2)
• Διαβάστε τις οδηγίες
• Πατήστε το πλήκτρο «επόμενο»
• Τοποθετήστε τις οδηγίες με τη σωστή σειρά
• Κάντε έλεγχο του αλγόριθμού σας.
31. Οδηγίες για τη χελώνα
1. Προχώρησε 2 θέσεις
2. Στριψε αριστερά 90
μοίρες
3. Προχώρησε 3 θέσεις
4. Στρίψε δεξιά 90 μοίρες
5. Προχώρησε 4 θέσεις
6. Ξανά στρίψε δεξιά 90
μοίρες
7. Προχώρησε 5 θέσεις
34. Δραστηριότητα : Το ρομποτάκι
• Ανοίξτε τον υπολογιστή σας
• Χρησιμοποιείστε το εικονίδιο Course για να ξεκινήσετε το
«Λογισμικό Υποστήριξης Πληροφορικής Γυμνασίου»
• Επιλέξτε «Αναχωρήσεις Γ Γυμνασίου»
• Επιλέξτε «Γνωρίζω τον Υπολογιστή ως ενιαίο σύστημα»
• Επιλέξτε «Εισαγωγή στην έννοια του Αλγόριθμου»
• Επιλέξτε «Πρακτική άσκηση και επίδειξη», No 2
• Διαβάστε τις οδηγίες
• Πατήστε το πλήκτρο «επόμενο»
• Τοποθετήστε τις οδηγίες με τη σωστή σειρά
• Κάντε έλεγχο του αλγόριθμού σας.
36. Δραστηριότητα : Οδηγός
αεροσκάφους
• Επιλέξτε «Ατομικές δραστηριότητες», No 4
• Διαβάστε τις οδηγίες κι ενεργήστε ανάλογα
• Πατήστε το πλήκτρο «επόμενο»
• Τοποθετήστε τις οδηγίες με τη σωστή σειρά
• Κάντε έλεγχο του αλγόριθμού σας.
39. Ο συντομότερος αλγόριθμος
• Ανοίξτε τον υπολογιστή σας
• Χρησιμοποιείστε το εικονίδιο Course για να ξεκινήσετε το
«Λογισμικό Υποστήριξης Πληροφορικής Γυμνασίου»
• Επιλέξτε «Αναχωρήσεις Γ Γυμνασίου»
• Επιλέξτε «Γνωρίζω τον Υπολογιστή ως ενιαίο σύστημα»
• Επιλέξτε «Εισαγωγή στον Προγραμματισμό»
• Επιλέξτε «Διδασκαλία» (No 1)
• Διαβάστε τις οδηγίες
• Κάντε διαδοχικά κλικ στα βήματα που πρέπει να
ακολουθηθούν
• Δείτε τις οδηγίες του αλγόριθμού σας.
41. ΑΡΧΗ
Τοποθετώ τους αριθμούς τον ένα κάτω από τον άλλο,
στοιχίζοντας μονάδες και δεκάδες
Προσθέτω μονάδες Κάθετη πρόσθεση
διψήφιων αριθμών
Γράφω το ψηφίο των μονάδων
ναι
Έχω
κρατούμενο; Σημειώνω το κρατούμενο
όχι
Προσθέτω δεκάδες Προσθέτω κρατούμενο
και δεκάδες
Γράφω το αποτέλεσμα
ΤΕΛΟΣ
42. Από το βιβλίο μας
• Κεφάλαιο 1 : Εισαγωγή στην έννοια του
αλγόριθμου και στον προγραμματισμό,
&1.2 - &1.3 (σελ 178 -181)
• Ερωτήσεις 3 – 4 (σελ 185)
• Ασκήσεις αυτο-αξιολόγησης :
• Προτάσεις σωστού λάθους : 5-6 (σελ 200)
• Δραστηριότητες 5 - 7 (σελ 201)
43. Υλοποίηση αλγόριθμου με υπολογιστή
Πρόγραμμα
Πρόγραμμα
• αναπαράσταση αλγορίθμου
• γραμμένη σε γλώσσα κατανοητή για έναν υπολογιστή
(γλώσσα προγραμματισμού)
• αποτελείται από μία σειρά εντολών
• Εντολές = οδηγίες : δίνονται στον υπολογιστή για
• να εκτελέσει κάποια συγκεκριμένη λειτουργία
• να υπολογίσει κάποιο επιθυμητό αποτέλεσμα.
44. Υλοποίηση αλγόριθμου με υπολογιστή
Προγραμματισμός
• Προγραμματισμός
• Η εργασία σύνταξης των προγραμμάτων
• Προγραμματιστές
• Tα άτομα που γράφουν και συντάσσουν ένα
πρόγραμμα
47. Παράδειγμα προγράμματος
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 );
}
Το γνωστό παιχνίδι ΤΕΤΡΙΣ είναι ένα πρόγραμμα το οποίο περιλαμβάνει μια σειρά εντολών
(ένα μικρό υποσύνολο των εντολών του μπορείτε να δείτε στα δεξιά της εικόνας).
48. Γλώσσες Προγραμματισμού
• Βασικά χαρακτηριστικά:
• το αλφάβητο
• το σύνολο των χαρακτήρων που
χρησιμοποιούνται από τη γλώσσα
• το λεξιλόγιο
• το σύνολο των λέξεων που αναγνωρίζει η
γλώσσα και έχουν συγκεκριμένη και μοναδική
σημασία
• το συντακτικό
• το σύνολο των κανόνων που πρέπει να
ακολουθούμε, για να συνδέουμε λέξεις σε
προτάσεις
49. Γνωστές Γλώσσες Προγραμματισμού
• Γλώσσα Μηχανής
• Γλώσσες Υψηλού επιπέδου
• Visual BASIC
• PASCAL
• FORTRAN
• C
• C++
• Logo
• Java
• ADA
• PROLOG
50. Γλώσσα Μηχανής
• Αλφάβητο : αποτελείται από 0 και 1
• Η μόνη γλώσσα που καταλαβαίνει ο
υπολογιστής
• Διαφορετική για κάθε τύπο υπολογιστή (για
κάθε επεξεργαστή
• Δύσκολη στην εκμάθηση
00000000
00000001
00000010
00000110
00000000 Τμήμα Προγράμματος
00100000 σε γλώσσα μηχανής
51. Γλώσσες Υψηλού επιπέδου
• Αλφάβητο :
• γράμματα αγγλικού αλφάβητου
• αριθμοί
• Σύμβολα
• Λεξιλόγιο :
• Λέξεις από την αγγλική γλώσσα
• συντακτικό
• Κανόνες σχηματισμού εντολών
52. Γλώσσες Υψηλού επιπέδου
• ίδιες για κάθε τύπο υπολογιστή (για όλους τους
επεξεργαστές
• Εύκολες στην εκμάθηση
• Δεν τις καταλαβαίνει ο υπολογιστής
• Το πρόγραμμα σε γλώσσα υψηλού επιπέδου
ονομάζεται πηγαίο πρόγραμμα
• Το πρόγραμμα χρειάζεται μετάφραση σε γλώσσα
μηχανής
53. Μεταφραστής
• Ελέγχει το πρόγραμμά μας αν ακολουθεί τους
κανόνες συντακτικού της γλώσσας
• Εντοπίζει τα συντακτικά λάθη
• Μεταφράζει το πρόγραμμά μας σε γλώσσα μηχανής
55. Μεταγλωτιστές
• Μεταγλωττιστές (compilers)
• Ελέγχουν ολόκληρο το πρόγραμμα (πηγαίο
πρόγραμμα) για συντακτικά λάθη
• Μετατρέπουν ολόκληρο το πρόγραμμα σε γλώσσα
μηχανής (εκτελέσιμο πρόγραμμα)
56. Διερμηνείς
• Διερμηνείς (interpreters)
• Ελέγχουν μια εντολή του προγράμματος για
συντακτικά λάθη
• Τη μετατρέπουν σε γλώσσα μηχανής
• Την εκτελούν
• Συνεχίζουν στην επόμενη εντολή
• Δεν παράγουν εκτελέσιμο πρόγραμμα
58. Στάδια για την εκτέλεση ενός
αλγορίθμου από τον υπολογιστή
Μετατροπή του προγράμματος Εκτέλεση του προγράμματος
Αλγόριθμος Πρόγραμμα
σε 0 και 1 (γλώσσα μηχανής) στον επεξεργαστή
59. Λογικά λάθη
• Λάθη του αλγόριθμου
• Αντί να δώσουμε οδηγία αφαίρεσης, δίνουμε
οδηγία πρόσθεσης
• Οδηγίες που «εννοούνται»
• Αν δεν δώσω κατάλληλη οδηγία, δεν μου εμφανίζει
αποτελέσματα
60. Το ολοκληρωμένο προγραμματιστικό
περιβάλλον
• Περιβάλλον προγραμματισμού
• αποτελείται από διάφορα εργαλεία που βοηθάνε τον
προγραμματιστή
• να γράψει
• να διορθώσει
• να μεταφράσει το πρόγραμμά του
61. Εργαλεία ολοκληρωμένου
προγραμματιστικού περιβάλλοντος
• εξειδικευμένος κειμενογράφος για
• σύνταξη
• διόρθωση του πηγαίου προγράμματος
• πρόγραμμα-μεταφραστής που μετατρέπει τις
οδηγίες μας σε γλώσσα μηχανής δηλαδή σε μια
σειρά από 0 και 1.
64. Από το βιβλίο μας
• Κεφάλαιο 1 : Εισαγωγή στην έννοια του
αλγόριθμου και στον προγραμματισμό,
&1.4 - &1.5 (Σελ 181 -185)
• Ερωτήσεις 5 – 8 (σελ 185)
• Ασκήσεις αυτο-αξιολόγησης :
• Προτάσεις σωστού λάθους : 7-10 (σελ 200)
65. Στο επόμενο μάθημα
• ΟΛΟΙ
• φέρνουμε μνήμη φλασ για
• να αντιγράψουμε τη LOGO και
• να την εγκαταστήσουμε στον υπολογιστή
του σπιτιού μας
66. Δραστηριότητα : η χελώνα
• Ανοίξτε τον υπολογιστή σας
• Χρησιμοποιείστε το εικονίδιο Course για να ξεκινήσετε το «Λογισμικό
Υποστήριξης Πληροφορικής Γυμνασίου»
• Επιλέξτε «Αναχωρήσεις Γ Γυμνασίου»
• Επιλέξτε «Γνωρίζω τον Υπολογιστή ως ενιαίο σύστημα»
• Επιλέξτε «Εισαγωγή στον Προγραμματισμό»
• Επιλέξτε «Διδασκαλία» (No 1)
• Διαβάστε τις οδηγίες
• «Οδηγείστε» τη χελώνα
• Πατήστε το πλήκτρο «επόμενο»
67. Δραστηριότητα : Οι μεταγλωττιστές
• Επιλέξτε «Προσομοίωση εφαρμογών και λογισμικού», No 3
• Διαβάστε το κείμενο
• Πατήστε το πλήκτρο «επόμενο»
• Κάντε κλικ στο μεγεθυντικό φακό και μετακινήστε τον
πάνω από την εικόνα του αεροδρομίου για να δείτε τις
εντολές προγράμματος που αντιστοιχούν
68. Δραστηριότητα
γλώσσες προγραμματισμού και
προγράμματα εφαρμογών
• Επιλέξτε «Ατομικές δραστηριότητες», No 4
• Διαβάστε το κείμενο
• Πατήστε το πλήκτρο «επόμενο»
• Τοποθετήστε στις κατάλληλες θέσεις τις γλώσσες
προγραμματισμού και τα προγράμματα
69. Δραστηριότητα
ερωτήσεις κατανόησης
• Επιλέξτε «αξιολόγηση», No 5
• Διαβάστε την ερώτηση
• Πληκτρολογήστε την απάντησή σας, επιλλέγοντας μια από
τις προτεινόμενες
• Κάντε έλεγχο της απάντησης
• Πατήστε το πλήκτρο επόμενο