προγραμματισμός

13
Προγραμματισμός Προγραμματισμός Βασικές Έννοιες Βασικές Έννοιες

Transcript of προγραμματισμός

Page 1: προγραμματισμός

ΠρογραμματισμόςΠρογραμματισμός

Βασικές ΈννοιεςΒασικές Έννοιες

Page 2: προγραμματισμός

ΠροβλήματαΠροβλήματα

Μια κατάσταση η οποία χρήζει Μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε λύση της δεν είναι γνωστή, ούτε προφανήςπροφανής

Προβλήματα

ΚοινωνικάΠροσωπικά

Ελληνική (ανεργία, ξενοφοβία)

Παγκόσμια (πόλεμος, μόλυνση)

Page 3: προγραμματισμός

Στάδια αντιμετώπισης Στάδια αντιμετώπισης προβλημάτωνπροβλημάτων

Κατανόηση: Σωστή και πλήρης αποσαφήνιση Κατανόηση: Σωστή και πλήρης αποσαφήνιση των δεδομένων και των ζητούμενωντων δεδομένων και των ζητούμενων

Ανάλυση: Το αρχικό πρόβλημα διασπάται σε Ανάλυση: Το αρχικό πρόβλημα διασπάται σε επιμέρους απλούστεραεπιμέρους απλούστερα

Επίλυση: Υλοποιείται η λύση μέσω της λύσης Επίλυση: Υλοποιείται η λύση μέσω της λύσης των επιμέρους προβλημάτωντων επιμέρους προβλημάτων

ΚατανόησηΠροβλήματος

Λύση προβλήματος

ΒιωματικέςΚαταστάσεις &

εμπειρίες

Γνώσεις συγκεκριμένων

επιστημώνΣωστή ερμηνείαΣωστή διατύπωση

Page 4: προγραμματισμός

Χρήσιμοι ΟρισμοίΧρήσιμοι Ορισμοί

Δεδομένο: οποιοδήποτε στοιχείο που μπορεί Δεδομένο: οποιοδήποτε στοιχείο που μπορεί να γίνει αντιληπτό από έναν τουλάχιστο να γίνει αντιληπτό από έναν τουλάχιστο παρατηρητή με μια από τις πέντε αισθήσεις παρατηρητή με μια από τις πέντε αισθήσεις τουτου

Πληροφορία: Οποιοδήποτε γνωσιακό στοιχείο Πληροφορία: Οποιοδήποτε γνωσιακό στοιχείο προέρχεται από την επεξεργασία δεδομένωνπροέρχεται από την επεξεργασία δεδομένων

Επεξεργασία δεδομένων: Διαδικασία κατά Επεξεργασία δεδομένων: Διαδικασία κατά την οποία ένας ‘μηχανισμός’ δέχεται την οποία ένας ‘μηχανισμός’ δέχεται δεδομένα, τα επεξεργάζεται σύμφωνα μ’ έναν δεδομένα, τα επεξεργάζεται σύμφωνα μ’ έναν προκαθορισμένο τρόπο και αποδίδει προκαθορισμένο τρόπο και αποδίδει πληροφορίεςπληροφορίες

Page 5: προγραμματισμός

Πρόβλημα και ΥπολογιστήςΠρόβλημα και Υπολογιστής

ΛόγοιΛόγοιI.I. Πολυπλοκότητα υπολογισμώνΠολυπλοκότητα υπολογισμών

II.II. Επαναληπτικότητα διαδικασιώνΕπαναληπτικότητα διαδικασιών

III.III. Ταχύτητα εκτέλεσης πράξεωνΤαχύτητα εκτέλεσης πράξεων

IV.IV. Μεγάλο πλήθος δεδομένωνΜεγάλο πλήθος δεδομένων

Λειτουργίες ΥπολογιστήΛειτουργίες Υπολογιστή1.1. ΠρόσθεσηΠρόσθεση

2.2. Σύγκριση (λογικές πράξεις)Σύγκριση (λογικές πράξεις)

3.3. Μεταφορά δεδομένων (πριν και μετά την επεξεργασία Μεταφορά δεδομένων (πριν και μετά την επεξεργασία δεδομένων)δεδομένων)

Page 6: προγραμματισμός

ΑλγόριθμοςΑλγόριθμος

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

– Πχ μια μαγειρική συνταγήΠχ μια μαγειρική συνταγή– Ένα μαθηματικό πρόβλημαΈνα μαθηματικό πρόβλημα– Ανάληψη χρημάτων από ΑΤΜΑνάληψη χρημάτων από ΑΤΜ

Page 7: προγραμματισμός

Κριτήρια αλγορίθμωνΚριτήρια αλγορίθμων

Είσοδος: καμία, μία ή περισσότερεςΕίσοδος: καμία, μία ή περισσότερες Έξοδος: δημιουργεί μια τιμήΈξοδος: δημιουργεί μια τιμή Καθοριστικότητα: κάθε εντολή να καθορίζεται Καθοριστικότητα: κάθε εντολή να καθορίζεται

χωρίς αμφιβολία για τον τρόπο εκτέλεσης τηςχωρίς αμφιβολία για τον τρόπο εκτέλεσης της Περατότητα: να τελειώνει μετά από Περατότητα: να τελειώνει μετά από

πεπερασμένα βήματα εκτέλεσηςπεπερασμένα βήματα εκτέλεσης Αποτελεσματικότητα: κάθε μεμονωμένη Αποτελεσματικότητα: κάθε μεμονωμένη

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

Page 8: προγραμματισμός

Τρόποι περιγραφής Τρόποι περιγραφής αλγορίθμωναλγορίθμων

A.A. Ελεύθερο κείμενο (αδόμητος, Ελεύθερο κείμενο (αδόμητος, αποτελεσματικότητα?)αποτελεσματικότητα?)

B.B. Διαγραμματικές τεχνικές (γραφικός Διαγραμματικές τεχνικές (γραφικός τρόπος)τρόπος)

C.C. Φυσική γλώσσα (καθοριστικότητα?)Φυσική γλώσσα (καθοριστικότητα?)

D.D. Κωδικοποίηση (πρόγραμμα)Κωδικοποίηση (πρόγραμμα)Αρχή - τέλος

Είσοδος -έξοδος

Έλεγχος συνθήκης

Εκτέλεση εντολής

Page 9: προγραμματισμός

Βασικές Βασικές συνιστώσες/εντολές ενός συνιστώσες/εντολές ενός αλγορίθμουαλγορίθμου Σταθερές: προκαθορισμένες τιμές σταθερές Σταθερές: προκαθορισμένες τιμές σταθερές

σ’ όλη την διάρκεια ενός αλγορίθμουσ’ όλη την διάρκεια ενός αλγορίθμου Μεταβλητές: για παράσταση δεδομένων, Μεταβλητές: για παράσταση δεδομένων,

ποσότητες οι τιμές των οποίων αλλάζουν ποσότητες οι τιμές των οποίων αλλάζουν είτε με είσοδο είτε με εντολή εκχώρησηςείτε με είσοδο είτε με εντολή εκχώρησης

Τελεστές: σύμβολα για αριθμητικές, λογικές Τελεστές: σύμβολα για αριθμητικές, λογικές πράξειςπράξεις

Εκφράσεις: συνδυασμός σταθερών, Εκφράσεις: συνδυασμός σταθερών, μεταβλητών, τελεστών πχ. μεταβλητών, τελεστών πχ. c a+bc a+b

Page 10: προγραμματισμός

Δομή ακολουθίαςΔομή ακολουθίας

Οι εντολές εκτελούνται με τη σειρά η μία Οι εντολές εκτελούνται με τη σειρά η μία μετά την άλλημετά την άλλη

Αλγόριθμος ΠρόσθεσηΑλγόριθμος ΠρόσθεσηΔιάβασε α Διάβασε α ….είσοδος….είσοδος

Διάβασε β Διάβασε β … είσοδος… είσοδος

γ<- α+β γ<- α+β … εντολή εκχώρησης… εντολή εκχώρησης

Τύπωσε γ Τύπωσε γ … έξοδος… έξοδος

Τέλος ΠρόσθεσηΤέλος Πρόσθεση

Πχ. Σελ 158Πχ. Σελ 158

Page 11: προγραμματισμός

Δομή ΕπιλογήςΔομή Επιλογής

Απλή επιλογήΑπλή επιλογή

Αν συνθήκη τότεΑν συνθήκη τότε

Εντολή 1Εντολή 1

Εντολή 2Εντολή 2

……..

Εντολή νΕντολή ν

Τέλος_ανΤέλος_αν

Σύνθετη επιλογήΣύνθετη επιλογή

Αν συνθήκη τότεΑν συνθήκη τότε

Εντολή 1Εντολή 1

Εντολή 2Εντολή 2

……..

Εντολή νΕντολή ν

ΑλλιώςΑλλιώς

Εντολή (ή εντολές)Εντολή (ή εντολές)

Τέλος_ανΤέλος_αν

Πχ1. Αλγόριθμός να διαβάζει έναν αριθμό και να τυπώνει την απόλυτη τιμή τουΠχ2. Αλγόριθμος να διαβάζει δύο αριθμούς και αν ο πρώτος είναι μεγαλύτερος να Υπολογίζει και να τυπώνει το άθροισμα τους αλλιώς το γινόμενό τους

Page 12: προγραμματισμός

Πολλαπλή επιλογήΠολλαπλή επιλογή

Αν συνθήκη1 τότε εντολή1Αν συνθήκη1 τότε εντολή1αλλιώς_αν συνθήκη2 τότε αλλιώς_αν συνθήκη2 τότε

εντολή2εντολή2αλλιώς_αν συνθήκη3 τότε αλλιώς_αν συνθήκη3 τότε

εντολή3εντολή3……Αλλιώς εντολήΑλλιώς εντολήΤέλος_ανΤέλος_αν

Επίλεξε Επίλεξε

Περίπτωση συνθήκη1Περίπτωση συνθήκη1

εντολή1εντολή1

Περίπτωση συνθήκη2Περίπτωση συνθήκη2

εντολή2εντολή2

……....

Αλλιώς εντολήΑλλιώς εντολή

Τέλος_επιλογώνΤέλος_επιλογών

Πχ Να διαβάζει έναν αριθμό και να τυπώνει α αν είναι 1, β αν είναι 2,γ αν είναι 3, αλλιώς να τυπώνει άγνωστος αριθμός

Πχ5 σχολ. Βιβλιο σελ 37Επιλογή ορίων

Παράδειγμα εμφωλευμένων διαδικασιώνΝα διαβάζει ύψος και βάρος και αν το βάρος>80 να τυπώνει βαρύς αλλιώς ελαφρύςΚαι αν το ύψος>1.70 ψηλός αλλιώς κοντός

Page 13: προγραμματισμός

ΔομήΔομή επανάληψηςεπανάληψης

Μια ακολουθία εντολών πρέπει να εφαρμοστεί σε ένα Μια ακολουθία εντολών πρέπει να εφαρμοστεί σε ένα σύνολο περιπτώσεων που έχουν κάτι κοινό (πχ τόκος σύνολο περιπτώσεων που έχουν κάτι κοινό (πχ τόκος για πολλούς λογαριασμούςγια πολλούς λογαριασμούς

Όσο συνθήκη επανέλαβεΌσο συνθήκη επανέλαβεΕντολέςΕντολές

Τέλος_επανάληψηςΤέλος_επανάληψης Αρχή_επανάληψηςΑρχή_επανάληψης

ΕντολέςΕντολέςΜέχρις_ότου συνθήκηΜέχρις_ότου συνθήκη

Για …. από … μέχρι … με βήμα …Για …. από … μέχρι … με βήμα … ΕντολέςΕντολέςΤέλος_επανάληψηςΤέλος_επανάληψης

Πχ αλγόριθμος εμφάνισης αριθμών από το 1 εως το 100

Πχ άθροισμα ακεραίων από 1 μέχρι 100Πχ άθροισμα άρτιων από 1 μέχρι 100Πχ υπολογισμός παραγοντικού

Πχ. Προπαίδεια και παραδειγμα2 σχολ. Βιβλίου σελ 180