Download - Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Transcript
Page 1: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Προγραμματισμός Προγραμματισμός Η/ΥΗ/Υ

Προγραμματισμός Προγραμματισμός Η/ΥΗ/Υ

Page 2: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

ΠρόγραμμαΠρόγραμμα είναι το σύνολο των

εντολών που πρέπει να δοθούν στον υπολογιστή, ώστε να

υλοποιηθεί ο αλγόριθμος για την επίλυση του προβλήματος.

Page 3: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Γλώσσα ΜηχανήςΤα προγράμματα που εκτελούνται από

την ΚΜΕ είναι διατυπωμένα σε ακολουθίες απο 0 και 1

111001101011001110110110101110111010011110110110101000100101011010010011

Page 4: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Συμβολικές ΓλώσσεςΚάθε εντολή της Γλώσσας

αντιστοιχεί σε μία λέξη.

Page 5: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Γλώσσες Υψηλού Επιπέδου

Κρύβουν από τον προγραμματιστή τη γλώσσα μηχανής και

προσφέρουν ένα πιο φιλικό σύνολο εντολών με τις οποίες

συντάσσεται ένα πρόγραμμα.

• Μεταφερσιμότητα

Page 6: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Συγκριτικό Παράδειγμα

Page 7: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Ιστορία Γλωσσών Προγραμματισμού

• FORTRAN• ALGOL• COBOL• BASIC• SIMULA • LISP• LOGO• PASCAL• C• C++• SMALTALK• ADA• JAVA• PROLOG • SQL

Page 8: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Μεταφραστές• Συμβολομεταφραστές• Μεταγλωττιστές• ΔιερμηνείςΜετάφραση των προγραμμάτων σε

γλώσσα μηχανής

Page 9: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

ΣυμβολομεταφραστέςΜετατροπή από συμβολική γλώσσα

σε γλώσσα μηχανής.

H βασική τους λειτουργία συνίσταται στο να αντικαθιστούν με τη χρήση ενός λεξικού τις συμβολικές εντολές με τις αντίστοιχες της γλώσσας μηχανής.

Page 10: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Μετάφραση προγραμμάτων

προγραμμάτων υψηλού επιπέδου

• Μεταγλώττιστής• Διερμηνευτής

Page 11: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Μεταγλωττιστής• Γλώσσα υψηλού επιπέδου (Πηγαίο)• Γλώσσα μηχανής από τον

μεταγλωττιστή (αντικείμενο)• Έλεγχος για συντακτικά λάθη• Σύνδεση του αντικείμενου

προγράμματος με τα απαραίτητα προγράμματα από τις βιβλιοθήκες (συνδέτης)

Page 12: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

ΔιερμηνευτήςΟι διερμηνευτές (interpreters)

διαβάζουν μία προς μία τις εντολές

του αρχικού προγράμματος και για κάθε μια

εκτελούν αμέσως μιαισοδύναμη ακολουθία εντολών

μηχανής.

Page 13: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Η ιεραρχική σχεδίαση ή ιεραρχικός προγραμματισμός χρησιμοποιεί

τη στρατηγική της συνεχούς διαίρεσης του προβλήματος σε

υποπροβλήματα. Τα υποπροβλήματα είναι απλούστερα και είναι

πιο εύκολο να επιλυθούν οδηγώντας στην λύση του αρχικού

προβλήματος. Στην ιεραρχική σχεδίαση χρησιμοποιούνταιδιαγραμματικές τεχνικές.

Ιεραρχική σχεδίαση προγραμμάτων

Page 14: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Δομημένος Προγραμματισμός

• Δομή ακολουθίας• Δομή Επιλογής• Δομή επανάληψης

Page 15: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Δομή Ακολουθίας Η ακολουθιακή δομή εντολών

(σειριακών βημάτων) χρησιμοποιείται για την

αντιμετώπιση απλών προβλημάτων, όπου είναι

δεδομένη η σειρά εκτέλεσης ενός συνόλου ενεργειών

Page 16: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Δομή ΕπιλογήςΠεριλαμβάνει τον έλεγχο κάποιας

συνθήκης που μπορεί να έχει δύο τιμές (Αληθής ή

Ψευδής) και ακολουθεί η απόφαση εκτέλεσης κάποιας ενέργειας με βάση την τιμή της λογικής αυτής

συνθήκης.

Page 17: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Δομή ΕπανάληψηςΗ δομή επανάληψης ή βρόχος

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

βρόχο.

Page 18: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Πλεονεκτήματα του δομημένου

προγραμματισμού• Δημιουργία απλούστερων προγραμμάτων• Άμεση μεταφορά των αλγορίθμων σε

προγράμματα• Διευκόλυνση ανάλυσης του προγράμματος σε

τμήματα• Περιορισμός των λαθών κατά την ανάπτυξη

του προγράμματος• Διευκόλυνση στην ανάγνωση και κατανόηση

του προγράμματος από τρίτους.• Ευκολότερη διόρθωση και συντήρηση

Page 19: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Προγραμματίζοντας

Page 20: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

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

Page 21: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Κριτήρια • Είσοδος είναι ένα σύνολο

μεταβλητών, οι οποίες αποτελούν τα δεδομένα του αλγορίθμου.• Έξοδος είναι ένα σύνολο

μεταβλητών, οι οποίες αποτελούν τα αποτελέσματα του αλγορίθμου.

Page 22: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Κριτήρια• Καθοριστικότητα Κάθε εντολή ενός

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

• ΠερατότηταΈνας αλγόριθμος πρέπει να τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης των εντολών του

Page 23: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Κριτήρια• ΑποτελεσματικότηταΚάθε

μεμονωμένη εντολή του αλγορίθμου πρέπει να είναι διατυπωμένη απλά. Αυτό σημαίνει ότι μία εντολή δεν αρκεί

να έχει ορισθεί, αλλά πρέπει να είναι και εκτελέσιμη.

Page 24: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Αναπαράσταση αλγορίθμου

• Ελέυθερο κείμενο• Φυσική γλώσσα• Διαγραμματικές τεχνικές (διάγραμμα

ροης)

• Κωδικοποίηση-ψευδογλώσσα

Page 25: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Διάγραμμα ροής

Page 26: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

ΠαράδειγμαΝα γράψετε αλγόριθμο ο οποίος θα διαβάζει τρεις αριθμούς και θα υπολογίζει και θα εμφανίζει το μέσο όρο τους.

Page 27: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Ελεύθερο κείμενοΔιάβασε τρεις αριθμούς. Στη συνέχεια πρόσθεσέ τους και το αποτέλεσμα διαίρεσέ το με 3. Εκτύπωσε το αποτέλεσμα μετά τη διαίρεση.

Page 28: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Φυσική γλώσσα με βήματα

• Διάβασε τρεις αριθμούς α, β, γ• Θέσε το άθροισμα ίσο με α + β + γ• Θέσε το μέσο όρο ίσο με το άθροισμα

δια 3.• Εκτύπωσε το μέσο όρο

Page 29: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

ΨευδογλώσσαΑλγόριθμος μέσος_όρος_τριών_αριθμώνΔιάβασε α, β, γάθροισμα ← α + β + γμέσος_όρος ← άθροισμα/3Εκτύπωσε μέσος_όροςΤέλος μέσος_όρος_τριών_αριθμών

Page 30: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Διάγραμμα ροής

ΑρχήΑρχή

Διάβασε α,β,γΔιάβασε α,β,γ

Άθροισμαα+β+γΆθροισμαα+β+γ

μέσος_όρος(α+β+γ)/3 μέσος_όρος(α+β+γ)/3

Εκτύπωσε μέσος_όροςΕκτύπωσε

μέσος_όρος

ΤέλοςΤέλος

Page 31: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Visual basic

Dim a, b, c, mo as Integer

a=textbox1.text

b=textbox2.text

b=textbox3.text

mo=(a + b + c) / 3

Textbox4.text=mo

Page 32: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Στο προηγούμενο πρόβλημα....

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

Page 33: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

ΨευδογλώσσαΑλγόριθμος μέσος_όρος_τριών_αριθμώνΔιάβασε α, β, γάθροισμα ← α + β + γμέσος_όρος ← άθροισμα/3Αν μέσος_όρος >=10 τότεΕκτύπωσε «προάγεσαι»ΑλλιώςΕκτύπωσε «απορρρίπτεσαι»Τέλος μέσος_όρος_τριών_αριθμών

Page 34: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

ΑρχήΑρχή

Διάβασε α,β,γΔιάβασε α,β,γ

Άθροισμαα+β+γΆθροισμαα+β+γ

μο(α+β+γ)/3 μο(α+β+γ)/3

Εκτύπωσε απορρίπτεσαι

Εκτύπωσε απορρίπτεσαι

ΤέλοςΤέλος

Εκτύπωσε προάγεσαιΕκτύπωσε προάγεσαι

ψευδήςαλληθής

μο >=10

Page 35: Προγραμματισμός Η/Υ Θεωρία Α Λυκείου

Visual basic

label5

Dim a, b, c, mo as Integer

a=textbox1.text

b=textbox2.text

b=textbox3.text

mo=(a + b + c) / 3

Textbox4.text=mo

If mo >= 10 then

Label5.text=“προάγεσαι”

Else

Label5.text=“απορρίπτεσ

αι»

End if