Θερμοδυναμική - Εργαστήριο Ενότητα 2: Εισαγωγή σε έννοιες προγραμματισμού με υπολογιστή Κυρατζής Νικόλαος Τμήμα Μηχανικών Περιβάλλοντος και Μηχανικών Αντιρρύπανσης ΤΕ
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI Δυτικής Μακεδονίας και στην Ανώτατη Εκκλησιαστική Ακαδημία Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
Σκοποί ενότητας Να κατανοήσει ο φοιτητής βασικές, εισαγωγικές έννοιες προγραμματισμού με χρήση ηλεκτρονικού υπολογιστή. 4
Περιεχόμενα ενότητας Δομημένο πρόγραμμα. Προσεγγιστική λύση (Μέθοδος Euler). Πρόβλημα αλεξιπτωτιστή. Πλεονεκτήματα Excel. Tools Macro Visual Basic Editor. 5
Εισαγωγή σε έννοιες προγραμματισμού με υπολογιστή (1) Μπορούμε να χρησιμοποιήσουμε το υπολογιστή ΣΑΝ ΕΡΓΑΛΕΙΟ για να βρούμε την λύση ενός μοντέλου με ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΥΣ;. Βρες κατάλληλο λογισμικό (ποιο;) ( point and shoot ). Ή γράψε το δικό σου πρόγραμμα ώστε να επεκτείνεις τις δυνατότητες λογισμικών όπως π.χ. Excel and Matlab. Σαν μηχανικοί πρέπει να γνωρίζουμε και τα δύο!. 6
Εισαγωγή σε έννοιες προγραμματισμού με υπολογιστή (2) Πρόγραμμα = σύνολο από οδηγίες που δίνουμε στον υπολογιστή για ένα συγκεκριμένο πρόβλημα. Τι πρέπει να ξέρουμε για προβλήματα μηχανικών;. o o o Εισαγωγή αριθμών και πληροφοριών (π.χ. σταθερές, μεταβλητές, τύπος μεταβλητών). Εισαγωγή πιο πολύπλοκων πληροφοριών (π.χ. σειρές, δεδομένα). Μαθηματικούς τύπους (π.χ. Ενσωματωμένες συναρτήσεις, κανόνες προτεραιότητας, ανάθεση τιμών). 7
Εισαγωγή σε έννοιες προγραμματισμού με υπολογιστή (3) Τι πρέπει να ξέρουμε για προβλήματα μηχανικών; (Συνέχεια). o o o Input/ Output. Λογικές διεργασίες (σειρά, επιλογή, επανάληψη). Συναρτήσεις και υπορουτίνες (modular programming). 8
Δομημένο πρόβλημα (1) Χτίζουμε ένα πρόγραμμα σύμφωνα με κάποιους κανόνες που σιγά-σιγά μας γίνονται συνήθεια:. Οργανωμένος κώδικας. Μπορούμε να τον μοιραστούμε με άλλους. Εύκολα τον δοκιμάζουμε και βρίσκουμε τυχόν λάθη (debugging). Απαιτεί λιγότερο χρόνο και ανανεώνεται εύκολα. 9
Δομημένο πρόβλημα (2) Αποτελείται από τρεις στοιχειώδεις υποδομές:. Σειρά, επιλογή και επανάληψη. 10
Δομημένο πρόβλημα (3) Σειρά. Ο κώδικας να εισαχθεί με σειρά εντολών όπως στο σχήμα, και μπορεί να παρασταθεί είτε με διάγραμμα είτε με ψευτο-κώδικα. Σχήμα 1. Δομημένο πρόβλημα, πηγή: Chapra & Canale, 2010. 11
Δομημένο πρόβλημα (4) Επιλογή. Το πρόγραμμα το διακλαδίζουμε ανάλογα με μια λογική απόφαση. Σχήμα 2. Δομημένο πρόβλημα 2, πηγή: Chapra & Canale, 2010. 12
Δομημένο πρόβλημα (5) Επανάληψη. Ένας τρόπος επανάληψης της ίδιας εντολής. DOEXIT loop. Σχήμα 3. Δομημένο πρόβλημα 3, πηγή: Chapra & Canale, 2010. 13
Δομημένο πρόβλημα (6) Επανάληψη-2. DOEXIT loop. Σχήμα 4. Δομημένο πρόβλημα 4, πηγή: Chapra & Canale, 2010. 14
Modular programming (1/2) Το πρόγραμμα χωρίζεται σε υποπρογράμματα (modules) τα οποία χτίζουμε και δοκιμάζουμε ξεχωριστά. Τα υποπρογράμματα (π.χ. συναρτήσεις, υπορουτίνες πρέπει να δουλεύουν σαν ανεξάρτητα προγράμματα. Πλεονεκτήματα: Είναι εύκολο να καταλάβουμε την λογική μικρών προγραμμάτων. Είναι εύκολο το debugging και οι δοκιμές. 15
Modular programming (2/2) Πλεονεκτήματα (Συνέχεια):. Εύκολες οι διορθώσεις-μετατροπές. «Χτίζουμε» μια ολόκληρη βιβλιοθήκη από υποπρογράμματα που τα χρησιμοποιούμε σε πολλές περιπτώσεις. 16
Προσεγγιστική λύση (Μέθοδος Euler) Νέα τιμή= παλιά τιμή +κλίση βήμα Σχήμα 5. Προσεγγιστική λύση (Μέθοδος Euler), πηγή: Chapra & Canale, 2010. 17
Πρόβλημα αλεξιπτωτιστή Σχήμα 6. Πρόβλημα αλεξιπτωτιστή, πηγή: Chapra & Canale, 2010. 18
Πλεονεκτήματα EXCEL Υπολογισμοί σε σειρές και στήλες δεδομένων. Όταν αλλάζει μία τιμή σε κελί αλλάζουν όλες οι τιμές και έτσι μπορούμε να ελέγχουμε εύκολα την επίδραση άλλων συνθηκών στο πρόβλημά μας. Το Excel διαθέτει υπορουτίνες για λύση εξίσωσης, προσαρμογή καμπύλης σε δεδομένα και βελτιστοποίηση. Περιλαμβάνει γλώσσα προγραμματισμού την VBA σαν macro language για προβλήματα αριθμητικής ανάλυσης. Έχει επίσης οπτικά εργαλεία όπως διαγράμματα αλλά και 3-D γραφικές παραστάσεις. 19
Tools Macro Visual Basic Editor Σχήμα 7. Tools Macro Visual Basic Editor. 20
Βιβλιογραφία Chapra, S. C. & Canale, R. P. (2010). Numerical methods for engineers - 6 th Edition. McGraw-Hill. 21
Τέλος Ενότητας