Επίλυση Φυσικομαθηματικών Προβλημάτων με την χρήση προγραμματισμού Ιωάννης Λιακόπουλος 1, Χαράλαμπος Λυπηρίδης 2 1,2 Εκπαιδευτήρια «Ο Απόστολος Παύλος» 1 liakopoulosjohn0@gmail.com, 2 xarislip@hotmail.com Επιβλέπων Καθηγητής: Λάζαρος Τζήμκας Καθηγητής Πληροφορικής, Εκπαιδευτήρια «Ο Απόστολος Παύλος» tzimkaslazaros@gmail.com ΠΕΡΙΛΗΨΗ Οι υπολογιστές έχουν συμβάλλει στην πρόοδο της επιστήμης και της τεχνολογίας διότι με την βοήθειά τους επιλύονται πολύπλοκοι υπολογισμοί σε ελάχιστο χρόνο και διαχειρίζονται μεγάλο όγκο δεδομένων. Για να γίνουν αντιληπτές οι δυνατότητες του υπολογιστή, κατασκευάστηκε διαθεματικό πρόγραμμα με την χρήση της ΓΛΩΣΣΑΣ, το οποίο επιλύει συναρτήσεις που προέρχονται από τους κλάδους της Άλγεβρας, της Γεωμετρίας και της Φυσικής που συναντώνται στο Λύκειο. Κατασκευάστηκε αλγόριθμος ο οποίος περιέχει ένα ευρύ φάσμα εντολών, που περιλαμβάνει τις εντολές τις επιλογής και της επανάληψης. Πιο συγκεκριμένα, το πρόγραμμα δίνει την δυνατότητα στον χρήστη μέσω ενός εύχρηστου μενού επιλογών, να επιλέγει ποιο πρόβλημα επιθυμεί να λύσει και στην συνέχεια εισάγοντας δεδομένα να υπολογίζει άμεσα τη σωστή λύση. Επιλύονται συνολικά 52 γνωστές εξισώσεις που προέρχονται από την Άλγεβρα ( πχ. λύση τριωνύμου, υπολογισμός λογαρίθμου), την Γεωμετρία (πχ. Πυθαγόρειο Θεώρημα, Όγκος Σφαίρας, Όγκος Πυραμίδας, κώνου κα.) ή την Φυσική (πχ. καταστατική εξίσωση, Νόμος του Ohm, Ηλεκτρική ισχύς, Νόμος του Coulomb) του Λυκείου και μπορεί να χρησιμοποιηθεί από κάθε χρήστη αφού είναι απλό στην χρήση και δίνει αποτελέσματα ακριβή και με μεγάλη ταχύτητα. Οι τεχνικές δυσκολίες που υπήρξαν, ήταν ότι κάθε συνάρτηση που επιλύεται είναι διαφορετική από τις υπόλοιπες με αποτέλεσμα να μην υπάρχει δυνατότητα επαναχρησιμοποίησης κομματιών του κώδικα, δηλαδή τα επαναλαμβανόμενα μέρη να γραφούν μία φόρα και στην συνέχεια να καλούνται με την χρήση υποπρογραμμάτων. Για το λόγο αυτό ο κώδικας του αλγορίθμου είναι εκτενής, υπάρχει όμως τεκμηρίωση του κώδικα με την ενσωμάτωση σχολίων για κάθε εξίσωση που υλοποιήθηκε, με αποτέλεσμα να διευκολύνεται η συντήρηση του κώδικα, με την δυνατότητα εύκολης προσθήκης βελτιώσεων και νέων συναρτήσεων προς επίλυση καθώς και να γίνεται εύκολα ο εντοπισμός λογικών λαθών. ΛΕΞΕΙΣ ΚΛΕΙΔΙΑ: προγραμματισμός, συναρτήσεις, εξισώσεις, μαθηματικά, φυσική. ΕΙΣΑΓΩΓΗ Η χρήση Η/Υ έχει εισχωρήσει στην καθημερινότητα εκατομμύριων ανθρώπων, καθώς με την βοήθειά τους μια εργασία μπορεί να ολοκληρωθεί σε μικρό χρονικό 1
διάστημα και με ακρίβεια. Η γλώσσα που καταλαβαίνει ο υπολογιστής είναι η γλώσσα μηχανής, μία ακολουθία από δυαδικά ψηφία (0 και 1). Όμως επειδή είναι πολύ δύσκολο να γραφούν προγράμματα απευθείας σε γλώσσα μηχανής για το λόγο αυτό χρησιμοποιούνται γλώσσες προγραμματισμού, οι οποίες δίνουν στο χρήστη τη δυνατότητα να γράψει σε μία πολύ πιο φιλική και πιο κοντά στην ανθρώπινη γλώσσα μορφή και μετά, με την βοήθεια διερμηνευτών (compiler) να μετατραπεί σε γλώσσα μηχανής και να εκτελεστεί από τον υπολογιστή. Συνεπώς ο υπολογιστής λόγω της μεγάλης ταχύτητας των πράξεων που εκτελεί δίνει την δυνατότητα με την χρήση κατάλληλων γλωσσών προγραμματισμού να δημιουργηθούν προγράμματα για την επίλυση σύνθετων προβλημάτων. Οι μαθητές στο σχολείο συναντούν καθημερινά προβλήματα και ασκήσεις στα οποία πρέπει με την βοήθεια κατάλληλων μαθηματικών εξισώσεων που έχουν διδαχθεί στην θεωρία, καλούνται να βρουν την σωστή λύση. Για να ολοκληρωθούν τα προβλήματα αυτά και να βρεθεί η λύση τους, πρέπει να επιλυθούν διάφοροι μαθηματικοί τύποι, στους οποίους αν εισαχθούν δεδομένα, με την κατάλληλη επεξεργασία τους θα υπολογιστεί το επιθυμητό αποτέλεσμα. Για τον λόγο αυτό δημιουργήθηκε ένα πρόγραμμα το όποιο επιλύει τους κυριότερους φυσικομαθηματικούς τύπους που χρησιμοποιούνται στο σχολείο. ΜΕΘΟΔΟΣ Για την δημιουργία του προγράμματος επίλυσης φυσικομαθηματικών συναρτήσεων, έπρεπε αρχικά να επιλεχθούν οι συναρτήσεις που θα έπρεπε να υλοποιηθούν και εν συνεχεία να επιλεγεί μία γλώσσα προγραμματισμού με την βοήθεια της οποίας θα κατασκευαστεί το πρόγραμμα που θα κάνει την διαδικασία της επίλυσης των συναρτήσεων επαναληπτικά και με μεγάλη ταχύτητα. Οι συναρτήσεις που επιλέχθηκαν είναι από την Φυσική, την Άλγεβρα και την Γεωμετρία που διδάσκεται στην Α και Β Λυκείου και Γ Γυμνασίου και καταγράφονται αναλυτικά παρακάτω. Κύριο εργαλείο το οποίο χρησιμοποιήθηκε στην εκπόνηση αυτής της εργασίας, ήταν η χρήση της ΓΛΩΣΣΑΣ, μιας γλώσσας δομημένου προγραμματισμού που χρησιμοποιεί την ελληνική γλώσσα και δημιουργήθηκε για εκπαιδευτικούς λόγους, καθώς χρησιμοποιείται στο Ενιαίο Λύκειο για το μάθημα «Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον». Με την βοήθεια της ΓΛΩΣΣΑΣ, δημιουργήθηκε ένα πρόγραμμα για την εύκολη γρήγορη και αποτελεσματική επίλυση φυσικομαθηματικών προβλημάτων. Οι εξισώσεις που επιλύονται με την βοήθεια του προγράμματος είναι συγκεντρωμένες στους Πίνακες 1-3 που ακολουθούν και αφορούν Εξισώσεις Φυσικής, Άλγεβρας και Γεωμετρίας αντίστοιχα. Όπως φαίνεται και στους πίνακες, επιλύονται 52 διαφορετικές περιπτώσεις ανάλογα με τις επιλογές που θα κάνει ο χρήστης από το μενού επιλογών. Κατά την επίλυση ορισμένων εξισώσεων, μπορεί ανάλογα με τα δεδομένα που θα εισαχθούν να οδηγηθούμε σε αδύνατη πράξη ή σε πράξη που δεν ορίζεται. Για παράδειγμα αν εισαχθεί στον υπολογισμό της τετραγωνικής ρίζας αρνητικός αριθμός θα πρέπει να υπάρχει δικλείδα ασφαλείας που να προειδοποιεί τον χρήστη ότι τέτοια πράξη δεν ορίζεται και να μην τον επιτρέπει να εισάγει λάθος δεδομένα. 2
α/α 1 2 3 4 5 6 Αρίθμηση Προγράμματος 1 2 Πινάκας 1: Εξισώσεις Φυσικής Ονομασία Συνάρτησης στο Πρόγραμμα Καταστατική Εξίσωση Νόμος του Ohm Τύπος προς Υπολογισμό P*V=n*R*T V=I*R 7 P=V*I 8 P=V 2 /R Ηλεκτρική 3 Ισχύς 9 10 4 Νόμος του Coulomb P=I 2* R F c =K ηλ* (q 1 *q 2 )/r 2 Επιλογές προς επίλυση Πίεση Όγκο Απόλυτη Θερμοκρασία Τάση Ένταση Ηλεκτρικού Ρεύματος Αντίσταση την Ισχύ έχοντας γνωστό τα V, Ι την ισχύ γνωρίζοντας Τάση και Αντίσταση την ισχύ γνωρίζοντας Ένταση Ηλεκτρικού Ρεύματος και Αντίσταση Δύναμη 3
α/α Αρίθμηση Προγράμματος Πίνακας 2: Εξισώσεις Μαθηματικών-Άλγεβρας Ονομασία Συνάρτησης στο Πρόγραμμα Τύπος προς Υπολογισμό 11 1 Πρόσθεση α+β 12 2 Αφαίρεση α-β 13 3 Πολλαπλασιασμός α*β 14 4 Διαίρεση α/β Επιλογές προς επίλυση Αθροίσματος 2 αριθμών Διαφοράς 2 αριθμών Γινομένου 2 αριθμών διαίρεσης 2 αριθμών 15 Περίπτωση αν Δ=0 16 5 Τριώνυμο α*χ 2 +β*χ+γ=0 Περίπτωση αν Δ>0 17 Περίπτωση αν Δ<0 18 α 2 τετραγωνικής δύναμης 19 α 3 κυβικής 6 Δύναμη αριθμού ρίζας 20 21 x 22 7 Ρίζα αριθμού 3 x 23 24 8 Λογάριθμος αριθμού α β y x log(x) 25 9 Ημίτονο ημ(χ) 26 10 Συνημίτονο συν(χ) οποιασδήποτε δύναμης τετραγωνικής ρίζας κυβικής ρίζας ρίζας για κάθε δύναμη λογαρίθμου ημιτόνου συνημίτονου 4
27 11 Εφαπτομένη εφ(χ) 28 12 Συνεφαπτομένη σφ(χ) εφαπτομένης συνεφαπτομένης α/α Αρίθμηση Πίνακας 3: Εξισώσεις Μαθηματικών-Γεωμετρίας Ονομασία Συνάρτησης Τύπος προς Υπολογισμό Επιλογές προς επίλυση 29 α 2 30 1 Τετράγωνο 4*α 31 2 32 4/3πr^3 2 Σφαίρα 33 34 α= 35 γ= 36 4πr^3 2 2 a b 2 2 ()()() 37 (β*υ)/2 38 3 Τρίγωνο α+β+γ 39 4 Πυραμίδα 1/3*Ε βάσης *υ Περιμέτρου Διαγωνίου Όγκου Πυθαγόρειο Θεώρημα - Υποτείνουσας Πυθαγόρειο Θεώρημα - Κάθετης Πλευράς για κάθε τρίγωνο (τύπος Ήρωνα) για ορθογώνια τρίγωνα Περιμέτρου Όγκου 5
40 πr^2 5 Κύκλος 41 2*π*ρ 42 α^3 6 Κύβος 43 6*α^2 44 α*β Παραλληλόγραμμο 7 45 2*(α+β) Περιμέτρου Όγκου Επιφάνειας Περιμέτρου 46 υ*π*r 2 Όγκου 8 Κύλινδρος 47 2*π*r 2 + 2*π*r*υ Επιφάνειας 48 1/3*π*r 2 *υ 9 Κώνος 49 π*r 2 + π*r*λ 50 (δ 1 +δ 2 )/2 10 Ρόμβος 51 4*α 52 11 Τραπέζιο ((Β+β)*υ)/2 Όγκου Επιφάνειας Περιμέτρου Χαρακτηριστικά Προγράμματος Για την κατασκευή του προγράμματος δεν χρησιμοποιήθηκε γραφικό περιβάλλον, αλλά μέσω κατάλληλων μηνυμάτων μπορεί εύκολα κάθε χρήστης με την βοήθεια του μενού επιλογών, να διαλέξει τι θέλει να υπολογίσει. Οι συναρτήσεις που ενσωματώθηκαν στο Πρόγραμμα και αναφέρθηκαν αναλυτικά στους Πίνακες 1-3, χωρίστηκαν σε 2 βασικές κατηγορίες: 1. Εξισώσεις Φυσικής 2. Εξισώσεις Μαθηματικών Συνεπώς στην αρχική σελίδα του προγράμματος όπως φαίνεται στο Σχήμα 1, το πρόγραμμα προτρέπει τον χρήστη με κατάλληλα μηνύματα να επιλέξει μία από τις δύο επιλογές (1 ή 2) ώστε να επιλύσει προβλήματα που αφορούν την Φυσική ή τα Μαθηματικά. 6
Σχήμα 1: Το Αρχικό Μενού του προγράμματος Αναλόγως με την επιλογή του χρήστη θα εμφανιστεί το επόμενο μενού που θα τον προτρέπει να διαλέξει ποιά εξίσωση θα λύσει. Για παράδειγμα, αν στην αρχική σελίδα (Σχήμα 1), ο χρήστης επιλέξει 1 θα του εμφανιστεί το μενού επιλογών που αντιστοιχούν στις συναρτήσεις Φυσικής (Πίνακας 1) όπως φαίνεται στο Σχήμα 2. Αντιστοίχως αν επιλέξει 2 στην αρχική σελίδα (Σχήμα 1), θα εμφανιστεί το μενού επιλογών που αντιστοιχεί στις Μαθηματικές συναρτήσεις όπου θα κληθεί να επιλέξει επίλυση συναρτήσεων Άλγεβρας (Πίνακας 2) ή Γεωμετρίας (Πίνακας 3) όπως φαίνεται στα Σχήμα 2, 3 αντίστοιχα. Σχήμα 2: Μενού Επιλογών για συναρτήσεις Φυσικής 7
Σχήμα 3: Μενού Επιλογών για συναρτήσεις Μαθηματικών: Άλγεβρας (α) ή Γεωμετρίας (β) (α) (β) Εάν σε κάποια περίπτωση εισαχθεί δεδομένο που θα οδηγήσει σε πράξη που δεν ορίζεται, το πρόγραμμα δεν το δέχεται και προτρέπει το χρήστη να δώσει άλλη σωστή τιμή. Χαρακτηριστικά παραδείγματα αποτελούν τα εξής: Διαίρεση με το μηδέν ρίζας αρνητικού αριθμού λογαρίθμου μη θετικού αριθμού Εισαγωγή πλευρών τριγώνου που δεν ορίζεται Ένα τέτοιο παράδειγμα φαίνεται στο Σχήμα 4 όπου έχει επιλεγεί υπολογισμός δεκαδικού λογαρίθμου. Αν ο χρήστης δώσει αριθμό αρνητικό ή μηδέν, τότε το πρόγραμμα δεν τον δέχεται και ξαναζητά ο χρήστης να δώσει εκ νέου έναν σωστό αριθμό. Μόλις εισαχθεί αριθμός θετικός τότε εμφανίζει στην οθόνη το σωστό αποτέλεσμα με επεξηγηματικό κείμενο και προτρέπει το χρήστη να κάνει νέο υπολογισμό. Στο Σχήμα 5 αποτυπώνεται η συνολική εικόνα του προγράμματος κατά την επίλυση μιας δευτεροβάθμιας εξίσωσης. Όπως φαίνεται και από το σχήμα, αφού ο χρήστης επιλέξει τους υπολογισμούς Μαθηματικών (επιλογή 1 στο αρχικό μενού) στη συνέχεια επιλέγει 1. Άλγεβρα από το υπομενού των Μαθηματικών και στο τέλος επιλέγει 5, για την επίλυση του Τριωνύμου. Το πρόγραμμα του εμφανίζει την εξίσωση του τριωνύμου (αχ 2 +βχ+γ=0) και ζητά από το χρήστη να εισάγει τις τιμές α, β, γ. Μόλις εισάγει τις τιμές του εμφανίζει τις λύσεις. Στο συγκεκριμένο παράδειγμα επιλύεται η εξίσωση χ 2 +8χ+2=0, άρα εισάγεται από τον χρήστη α=1, β=8, και γ=2 και το πρόγραμμα υπολογίζει τις λύσεις που είναι δύο γιατί η Διακρίνουσα είναι μεγαλύτερη του μηδέν και τις εμφανίζει (χ 1 = -0,26 και χ 2 = -7,74). Η διαδικασία που περιγράφηκε απεικονίζεται στο Σχήμα 5 που ακολουθεί. 8
Σχήμα 4: Εμφανίσεις μηνυμάτων σε περιπτώσεις σφαλμάτων Σχήμα 5: Παράδειγμα εκτέλεσης υπολογισμού Τριωνύμου 9
ΣΥΜΠΕΡΑΣΜΑΤΑ Το πρόγραμμα αναπτύχθηκε με σκοπό να αποτελέσει ένα βοηθητικό εργαλείο στην σωστή και γρήγορη επίλυση συχνά χρησιμοποιούμενων συναρτήσεων και πράξεων στο Ελληνικό Εκπαιδευτικό Σύστημα. Υλοποιεί συνολικά 52 διαφορετικές περιπτώσεις και είναι εύκολο στην χρήση του, καθώς σε κάθε βήμα έχει αναλυτικές οδηγίες για τον αποτελεσματικό χειρισμό του. Τα αποτελέσματα υπολογίζονται ταχύτατα και προβλέπονται πιθανά λάθη που μπορεί να γίνουν κατά την εισαγωγή των δεδομένων (π.χ. υπολογισμός ρίζας αρνητικού αριθμού, υπολογισμός λογαρίθμου αρνητικού αριθμού κτλ.) και αποτρέπεται ο χρήστης από την εισαγωγή τέτοιων δεδομένων. Επιπλέον κάθε φορά που τελειώνει ο υπολογισμός κάποιας συνάρτησης, δίνει την δυνατότητα στο χρήστη με το πάτημα οποιουδήποτε πλήκτρου να επιστρέψει στο αρχικό μενού και με αυτό τον τρόπο να επαναλαμβάνει όσες φορές επιθυμεί τους επιθυμητούς υπολογισμούς. Επιπλέον λόγω της διαφορετικότητας των συναρτήσεων που επιλύονται δεν μπορούν κομμάτια κώδικα να επαναχρησιμοποιηθούν και ως συνέπεια για κάθε συνάρτηση που υλοποιήθηκε για επίλυση, έπρεπε να γραφούν διαφορετικά κομμάτια κώδικα και για το λόγο αυτό είναι εκτενής. Επιπλέον σε κάθε κομμάτι του κώδικα υπάρχουν επεξηγηματικά σχόλια τα οποία βοηθούν οποιοδήποτε χρήστη να καταλάβει σε ποιο κομμάτι του προγράμματος βρίσκεται και συνεπώς γίνεται τεκμηρίωση του κώδικα καθώς εύκολα κάποιος μπορεί να κάνει διορθώσεις αν υπάρχουν λογικά λάθη ή να συντηρήσει τον αλγόριθμο και να κάνει εύκολα προσθήκες νέων συναρτήσεων ή βελτιώσεις των υπαρχουσών. Φυσικά όπως και κάθε πρόγραμμα έχει πολλές δυνατότητες βελτίωσης και αναβάθμισης ώστε να γίνει ακόμη καλύτερο και φιλικότερο στην χρήση του. Πιο συγκεκριμένα: 1. Μπορούν εύκολα να ενσωματωθούν στο πρόγραμμα, νέες συναρτήσεις τόσο στους υπάρχοντες τομείς των μαθηματικών και της φυσικής αλλά και από άλλους τομείς κυρίως θετικών και τεχνολογικών επιστημών. 2. Δημιουργία ενός γραφικού περιβάλλοντος το οποίο θα κάνει το πρόγραμμα περισσότερο ελκυστικό, καθώς θα προσφέρει μία διεπαφή φιλικότερη προς τον χρήστη. Συμπερασματικά στην παρούσα εργασία έγινε το πρώτο βήμα για την κατασκευή ενός ολοκληρωμένου προγράμματος το οποίο θα υπολογίζει γρήγορα και αποτελεσματικά μαθηματικές και φυσικές συναρτήσεις. Είναι χρήσιμο εργαλείο που απευθύνεται σε μαθητές Λυκείου και Γυμνασίου και με κατάλληλες επεκτάσεις μπορεί να χρησιμοποιηθεί για περισσότερα μαθήματα ή για πιο ευρύ κοινό (π.χ. ενσωμάτωση συναρτήσεων που να αφορούν προπτυχιακά μαθήματα τμημάτων της Τριτοβάθμιας Εκπαίδευσης). ΒΙΒΛΙΟΓΡΑΦΙΑ Αδαμόπουλος Λ., Βισκαδουράκης Β., Γαβαλάς Δ., Πολύζος Γ., Σβέρκος Α. (2011). Μαθηματικά, Βιβλίο Μαθητή Β Γενικού Λυκείου (Θετικής-Τεχνολογικής Κατεύθυνσης), ΟΕΔΒ 10
Ανδρεάδης Σ., Κατσαργύρης Β., Μέτης Σ., Μπρουχούτας Κ., Παπασταυρίδης Σ., Πολύζος Γ. (2011). Μαθηματικά, Βιβλίο Μαθητή Γ Γενικού Λυκείου (Θετικής- Τεχνολογικής Κατεύθυνσης), ΟΕΔΒ. Αργυρόπουλος Η., Βλάμος Π., Κατσούλης Γ., Μαρκάτης Σ., Σιδέρης Π. (2011). Ευκλείδεια Γεωμετρία, βιβλίο Μαθητή Α, Β Γενικού Λυκείου (Γενικής Παιδείας), ΟΕΔΒ. Βακάλη Α., Γιαννόπουλος Η., Ιωαννίδης Ν., Κοίλιας Χ., Μάλαμας Κ., Μανωλόπουλος Ι., Πολίτης Π. (2011). Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον, Βιβλίο Μαθητή Γ Γενικού Λυκείου (Τεχνολογικής Κατεύθυνσης), ΟΕΔΒ. Ιωάννου Α., Ντάνος Γ., Πήττας Α., Ράπτης Σ. (2011). Φυσική, Βιβλίο Μαθητή Β Γενικού Λυκείου (Θετικής-Τεχνολογικής Κατεύθυνσης), ΟΕΔΒ. Ιωάννου Α., Ντάνος Γ., Πήττας Α., Ράπτης Σ. (2011). Φυσική, Βιβλίο Μαθητή Γ Γενικού Λυκείου (Θετικής-Τεχνολογικής Κατεύθυνσης), ΟΕΔΒ. 11