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

Post on 23-Jun-2015

399 views 4 download

description

Θεωρία κεφάλαιο 7 απο το βιβλίο Εφαρμογές Η/Υ Α,Β,Γ Λυκείου

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

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

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

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

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

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

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

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

111001101011001110110110101110111010011110110110101000100101011010010011

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

μηχανής.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

συνθήκης.

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

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

βρόχο.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ροης)

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

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

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

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

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

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

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

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

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

ΑρχήΑρχή

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

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

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

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

μέσος_όρος

ΤέλοςΤέλος

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

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

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

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

ΑρχήΑρχή

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

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

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

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

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

ΤέλοςΤέλος

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

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

μο >=10

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