1. Ο προγραμματισμός ασχολείται με την επίλυση προβλημάτων
Γενικά ως πρόβλημα θεωρούμε κάθε ζήτημα που τίθεται προς επίλυση, κάθε κατάσταση που
μας απασχολεί και πρέπει να αντιμετωπιστεί.
Η έννοια του προβλήματος
πρόβλημα αλγόριθμος πρόγραμμα
2. Γενικά προβλήματα:
•η οργάνωση μιας σχολικής εκδρομής
•η εύρεση της ταχύτητας ενός αυτοκινήτου όταν γνωρίζουμε την απόσταση που
διανύει και το χρόνο που έκανε
•Η συναρμολόγηση ενός μικρού μοντέλου αυτοκινήτου
•Η πραγματοποίηση μιας χημικής αντίδρασης
Προβλήματα με τα οποία ασχολείται ένας προγραμματιστής:
•Η κατασκευή ενός κειμενογράφου
•Η δημιουργία μιας ιστοσελίδας
•Η δημιουργία ενός ηλεκτρονικού πελατολόγιου (βάση δεδομένων)
•Η κατασκευή ενός ηλεκτρονικού παιχνιδιού π.χ tetris
3. Κατανόηση του
προβλήματος
(βρίσκουμε τα γνωστά
στοιχεία και ποιο είναι
το ζητούμενο)
Χωρίζουμε σε
υποπροβλήματα
Σχεδιάζουμε
τη λύση
Υλοποιούμε
την λύση
ΜΕΘΟΔΟΛΟΓΙΑ ΕΠΙΛΥΣΗΣ ΕΝΌΣ ΠΡΟΒΛΗΜΑΤΟΣ
5. ΕΝΟΤΗΤΑ 1 – Κεφάλαιο 1: Εισαγωγή στην έννοια του αλγορίθμου και στον
Προγραμματισμό
Λέξεις ΚλειδιάΛέξεις Κλειδιά:: Αλγόριθμος, Γλώσσες Προγραμματισμού, Δεδομένα, Εντολή, Ζητούμενα, Κατανόηση Προβλήματος, Πρόβλημα,Αλγόριθμος, Γλώσσες Προγραμματισμού, Δεδομένα, Εντολή, Ζητούμενα, Κατανόηση Προβλήματος, Πρόβλημα,
Πρόγραμμα, Προγραμματισμός, Προγραμματιστής.Πρόγραμμα, Προγραμματισμός, Προγραμματιστής.
Γ΄ τάξηΓ΄ τάξη
Πρόβλημα:
Κατασκευή κειμενογράφου (Word)
Κατασκευή
εργαλείων
μορφοποίησης
κειμένου (Bold,
Italic,
underline)
Δημιουργία
περιβάλλοντος
διεπαφής
Κατασκευή
εργαλείων
μορφοποίησης
παραγράφων
(εσοχές, κενά)
Κατασκευή
των εντολών
εκτύπωσης
και
διαμόρφωσης
σελίδας
Κατασκευή
εργαλείων
στοίχισης κειμένου
6. Η λέξη αλγόριθμος προέρχεται από μία μελέτη του Πέρση μαθηματικού
του 8ου αιώνα μ.Χ. Αλ Χουαρίζμι (Abu Ja'far Mohammed ibn Musa Αl-
Khwarismi), η οποία περιείχε συστηματικές τυποποιημένες λύσεις
αλγεβρικών προβλημάτων και αποτελεί ίσως την πρώτη πλήρη
πραγματεία άλγεβρας.
Πέντε αιώνες αργότερα η μελέτη μεταφράστηκε στα Λατινικά και άρχιζε με
τη φράση "Algorithmus dixit ...." (ο Αλγόριθμος είπε...). Έτσι η λέξη
αλγόριθμος καθιερώθηκε αργά τα επόμενα χίλια χρόνια με την έννοια
«συστηματική διαδικασία αριθμητικών χειρισμών».
7. Γ΄ τάξηΓ΄ τάξη
Τι είναι Αλγόριθμος
Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς
ξεχωριστών οδηγιών-βημάτων, με σκοπό την επίλυση ενός προβλήματος.
Όταν σχεδιάζουμε έναν αλγόριθμο, πρέπει να είμαστε ιδιαίτερα προσεκτικοί, ώστε να βάζουμε με
λογική σειρά τις οδηγίες (instructions) που θα μας οδηγήσουν στη λύση του προβλήματός μας.
παράδειγμα ας δούμε τα βήματα που πρέπει να ακολουθηθούν, ώστε να μαγειρέψει ένας άπειρος μάγειρας μια μακαρονάδα:
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, θα
υπάρξει κάποιο πρόβλημα στον αλγόριθμο;
8. ΕΝΟΤΗΤΑ 1 – Κεφάλαιο 1: Εισαγωγή στην έννοια του αλγορίθμου και στον
Προγραμματισμό
Λέξεις ΚλειδιάΛέξεις Κλειδιά:: Αλγόριθμος, Γλώσσες Προγραμματισμού, Δεδομένα, Εντολή, Ζητούμενα, Κατανόηση Προβλήματος, Πρόβλημα,Αλγόριθμος, Γλώσσες Προγραμματισμού, Δεδομένα, Εντολή, Ζητούμενα, Κατανόηση Προβλήματος, Πρόβλημα,
Πρόγραμμα, Προγραμματισμός, Προγραμματιστής.Πρόγραμμα, Προγραμματισμός, Προγραμματιστής.
Γ΄ τάξηΓ΄ τάξη
Ιδιότητες ενός Αλγορίθμου
• Τα βήματα που αποτελούν έναν αλγόριθμο ονομάζονται οδηγίες ή
εντολές.
• Οι αλγόριθμοι που κατασκευάζουμε πρέπει να πληρούν κάποιες
προϋποθέσεις όπως:
• Ότι κάποτε θα τελειώσει
• Να έχει ακρίβεια
• Να έχει σαφήνεια
• Οι εντολές να είναι εκφρασμένες με απλά λόγια
Αλγόριθμος δημιουργίας ενός λουλουδιού
με 10 πέταλα
Το αποτέλεσμα υλοποίησης του
Αλγορίθμου
επανάλαβε 10 φορές[σχεδίασε_πέταλο]
14. Ο αλγόριθμος για την διαίρεση δύο τυχαίων αριθμών α
/ β
1. Διάβασε το α
2. Διάβασε το β
3. Αν β = 0 τότε τύπωσε ΔΙΑΙΡΕΣΗ
ΑΔΥΝΑΤΗ και πήγαινε στο 6
4. Αν β # 0 τότε αποτέλεσμα= α / β
5. τύπωσε αποτέλεσμα
6. ΤΕΛΟΣ
ΕΊΝΑΙ ΤΟ Β = 0; ΤΥΠΩΣΕ
ΔΙΑΙΡΕΣΗ ΑΔΥΝΑΤΗ
ΑΠΟΤΕΛΕΣΜΑ= Α / Β
ΤΥΠΩΣΕ
ΑΠΟΤΕΛΕΣΜΑ
ΤΕΛΟΣ
ΑΡΧΗ ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ ΓΙΑ ΤΗΝ
ΔΙΑΙΡΕΣΗ ΔΥΟ ΑΡΙΘΜΩΝ Α, Β
ΔΩΣΕ ΤΟ Α ΚΑΙ ΤΟ Β
ΝΑΙ
ΟΧΙ
15. ΕΊΝΑΙ ΤΟ Α>=0;
ΑΠΟΛΥΤΗ ΤΙΜΗ= Α
ΑΠΟΛΥΤΗ ΤΙΜΗ=- Α
ΤΥΠΩΣΕ
ΑΠΟΛΥΤΗ ΤΙΜΗ
ΤΕΛΟΣ
ΑΡΧΗ ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ ΓΙΑ ΤΗΝ
ΑΠΟΛΥΤΗ ΤΙΜΗ ΑΡΙΘΜΟΥ
ΔΩΣΕ ΤΟ Α
ΝΑΙ
ΟΧΙ
1. Διάβασε το α
3. Αν α >0 τότε απόλυτο= α πήγαινε στο 5
4. απόλυτο= -α
5. τύπωσε απόλυτο
6. ΤΕΛΟΣ
16. ΕΝΟΤΗΤΑ 1 – Κεφάλαιο 1: Εισαγωγή στην έννοια του αλγορίθμου και στον
Προγραμματισμό
Λέξεις ΚλειδιάΛέξεις Κλειδιά:: Αλγόριθμος, Γλώσσες Προγραμματισμού, Δεδομένα, Εντολή, Ζητούμενα, Κατανόηση Προβλήματος, Πρόβλημα,Αλγόριθμος, Γλώσσες Προγραμματισμού, Δεδομένα, Εντολή, Ζητούμενα, Κατανόηση Προβλήματος, Πρόβλημα,
Πρόγραμμα, Προγραμματισμός, Προγραμματιστής.Πρόγραμμα, Προγραμματισμός, Προγραμματιστής.
Γ΄ τάξηΓ΄ τάξη
Υλοποίηση Αλγορίθμου με υπολογιστή - Προγραμματισμός
Ένα πρόγραμμα είναι η αναπαράσταση ενός αλγορίθμου γραμμένη
σε γλώσσα κατανοητή για έναν υπολογιστή.
• Ένα πρόγραμμα αποτελείται από μία σειρά εντολών που δίνονται στον
υπολογιστή με σκοπό να εκτελέσει κάποια συγκεκριμένη λειτουργία ή να
υπολογίσει κάποιο επιθυμητό αποτέλεσμα.
• Η εργασία σύνταξης των προγραμμάτων ονομάζεται
προγραμματισμός.
• Tα άτομα που γράφουν και συντάσσουν ένα πρόγραμμα ονομάζονται
προγραμματιστές.
17. ΕΝΟΤΗΤΑ 1 – Κεφάλαιο 1: Εισαγωγή στην έννοια του αλγορίθμου και στον
Προγραμματισμό
Λέξεις ΚλειδιάΛέξεις Κλειδιά:: Αλγόριθμος, Γλώσσες Προγραμματισμού, Δεδομένα, Εντολή, Ζητούμενα, Κατανόηση Προβλήματος, Πρόβλημα,Αλγόριθμος, Γλώσσες Προγραμματισμού, Δεδομένα, Εντολή, Ζητούμενα, Κατανόηση Προβλήματος, Πρόβλημα,
Πρόγραμμα, Προγραμματισμός, Προγραμματιστής.Πρόγραμμα, Προγραμματισμός, Προγραμματιστής.
Γ΄ τάξηΓ΄ τάξη
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 );
}
Εικόνα 1.2: Το γνωστό παιχνίδι ΤΕΤΡΙΣ είναι ένα πρόγραμμα το οποίο περιλαμβάνει μια σειρά
εντολών (ένα μικρό υποσύνολο των εντολών του μπορείτε να δείτε στα δεξιά της εικόνας).
20. ΕΝΟΤΗΤΑ 1 – Κεφάλαιο 1: Εισαγωγή στην έννοια του αλγορίθμου και στον
Προγραμματισμό
Λέξεις ΚλειδιάΛέξεις Κλειδιά:: Αλγόριθμος, Γλώσσες Προγραμματισμού, Δεδομένα, Εντολή, Ζητούμενα, Κατανόηση Προβλήματος, Πρόβλημα,Αλγόριθμος, Γλώσσες Προγραμματισμού, Δεδομένα, Εντολή, Ζητούμενα, Κατανόηση Προβλήματος, Πρόβλημα,
Πρόγραμμα, Προγραμματισμός, Προγραμματιστής.Πρόγραμμα, Προγραμματισμός, Προγραμματιστής.
Γ΄ τάξηΓ΄ τάξη
Γλώσσες Προγραμματισμού
• Γλώσσα Μηχανής
• Visual BASIC
• PASCAL
• FORTRAN
• C
• C++
• Logo
• Java
• ADA
• PROLOG
00000000
00000001
00000010
00000110
00000000
00100000
Τμήμα Προγράμματος
σε γλώσσα μηχανής
Οι μεταφραστές είναι
προγράμματα που
μετατρέπουν εντολές που
είναι γραμμένες σε κάποια
από τις γλώσσες
προγραμματισμού σε
γλώσσα μηχανής
21. ΕΝΟΤΗΤΑ 1 – Κεφάλαιο 1: Εισαγωγή στην έννοια του αλγορίθμου και στον
Προγραμματισμό
Λέξεις ΚλειδιάΛέξεις Κλειδιά:: Αλγόριθμος, Γλώσσες Προγραμματισμού, Δεδομένα, Εντολή, Ζητούμενα, Κατανόηση Προβλήματος, Πρόβλημα,Αλγόριθμος, Γλώσσες Προγραμματισμού, Δεδομένα, Εντολή, Ζητούμενα, Κατανόηση Προβλήματος, Πρόβλημα,
Πρόγραμμα, Προγραμματισμός, Προγραμματιστής.Πρόγραμμα, Προγραμματισμός, Προγραμματιστής.
Γ΄ τάξηΓ΄ τάξη
Χαρακτηριστικά Γλωσσών Προγραμματισμού
Βασικά χαρακτηριστικά:
• το αλφάβητο (είναι το σύνολο των χαρακτήρων που χρησιμοποιούνται από τη γλώσσα)
• το λεξιλόγιο (το σύνολο των λέξεων που αναγνωρίζει η γλώσσα και έχουν συγκεκριμένη και
μοναδική σημασία)
• το συντακτικό (το σύνολο των κανόνων που πρέπει να ακολουθούμε, για να συνδέουμε λέξεις
σε προτάσεις)
22. ΕΝΟΤΗΤΑ 1 – Κεφάλαιο 1: Εισαγωγή στην έννοια του αλγορίθμου και στον
Προγραμματισμό
Λέξεις ΚλειδιάΛέξεις Κλειδιά:: Αλγόριθμος, Γλώσσες Προγραμματισμού, Δεδομένα, Εντολή, Ζητούμενα, Κατανόηση Προβλήματος, Πρόβλημα,Αλγόριθμος, Γλώσσες Προγραμματισμού, Δεδομένα, Εντολή, Ζητούμενα, Κατανόηση Προβλήματος, Πρόβλημα,
Πρόγραμμα, Προγραμματισμός, Προγραμματιστής.Πρόγραμμα, Προγραμματισμός, Προγραμματιστής.
Γ΄ τάξηΓ΄ τάξη
Το ολοκληρωμένο προγραμματιστικό περιβάλλον
Ένα περιβάλλον προγραμματισμού αποτελείται από διάφορα εργαλεία
που βοηθάνε τον προγραμματιστή να γράψει και να διορθώσει το
πρόγραμμά του.
Τα κύρια εργαλεία είναι:
• ένας εξειδικευμένος κειμενογράφος, που χρησιμεύει για τη σύνταξη και
τη διόρθωση του προγράμματος και
• ένα πρόγραμμα-μεταφραστής που μετατρέπει τις οδηγίες μας στη
μορφή που τις καταλαβαίνει ο επεξεργαστής, δηλαδή σε μια σειρά
από 0 και 1.
23. ΕΝΟΤΗΤΑ 1 – Κεφάλαιο 1: Εισαγωγή στην έννοια του αλγορίθμου και στον
Προγραμματισμό
Λέξεις ΚλειδιάΛέξεις Κλειδιά:: Αλγόριθμος, Γλώσσες Προγραμματισμού, Δεδομένα, Εντολή, Ζητούμενα, Κατανόηση Προβλήματος, Πρόβλημα,Αλγόριθμος, Γλώσσες Προγραμματισμού, Δεδομένα, Εντολή, Ζητούμενα, Κατανόηση Προβλήματος, Πρόβλημα,
Πρόγραμμα, Προγραμματισμός, Προγραμματιστής.Πρόγραμμα, Προγραμματισμός, Προγραμματιστής.
Γ΄ τάξηΓ΄ τάξη
• Οι μεταφραστές είναι δυνατόν να βρουν οποιοδήποτε λάθος υπάρχει στη
σύνταξη, στο αλφάβητο ή στο λεξιλόγιο μιας εντολής. Τέτοιου είδους λάθη
ονομάζονται συντακτικά
• Τα λάθη που αφορούν τον αλγόριθμο κατασκευής και οδηγούν σε μη
αναμενόμενα αποτελέσματα κατά την εκτέλεση ενός προγράμματος
ονομάζονται λογικά. Τέτοιου είδους λάθη δεν αναγνωρίζονται από τους
μεταφραστές
Σχήμα 1.3: Στάδια για την εκτέλεση ενός αλγορίθμου από τον υπολογιστή
Αλγόριθμος Πρόγραμμα
Μετατροπή του προγράμματος
σε 0 και 1 (γλώσσα μηχανής)
Εκτέλεση του προγράμματος
στον επεξεργαστή