Διάλεξη 1 / Διάλεξη 1 / σύντομη περιγραφή

σύντομη περιγραφή: Καλημέρα σε όλες και όλους, καλώς ήρθατε στο Τμήμα Μηχανολόγων Μηχανικών, αυτό το ακαδημαϊκό έτος 2014-2015. Για να έρθετε εδώ σήμερα, βάλατε ρούχα, παπούτσια, λοιπόν, παντελόνι ή οτιδήποτε άλλο, ακολουθήσατε μια σειρά ενεργειών με ένα συγκεκριμένο τρόπο, ασυνέσθητα. Δεν μπερδέψατ...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος δημιουργός: Καρατζάς Κωνσταντίνος (Αναπληρωτής Καθηγητής)
Γλώσσα:el
Φορέας:Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης
Είδος:Ανοικτά μαθήματα
Συλλογή:Μηχανολόγων Μηχανικών / Πληροφορική
Ημερομηνία έκδοσης: ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 2015
Θέματα:
Άδεια Χρήσης:Αναφορά-Παρόμοια Διανομή
Διαθέσιμο Online:https://delos.it.auth.gr/opendelos/videolecture/show?rid=4e16b0a6
id 86006cea-8461-492b-954a-730ed2bfee9d
title Διάλεξη 1 / Διάλεξη 1 / σύντομη περιγραφή
spellingShingle Διάλεξη 1 / Διάλεξη 1 / σύντομη περιγραφή
Επιστήμες Μηχανολόγου Μηχανικού
Πληροφορική
Καρατζάς Κωνσταντίνος
publisher ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ
url https://delos.it.auth.gr/opendelos/videolecture/show?rid=4e16b0a6
publishDate 2015
language el
thumbnail http://oava-admin-api.datascouting.com/static/7598/8a78/bdd5/89f6/5c57/e1a1/2959/27fc/75988a78bdd589f65c57e1a1295927fc.jpg
topic Επιστήμες Μηχανολόγου Μηχανικού
Πληροφορική
topic_facet Επιστήμες Μηχανολόγου Μηχανικού
Πληροφορική
author Καρατζάς Κωνσταντίνος
author_facet Καρατζάς Κωνσταντίνος
hierarchy_parent_title Πληροφορική
hierarchy_top_title Μηχανολόγων Μηχανικών
rights_txt License Type:(CC) v.4.0
rightsExpression_str Αναφορά-Παρόμοια Διανομή
organizationType_txt Πανεπιστήμια
hasOrganisationLogo_txt http://delos.it.auth.gr/opendelos/resources/logos/auth.png
author_role Αναπληρωτής Καθηγητής
author2_role Αναπληρωτής Καθηγητής
relatedlink_txt https://delos.it.auth.gr/
durationNormalPlayTime_txt 01:54:12
genre Ανοικτά μαθήματα
genre_facet Ανοικτά μαθήματα
institution Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης
asr_txt Καλημέρα σε όλες και όλους, καλώς ήρθατε στο Τμήμα Μηχανολόγων Μηχανικών, αυτό το ακαδημαϊκό έτος 2014-2015. Για να έρθετε εδώ σήμερα, βάλατε ρούχα, παπούτσια, λοιπόν, παντελόνι ή οτιδήποτε άλλο, ακολουθήσατε μια σειρά ενεργειών με ένα συγκεκριμένο τρόπο, ασυνέσθητα. Δεν μπερδέψατε τα παπούτσια με το παντελόνι, διαφορετικά ξέρουμε τι συμβαίνει, αν προσπαθήσεις να βάλεις πρώτα το ένα και μετά το άλλο. Ακολουθήσατε επίσης διαδικασίες οι οποίες επαναλαμβάνονται συνεχώς, έως ότου επιτελεστεί κάποιο στόχος. Όπως, για παράδειγμα, αγοράσατε ενδεχομένως ένα εισιτήριο από το μηχάνημα αυτώματης πόλησης σε ένα λεωφορείο, βάζοντας σκέρματα έως ότου συμπληρωθεί το ποσό που απαιτείτε για την έκδοση του εισιτηρίου σας. Ενώ ταυτόχρονα επαναλαμβάνατε και άλλου είδους τέτοιες διαδικασίες και παίρνετε αποφάσεις. Ίσως σήμερα αποφασίσατε να έρθετε νωρίτερα για να συνδυάσετε κάποιες δουλειές στο δρόμο σας ή κάτι άλλο. Κάνατε λοιπόν πολύ συγκεκριμένα πράγματα, ακολουθήσατε βέλτιστες διαδικασίες, επιλύσατε προβλήματα. Από τη στιγμή που ξυπνούμε λύνουμε προβλήματα. Αυτού του είδους τα προβλήματα τα οποία είναι ενσωματωμένα στην καθημερινότητά μας για εμάς τον μηχανολόγο για τον μηχανολόγο μηχανικό είναι ένας παράδεισος. Διότι εδώ είναι που ερχόμαστε εμείς, εδώ είναι που διαχωριζόμαστε εμείς από τους υπόλοιπους. Εμείς που όπως είπα χθες με κάποιους από τους συναδέλφους σας είμαστε αυτοί που βρίσκονται πίσω από τη σκηνή. Οι πολλοί, ο καθημερινός άνθρωπος, βρίσκεται μπροστά από τη σκηνή. Εμείς είμαστε αυτοί που στείλουμε την παράσταση, φτιάχνουμε τα σκηνικά, δημιουργούμε υπηρεσίες, κατασκευάζουμε μηχανές, σχεδιάζουμε και υλοποιούμε συστήματα. Αυτά όλα λοιπόν γίνονται με τη βοήθεια όλων αυτών των διαδικασιών επίλυσης προβλημάτων και όλες αυτές οι διαδικασίες εστιάζουν σε τρεις βασικές αρχές. Επιτελώ έναν υπολογισμό συριακά, βήμα προς βήμα, το ένα μετά τον άλλο με τρόπο τέτοιο ώστε να μην μπλέκω τα βήματα. Επιτελώ μια διαδικασία επαναληπτικά έως ότου υλοποιηθεί ένα στόχο και παίρνω αποφάσεις. Αυτό που μόλις τώρα περιέγραψα είναι το περιεχόμενο του μαθήματος της πληροφορικής, το οποίο σας καλωσορίζω και έτσι θα μπορούσα να πω ότι τελειώσαμε. Δεν θα κάνουμε τίποτα άλλο καθόλου τη διάρκεια της χρονιάς από το να προσπαθούμε να δούμε πως θα σχεδιάσουμε λύσεις, αλγορίθμους, θα τις υλοποιούμε, θα τις βλέπουμε να λειτουργούν και θα αναλύουμε τον τρόπο με τον οποίο οι λύσεις συμπεριφέρονται. Διότι, ό ναι, οι λύσεις έχουν συμπεριφορά. Σας καλωσορίζω λοιπόν στην πληροφορική, είμαι ο Κώστας Καρατζάς, υπεύθυνος του μαθήματος, ο καθηγητής σας για αυτό το εξάμινο στο μάθημα της πληροφορικής και μαζί με κάποιους συνεργάτες θα είμαστε για να στηρίξουμε το σύνολο των διαδικασιών που αφορούν το μάθημα. Συνοπτικά, πράγματα που και χθες ανέφερα και είναι ήδη αναρτημένα, θα σας παρουσιάσω και πάλι γιατί σήμερα είστε όλοι εδώ. Είμαστε λοιπόν στο μάθημα της πληροφορικής, στο Τμήμα Μηχανολόγων Μηχανικών, το οποίο απευθύνεται στον πρωτοετή φοιτητή που δεν έχει πρότερη εμπειρία για να τρέξουμε αυτό το κλασικό πείραμα. Ποιοι από εσάς δεν έχουν κάνει πληροφορική στην τρίτη ηλικίου και ποιοι από εσάς έχουν κάνει πληροφορική. Όπως διαπιστώνεται διά της απλής αρχαιοελληνικής διαδικασίας της ανατάσεως της χειρός, είμαστε ένα ετερογενές σύνολο. Στόχος μας στο τέλος του εξαμίνου είναι να είμαστε ένα σύνολο ομοιογενές ως προς το ελάχιστο επίπεδο γνώσεων που πρέπει να έχουμε. Παρακαλώ να το λάβετε αυτό υπόψη σας όταν λοιπόν κάποια από εσάς θα δυσκολεύεστε και κάποια από εσάς ενδεχομένως να βαριέστε. Κάποια στιγμή θα φτάσουμε στο σημείο του να μη συμβαίνουν αυτά. Δεν θα συμβεί όμως αυτό, δεν θα το καταφέρουμε από την αρχή. Θα πρέπει να είστε διατεθειμένοι να δουλέψετε συστηματικά και με όρεξη. Γιατί έχουμε στόχους και τους στόχους αυτούς σας τους παρουσιάζω, όχι για να κάνω φιλολογική συζήτηση, διότι θέλω να τους έχετε διαρκώς στο μυαλό σας και στο τέλος της διαδικασίας αυτού του εξαμίνου να αποτιμήσετε την δουλειά που κάναμε μαζί στη βάση αυτών των στόχων. Τους πετύχαμε και σε ποιον βαθμό μπορέσαμε να πετύχουμε το να έχουμε τη δυνατότητα να αναλύουμε προβλήματα και να διαμορφώνουμε αλγορίθμους που θα τα λύνουν. Μπορέσαμε να πετύχουμε το να έχουμε τις γνώσεις που θα μας επιτρέψουν να αναπτύσσουμε δομημένα, επαναχρησιμοποιήσιμα, αποδοτικά και κατανοητά προγράμματα σε υπολογιστή. Κατανοούμε πολύπλοκα προγράμματα που έγραψαν άλλοι, διότι στο χώρο των θετικών επιστημών και των επιστημών ευρύτερα δεν ανακαλύπτουμε την πυρίτιδα, πατούμε πάνω σε ό,τι έχουν στήσει οι υπόλοιποι. Μπορούμε να εκτιμήσουμε την αποδοτικότητα της λύσης. Ή νομίζουμε ότι απλά επειδή το πρόγραμμά μας είναι σωστό αλγοριθμικά και θα τρέξει, θα παράξει αποτέλεσμα. Αν το αποτέλεσμα έρθει σε δύο χρόνια ωέω, είναι αποδοτική η λύση. Όχι, ο μηχανικός είναι αυτός που θα παράξει λύση, που θα δώσει πρόβλημα σε επεπερασμένο χρόνο με τρόπο τέτοιο ώστε το κοινωνικό σύνολο και ο εμπεμονωμένος πελάτης να χρησιμοποιήσουν την λύση αποδοτικά και επωφελία τους. Όλα τα άλλα δεν μας αφορούν. Εκεί είναι που διαχωριζόμαστε από τους υπόλοιπους. Και θα δουλέψουμε σε ένα από τα πολλά πράγματα που μπορεί κανείς να δει με τη βοήθεια της πληροφορικής, την ανάλυση δεδομένων και στη δημιουργία προσωμιώσεων. Πώς θα τα κάνουμε όλα αυτά. Τι έχουμε λοιπόν στα χέρια μας στα πλαίσια του μαθήματος. Έχουμε τις διαλέξεις κάθε Τρίτη 9 με 12 σε αυτή την αίθουσα. Και όποτε υπάρχει εκ των προτέρον ανακοίνωση εδώ στην αίθουσα και στο e-Class, στην μόνη πραγματική πηγή πληροφοριών σε σχέση με το μάθημα, τίποτε άλλο δεν ισχύει. Υσχύει ότι υπάρχει εκεί και ότι λέμε στην αίθουσα. Μόνο τότε θα βρισκόμαστε και τις Δευτέρες. Γνωρίζω όλο το πρόγραμμά σας. Άρα, δεν είναι υποχρεωτική η παρουσία σας, αλλά θα είναι πάρα πολύ χρήσιμη. Αντιθέτως, εάν δεν είσαστε εδώ, η εμπειρία δείχνει ότι θα έχετε μίζωνα ζητήματα στο τέλος του εξαμίνου. Διότι αυτό δεν είναι ένα μάθημα στο οποίο θα σας ζητήσουμε να έρθετε απλά και να εμφανιστείτε στο τέλος του εξαμίνου. Δεν σας θέλω εκεί. Εγώ σας θέλω εδώ καθημερινά να ασκήστε, να κάνετε το διανοητικό τζόκινγκ σας, έτσι ώστε στο τέλος η τελική εξέταση να είναι μια απλή επίσκεψη σε αυτό το χώρο. Χωρίς προηγούμενη προετοιμασία. Και το μάθημα έχει στηθεί ώστε έτσι να λειτουργήσει. Δεν ακολουθεί συγκεκριμένο βιβλίο. Ξεχάστε αυτά που ξέραμε όλοι και εγώ πέρασα από το Λύκειο. Η λύμμα σήμερα είναι από την παράγραφο 2 στη σελίδα 35 μέχρι την παράγραφο 1 στη σελίδα 38. Παρακαλώ, πώς είπατε, δεν υπάρχουν αυτά. Υπάρχει αναλυτικό πρόγραμμα μαθημάτων, το οποίο έχει ήδη αναρτηθεί και αναφέρει ανά εβδομάδα τι θα κάνουμε σε επίπεδο θεωρίας εργαστηρίων και ασκήσεων. Και είναι το μόνο που ισχύει. Τα εργαστήρια είναι υποχρεωτικά. Θα επιλέξετε μία από τις 10 ομάδες που έχουμε δημιουργήσει καθόλου το μήκος της εβδομάδας με εξαίρεση τη Δευτέρα. Θα δείτε αναλυτικά, online, το πρόγραμμα των ομάδων αυτών και θα πρέπει να επιλέξετε μία ομάδα συναρτήσει όλων των υπόλοιπων υποχρόσεών σας. Σχέδιο, κοπτική ραπτική, ζωγραφική, πολεμικές τέχνες, εξερεύνηση του Εβερεστ, ό,τι θέλετε κάντε. Εγώ θέλω όμως, μετά από όλα αυτά και αφού δείτε το πρόγραμμά σας, να κάνετε την επιλογή σας, διότι δεν μπορούμε να σας αλλάζουμε θέση. Είσαστε φέτος 200 πρωτοετής. Δεν υπάρχει δυνατότητα να κάνουμε οποιαδήποτε μετακίνηση. Την επιλογή αυτή θα την κάνετε με δική σας ευθύνη, ξαναλέω online και θα δηλώσω το ονοματεπώνυμο και τα στοιχεία που αναφέρονται εκεί. Εάν επίσης υπάρξουν πάνω από δύο απουσίες στο εργαστήριο, έχει και δύο δηλαδή είστε εντάξει, η νούμερο τρία απουσία από το εργαστήριο συνεπάρει από το ότι χάνετε εργαστήριο, μάθημα, εξέταση όλο το έτος για αυτό το μάθημα. Ξαναλέω, όλο το έτος για αυτό το μάθημα. Το τρίτο εργαλείο που έχουμε στη διάθεσή σας είναι βίντεο διαλέξεις. Έχουμε ήδη ετοιμάσει για κάθε ενότητα, για κάθε εβδομάδα, σύνολο από βίντεο διαλέξεις που εξηγούν τεχνικά πρακτικά θέματα της θεωρίας έτσι ώστε να είστε καλύτερα προετοιμασμένοι για τα εργαστήρια αφενός και αφετέρουν να έχετε υλικό αναφοράς όταν μετά τα εργαστήρια θα θελήσετε να ξαναδείτε ή να θυμηθείτε πράγματα που έχουμε δει στη θεωρία ή και στα εργαστήρια. Συνοδεύονται δε από ερωτήσεις πολλαπλής επιλογής που μας βοηθούν να ασκούμαστε. Είναι σαν να κάνουμε κάποια μικρή άσκηση λοιπόν διανοητικού τύπου. Προετοιμαστείτε με τη βοήθεια αυτού του υλικού πριν έρθετε στο εργαστήρια ώστε στα εργαστήρια να λυθούν τυχόν απορίες σας. Δουλεύω συστηματικά, δουλεύω συνεχώς, δεν δουλεύω εντατικά. Αυτό είναι το μήνυμα σε αυτό το μάθημα. Αυτά είναι όλα διαθέσιμα και κάθε εβδομάδα θα αναρτώνται, μάλλον θα σας γίνονται προς πελάσιμα στην ιστοσελίδα του μαθήματος. Βρίσκονται ήδη εκεί. Κάτι άλλο που είναι σημαντικό είναι τα θέματα προσεκπόνηση. Τι είναι αυτό? Έχουμε για εσάς τρία θέματα, τρεις συλλογές ασκήσεων αν θέλετε, που θα πρέπει να επιλύσετε κατά τη διάρκεια του εξαμίνου. Το πότε θα αναρτηθεί η εκθώνησή τους, πότε θα παραδοθεί το καθένα έχει ήδη ανακοινωθεί στην αναλυτική περιγραφή ανεβδομάδα του μαθήματος. Ξέρουμε την ημέρα που θα αναρτηθεί ηλεκτρονικά και την ημέρα που θα παραδώσετε ηλεκτρονικά. Η ώρα παράδοσης ορίζεται ως τα μεσάνυχτα της ημέρας παράδοσης, διότι η παράδοση γίνεται ηλεκτρονικά από την άνεση του υπολογιστή σας, σπίτι, φίλος, ίντερνετ καφέ, όπου θέλετε, στην ίμπιζα, στο χωράφι, στην παραλία. Εσείς θα παραδίδετε ηλεκτρονικά, όχι σε έντυπη μορφή και όχι μέσω email. Κανένας άλλος τρόπος παράδοσης δεν είναι αποδεκτός. Αντιθέτως, ακόμα και αν το στείλετε καθυστερημένα με email, λυπάμαι αλλά δεν θα το λάβω υπόψιμου. Οι διαδικασίες υπάρχουν για να μας βοηθούν. Επίσης, προφανώς, αν και δεν μου αρέσει καθόλου να αναφέρομαι σε τέτοια θέματα που υποβαθμίζουν την ηθική υπόσταση των φοιτητών μας που θεωρώ ότι είναι υψηλότατη, παρόλα αυτά, είμαστε όλοι άνθρωποι, όπως και εγώ έχω αντιγράψει ως αμφιτητής, έτσι θα έχετε αντιγράψει ή θα αντιγράψετε και εσείς. Συνειδητοποίησα μετά το τι συμβαίνει, ειδικά όταν πέρασα σιγά σιγά και χωρίς να το καταλάβω στη θέση που με βλέπετε τώρα. Η αντιγραφή είναι ο εχθρός του φοιτητή. Γιατί είναι αυτό που τον εμποδίζει να καταλάβει ότι μπορεί να γίνει καλύτερος. Σε κάθε περίπτωση, είμαστε μάθημα πληροφορικής, έχουμε διαδικασίες για να καταλάβουμε πώς αντιγράφεται. Οι οποίες βασίζονται σε knowledge engineering. Αλλά περισσότερα στο 5ο έτος, για όσους ενδιαφέρονται. Οι άνθρωποι και τα εργαλεία που συνοδεύουν και υποστηρίζουν αυτό το μάθημα, σε επίπεδο ανθρώπων, εκτός από εμένα, υπάρχουν κάποιοι ηρωικοί εφελοντές. Ο Νίκος Κατσιφαράκης, διπλωματούχος, μηχανολόγος, μηχανικός. Ο Βίκτορας Επιτρόπου, διπλωματούχος, ηλεκτρολόγος, μηχανικός με μετατυχιακό στην επεξεργασία εικόνας. Ο Δημήτης ο Αθανασάκης, διπλωματούχος, ηλεκτρολόγος, μηχανικός και η Μαρίνα Ηρίγκα, διπλωματούχος, πληροφορικής με μετατυχιακό στα υπολογιστικά συστήματα που συμμετέχουν στα εργαστήρια. Αυτούς θα τους βρείτε στα εργαστήρια. Θα είναι οι άνθρωποι μαζί με εμένα. Θα πετύχετε και σε κάποιο εργαστήριο και εμένα που θα σας ασκούν στα εργαστήρια. Από εκεί και πέρα, με τι περιβάλλον θα δουλέψουμε. Δουλεύουμε με MATLAB. Το MATLAB όμως είναι εμπορικό λογισμικό και γι' αυτό εμείς έχουμε ετοιμάσει Octave. Δεν το έχουμε ετοιμάσει εμείς. Το έχουμε πακετάρει έτσι ώστε να το κατεβάζετε εύκολα και απρόσκοπτα από την ιστοσελίδα του μαθήματος. Είναι το ισοδύναμο, αν θέλετε, του MATLAB, ανοιχτό λογισμικό χωρίς κόστος. Δύο θα είναι τα βιβλία που θα προτείνονται για αυτό το εξάμινο. Θα τα βρείτε στον Εύδοξο και θα τα επιλέξετε με τον τρόπο που γνωρίζετε ήδη από το πρώτο εξάμινο. Όμως, στα πλαίσια του μαθήματος αυτού, υπάρχουν πάρα πολλά ηλεκτρονικά βοηθήματα στην ιστοσελίδα του μαθήματος. Σημειώσεις από άλλους διδάσκοντες άλλων πανεπιστημίων, παραδείγματα, βίντεο. Δείτε τα για να δείτε πώς γίνεται το μάθημα και αλλού σε άλλες χώρες. Να πάρετε παραστάσεις και από εκεί. Και βέβαια οι αίσθησες είναι γνωστές, εδώ βρισκόμαστε για τη θεωρία, και στη νησίδα υπολογιστών θα βρισκόμαστε για τα εργαστήρια. Από εκεί και πέρα θα πρέπει να σας αναφέρω και τον τρόπο με τον οποίο θα βαθμολογηθείτε. Η βαθμολογία στο μάθημα προκύπτει ως ακολούθος. Δίνεται στο τέλος μια εξέταση στο εργαστήριο. Αυτό πρακτικά σημαίνει ότι με ανοιχτές σημειώσεις, βιβλία και ό,τι θέλετε, εννοείται ότι σε αυτά τα πλαίσια του μαθήματος δίνεται πάντοτε με όλα τα βοηθήματα διαθέσιμα. Πάντα. Με διαθέσιμα τα πάντα, κάθεστε στη νησίδα για μία ώρα, έτσι όπως θα είσαστε οργανωμένοι σε ομάδες και επιλύεται ένα πρόβλημα, ετοιμάζετε τον κώδικα, τον υποβάλετε και εμείς τον διορθώνουμε. Αυτό θα λάβει το 60% της τελικής βαθμολογίας. Εάν για παράδειγμα βαθμολογηθείτε με 7 σε αυτό, θα πάρετε 6,742,4,2 από αυτό το σκέλος. Από εκεί και πέρα τα τρία θέματα που θα εκπονίσετε κατά τη διάρκεια του εξαμίνου, θα συνισφέρουν στο υπόλοιπο 40% της βαθμολογίας. Αυτό σημαίνει λοιπόν ότι αν σε αυτά τα θέματα βαθμολογηθείτε κατά μέσο όρο με 8, τότε θα πάρετε και το 4,832. Άρα θα έχετε ένα άθροισμα 7,4. Θα βαθμολογηθείτε λοιπόν με 7,5 στο μάθημα αυτό. Για όσους για λόγους υγείας ή άλλους σοβαρούς δεν μπορέσουν να εκπονίσουν τα θέματα, υπάρχει εναλλακτική, θα έρθουν σε μια γραπτή εξέταση, η οποία θα υποκαταστήσει τα θέματα και θα βαθμολογηθεί με το 40%. Άρα λοιπόν η βασική εξέταση του μαθήματος είναι η εξέταση εργαστηρίου. Και όπως αντιλαμβάνεστε το σύνολο της δουλειάς γίνεται κατά τη διάρκεια του εξαμίνου. Γι' αυτό και λέω ότι αν δουλέψουμε με τον τρόπο με τον οποίο το μάθημα έχει στυθεί, τότε η τελική εξέταση εργαστηρίου θα είναι μια βόλτα απλή. Και αυτός είναι ο στόχος. Πετυχημένο μάθημα είναι αυτό το οποίο μας δίνει τη δυνατότητα να δώσουμε εξετάσεις χωρίς ανταδική προετοιμασία στο τέλος. Αυτή είναι η δική μου φιλοσοφία. Τι λέει η εμπειρία, δεν φαίνεται ίσως τόσο καλά, είναι τα προπερισσινά. Τα περισσινά δεν πρόλαβα για να είμαι ειλικρινής να τα βάλω, αλλά είναι τα ίδια περίπου. Αποτελέσματα που δείχνουν αριστερά τη βαθμολογία των θεμάτων και δεξιά τη βαθμολογία των γραπτών εξετάσεων. Βλέπουμε λοιπόν ότι η βαθμολογία των θεμάτων συγκεντρώνεται κοντά στο 8, 9, 10. Ναι, είναι αλήθεια ότι η συντριπτική πλειοψηφία των φοιτητών βαθμολογούνται υψηλά στα θέματα. Η βαθμολογία των γραπτών εξετάσεων, αντιθέτως, δεν είναι τόσο καλά τοποθετημένη όσο θα ήθελα. Αυτό, πιστεύω, από μόνο του λέει κάτι πολύ συγκεκριμένο. Θέματα. Από εκεί και πέρα. Τι άλλο υπάρχει. Παρά το γεγονός ότι φέτος έχουμε έναν πρωτόγνωρο αριθμό πρωτοετών που δημιουργεί μίζωνα λειτουργικά προβλήματα, εμείς θα επιχειρήσουμε με τη βοήθεια συμφοιτητών σας, παλαιότερων φοιτητών δηλαδή που έχουν περάσει από το μάθημα αγαπούν το αντικείμενο και θέλουν να συνησφέρουν και θα τους βρείτε και αυτούς κατά τη διάρκεια του εξαμίνου, να οργανώσουμε και κάποιες δραστηριότητες που σε προηγούμενες χρονιές τις είχαμε οργανώσει πιο συστηματικά, οι οποίες αφορούσαν μη συμβατικές να το πω έτσι δραστηριότητες που δεν εντάσσονται στις υποχρεώσεις σας στα πλαίσια του μαθήματος. Τέτοιου είδους δραστηριότητες λοιπόν οι οποίες σας κάνουν να νιώθετε διαφορετικά σίγουρα είναι ο δημιουργικός προγραμματισμός όσο βασιζόμενος σε Lego Mindstorms μια απλή προμποτική πλατφόρμα που χρησιμοποιείται σε επίπεδο δημοτικού γυμνασίου-λυκείου όπου πρακτικά ομάδες 4-5 φοιτητών εθελοντικά κάθονται, συναρμολογούν ένα όχημα δικής τους έμπνευσης το οποίο ανταγωνίζει τα άλλα οχήματα σε πίστα που έφτιαξαν συμφοιτητές σας ως προς τον χρόνο που θα χρειαστεί το όχημά τους για να διανύσει την πίστα. Οι ομάδες κρίνουν η μία την άλλη και αναδεικνύεται ο νικητής. Για ποιον λόγο γίνεται αυτό? For the fun και μόνο. Διότι τα πιο ωραία πράγματα στη ζωή είναι αυτά που δεν έχουν ηλικοί ή άλλοι ανταπόδοση. Έχουν ανταποδώσεις σε άλλου είδους επίπεδο. Κάτι άλλο που, και αυτές είναι φωτογραφίες από τα προηγούμενα χρόνια, κάτι άλλο που επίσης είχαμε οργανώσει στο παρελθόν και θα δούμε αν θα υπάρξει ενδιαφέρον από μέρους σας και δυνατότητα από μέρους μας να οργανώσουμε και φέτος, είναι κάποια εντατικά μαθήματα προγραμματισμού σε Java στο τέλος του εξαμίνου. Αυτά γίνονται συνήθως τότε που θέλετε να κάνετε διακοπές. Άρα θα πρέπει να αποφασίσετε, αντί για διακοπές, να περάσετε μια βασανιστική εβδομάδα εδώ, 7 με 8 ώρες την ημέρα, για να μάθετε Java. Αν θελήσατε να το κάνετε αυτό, τότε θα έχετε τη δυνατότητα, όπως το έκαναν συμφιτητές σας, να αναπτύξετε με τη δική μας βοήθεια και καθοδήγηση εφαρμογές για κινητά, όπως αυτή, το ThesbyBus, που αναπτύχθηκε για πλατφόρμες Android και κάποιες άλλες εφαρμογές. Αυτή είναι διαθέσιμη και στο Android Market. Και βέβαια, τίποτα δεν είναι ανέφυγτο στην πληροφορική, όλα αυτά μπορούν να συμβούν, για να συμβούν όμως, χρειαζόμαστε τη δική σας αρογή, συμμετοχή, συμπαράσταση και εργασία, πάνω από όλα. Το είπα και χθες, θα το λέω καθημερινά, ναι είναι βαρετό, αλλά είναι μια πραγματικότητα, δεν υπάρχει δωρεάν γεύμα, δεν υπάρχει δωρεάν γνώση, δεν υπάρχει τρόπος να μάθουμε χωρίς να δουλέψουμε. Και πιστεύω ότι ήδη περνώντας από τη διαδικασία των εξετάσεων αυτών, την ισοπερδοτική διαδικασία, επιτρέψτε μου να πω, το έχετε καταλάβει. Άρα λοιπόν, αυτό είναι το μάθημα της πληροφορικής, με το οποίο θα είμαστε μαζί καθόλου τη διάρκεια του έξα μήνου και βέβαια από εκεί και πέρα θα είμαστε σε θέση σιγά σιγά να οργανώσουμε τη δουλειά μας και να δούμε τον τρόπο με τον οποίο θα έρχεται η πρόοδος και η βελτίωση των δυνατοτήτων μας. Καλώς ήρθατε λοιπόν στο μάθημα αυτό και αυτό μου δίνει την δυνατότητα, μετά από λοιπόν αυτή τη σύντομη παρουσίαση να προσπαθήσω, για να δούμε, αν ο προζέκτορος θα μας βοηθήσει, ελπίζω, το σκέφτετε, θα αποφασίσει κάποια στιγμή, να πάω στις αρχικές μας διαφάνειες για αυτή τη ημέρα. Είμαστε λοιπόν, επιτρέψτε μου να πάω επάνω, στη δεύτερη συνάντησή μας, στη δεύτερη διάλεξή μας και θα ήθελα να δούμε μαζί ένα πρόβλημα, ένα πολύ απλό πρόβλημα. Ένα πρόβλημα της καθημερινότητας, διότι είπαμε ότι επιλύσαμε διάφορα προβλήματα υπολογιστικά κατά την πορεία μας από το σπίτι στη σχολή. Αυτό που δεν είπαμε είναι ότι όπως η καθημερινότητα είναι γεμάτη με υπολογιστικές διαδικασίες, όπου η πληροφορική και ο αλγοριθμικός τρόπος σκέψεις έχουν καθοριστικό ρόλο, έτσι και αυτή είναι η καθημερινότητα του φυτητή μηχανολόγου μηχανικού. Η καθημερινότητα των υπόλοιπων, σε εισαγωγικά κανονικών ανθρώπων, είναι γεμάτη με έργα του μηχανολόγου μηχανικού. Έτσι λοιπόν, από το μηχάνημα που υποστηρίζει έναν ασθενή κατά τη διάρκεια μιας επέμβασης ανοιχτής καρδιάς, την αντλία αίματος μέχρι τον τροχό του δοντιάτρου σας, και από τον ελεγκτή της συμπεριφοράς του καταλύτη σε ένα όχημα και της βελτιστοποίησης του διαγράμματος ροήσης χείος μέχρι τον τρόπο με τον οποίο ρυθμίζονται τα flaps σε ένα αεροπλάνο, όλα αυτά είναι εφικτά χάρη στον μηχανολόγο μηχανικό, όχι μόνο σε αυτόν, άρα χάρη και στον μηχανολόγο μηχανικό και χάρη και σε πολλές άλλες ειδικότητες μηχανικών και όχι μόνο. Και από εκεί και πέρα οι πληροφορικοί είναι ενσωματωμένοι σε αυτές τις διαδικασίες. Για να σας δώσω λοιπόν και ένα παράδειγμα πριν πάω σε αυτό το απλό, γιατί από εδώ ξεκινούμε για να πάμε σε αυτό που θα σας αναφέρω. Εάν θέλετε να βελτιστοποιήσετε τη συμπεριφορά του καταλήτη σε ένα όχημα, θα πρέπει να μπορείτε σε πραγματικό χρόνο και πριν καν το καυσαέριο περάσει από την είσοδο στην έξοδο, να μπορείτε να υπολογίζετε εσείς την κατάσταση στην έξοδο και με αυτόν τον τρόπο να επεμβαίνετε και να παρεμβαίνετε στην είσοδο στις ρυθμίσεις του κινητήρα σε πραγματικό χρόνο εκεί όπου τρέχει η μηχανή. Άρα, αν εκείνη τη στιγμή είμαστε στις 3.000 στροφές το λεπτό δια 60, σημαίνει ότι έχουμε 50 κινήσεις στον δευτερόλεπτο, στο 1 προς 50 του δευτερολέπτου, εμείς να προλάβουμε να αποφασίσουμε ποιο θα είναι το μείγμα βενζίνης καυσίμου, με ποιον τρόπο θα κινηθεί τα επόμενα ανανοδευτερόλεπτα και να δώσουμε τη σχετική οδηγία στον controller. Ποιος θα κάνει αυτά, όχι ο δαίμον του Μάξμπλ. Κάτι τέτοιο, ένα ενσωματωμένο, ένα embedded σύστημα, το οποίο τρέχει ένα σύνολο από υπολογιστικές διαδικασίες συνεχώς. Ποιος τη σχεδίασε, λέτε, αυτές τις υπολογιστικές διαδικασίες. Άνθρωποι όπως εσείς, που κάποτε ήταν σε τέτοιο είδους έδρανα. Μηχανολόγοι μηχανικοί, ηλεκτρολόγοι μηχανικοί, μηχανικοί υπολογιστών, συνεργάστηκαν με μηχανικούς υλικών, με μαθηματικούς, με ό,τι θέλετε. Αυτός, λοιπόν, ο καθημερινός κόσμος με τα μάτια του μηχανολόγου μηχανικού είναι τελείως διαφορετικός και σας προσκαλώ να βλέπετε την καθημερινότητα και έτσι. Να την μεθερμηνεύετε έτσι και θα δείτε ότι σιγά σιγά, είτε θέλετε είτε όχι, θα το κάνετε αυτό και θα λέτε μάνα πάρει ευχή. Δεν με είχα για τέτοιο άνθρωπο. Για να δούμε λοιπόν ένα πρακτικό πρόβλημα. Έστω ότι έχετε να βαγίσει, καθημερινό πρόβλημα είναι αυτό, μπορεί να συμβεί στον οποιοδήποτε, έχετε να βαγίσει σε ένα νησί και θέλετε να φτιάξετε μια σχεδία για να επιστρέψετε στον πολιτισμό, λέμε τώρα. Λοιπόν, το σχήμα της σχεδίας για διάφορους λόγους που δεν θα τους αναλύσουμε είναι ορθογωνικό ενάμιση επί ένα μέτρο 1,5 επί 1. Δεν έχετε τίποτα μαζί σας παρά μόνο ένα μαχαίρι, με το οποίο μπορείτε να γδέρνετε, ξέρετε και να κάνετε φλούδες δέντρο και σκοινιά και όλα αυτά τα πάρα πολύ ωραία. Οπότε λοιπόν θα πρέπει να υπολογίσετε στο περίπου τα διαγώνια δεσίματα της σχεδίας. Άρα όλο το πρόβλημα ανάμεσα στα άλλα. Άρα ένα πρόβλημα που έχετε είναι, επειδή τα υλικά είναι συγκεκριμένα, δεν έχετε πολύ σκοινή αυτού του είδους, να υπολογίσετε με ακρίβεια, έχετε και ένα μέτρο, αλλά να υπολογίσετε από το πρωτέρο ποιο θα είναι το μήκος της διαγωνίας. Τι θέλουμε λοιπόν? Θέλουμε στην πραγματικότητα να υπολογίσουμε έναν πάρα πολύ εύκολο αριθμό. Είναι 1,5 στο τετράγωνο, 3,25? Σύνολο. Θέλουμε την τετραγωνική ρέδα του 3,25. Λοιπόν, άρα αφού είναι 1, 1,5, εμείς θέλουμε αυτό το χ. 2,25. Ευχαριστώ. 3,25. Αποφασίσετε το, εγώ δεν θα το υπολογίσω εδώ. 1,5 στο τετράγωνο μας κάνει 2,25. Και ένα, 3,25 λοιπόν. Πώς υπολογίζεται αυτή η ρίζα ο αίω, χωρίς κομπιουτεράκι, σταυθμικά επιστρέφουμε στα χρόνια του δημοτικού σχολείου. Ο Ήρωνας ο Αλεξανδρέφς, μέγας μηχανικός της αρχαιότητας, είχε πει το εξής, ότι όταν θέλω να υπολογίζω μια τέτοια ποσότητα, μια τέτοια ποσότητα, η οποία να θυμίσω ότι για τους Πιθαγόριους ήταν μια σκανδαλώδης ποσότητα για λόγους θεολογικούς, τότε μπορώ να κάνω το εξής πάρα πολύ απλό. Πάρω μία αρχική τιμή, μία εκτίμηση της ποσότητας, και να πω ότι υπολογίζω συνεχώς νέες τιμές με τη βοήθεια της προηγούμενης, έως ότου καταλήξω σε μία λύση, καταλήξω σε μία σταθερή τιμή που δεν μεταβάλλεται πολύ. Και αυτό θα το γράφαμε ως εξής. Νέα τιμή ισούτε με την παλαιά τιμή, συντοχή προς την παλαιά τιμή, όλο διαδύο. Άρα λοιπόν, πρακτικά η νέα τιμή, η επόμενη τιμή στην προσέγγιση μας, έρχεται ως αποτέλεσμα υπολογισμού της προηγούμενης τιμής. Αυτό λοιπόν υποστήριξε ο Ήρανος από την Αλεξάνδρια. Και απαιδείχθη ότι είχε δίκιο υπό συνθήκες, που θα μάθετε στο μάθημα της αριθμητικής ανάλυσης. Από εκεί και πέρα, τι σημαίνει νέα τιμή και παλαιά τιμή, είναι μία διαδικασία που για κάποιους από εσάς είναι πολύ κοινή, για κάποιους από εσάς καθόλου. Τι θέλω να πω, ότι εάν για παράδειγμα, εγώ υποθέσω μία αρχική τιμή 3 και την βάλω σε αυτή τη σχέση, τότε ο αριθμός που θα βρω, να τα γράψω ανάποδα, παλαιά τιμή εδώ, νέα τιμή, πιο λογικό έτσι. Άρα, εάν ξεκινήσω με μία αρχική τιμή, την πρώτη τιμή 3, και υπολογίσω την ποσότητα, θα δω ότι βγαίνει ίση με 2 κόμμα, το σημειώνω τώρα, 0,417. Άρα, λοιπόν, κάνω μία αρχική υπόθεση για το ποια είναι η τιμή αυτού του ρυζικού. Ωραία, βάζω την υπόθεσή μου εδώ, 3 εδώ, 3 εδώ, 3,25, 2. Κάνω τον υπολογισμό, βγαίνει 2,0417. Τώρα λέω, αυτή τη νέα τιμή που υπολόγησα, την βάζω πίσω στη θέση της παλιάς. Άρα, λοιπόν, βάζω πάλι εδώ 2,047. Τώρα αυτή είναι, λοιπόν, η τιμή μου, η αρχική. Και η νέα τιμή που υπολογίζω είναι το 1,8168. Και επαναλαμβάνοντας αυτή τη διαδικασία, βάζοντας, λοιπόν, στη θέση τώρα της παλιάς τιμής αυτή που υπολόγησα, το 1,8168, καταλήγω στην επόμενη που είναι το 1,8028. Και ναι, γίνεται βαρετό. Όπως είπε και ο Πασκάλ, γι' αυτό τον λόγο θέλουμε υπολογιστικές μηχανές για να άρρουμε πάνω από την ανθρωπότητα το άχθος των υπολογισμών που δεν αρμόζουν σε ανθρώπους. Και αν βάλουμε το 1,8028 στη θέση του παλαιού, θα δούμε ότι ναι, τη νέα τιμή βγαίνει πάλι 1,8028. Οπότε θα αρχίσουν να ανάβουν λαμπάκια. Κάτι γίνεται εδώ. Φαίνεται, λοιπόν, ότι η λύση είναι το 1,8028, που όντως έτσι είναι. Τι κάναμε εδώ? Θα ήθελα, παρακαλώ, να προσπαθήσουμε μαζί να αναρωτηθούμε τι κάναμε εδώ. Αυτή η πολύ απλή διαδικασία πώς έτρεξε, προσέξτε. Προφανώς και όλοι μπορούμε να αντιληφθούμε το τι έγινε. Αλλά θα πρέπει να έχουμε στο μυαλό μας ότι θέλουμε την διαδικασία αυτή να την καταστήσουμε απόλυτα κατανοητή και υλοποιήσιμη από μία μηχανή, η οποία πρέπει να λάβει σαφείς οδηγίες από εμάς, χωρίς αμφισυμείες, οι οποίες θα οδηγούν από την αρχή στο τέλος, από το πρόβλημα στη λύση. Και θα λειτουργήσουν αυτές οι οδηγίες σαν αυτόματος πιλότος. Θα τρέχουν πάντα σε κάθε μηχανή, ανεξάρτητα από ιδιαιτερότητες. Αυτό είναι ο αλγόριθμος που περιγράφω. Και ουσιαστικά εδώ τρέξαμε έναν αλγόριθμο. Τι κάναμε λοιπόν, ξεκινήσαμε με μία αρχική υπόθεση. Έχοντας τη σχέση του Ήρονα από την Αλεξάνδρια, η οποία μας λέει ότι θα κάνεις μια αρχική τιμή, μια αρχική εκτίμηση, να το γράψω και αγγιστή, γιατί θα μας χρειαστεί και θα δείτε γιατί. Και εδώ θέλω να εξηγήσω για αυτούς οι οποίοι δεν έχουν πρότερη εμπειρία, ότι εδώ έχω μία μεταβλητή, έχω ένα κουτί που έχει ένα όνομα. Ονομάζεται γκες. Το περιεχόμενό του είναι η αριθμητική ποσότητα που μας ενδιαφέρει. Άρα λοιπόν το νέο περιεχόμενο αυτού ίδιου κουτιού είναι το παλιό, συν το χ για το παλιό και όλα διά δύο. Αυτό λοιπόν υλοποιήσαμε και μία και δύο και τρεις φορές, έως ότου συνέβη τι. Διαπιστώσαμε ότι από ένα σημείο και μετά, η τιμή που βρίσκουμε δεν μεταβάλλεται. Εκέ θα μου πείτε τώρα, είσαι σοβαρός 10 η ώρα το πρωί. Προφανώς και πρέπει να σταματήσουμε. Για εμάς προφανώς. Για τον υπολογιστή γιατί είναι προφανές. Πού είναι το προφανές. Πώς καθίσταται προφανές για κάποιον ο οποίος δεν γνωρίζει την έννοια του προφανούς. Θα πρέπει να εντάξουμε κριτήρια. Άρα λοιπόν αυτού του είδους τις διαδικασίες θα τις δούμε μαζί και πολλές άλλες. Ξεκινούμε τώρα με κάτι το οποίο έχει χαρακτήρα προθερμαντικό και ουσιαστικά σκαλίζουμε λίγο την μύτη του παγόβουνου που έχει να κάνει με τους αλγορίθμους διότι ένας αλγόριθμος είναι και η μαγειρική και θα ασχοληθούμε πάρα πολύ όχι με μαγειρική αλλά με αλγορίθμους και προφανώς ένας αλγόριθμος είναι αυτός ο οποίος μας επιτρέπει να τρέξουμε διάφορες διαδικασίες όπως όταν θέλουμε να μαγειρέψουμε θέλουμε τις πρώτες ύλες μας, θέλουμε τις μεταβλητές μας, θέλουμε διαδικασίες κόψε, ανακάτεψε, βράσε, τσιγάρισε, θέλουμε τους τελεστές μαγειρικείς, τελεστές δεν είναι, επιτελούν δράσεις. Και όπως έχουμε και διάφορες άλλες εσωτερικές διαδικασίες κάνε στη σειρά κάποια πράγματα. Δηλαδή, ναι πρώτα θα βάλεις την κατσαρόλα στη φωτιά και μετά θα βάλεις το νερό μέσα στην κατσαρόλα. Δεν έχει νόημα να βάλεις πρώτα το νερό πάνω στη φωτιά και μετά την κατσαρόλα. Για εμάς κανένα, για τον υπολογιστή. Υπάρχει κανένας που να το απαγορεύει. Δεν μπορεί κανείς πρώτα να ρίξει το νερό και μετά την κατσαρόλα. Τέτοιου είδους λάθη θα κάνετε πολλά κατά τη διάρκεια του μαθήματος, όπου θα συνειδητοποιήσετε ότι στο ισοδύναμο του προγράμματος κάνατε κάτι τέτοιο. Αλλάξατε τη σειρά των ενεργειών. Αυτήν την περίφημη σειριακή διαδικασία εκτέλεσης, την βήμα προς βήμα, την αλλάξατε. Άρα λοιπόν αυτό είναι μία διαδικασία. Μία άλλη διαδικασία που χρησιμοποιούμε ξανά στη μαγειρική είναι το κάνω κάτι έως ότου πετύχω ένα αποτέλεσμα, ανακάτευε έως ότου δέση ή κρέμα. Υπάρχει ένα κριτήριο εκεί λογικό, επανέλαβε τι, μιας την ίδια διαδικασία, έως ότου επέλθει ένα αποτέλεσμα το οποίο κρίνεται ως αληθές ή ψευδές συναρτήσεις ενός κριτηρίου σαφώς ορισμένου και από εκεί και πέρα έχουμε και διαδικασίες οι οποίες μας βοηθούν να λάβουν απόφαση. Εάν δηλαδή τσιγαρίζεις κρεμμύδια και αποκτήσουν το και χρυμπαρένιο χρώμα, τότε σημαίνει ότι έχουν σαταριστεί επαρκώς και πηγαίνεις στο επόμενο βήμα. Εάν όχι, συνέχισε να κάνεις αυτό που κάνεις. Είναι ένα σταυροδρόμιο αποφάσεο. Ξαναλέω, τέτοιου είδους δομές, αυτά που τώρα περιγράφω είναι υπολογιστικές δομές, χρησιμοποιούμε στην καθημερινότητά μας. Εμείς θα εντάξουμε αυτές τις δομές προφανώς σε μια γλώσσα, θα μιλήσουμε μετά το διάλειμμα για το αλφάδι του αυτής της γλώσσας, κάπως πρέπει να έχει γράμματα αυτή η γλώσσα, έχει μια γραμματική αυτή η γλώσσα, έχει μια σύνταξη, έχει κανόνες, οποιαδήποτε γλώσσα προγραμματισμού. Και από εκεί και πέρα θα μάθουμε πώς θα χρησιμοποιούμε αυτή τη γλώσσα για να υλοποιούμε τους αλγορίθμους που θα σχεδιάζουμε. Είχαμε αφήσει τα πράγματα σε προβλήματα μαγειρικής. Δεν είμαστε όμως σχολείοι μαγειρικοί, δεν έχουμε καμία σχέση. Εμάς μας ενδιαφέρει η βηματική διαδικασία επίλυσης ενός προβλήματος και η διερεύνηση των χαρακτηριστικών. Λοιπόν, θα μάθουμε να βρίσκουμε και χαρακτηριστικά του προβλήματος. Πράγματα που μέχρι τώρα δεν τα είχαμε δει. Αυτά είχαμε δει πριν το πρώτο μας διάλειμμα, αλλά από εδώ και πέρα θα αρχίσουμε να βλέπουμε κάποια άλλα πράγματα. Η διαφάνεια δεν έχει στόχο να σας ενημερώσει παρά μόνο επωπτικά να δώσει ένα συγκεκριμένο μήνυμα, όπως στη μαγειρική έχουμε υλικά, λαχανικά, μαγειρικά σκεύη, διαργασίες, ψιλοκόβο, ξεφλουδίζω και διαδικασίες, εντολές, βράζω έως ότου γίνει κάτι, επαναλαμβάνω και τα λοιπά, παίρνω αποφάσεις. Έτσι και στην πληροφορική έχουμε τις μεταβλητές μας. Τα υλικά μας είναι οι μεταβλητές. Είναι αυτές οι θέσεις μνήμης και τώρα ξέρω ότι αυτοί οι οποίοι προέρχεστε από θετική κατεύθυνση θα αρχίσετε να με βλέπετε λίγο παράξενα. Οι μεταβλητές τι είναι, είναι δικό μας κατασκεύασμα. Εμείς λέμε στον υπολογιστή, άκου να δεις, θέλω να μου κάνεις κράτηση μια περιοχή στη μνήμη που θα την ονομάσω αυγό και θα έχει ως περιεχόμενο αριθμητικές τιμές ή μια περιοχή που θα ονομάζεται ονοματεπώνυμο και θα έχει ως περιεχόμενο αριθμητικές τιμές το ονοματεπώνυμό μας ή μια άλλη περιοχή που θα ονομάζεται απόφαση και θα έχει ως περιεχόμενο λογικές τιμές του τύπου ναι-όχι, μηδέν-ένα, οτιδήποτε. Αυτές είναι οι μεταβλητές μας και θα δούμε πολλά περισσότερα στην πορεία. Εκτός όμως από τις μεταβλητές, θέλουμε τα πρακτικά καθημερινά εργαλεία. Θέλουμε τους τελεστές. Οι τελεστές είναι οι πράξεις και οι διαδικασίες που επιτελούν ενέργειες επί των τελεστέων, επί των μεταβλητών. Τελεστέος, αυτός που δέχεται την επίδραση του τελεστή. Τελεστής, αυτός που εκτελεί τελεστέως το υποκείμενο του τελεστή. Δεν το περίμενα στη ζωή μου ότι θα το έλεγα αυτό γιατί με την τρίτη δέσμη δεν τα πήγαινα πολύ καλά. Έχουμε επίσης διαδικασίες και εδώ πρόκειται να μιλήσουμε για τον πυρήνα κάθε αλγορίθμου. Γιατί αυτό, να κλείσω απλά για να κλητώσουμε το θόρυβο, διότι, κυρίες και κύριοι, έχει αποδειχθεί ότι σε κάθε γλώσσα προγραμματισμού Java, Python, TCLTK, Fortran, Pascal, Basic, Cobol, παλιά και νούρια, εξωτική ή όχι, χρειάζονται τρία μόνο πράγματα. Η δυνατότητα να εκτελείς σyριακά, αλληλουχικά διαδικασίες, τη μία μετά την άλλη, είναι η περίχνη δομή ακολουθίας, τελειώνει μία ενέργεια, ξεκινάει η επόμενη, απλά δική μας ευθύνη είναι να βάζουμε τις ενέργειες στη σωστή σειρά, θυμηθείτε το νερό και την κατσαρόλα. Δεύτερη διαδικασία, επαναλαμβάνω κάτι έως ότου πετύχω το στόχο μου, αυτό που έσβησα εδώ, έως ότου καταλήξω σε μια αριθμητική ποσότητα, έως ότου ξυγαριστεί το κρεμμύδι. Έχω δηλαδή έναν λογικό έλεγχο, ο οποίος αποτελεί την κατακλείδα της επαναληπτικής διαδικασίας. Εάν δεν έχω σωστό λογικό έλεγχο, εάν πάσει ο λογικός μου έλεγχος, τότε το πρόγραμμά μου μετατρέπεται σε συσήφιο μαρτύριο, μία αένα η διαδικασία που δεν τελειώνει ποτέ. Και έχω και την τρίτη δομή όπως λέμε, την δομή όπου επιλέγουμε. Εάν ισχύει αυτό, τότε κάνε έτσι. Εάν δηλαδή βάλω στον κερματοδέκτη στο μηχάνημα του λεωφορείου νόμισμα των 50 ευρώ, τότε το υπόλοιπο είναι, επειδή είναι ένα 10, η τιμή 60. Το άλλο νόμισμα των 20 ευρώ, τότε το υπόλοιπο είναι 90 και περιμένει 90. Αυτά τα τρία πράγματα χρειάζεται κάθε γλώσσα και αυτό απαιδείχθη κάποιες δεκαετίες πριν. Όλες οι γλώσσες λοιπόν αυτά τα τρία πράγματα υλοποιούν. Άρα, αν τα μάθουμε πάρα πολύ καλά σε μία γλώσσα, πολύ πιο εύκολα θα τα υλοποιήσουμε σε οποιαδήποτε άλλη. Από εκεί και πέρα εμείς θα δουλέψουμε σε MATLAB για έναν πολύ συγκεκριμένο λόγο. Άλλο θα έλεγα για δύο. Πρώτος, πρόκειται όχι απλά για μία γλώσσα αλλά για ένα υπολογιστικό περιβάλλον. Έχει δηλαδή ένα οπλοστάσιο το οποίο περιλαμβάνει γραφικά, βιβλιοθήκες εξειδικευμένες, προσομοίωση συστημάτων, δυνατότητα διαχείρισης συμβολικών μεταβλητών. Απίστευτες δυνατότητες, απίστευτο πλούτο. Και δεύτερο, είναι πάρα πολύ ευέλικτο και το πιο σημαντικό είναι ένα από τα κύρια standards πλέον στον χώρο του μηχανικού. Οι κώδικες δηλαδή υπολογιστικοί τρέχουν σε μεγάλο βαθμό σε MATLAB. Στο τμήμα μας βέβαια θα δείτε ότι πάρα πολλοί κώδικες που αναπτύσσονται, διότι αναπτύσσονται κώδικες στο τμήμα, μεγάλοι, τί σημαίνει μεγάλοι, μιλάμε για δεκάδες χιλιάδες γραμμές, εκατοντάδες χιλιάδες γραμμές, κάπου εκεί είμαστε. Είναι κυρίως σε FORTRAN, για συγκεκριμένους λόγους, και σε εσύ. Και ακόμη και τώρα τρέχουν πάρα πολλά πράγματα σε FORTRAN και σε εσύ. Δε θα έχετε κανένα πρόβλημα να μεταβείτε από τη μία γλώσσα στην άλλη, εφόσον μάθετε καλά μία οποιαδήποτε από τις γλώσσες αυτές. Εδώ λοιπόν η επιλογή μας είναι το MATLAB για τους λόγους αυτούς. Έχουμε και τις δομές μας και στο MATLAB βέβαια απλά να πω, δεν τα δείχνω αναλυτικά, γι' αυτό και τα μικρά γράμματα, ότι έχουμε και τις μεταβλητές μας και τους τελεστές μας και τις διαδικασίες, τις δομές δηλαδή, που μας ενδιαφέρουν. Για να γράψουμε λοιπόν, για να προγραμματίσουμε, θέλουμε μια γλώσσα. Η γλώσσα προγραμματισμού σημαίνει ότι έχουμε ένα αλφάβητο. Εδώ είναι τα γράμματα του αγγλικού αλφαβήτου, επιτρέψτε μου τώρα εσείς οι οποίοι τα γνωρίζετε όλα αυτά, με το που θα πάτε να πείτε, ρε αρχίζω και βαριέμαι, θα θυμάστε τα χέρια που σηκώθηκαν, εντάξει, βοηθά. Είναι λοιπόν τα γράμματα του αγγλικού αλφαβήτου, οι αριθμοί και κάποιοι ειδικοί χαρακτήρες. Προσοχή, στο MATLAB, όπως και σε αρκετές άλλες γλώσσες, είναι άλλα τα κεφαλαία και άλλα τα πεζά. Η λέξη ροπή, torque, γραμμένη με κεφαλαία, είναι άλλη μεταβλητή. Έχει άλλο περιεχόμενο από την ίδια λέξη, που τι είναι η λέξη αυτή, είναι το βαφτιστικό όνομα, ποιος έκανε τα βαφτίσια εμείς, γιατί διότι εμείς γράψαμε το πρόγραμμα. Εμείς αποφασίσαμε λοιπόν να υπάρξει μια μεταβλητή με αυτό το όνομα. Και μία δεύτερη με το ίδιο όνομα, η μία γραμμένη με κεφαλαία, η άλλη με μικρά. Ακόμη και σε ένα γράμμα να ενδιαφέρουμε μεταξύ κεφαλαίων και μικρών, είναι άλλη μεταβλητή. Η μία δηλαδή μπορεί να έχει μέσα τη τιμή χίλια και η άλλη τη τιμή μηδέν. Δεν ισχύει σε όλες τις γλώσσες, σε επίπεδο μάτυλο από αυτό ισχύει. Άρα λοιπόν, κεφαλαία, πεζά, παίζουν ρόλο. Ένα μήνυμα. Δεύτερο, έχουμε κάποιες λέξεις, εισαγωγικά το βάζω, που είναι οι εντολές. Είναι έτοιμες δηλαδή, ενέργειες που έχει στο προστάσιο της η γλώσσα. Όταν θέλουμε να βρούμε την τετραγωνική ρίζα, έχουμε το SQRT, square root. Πάρα πολλές, όλες οι εντολές προέρχονται από την αγγλική γλώσσα και γι' αυτό και έχουν νόημα στα αγγλικά. Για να υπολογίσεις το ημείτονό, είναι Ζίνους. Άντε, δεν μας άφλιασε αυτό, εννοείται. Τα ονόματα όλων των μεταβλητών, όταν εμείς θα βαφτίζουμε μεταβλητές, πρέπει να ξεκινούν με γράμμα, κανόνας. Δεν μπορεί να ξεκινά όνομα μεταβλητής, με οτιδήποτε άλλο δεν είναι γράμμα, δεν είναι νόμιμο όνομα. Όπως νόμιμο, νοείται οτιδήποτε ακολουθεί τους νόμους και κανόνες της γλώσσας. Άρα σε MATLAB, όλες οι μεταβλητές ξεκινούν με γράμμα. Άρα, η μεταβλητή Κώστας είναι νόμιμη, η μεταβλητή 1 Κώστας δεν είναι νόμιμη. Και μπορούν μέσα τους να περιλαμβάνουν γράμματα, αριθμούς και κάτω Παύλος. Κάτω Παύλος σημαίνει αυτή τη μικρή οριζόντιο. Όχι άλλες μεταβλητές, δεν μπορώ να έχω ένα όνομα μεταβλητής, το οποίο έχει μέσα του το ad, που χρησιμοποιούμε στα e-mail. Δεν θα γίνει δεκτό σε MATLAB. Τώρα υπάρχουν άλλοι περιορισμοί. Τα πάντα είναι ορισμένα σε μια γλώσσα. Όπως για παράδειγμα, το ποιο είναι το μέγιστο μήκος της μεταβλητής σε χαρακτήρες. Μπορώ δηλαδή εγώ να δώσω ένα όνομα που είναι σε μήκος με 250 χαρακτήρες. Όχι. Ποιο είναι το μήκος, έχω μια εντολή που μου το λέει. Name length max. Το τρέχω, αν δεν το θυμάμαι και μου το λέει. Επίσης στο MATLAB υπάρχει κάτι άλλο, θα τα ανακαλύπτουμε σιγά σιγά. Έχουμε στα χέρια μας ένα πανίσχυρο help, ένα πανίσχυρο οδηγό στο περιβάλλον. Δηλαδή δεν ξέρω πώς συντάσσεται μια εντολή. Help, η αγγλική λέξη, καινο, το όνομα της εντολής. Και μου βγάζει στα αγγλικά βέβαια τα πάντα. Είναι αυτή η εντολή και συντάσσεται έτσι και έτσι και έτσι και να παραδείγματα και να και αναφορές. Είναι ένα εγχειρίδιο χρήσεις ζωντανό. Το ίδιο και σε οκτέιβ, εννοείται, έτσι. Μη επιτρεπτά ονόματα, υπάρχουν ονόματα που δεν είναι επιτρεπτά για ποιο λόγο, διότι είναι λέξεις εντολών και θα μπερδευτεί. Αν θέλουμε να δούμε ποια είναι η λίστα, ποιος είναι ο κατάλογος όλων των ονομάτων που δεν επιτρέπεται, που αν τα δώσουμε, αν βαφτίσουμε μια μεταβλητή με αυτό το όνομα, τότε θα έχουμε πρόβλημα γιατί θα μπερδευτεί. Δεν θα ξέρει αν εννοούμε τη μεταβλητή ή την εντολή που έχει το ίδιο όνομα. Η εντολή είναι η is keyword. Την τρέχεις και σου βγάζει τη λίστα με όλα τα στοιχεία, όλες τις λέξεις κλειδιά. Και βέβαια υπάρχουν και πολλές άλλες εδώ, αναφέρω κάποιες πρώτες, γιατί ξέρω ότι πολλές και πολλοί από εσάς θα πάτε στο σπίτι, οπουδήποτε αλλού, και θα πείτε ρε να πάρει ευχή, δεν κατεβάζω αυτό το κτέιβ. Και δεν αρχίζω να παίζω λίγο, τι να παίξω, τι μου είπε αυτός η is keyword, να δω πώς είναι, τι κάνει. Και θα δούμε και στη τρίτη ώρα και κάποια απλά πράγματα που ελπίζω ότι θα ερεθήσουν το ενδιαφέρον σας και θα σας κάνουν πραγματικά να βάλετε τα χέρια σας στον πληκτρολόγιο, είτε το έχετε ξανακάνει, είτε όχι. Αυτά λοιπόν είναι τα πολύ βασικά, όχι τα πάντα, μην τρελαθούμε, τα πολύ βασικά. Για να δούμε λοιπόν τι υπάρχει η διαθέσιμο, είπαμε, γράμματα, κεφαλαία μικρά, αριθμοί και ειδικοί χαρακτήρες. Σε κάθε βιβλίο, MATLAB και online επίσης, θα βρείτε στοιχεία για τους ειδικούς χαρακτήρες. Έτσι τώρα, για να δούμε πάλι το ίδιο μας πρόβλημα. Και για να προσπαθήσουμε να το γράψουμε πλέον με έναν τρόπο που θα είναι πιο κοντά σε αυτούς που γνωρίζουν, θα θυμίζει ψευδογλώσσα, στους υπόλοιπους θα θυμίζει κάτι σαν τηλεγραφική αναφορά σε διαδικασίες. Προσέξτε λίγο πώς θα μπορούσα, δεν είναι ο μόνος, υπάρχουν πολλοί τρόποι να λύσει κανείς ένα πρόβλημα, αλλά αυτός ο τρόπος που εγώ έχω σημειώσει είναι ο εξής. Έχουμε λοιπόν έναν αλγόριθμο, ο οποίος έχει ένα όνομα. Τον ονομάζω εγώ τετραγωνική ρίζα, έχω τα δεδομένα μου. Ποια είναι τα δεδομένα, ποια είναι τα στοιχεία που μπαίνουν μέσα στον αλγόριθμο. Είναι αυτός ο αριθμός χ, του οποίου ψάχνουν τετραγωνική ρίζα και μπέρδεψαν αρκετούς, αλλά τίμι χ και αρχική γ. Αυτή δηλαδή που θεωρώ εγώ αρχικά ότι είναι η λύση. Όπου δηλαδή γ, θα το γράψω από εδώ, εμείς πιστεύουμε ότι το γ είναι το ριζα χ. Ξεκινούμε. Αρχή λοιπόν. Θα μου πείτε πρέπει να πω στον υπολογιστήριο ότι ξεκινούμε. Βεβαίως. Δεν είναι αυτονόητο. Γιατί να είναι. Για σκεφτείτε το λίγο. Είναι για εμάς αυτονόητο. Για ένα κονσερβοκούτη διότι η εφυεία κονσερβοκούτη. Ποιο έχει αυτή η μηχανή. Γιατί να είναι. Οδηγίες εκτελεί. Αρχή. Του λέμε λοιπόν ότι αρχικά, άκου να δεις το συγκεκριμένο παράδειγμα, το χ είναι 3,25. Και ότι η αρχική εκτίμηση, ας την ονομάσω εγώ Άρεδο ή Γκές, είναι 3. 3,0. Τότε, ποιες είναι οι ενέργειες που πρέπει να επιτελέσει αυτό το μηχάνημα. Το οποιοδήποτε μηχάνημα. Αυτή τη στιγμή πρέπει να σας πω ότι είμαστε πάρα πολύ τυχεροί. Διότι έχουμε σε επίπεδο smartphone την υπολογιστική ισχύ, που πριν από 20 χρόνια αγοράζατε οριακά με ένα ποσότης τάξεως των 20.000 ευρώ. Εκεί βρίσκεται η τεχνολογία αυτή τη στιγμή. Διότι ισχύ ποιος, ο νόμος του ΜΟΥΡ. Θα το ψάξετε όσοι θέλετε κι όσες και θα το συζητήσουμε μετά για την εξέλιξη τέτοιων τεχνολογίας. Νόμος του ΜΟΥΡ. Οπότε, λοιπόν, έχουμε τεράστια υπολογιστική ισχύ κι άρα αυτού του είδους το παιχνίδι είναι πραγματικά κάτι πολύ μικρό για οποιοδήποτε υπολογιστή. Έχουμε σε smartphone, έχουμε σε ρολόι, έχουμε σε έξυπνο αναπτύρα, έχουμε στο πλυντήριο πιάτων μας, έχουμε στην καφετιέρα μας, υπάρχουν υπολογιστές παντού. Αν, λοιπόν, αν ισχύει ότι τ, γ' ίσον με γ' τετράγωνο ίσον με χ, τότε τι έχει συμβεί? Βρήκα λύση. Ας γράψω εδώ λύση για να συντομεύσω. Αν ισχύει αυτό, αλλιώς, και πηγαίνω τώρα από εδώ, αλλιώς, τι θα κάνω, θα πω γ' η νέα τιμή της μεταβλητής γ' και εδώ θα σταθώ λίγο, ίσο με γ' συγχύ προς γ' και όλο διαδύο. Εδώ τώρα, πάλι για αυτούς οι οποίοι ειδικά προέρχονται από τη θετική, βλέπουν δεξιά και αριστερά ενός ίσον το ίδιο πράγμα, μια γ'. Και λένε, εντάξει ο Καρατζάς δεν είναι έτσι τα πράγματα. Αυτό που συμβαίνει σε έναν υπολογιστή και είναι πολύ απλό αλλά θέλει την προσοχή του είναι το εξής. Τι είπαμε ότι είναι η γ'? Επιτρέψτε μου να κάνουμε ένα απλό πείραμα. Η κυρία εδώ με τα γελά είναι η γ' και είναι η νέα τιμή. Και να θυπαθένεις όταν κάθασες εμπροστά. Και ο κύριος εδώ είναι η παλαιά τιμή. Άρα λοιπόν, είναι η αρχική τιμή. Είναι δυνατόν να είστε διαφορετικοί για τον υπολογιστή. Αυτό που κάνω τώρα είναι σωστό, είναι λογικό, προσέξτε. Η γ' είναι ένα πράγμα, μια μεταβλητή. Είναι δηλαδή μια περιοχή στη μνήμη που μπορεί μάλιστα και να παίζει. Απλά το έχουμε πει, άκου να δεις αγαπητό κονσερβοκούτι. Έχεις την ευθύνη να διαχειριστείς μια μεταβλητή που ονομάζεται γ'. Άρα είναι πρώτα απ' όλα ένα πράγμα, είστε εσείς κυρία μου η γ'. Μόνο ένα πράγμα, το περιεχόμενό σας, η τιμή που κουβαλάτε είναι διαφορετική. Αρχικά έχετε την τιμή 3, σωστά. Γίνεται αυτός ο έλεγχος. Είναι το τετράγωνό σας ίσο με 3,25. Όχι. Αυτό δεν το κάνετε εσείς. Ο υπολογιστής βουτά την μεταβλητή, βλέπει το περιεχόμενο, παίρνει την τιμή, την πηγαίνει για επεξεργασία, κάνει τον τετραγωνισμό, κάνει τον έλεγχο μεταξύ του 3,25 και του ίγκαις τετράγωνο, είναι αυτά ταυτόσημα. Όχι. Ποια είναι η επόμενη οδηγία? Αλλιώς η νέα σου τιμή είναι αυτή που είχες, συν 3,25 δια αυτή που είχες και όλο δια δύο. Τώρα πλέον κουβαλάς μια νέα τιμή. Οπότε, λοιπόν, πάλι θα πρέπει να γίνει ένας τέτοιος έλεγχος. Σωστά. Αν τώρα το τετράγωνο της νέας σου τιμής είναι ίσο με το 3,25, τη βρήκαμε τη λύση. Είναι η νέας σου τιμή. Εάν όμως πάλι δεν το βρήκαμε. Οπότε, αν βγες λοιπόν τετράγωνο ίσον με χ λύση. Αλλιώς επανάληψη. Αλλιώς η νέα τιμή θα είναι η προηγούμενη κτλ. Έως ότου τι συμβεί, έως ότου αυτά τα δύο τα φτιστούν. Εδώ έχουμε ένα μίζων πρόβλημα, κυρίες και κύριοι, το οποίο είναι ταυτόχρονα και χαριτωμένο, επιτρέψτε μου να πω. Ποιο είναι αυτό? Ό,τι ζητούμε από τον υπολογιστή μας να ελέγξει την ισότητα δύο ποσοτήτων. Του 3,25 και του και στο τετράγωνο. Σωστά. Για όλους και για όλους εσάς όμως, είναι γνωστό ότι όταν έχουμε να κάνουμε με δεκαδικούς αριθμούς, το να πέσουμε ακριβώς, το να συμπίπτουμε αυτά τα δύο, τι σημαίνει? Σημαίνει ότι σε βάθος εκεί όπου χάνεται η πληροφορία στο βάθος των δεκαδικών, πηγαίνουμε στο δέκατο, 20, 30, 100, 50, 200 κτλ. θα πρέπει αυτές οι ποσότητες να είναι ίσες. Υπάρχει λοιπόν μεγάλη πιθανότητα, αυτές οι ποσότητες να μην είναι ίσες ποτέ, έτσι δεν είναι. Πέραν το ότι θα μάθουμε πως ακριβώς επειδή ένας υπολογιστής αποτυπώνει τους αριθμούς στο διαδικό σύστημα, υπάρχουν αριθμοί που είναι απόλυτα ορισμένοι, άρα πως τους λέμε αυτούς ρητοί στο σύνολο των πραγματικών αριθμών, όπως το 0,1 που είναι ένας ρητός αριθμός, είναι το 1-10, αυτό σημαίνει ρητός. Ρητός σημαίνει ορίζεται ως κλάσμα με γνωστό αριθμητή και παρονομαστή, που όταν μετατραπεί σε διαδικό σύστημα, μεταφράζεται σε έναν διαδικό με άπειρα δεκαδικά ψηφία. Ωραίο, ε? Άρα πρακτικά δεν μπορείς ποτέ να προσεγγίσεις απόλυτα το 0,1 με τη βοήθεια ενός υπολογιστή. Και τι έγινε, καταστράφηκε ο κόσμος? Όχι, λειτουργούμε με προσεγγίσεις. Δηλαδή εμάς δεν μας ενδιαφέρει είναι ταυτόσιμο, εμάς μας ενδιαφέρει τι να το μεταφράσουμε σε κάτι που ο υπολογιστής θα καταλάβει. Μια λοιπόν ιδέα, και το λέω γιατί κάποιοι από εσάς το ξέρετε, κάποιοι όχι, άρα, δι' αυτό δεν θα ρωτήσω, εδώ, είναι το να πούμε ότι όταν δύο πράγματα θέλουμε να είναι πολύ κοντά, υπάρχουν πολλοί τρόποι και να το κρίνουμε. Ένας πολύ απλός τρόπος είναι να δούμε αν η διαφορά τους είναι μικρή. Έτσι δεν είναι. Άρα λοιπόν, αυτή ως εδώ ο έλεγχος ισότητας, μεταφράζεται στο γ' τετράγωνο μίον χί μικρότερο από κάτι. Επιτρέψτε μου να το γράψω πραγματικά έτσι. Κάτι. Και αυτό το κάτι εκφράζει την διαφορά αυτών των δύο ποσοτήτων που για μας καθιστά τις δύο αυτές ποσότητες ίσες. Πρακτικά, δηλαδή, το ερώτημα μεταφράζεται στο εξής. Με ποια διαφορά μεταξύ του γ' τετράγωνο και του χί εμείς είμαστε ευχαριστημένοι και θεωρούμε ότι αυτά τα δύο είναι ίσα. Μα απέχουν ένα δέκατο, ένα εκατοστό, ένα χιλιοστό, ένα προς δέκα χιλιάδες. Η απάντηση είναι ότι δεν είναι trivial, ελληνιστή, δηλαδή δεν είναι στοιχειώδες, αλλά εξαρτάται από τη φύση του προβλήματος. Εδώ επιστρέφει τώρα, τώρα μπαίνει το κριτήριο του μηχανικού. Εμείς τι θέλουμε να λύσουμε, το πρόβλημα του πόσο μήκος τέχει το διαγώνιο στήριγμα αυτής της αναθαματισμένης της σχεδίας για να δραπετεύσουμε από το νησί. Ε, με τι ακρίβεια μπορεί να κόψει το μαχαίρι μας. Θεωρούμε ότι το μαχαίρι μας μπορεί να κόψει και να μετρήσουμε και να κόψουμε με ακρίβεια μεγαλύτεροι του χιλιοστού. Όχι. Άρα χιλιοστό πρέπει να είναι εδώ η διαφορά. Διαφορετικά έχει νόημα. Αν δηλαδή ερχόταν ένας, ας πούμε, επισκέπτης με έναν υπολογιστή και μας έλεγε άκου να δεις δεν θα σε βοηθήσω καθόλου, αλλά έχω έναν υπολογιστή για να τρέξει στον αργόριθμο υπολογισμού του διαγώνιου στήριγματός σου. Εμείς τι θα του ζητούσαμε? Αυτό το κάτι να είναι ας πούμε δέκα ή στιγμίων τρίτη του μέτρου. Έτσι δεν είναι. Εάν όμως εδώ είχαμε πολύ μεγάλη ακρίβεια στα χέρια μας, όταν για παράδειγμα πάτε να κάνετε μηχανολογικό σχέδιο τώρα πλέον και αρχίσετε και κάνετε ανοχές και συνειδητοποιείτε εκεί θα σας τα πούν οι συνάδελφοι ότι υπάρχουν μεγέφη στη μηχανολογία που δεν πρέπει να απέχουν περισσότερο από κάτι μικρά του μέτρου. Το μικρό του μέτρου είναι το χιλιοστό του χιλιοστού. Σωστό. Άρα εκεί θα πρέπει η διαφορά να είναι δέκα στιγμίων έκτη. Όμως σε κάθε περίπτωση το κριτήριο που καθιστά αυτές τις δύο ποσότητες ίσες είναι αυτή η διαφορά. Και βέβαια ο προσεκτικός παρατηρητής εδώ ίσως πει ότι κοίταξε να δεις αυτή η διαφορά μπορεί να είναι θετική ή αρνητική. Για αυτό έχω τις απόλυτες τιμές. Και ησυχάζω. Αυτό λοιπόν μπορεί να αποτελέσει μια διαδικασία. Βλέπετε ότι ξεκινώ. Η πολογιστική είναι αλλαγόριθμος λοιπόν. Τρέχει ομαλά. Μπορεί να γίνει κατανοητό από κάθε μηχανή. Έτσι δεν είναι. Και να οδηγήσει με ασφάλεια σε ένα αποτέλεσμα. Ερώτημα. Πέρας από το παλιό όσπου συζητήκαμε να κάνουμε μία επιβόλωση σε στιγμιές, γιατί δεν συμβιούμε πάλι όπως τα αριστερά μας να κάνουμε. Γιατί βιάζομαι να το γράψω. Όχι, όχι. Δεν ομολογώ ότι δεν δίνω μεγάλη σημασία σε αυτό, έτσι. Παρακαλώ. Είναι μία επαναληπτική πρακτικά διαδικασία. Μάλλον είναι ένας αλλαγόριθμος ο οποίος μας δίνει τη δυνατότητα να υπολογίζουμε τετραγωνικές ρίζες αριθμών με μία προσεγγιστική επαναληπτική διαδικασία, που δεν συνίσταται στο ότι κάνουμε μία αρχική εκτίμηση αυθαίρετη της ρίζας του αριθμού που θέλουμε να υπολογίσουμε και διορθώνουμε αυτή την αρχική μας εκτίμηση με τη βοήθεια της σχέσης του ήρωνα. Το γράψαμε σε μία πολύ απλή γλώσσα που δεν είναι ούτε ψευδογλώσσα ούτε καθημερινή. Μπορεί να παρουσιαστεί χωρίς να εγείρει άλλου είδους απορίες. Θα το γράψουμε σε γλώσσα προγραμματισμού στην πραγματικότητα. Φυσικά. Μπορούμε να κάνουμε πολλά πράγματα εδώ. Εγώ ήθελα απλά να σας μεταφέρω τη φιλοσοφία. Τώρα, θα δούμε υλοποίηση. Διότι είπαμε ότι ο αλλαγόριθμος αποτελείται από υπολογιστικά δήματα που επαναλαμβάνονται. Και αυτές είναι, εδώ 2 ήταν η αρχική μου εκτίμηση και όχι 3. Παρεπιπτώντος, πώς υπολογίζεται το ρήζα 2 από έναν υπολογιστή τσέπης. Υπολογίζεται έτσι. Το ρήζα 2 υπολογίζεται στη βάση των επέρειων λογαρύθμων. Και σας δείχνω επειδή αναρωτιόσασταν πράγματα. Να και ένα τμήμα κώδικα. Δεν είναι το τμήμα κώδικα και για αυτούς οι οποίοι δεν έχουν ξαναδει κάτι τέτοιο θα εξηγήσω. Ούτε είναι κάτι που δεν θα το ξαναδούμε. Το παρουσιάζω απλά για να δώσω μια συνέχεια σε ό,τι συζητήσαμε. Διότι ήξερα ότι θα γερθούν ερωτήσεις του τύπου νέα αλλά πώς εκφράζεται σε γλώσσα προγραμματισμού. Εδώ πρώτα απ' όλα πρέπει να εξηγήσω την πρώτη γραμμή. Άπαξη και εξηγήσω την πρώτη γραμμή, τα υπόλοιπα είναι πιο όμαλα. Εάν τί, βλέπετε αυτή την παρένθεση, οτιδήποτε υπάρχει την κρατώ εδώ. Αυτό εδώ είναι το όρισμα όπως το λέμε, είναι δηλαδή το περιεχόμενο του if. Ελέγχεται ως προς το εάν είναι αληθές ή ψευδές. Άρα, ό,τι έχω εγώ μέσα στο όρισμα του if, μπορεί να είναι μια απλή μεταβλητή που μπορεί να είναι true ή false, αληθής ή ψευδής. Μπορεί να είναι ένα σύνολο από πολύ πλοκές πράξεις. Στο τέλος θα ελεγχθεί ως προς το εάν είναι αληθές ή ψευδές. Τι λέει εδώ μέσα, abs, απόλυτη τιμή. Αυτό το σύνολο σημαίνει το τετράγωνο μιον χ. Άρα, εδώ μέσα τι έχω, το ges τετράγωνο μιον χ. Σωστά, το abs είναι η απόλυτη τιμή. Άρα, τι υπολογίζει την απόλυτη τιμή της διαφοράς του ges τετράγωνο μιον χ. Και αυτή την απόλυτη τιμή την συγκρίνει μικρότερο, το αναγνωρίζουμε το σύνολο, αυτού που δεν αναγνωρίζουμε εδώ, 1ε-4, είναι ένας τρόπος γραφής, το συναντάμε και σε κάποιους οικολογιστές τσέπης, ο λεγόμενος επιστημονικός τρόπος γραφής των αριθμών. Ξέρει κανείς πόση είναι αυτή η ποσότητα? Είναι 10σ-4, εδώ. Άρα, πρακτικά, εδώ του λέμε, άκου να δεις, πάρε την απόλυτη τιμή του ges τετράγωνο μιον χ. Είναι ένας θετικός αριθμός, σίγκρινε την με το 10σ-4. Ισχύει το μικρότερο, τότε αν ισχύει, η σύγκριση τι είναι? True ή false, αληθής ή ψευδής. Είναι αληθής. Άρα το περιεχόμενο του ορίσματος, αυτό δεν κρατούσα εγώ. Πρέσ' εσείς, μην το αφήνετε να πέσει, το κρατάμε, είναι το πολύτιμο όρισμά μας. Νάτο, το περιεχόμενο του ορίσματος μου, του if, είναι true. Εάν το περιεχόμενο του ορίσματος είναι true, τότε θα πάμε στην επόμενη εντολή. Μας άνοιξε την πόρτα εισόδου στο περιεχόμενο του if. Εάν είναι false, τότε δεν θα πάμε στο περιεχόμενο του if, θα πάμε στο τέλος του if. Εάν λοιπόν αυτό είναι true, then guess. Παρακαλού, θα πείτε. Βεβαίως, then guess, δηλαδή του λέμε guess. Αυτός τι θα πει, τι μου λένε μετά, guess. Έλα guess, φράπ, τι περιεχόμενο έχεις, να το. Αυτό είναι λοιπόν αυτό που ψάχνω. Και stop, για να σταματήσω. Θα δούμε πότε μπαίνει, πότε δεν μπαίνει, λεπτομέρειες. Δεν κάνουμε τώρα λεπτομέρειες στη σύνταξη. Διαφορετικά, εδώ που δεν ισχύει, δεν είναι true το περιεχόμενο, πάμε μετά από το else. Διαφορετικά, το νέο περιεχόμενο της guess είναι αυτό το παλιό, όπως υπολογίζετε. Αυτό που υπολογίζετε, συγγνώμη, στη βάση του παλιού. Τέλος, θα μου πείτε, ναι, κι άμα... Και εδώ που είναι ο έλεγχος του επόμενου βήματος. Δεν τον έχω γράψει, προφανώς είναι μητελές, έτσι. Αλλά ήθελα να σας δείξω πώς μοιάζει γραμμένο σε μια πραγματική γλώσσα προγραμματισμού και να ρωτήσω, να εισπράξω ουσιαστικά αντιδράσεις. Δηλαδή, πόσο εξωτικό σας φαίνεται αυτό. Και περισσότερο, θέλω να μιλήσουν οι άνθρωποι που αισθάνονται ότι, ναι, εγώ δεν έχω πρότερη εμπειρία και σχέση, δεν είναι κακό, δεν σημαίνει ότι δεν ξέρω, μάλλον, δεν σημαίνει ότι δεν είμαι ικανός ή ικανή να μάθω, σημαίνει ότι εκείνο από ένα σημείο μη γνώσεις. Κάποιοι ξέρουν να οδηγούν, κάποιοι όχι. Πάντως, πρέπει να πω ότι κανένας δεν γεννιέται γνωρίζοντας την οδηγή. Έμφυτο ταλέντο στη μουσική έχουμε ακούσει, στα μαθηματικά έχουμε ακούσει. Έμφυτο ταλέντο στο ποδήλατο, ας πούμε, εγώ δεν έχω ακούσει κανέναν ο οποίος ανέβηκε πρώτη φορά στη ζωή του σε ποδήλατο και δεν έπεσε. Άρα, και αυτό δεν είναι κακό, πρέπει να είμαστε έτοιμοι να πέσουμε. Θα πέσουμε μια, δυο, τρεις, θα μάθουμε, θα πάμε παρακάτω. Το ότι θα πέφτουμε εμείς στην αρχή ενώ οι άλλοι δεν ξέρουν ποδήλατο, δεν σημαίνει ότι δεν μπορούμε να γίνουμε καλύτεροι ποδήλατες. Έτσι δεν είναι. Το έχουμε δει. Άρα, πώς σας φαίνεται, ξαναλέω, ξαναεξηγώ, γιατί θεωρώ ότι είναι σημαντικό να δούμε έτσι αυτή τη λογική. Είναι προώρο, αλλά θέλω να αρχίσουμε να σκεφτόμαστε έτσι. Έχω λοιπόν μια διαδικασία ελέγχου όπως θα τη μάθουμε αργότερα. Έτσι λέγεται. Έχει αυτό το ίφ. Εάν. Το εάν έχει ένα όρισμα το οποίο ελέγχεται πάντοτε ως προς το εάν είναι. Το περιεχόμενο του λοιπόν του εάν το λέμε όρισμα. Το περιεχόμενο κάθε εντολής το λέμε όρισμα. Ελέγχεται ως προς το εάν είναι αληθές ή ψευδές. Είναι μια πράξη. Κάνω την πράξη, εδώ η πράξη είναι μια σύγκριση μεταξύ αυτής της ποσότητας, της αριστερής ποσότητας από το μικρότερο και της δεξιάς ποσότητας. Οπότε δύο δρόμους έχει μόνο η ζωή εδώ. Είτε θα είναι true η σύγκριση θα ισχύει ή θα είναι false δεν θα ισχύει. Έχω όμως και παραλλαγή για όσους στοιχών έχουν διάθεση για ποιο έτσι χορευτικές καταστάσεις. Δηλαδή εδώ κάνω μια σύγκριση με διαφορετικό τρόπο. Πάλι είναι απλά αγγλικά. Αντί του if εάν χρησιμοποιώ μια άλλη, επιτρέψτε μου τη λέξη φράση, λέξη είναι εντολή, την while, τι σημαίνει το while αγγλιστή, όσο, όσο τι, όσο η απόλυτο στιγμή αυτή είναι μεγαλύτερη από το 10 στιγμή ο τετάρτη, τότε τι σημαίνει ότι δεν έχω βρει λύση. Άρα ξανακάντε και ξανακάντε. Το κάνω ανάποδα. Ωραίο δεν είναι. Δηλαδή μια φορά του λέω εάν είσαι μικρότερος ή μικρότερη από την τιμή που θέλω να συγκρίνω, τότε βρήκα λύση, ουφ γλίτωσα. Αλλά έχει και άλλη διαδικασία. Όσο είσαι μεγαλύτερος σημαίνει ότι δεν είσαι μικρότερος. Όσο είσαι μεγαλύτερος υπολόγησε νέα τιμήγκες συναρτήση της παλαιάς. Οπότε, λοιπόν, έτσι τρέχει και με αυτό τον τρόπο βλέπετε παρεπιπτόντως ότι αυτό δεν χρειάζεται τίποτα άλλο. Κάθε φορά κάνει τι μέσα στο while, τι έχουμε, να το πιάσουμε πάλι προσεκτικά γιατί θα πέσει, τσακ, το όρισμά μας. Είναι ένα όρισμα το οποίο ελέγχεται έως πως αν είναι true ή false. Είναι true, θα συνεχίσει παρακάτω. Είναι false, θα πάει μετά από όλο το while. Εάν είναι true σημαίνει ότι δεν βρήκα ακόμη λύση, σωστά. Άρα, θα υπολογήσει νέα εγκέστηση βάση της παλιάς. Μετά θα ξαναπάει πίσω διότι είναι δέσμιο του εαυτού του το while. Δεν μπορεί να ξεφύγει από την ημαρμένη. Και η ημαρμένη του while είναι να γίνει το περιεχόμενο του ορίσματος true, ώστε επιτέλους να λυτρωθεί από την επανάληψη και να πάει παρακάτω. Αυτή λοιπόν η διαδικασία γίνεται μέσα σε αυτές τις γραμμές. Παρατηρήσεις. Θα τα μάθουμε και μετά. Θέλω λίγο την προσοχή σας, θα κάνουμε διάλειμμα και πάλι βέβαια. Όταν χρησιμοποιούμε στο τέλος κάθε εντολής το ελληνικό ερωτηματικό, που είναι ένα σύμβολο απλό, τότε γλιτώνουμε το να εμφανίζεται το αποτέλεσμα κάθε εντολής στην οθόνη. Και αυτό είναι πάρα πολύ σημαντικό, ειδικά όταν τρέχουμε εντολές οι οποίες επαναλαμβάνονται πάρα πολλές φορές. Δεν γεμίζει η οθόνη με κατεβατά αποτελεσμάτων. Οπότε το προτείνω ανεπιφύλακτα. Και κάποια στιγμή θα το καταστήσω και υποχρεωτικό στα θέματα. Θα σας το λέω σαν πρόταση. Φτάρω έτσι σιγά σιγά. Ερώτημα. Στο τέλος κάθε εντολής να υπάρχει το ελληνικό ερωτηματικό. Αυτό καταπιέζει την έξοδο, να το πούμε έτσι. Επίσης, είναι πάρα πολύ σημαντικό το να εισάγουμε σχόλια στο πρόγραμμά μας. Τα σχόλια στο πρόγραμμά μας βοηθούν στο να θυμόμαστε τι έχουμε κάνει. Στο MATLAB μπορούμε να εισάγουμε σχόλια βάζοντας το σύμβολο επί της 100 στην αρχή. Δηλαδή, οτιδήποτε γράψουμε μετά το σύμβολο του επί της 100, δεν λαμβάνεται υπόψη από τον υπολογιστή. Οπότε λοιπόν εκεί μέσα μπορώ να γράψω το Αυτό το πρόγραμμα το έγραψα όταν ήμουν σε κατάσταση απίστευτου hangover. Δεν θυμάμαι τίποτα και άρα η μεταβολική γκέση είναι αυτή. Ώστε όταν θα συνέλθω και θα ξαναδιαβάσω το πρόγραμμα, θα θυμηθώ τι έκανα τότε. Επίσης, είπα και το επαναλαμβάνω τώρα πριν το διάλειμμα, γιατί θέλω να κλείσω με αυτό το μήνυμα για εσάς, ότι η μεταβλητή είναι ένα δοχείο. Το όνομά της είναι κάτι που εμείς αποφασίσαμε. Το περιεχόμενό της είναι το σημαντικό. Οι μεταβλητές εκφράζουν νόμιμα ονόματα, αντιστοιχούν σε θέσεις μνήμης και φιλοξενούν δεδομένα συγκεκριμένου τύπου αναμεταβλητή. Άρα δεν μπορώ μέσα σε μια μεταβλητή να έχω ταυτόχρονα και αριθμητικά και κατηγορικά. Μια μεταβλητή θα έχει αριθμητικό περιεχόμενο, μια άλλη θα έχει χαρακτήρα, μια τρίτη θα έχει λογικό και πάει λέγοντας. Το να αποφασίσουμε εξ αρχής το πλήθος και το είδος των μεταβλητών μας είναι πολύ σημαντικό και έχει να κάνει με την εμπειρία μας. Και θα το μάθουμε στην πορεία. Και δώστε σε αυτές περιγραφικά και ουσιαστικά ονόματα. Πρώτος άγνωστος, δεύτερος άγνωστος για παράδειγμα. Ήδη το όνομα λέει κάτι. Γιατί έχω συναντήσει και ονόματα μεταβλητών του τύπου βλακία 1, βλακία 2, βλακία 3. Ναι, εκείνη τη στιγμή εκτονώνουμε το θυμικό μας, αλλά μετά δεν θα θυμόμαστε ποια βλακία ήταν αυτή, που παίρνει την τιμή που θέλουμε εμείς να αλλάξουμε. Αναθέσεις τιμών. Η ανάθεση τιμών γίνεται βάζοντας το όνομα της μεταβλητής. Ναι, είναι στοιχειώδες. Ελπίζω αυτοί που έφυγαν να τα ξέρουν αυτά, γιατί στην τρίτη ώρα θα κάνουμε άλλα πράγματα που δεν ξέρουν. Βάζουμε λοιπόν αριστερά του ίσον το όνομα της μεταβλητής και δεξιά την τιμή. Το απλό ίσον είναι ανάθεση. Το διπλό ίσον δεν είναι ανάθεση, θα το δούμε μετά. Είναι έλεγχος. Το διπλό ίσον σημαίνει έλεγχος ισότητας. Το αποτέλεσμα του διπλού ίσον είναι είτε true είτε false. Είναι μια πράξη το διπλό ίσον. Είναι λογικός έλεγχος ισότητας. Και μπορεί να έχει μόνο δύο αποτελέσματα. True ή false. Α, διπλό ίσον 2. Έτσι. Ελέγχω αν η μεταβλητή Α έχει την τιμή 2. Το αποτέλεσμα μπορεί να είναι είτε true είτε false. Α, ίσον 2. Αναθέτω την τιμή 2, βάζω μέσα στην μεταβλητή Α την τιμή 2. Οι τελεστές μας είναι γνωστοί. Έτσι. Ήψωση σε δύναμη στο Μάτλανπ είναι το σύμβολάκι αυτό. Πολαπλασιασμός στο επί. Διέρεση. Αριστερή διέρεση. Η αριστερή διέρεση α, αριστερή διέρεση του β σημαίνει ένα προς α επί β. Α στην μηονένα επί β ισχύει και στην άλλη αυρα πινάκων. Στο Μάτλανπ όλα είναι πίνακες και πιστεύω ότι αυτό θα σας χαροποιήσει ιδιαίτερα διότι για παράδειγμα κάνεις αντιστροφή πινάκων απλά με μία γραμμή. Τίποτα, ησυχία. Δεν κάνεις τίποτα άλλο. Πρόσθεση και αφαίρεση. Προτεραιότητα τελεστών. Πρώτα απ' όλα οι παρενθέσεις. Αμέσως μετά έρχονται οι δυνάμεις. Τρίτες σε σειρά προτεραιότητας είναι οι λυπές αριθμητικές πράξεις. Και βέβαια μεταξύ ισοδύναμων πράξεων ισχύει ότι η προτεραιότητα ξεκινά από αριστερά προς τα δεξιά. Τι σημαίνει αυτό? Σημαίνει ότι η προτεραιότητα των πράξεων είναι σημαντική. Για παράδειγμα, κοιτάξτε λίγο αυτό. Μίον 1 εις την 0,5 εις την μίον 1. Με παρενθέσεις. Αυτό εις ούτε με μηδέν μίον i. Είναι μηγαδικός. Ενώ, απλά βγάζω αυτή την παρένθεση. Βγάζω αυτή την παρένθεση. Τι συμβαίνει εδώ? Προτεραιότητα πλέον είναι από αριστερά. Ενώ εδώ πρώτα πρωτεραιότητα έχουν οι παρενθέσεις. Εδώ πρωτεραιότητα είναι από αριστερά. Το αποτέλεσμα είναι μίον 1. Παμία σχέση με το άλλο αποτέλεσμα. Μια παρένθεση που για μας δεν έχει καμία σχέση. Για την δική μας λογική και για τον τρόπο που εμείς επιτελούμε πράξεις δεν υφίσταται αυτή η διαφορά. Όχι όμως για τον υπολογιστή. Ξαναλέω λοιπόν ότι η προτεραιότητα των πράξεων είναι σημαντική και μεταξύ ισοδύναμων πράξεων από αριστερά προς τα δεξιά. Σας προσκαλώ να δείτε γιατί το παρένθεση μίον 1 εις την 0,5 εις την παρένθεση μίον 1 είναι 0 μιον i και γιατί το μίον 1 εις την 0,5 εις την παρένθεση μίον 1 είναι μίον 1. Διότι προφανώς εδώ αυτό φαίνεται και πιο εύκολα. Το μίον 1 εις την 0,5 πόσο κάνει είναι δύο ισοδύναμα πράγματα. Θα ξεκινήσει η πράξη από αριστερά προς τα δεξιά, σωστά. Είναι μίον 1 εις την 1 δεύτερο. Πόσο είναι αυτό? Έτσι. Εις την μίον 1. Ναι, αλλά εδώ σας έχω μπερδέψει. Δεν παρατηρείτε. Ποια είναι η πρώτη παρένθεση? Ποια είναι η μόνη παρένθεση εδώ μέσα? Αυτή. Άρα πρώτα τι θα εκτελεστεί ο ΕΟ 0,5 στην μίον 1. Σωστά. Τι είναι το 0,5 στην μίον 1. Μίον 1 στο τετράγωνο. 0,5 τσακ. Είναι μίον 1 τετράγωνο. Δεν είναι μίον 1 παρένθεση στο τετράγωνο. Έτσι. Να το γράψω γιατί ήδη μαθαίνουμε πράγματα εδώ. Προσέξτε. Μίον 1 εις την 0,5. Σωστά. Εις την μίον 1. Ποια είναι η πρώτη προτεραιότητα? Παρένθεση. Αυτό λοιπόν θα εκτελεστεί πρώτο. Που μου κάνει πόσο? 2. Άρα αυτό μεταφράζεται στο μίον 1 εις το τετράγωνο. Το οποίο πόσο κάνει? Μίον 1. Θα έκανε 1 αν ήταν έτσι. Απλά πράγματα. Εάν λοιπόν πρέπει να είμαστε προσεκτικοί σε αυτά, φανταστείτε ότι δεν είναι πιο δύσκολα τα πράγματα αργότερα. Αυτό απλά επιδεικνύει, πιστεύω, με έναν χαρακτηριστικό τρόπο, την μία και μοναδική αλήθεια. Ότι ένας υπολογιστής λειτουργεί με έναν πολύ συγκεκριμένο μηχανιστικό τρόπο και είναι ο μόνος για να μπορέσουμε να κάνουμε τη δουλειά μας. Έτσι δεν είναι. Ενώ εδώ, αυτό το αφήνω για εσάς, θα δείτε ότι το αποτέλεσμα είναι μηγαδικό. Συνεχίζουμε στο σημείο όπου αφήσαμε τα πράγματα. Άρα όντως οι παρενθέσεις παίζουν ρόλο. Εντωνήσω κάτι που στο διάλειμμα συζήτησα με κάποιους από εσάς και έδωσα απάντηση στο πολύ λογικό ερώτημα του. Μα για ποιον λόγο αυτή είναι η πράξη που λαμβάνει η χώρα πρώτη, διότι μεταξύ δύο ισοδύναμων πράξεων, δύο υψώσεων σε δύναμη, επιλέγεται η πράξη που εμπλέκει παρενθέσεις. Άρα, εάν δούμε τους κανόνες, οι κανόνες λένε, μεταξύ ισοδυνάμων πράξεων, γίνεται πρώτα η πράξη που εμπλέκει παρενθέσεις και αν δεν υπάρχει καμία άλλη διαφοροποίηση στην προτεραιότητα, είναι όλα εντάξει από αριστερά προς τα δεξιά. Το αριστερά προς τα δεξιά όμως δεν ισχύει εδώ, διότι η δεύτερη ύψωση σε δύναμη εμπλέκει παρένθεση, διότι η εκθέτηση είναι σε παρένθεση, αλλά αυτή θα υλοποιηθεί πρώτη. Προφανώς θέλει εξάσκηση αυτό και είναι μέρος της δραστηριότητας του εργαστηρίου. Από εκεί και πέρα, να θυμίσω, μάλλον να δείξω και κάτι άλλο που καθιστά τη ζωή μας ακόμα πιο ενδιαφέρουσα, βλέπετε εδώ το αποτέλεσμα της πράξης της αριστερά ευρισκόμενης για εσάς σε MATLAB και σε OCTAVE. Είναι η ίδια πράξη. Κάθε από τα αποτέλεσμα είναι 0 μίον i. Στο OCTAVE είναι 6,123 επί 10 στην μίον 17 μίον i. Ισχύει αυτό που έχουμε πει, ότι δεν υπάρχει το απόλυτο μηδέν, υπάρχουν πράγματα κοντά στο μηδέν, έτσι. Και πολλές φορές το αποτέλεσμα των πράξεων δεν είναι αυτό που νομίζουμε. Τώρα, μετά το διάλειμμα μας, θα δούμε το υπολογιστικό περιβάλλον. Ας πάμε λοιπόν στο MATLAB και στο OCTAVE. Ωπ, συγγνώμη. Τι είναι το MATLAB? Είναι γλώσσα προγραμματισμού, βεβαίως. Μεγάλη βιβλιοθήκη έτοιμο συναρτήσεων, ασφαλώς. Μας επιτρέπει αριχμητική και συμβολική διαχείριση μεταβλητών και επίλυση εξισώσεων. Θα τα δείτε τώρα και θα πείτε, μα τι έκανα εγώ στα μαθηματικά 1. Μαθαίναμε τα ουσιαστικά. Ισχυρή μοντελοποίηση, πλούσια επιλογή γραφικών παραστάσεων και πολλά πολλά άλλα. Είναι εμπορικό προϊόν με μεγάλο κόστος και γι' αυτό το λόγο δεν έχουμε τη δυνατότητα να σας το δώσουμε. Εξηγώ για ποιον λόγο σας προτείνουμε το OCTAVE. Έτσι, ενώ στη νησίδα θα δουλεύετε και με MATLAB, μιαν και το MATLAB υπάρχει επίσημα στο πανεπιστήμιο και σε κάθε υπολογιστική νησίδα. Μόνο το βασικό πακέτο έχει κόστος πάνω από 2.000 ευρώ. Το σύνολο με τις βιβλιοθήκες είναι μεταξύ 15.000 και 20.000 ευρώ. Αυτά δηλαδή που κυκλοφορούν σπασμένα, επειδή ξέρω τι γίνεται εννοείται, έχουν αυτό το κόστος. Αν το αγοράσει κάποιος σε επίπεδο εταιρείας, διότι αν το αγοράσει κάποιος σε επίπεδο προσωπικής χρήσης είναι τελείως διαφορετικά τα κόστι. Αυτό που κάνει 2.000 ευρώ για μια εταιρεία κάνει 100 ευρώ για προσωπική χρήση και κάνει γύρω στα 40 ευρώ για φοιτητές. Παρ' όλα αυτά δεν είναι μηδέν. Για αυτό το λόγο, από τις πολλές εναλλακτικές, σύλλαβ κτλ, επιλέξαμε το Octave, το οποίο είναι το πιο όρημο και συνοδεύεται και από παραθυρικό περιβάλλον εξαιρετικό. Θα δείτε τις λεπτομέρειες στο εργαστήριο, έχει ένα παραθυρικό περιβάλλον με μία μπάρα εργαλείων, το τρέχοντα κατάλογο, γραμμή εντολών, ιστορικό εντολών κτλ. Και από εκεί και πέρα όλες τις διευκολύνσεις ενός παραθυρικού περιβάλλοντος. Πραγματικά όλες τις διευκολύνσεις που μπορούμε να βρούμε εκεί. Ενώ το Octave, αυτό είναι το Octave από το δικό μου τον υπολογιστή, είναι πραγματικά όμοιο. Ξαναλέω ότι δεν έχει νόημα να δουλέψουμε με λεπτομέρειες τώρα. Συγγνώμη. Απλά να δούμε κάποιες από τις εντολές. Η εντολή DIR μας δίνει το περιεχόμενο του τρέχοντα καταλόγου. Εσείς δεν ξέρετε ότι αυτή προέρχεται από τις παλιές ωραίες ιστορικές εποχές του MS-DOS. 1986, 1987, 1988. Ο τρέχον κατάλογος, ο καθαρισμός και η αγραφή μεταβλητών, είναι πολλές, λοιπόν, εντολές οι οποίες λειτουργούν σε επίπεδο υπολογιστικού περιβάλλοντος. Και για να δούμε και πώς λειτουργεί στην πράξη. Μισό λεπτό. Καλώς έχονταν το πραγμάτο λοιπόν, θα λειτουργήσει αυτό. Ναι. Για να δούμε και μερικά παραδείγματα τα οποία ίσως κάνουν την όλη κατάσταση πιο ενδιαφέρουσα. Βέβαια, θα έχουμε ένα πρόβλημα διότι τα παραδείγματα αυτά θα είναι πολύ μικρά, γι' αυτό μπορεί να προβάλλω εκεί, στον απέναντι τείχο. Θα δούμε για παράδειγμα πώς μπορούμε να υπολογίσουμε πράγματα όπως το ημήτωνο του συνημητώνου της εφαρτωμένης του A στην P. Πράγματα λοιπόν που πολύ εύκολα υπολογίζονται σε επίπεδο MATLAB, όταν κάποια στιγμή τρέξει, διότι το τρέχω αυτή τη στιγμή σε ένα πολύ απλό λάπτοκ, το οποίο δεν έχει και ιδιαίτερες ικανότητες. Το βασικό χαρακτηριστικό είναι στο MATLAB και στο Octave, ότι όλα είναι πίνακες. Άρα όταν ορίζουμε μία μεταβλητή, την α, την γ για το MATLAB, αυτή η μεταβλητή είναι πίνακας. Εάν έχει μόνο μία τιμή ως περιεχόμενο, τότε είναι πίνακας στοιχείο, ένα εν επί ένα. Εάν είναι το περιεχόμενο της ένας κατάλογος αριθμών, τότε είναι διάνισμα. Αν είναι μία διάταξη αριθμών, τότε είναι πίνακας. Έτσι λοιπόν το 1, 2, 3, 4, 5 είναι ένα διάνισμα για το MATLAB. Όπως επίσης και το β, ίσον 1, 2, 3, 4 είναι επίσης ένα διάνισμα τύπου πίνακα όμως. Για να δούμε λεπτομέρειες με κάποια παραδείγματα. Έτσι λοιπόν αν του πούμε για παράδειγμα ότι το χ είναι, αυτά είναι τα παιδαριώδη παραδείγματα. Η απάντηση είναι 6, πολύ θεαματικό, έχεις δώσει 2.000 δολάρια για αυτό το αποτέλεσμα. Αν του πούμε ότι θέλουμε το π, εντάξει το 3,14, 15. Αν του πούμε ότι το θέλουμε με πολλά δεκαδικά, format long είναι η εντολή που γυρνά τον διακόπτη και όλα τα δεκαδικά γίνονται πολλά πλέον. Το π είναι αυτό εδώ, το 1, 4, 5, 9, 2, 6, 3, 5, 8, 9, 7 κτλ κτλ. Και αν θέλω να μου υπολογίσει το ζ, του κ, συγγνώμη, της ευαυτομένης του α στην π, τότε κάποια στιγμή, το έγραψα με κεφαλαίο, γιατί κατά λάθος πάτησα ε' στην π και εντυνέχεις έσχως δύο στην π. Παρατηρείτε λοιπόν το εξής, ότι ακριβώς επειδή τα κεφαλαία και τα μικρά παίζουν ρόλο, όταν κληκτρολόγησα με δικό μου λάθος και επειδή εγώ έφταγα την εντολή εφαπτομένη με κεφαλαία, δεν την αναγνώρισε. Από εκεί και πέρα, προσέξτε κάτι άλλο, του λέω ότι σου ορίζω μια συμβολική μεταβλητή, την χ. Άρα από εδώ και πέρα, την χ την χειρίζεσαι ως συμβολική μεταβλητή. Και θέλω να μου πεις ποιο είναι, το γράφω και θα σας εξηγήσω τι είναι αυτό. Και θέλω να μου υπολογίσεις ποιο είναι αυτό. χζχχ. Και μου απαντά, το ολοκλήρωμα που θέλεις είναι το ημήτων χ-χκζχ. Άρα ναι, υπολογίσεις όριστα ολοκληρώματα. Βλέπετε ότι υπολογίζει και ορισμένα. Αρχίζει και γίνεται πιο ενδιαφέρον, έτσι δεν είναι. Μετά αν θέλω να ορίσω ένα διάνισμα, έστω ότι θέλω ας πούμε το διάνισμα χ ίσον ή α ίσον 1 έως 10. Πολύ ωραία. Και θέλω να δω ποιο είναι το μέγεθός του, size του α. Μου απαντά μία γραμμή δεκαστήλες, ένα δέκα, έτσι. Είναι ένα επί δέκα, σωστά, μία γραμμή δεκαστήλες. Και μετά του λέω για παράδειγμα ότι θέλω το χ στο τετράγωνο. Προσθέξτε. Ποιο είναι η συμβολική μεταβλητή, την ύψω στο τετράγωνο. Εγώ όμως θέλω και το α στο τετράγωνο τώρα. Το α είναι το διάνισμά μου. Γίνεται αυτό, όχι, διότι δεν μπορώ να τετραγωνήσω κάτι που δεν είναι τετραγωνικός πίνακας. Μπορώ όμως να υψώσω, τώρα ξέρω ότι δεν το βλέπετε, αν του γράψω, πρέπει να με πιστέψετε σε αυτό, α τελεία στο τετράγωνο. Τότε του λέω ύψω σε όλα τα στοιχεία του α στο τετράγωνο. Και βέβαια, ας δημιουργήσω ένα τυχαίο πίνακα πέντε επί πέντε. Χρησιμοποιώ την εντολή MAGIC. MAGIC είναι μια εντολή που δημιουργεί έναν μαγικό πίνακα. Μαγικοί ονομάζονται οι πίνακες στον οποίον το άθρησμα γραμμών, στυλών είναι ο ίδιος αριθμός. Έχουν χρησιμοποιήσει το παρελθόν για διάφορους λόγους. Αυτός λοιπόν είναι ένας τυχαίος τετραγωνικός πίνακας πέντε επί πέντε. Και προφανώς μπορώ να του πω, επειδή αυτός είναι ο MAGIC 5, ας τον αναθέσω σε μια μεταβλητή. Εδώ που λέγαμε ο όνομα μεταβλητής ίσον το αποτέλεσμα είναι ένας πράξης. Άρα PIN ίσον MAGIC 5. Οπότε λοιπόν δημιουργώ εδώ μία και έξω μια μεταβλητή την οποία ονομάζω πώς PIN και της δίνω περιεχόμενο ποιο το αποτέλεσμα της πράξης MAGIC 5. Άρα ο PIN είναι αυτός. Και βεβαίως τώρα για όσους από εσάς έχουν δοκιμάσει να τετραγωνήσουν πίνακες, PIN στην πέντε. Ωέω. Γραμμικά συστήματα τα μασάω κάτω. Δεν υπάρχουν για εμένα. Και αυτά χωρίς να γράψω πρόγραμμα. Είναι απλά μια αντιστροφή πίνακων. Διαιρό. Όλες αυτές λοιπόν οι δυνατότητες υπάρχουν στο MATLAB. Και αυτό είναι πάλι μόνο η κορυφή του παγόβουνου. Για παράδειγμα του λέω ότι ορίζω ένα διάνυσμα, το XC, το οποίο θα παίρνει τιμές από 0, με βήμα 0,1 έως, πώς να του βάλω, 100. Το έφτιαξα. Και του λέω ότι το Z είναι ένα άλλο διάνυσμα που θα υπολογεί για κάθε ένα από αυτά τα XC τις τιμές του ζήνους. XC. Το έφτιαξα. Οπότε, λοιπόν, του λέω τώρα plot του XC, Z. Η γραφική παράσταση. Και εννοείται ότι δεν κάνουμε μόνο διδιάστατε γραφικές παραστάσεις. Δεν θέλω να σας εντυπωσιάσουμε περισσότερα πράγματα. Υπάρχουν πάρα πολύ εντυπωσιακές γραφικές παραστάσεις στον χώρο. Και το MATLAB σου δίνει τη δυνατότητα να περιστρέψεις όλη τη γραφική παράσταση, να μπεις μέσα στη γραφική παράσταση, να σκλήξεις σημείο και να διαβάσεις τη μη, να κάνεις όλα αυτά τα πράγματα. Πράγματα που σε άλλες γλώσσες προγραμματισμού απαιτούν διαφορετικές βιβλιοθήκες εξειδικευμένες σε γραφικά. Εδώ έχουμε όλες αυτές τις δυνατότητες στα χέρια μας. Για αυτό το λόγο και οι φοιτητές που έχουν μάθει να δουλεύουν σε τέτοιου είδους υπολογιστικά περιβάλλοντα, μετά εγκαταλείπουν και το Excel και οτιδήποτε άλλο. Διότι εδώ τα κάνεις όλα μαζί. Επίσης υπάρχουν κάποια άλλα πλεονεκτήματα τα οποία για εσάς τώρα δεν είναι τόσο φανερά. Όταν για παράδειγμα θέλετε να αναλύσετε με πεπερασμένα στοιχεία τον ανθρώπινο σκελετό ή ένα αυτοκίνητο, τότε θα δείτε ότι τα μητρώα, οι πίνακες δηλαδή, οι οποίοι εκφράζουν χαρακτηριστικά του προβλήματος, μπορεί να έχουν διαστάσεις στις τάξεις των 10.000 από 50.000. Μιλάμε για τέτοιου είδους πίνακες. Σκεφτείτε έναν πίνακα 10 του 50, 50 του 50. Άρα δηλαδή έχω έναν πίνακα που έχει 2,5 επί 10 στην ενάτη στιγμία. Για δοκιμάστε τώρα να τον τετραγωνίσετε αυτόν τον πίνακα ή δοκιμάστε να βρείτε την ορίζουσα αυτού του πίνακα γιατί είναι μέρος ενός συστήματος 50.000 εξισώσεων. Τέτοιου είδους προβλήματα λύνουμε. Το γεγονός ότι ξεκινούμε από τα 2 επί 2 ή 3 επί 3 δεν σημαίνει ότι ο κόσμος του μηχανικού περιορίζεται εκεί. Όχι. Το κάνουμε αυτό διότι οι αρχές που ισχύουν στον 2 επί 2, στον 5 επί 5 ή στον 10 επί 10 ισχύουν και σε μεγαλύτερες διαστάσεις. Απλά από ένα σημείο και μετά η αποτελεσματικότητα που λέμε μετράει. Πάρα πολύ. Άρα εάν πάτε να υπολογίσετε μια ορίζουσα δεν ξέρω πόσοι από εσάς το έχετε κάνει έχει τύχει να υπολογίσετε μια ορίζουσα 5 επί 5 με το χέρι. Όχι. Δεν είναι κάτι που το κάνεις σε ένα λεπτό. Για λόγους που θα μάθουμε αργότερα για λόγους που έχουν να κάνουν με την πολυπλοκότητα του αλγορίθμου υπολογισμού θα δούμε ότι ο χρόνος που απαιτείται για τον υπολογισμό μιας ορίζουσας νι επί νι είναι της τάξεως του 2 εις την νι. Άρα οι διαφορές είναι αυτές. Οπότε είναι άλλο το 2 εις την 8η από το 2 εις την 7η ή από το 2 εις την 6η. Και όταν λοιπόν έχουμε ένα σύστημα 50.000 γραμμικών εξισώσεων πολύ απλά δεν υπολογίζεται το 2 εις την 50.000 με κανέναν υπολογιστή από αυτούς που υπάρχουν αυτή τη στιγμή στο σύμπαν. Το γνωστό. Διότι απαιτείται χρόνος εκτέλεσης μεγαλύτερος από την ηλικία του σύμπαντος. Άρα εκεί πώς θα το λύσουμε το σύστημα. Προφανώς θα χρησιμοποιήσουμε άλλους τρόπους. Τι άλλο λοιπόν μπορεί κανείς να δει. Μπορεί να δει. Επίσης την δυνατότητα είπαμε του να λύνουμε συστήματα, να βρίσκουμε ορισμένα και όριστα ολοκληρώματα, να επιλύουμε εξισώσεις πάρα πολύ εύκολα. Εννοείται ότι υπάρχουν ενσωματωμένες βιβλιοθήκες αριθμητικής επίλυσης εξισώσεων υψηλού βαθμού και μπορεί βέβαια κάποιος να αναρωτηθεί αν είναι δυνατόν ένας μηχανικός να έρθει αντιμέτωπος με μια εξίσως υπέμπτου βαθμού ανέτος. Μα θα τη συναντήσω στις σπουδές μου, βεβαίως, κάποια στιγμή. Και δεν θα ήθελα να ακούσουμε τώρα εδώ μέσα επιχειρήματα του τύπου νέα, αλλά στην εφαρμογή δεν μιλούμε για το τι θα κάνουμε αφού πρωταμάθουμε να οδηγούμε. Εδώ μαθαίνουμε να οδηγούμε και μαθαίνουμε το πώς λειτουργεί το όχημα. Από εκεί και πέρα κάποιος μπορεί να κάνει απλή οδήγηση, μπορεί να κάνει αγωνιστική οδήγηση. Η οδήγηση βασίζεται σε συνδυαχμένες αρχές. Έτσι, λοιπόν, προφανώς μπορούμε να λύσουμε εξισώσεις μεγάλου βαθμού για τις οποίες, όπως τα ξέρετε, δεν υπάρχουν αναλυτικές λύσεις. Φαντάζομαι ότι θυμάστε, ίσως κάποιοι από εσάς να γνωρίζετε, ότι δεν υπάρχουν αναλυτικές λύσεις για εξισώσεις μετά από ποιον βαθμό, ξέρει κανείς. Μετά από το τέταρτο. Μέχρι και τον δεύτερο βαθμό, οι εξισώσεις λύνονταν με τρόπους που μάθαμε τα πρώτα χρόνια της ανθρωπότητας. Οι εξισώσεις τρίτου και τέτρου βαθμού λύθηκαν μετά από εξελίξεις που έλαβαν χώρα κατά τα πρώιμα χρόνια της αναγέννησης και του μεσαίωνα, τότε που ο Ταρντάλια, διαβόητος μαχαιροβγάλητης και επιλητής εξισώσεων τρίτου βαθμού, έπαιζε σε στοίχημα το ποιος θα λύσει πιο γρήγορα εξισώσεις. Παιζόταν στοιχήματα τότε, για πολύ συγκεκριμένους λόγους, διότι οι έμποροι που έκαναν μεταφορές αγαθών αντιμετώπιζαν προβλήματα που ανάγονταν σε εξισώσεις τρίτου βαθμού και ήθελαν ανθρώπους σαν το Ταρντάλια στο ελευθεριακό τους δυναμικό για να επιλύουν εξισώσεις γρηγορότερα τον ανταγωνισμό. Έτσι λοιπόν, εμείς έχουμε τέτοιους προβλήματα και θα τα αντιμετωπίσουμε. Δεν είναι αντικείμενο αυτό του μαθήματος, αναφέρομαι όμως τις δυνατότητες που έχουμε. Είναι τόσες που δεν έχει νόημα να τις αναφέρω αναλυτικά, ούτε έχω αυτή τη δυνατότητα, όμως αυτό που θέλω να αναφέρω είναι κάτι άλλο για να σας δώσω και μια διαφορετική χριά του τι σημαίνει να λύνω πρόβλημα. Μέχρι και τις αρχές του 20ου αιώνα υπήρχε η πεποίθηση ότι κάθε πρόβλημα δύναται να λυθεί. Και μάλιστα στα τέλη του 19ου αιώνα και στη χαραβγή του 20ου υπήρξε η διατύπωση της άποψης ότι κάθε πρόβλημα δίνεται να αναχθεί σε μαθηματικό πρόβλημα και κάθε μαθηματικό πρόβλημα δίνεται να λυθεί και τι σημαίνει λύση, είτε να προήψει η επίλυση, είτε να αποδειχθεί ότι δεν υφίσταται λύση. Από εκεί και πέρα όμως προέκυψαν κάποιες εξελίξεις οι οποίες επηρέασαν πάρα πολύ το χώρο των υπολογιστών. Η πρώτη εξέλιξη, προέκυψα από έναν 24χρονο τότε νεαρό μεταπτυχιακό φοιτητή τον Kurt Gödel, μέλος του κύκλου της Βιέννης έκανε παρέα με τον Φρόιτ και άλλους τέτοιους τύπους ο οποίος απέδειξε ότι δύναται κανείς να έρθει αντιμέτωπος με πολλά προβλήματα επί των οποίων να μην μπορεί να αποφανθεί ως προς το εάν έχουν λύση ή όχι. Δηλαδή ότι υπάρχουν άπειρα μη αποφάνσιμα προβλήματα. Τι σημαίνει αυτό, προβλήματα επί των οποίων ποτέ δεν θα μπορέσουμε να δούμε και να μιλήσουμε για το εάν έχουν λύση ή όχι. Αυτό μεταφράζεται και στον χώρο τον υπολογιστικό, τον δικό μας. Υπάρχει πάντοτε πιθανότητα κάποιο πρόβλημα από αυτά που θα αντιμετωπίσουμε, όχι στα πλαίσια του μαθήματος, από αυτά που θα αντιμετωπίσουμε σε επίπεδο επιστημονικό, να είναι πρόβλημα τέτοιου είδους. Από εκεί και πέρα, μετά από αυτή την τρομακτική ανακάλυψη του Γκέντελ, τα πράγματα άλλαξαν διότι διατυπώθηκαν οι πρώτες αρχές της υπολογιστικής από ανθρώπους που τώρα έγιναν γνωστοί μέσω ταινιών περισσότερο, κωδικός ενήλων κτλ. Αναφέρουμε στον Άλαν Τιούριγκ και στην μηχανή του Τιούριγκ, ο οποίος απέδειξε ότι μπορεί να φτιαχτεί μια διαδικασία η οποία να αποφαίνεται ως προς το εάν πρόβλημα το οποίο έχει λύσει, πρόβλημα το οποίο δεν είναι μία αποφάνσιμο, δίνεται να επιλυθεί ή όχι. Υπήρξαν λοιπόν τέτοιου είδους εξελίξεις, αυτά πρέπει να τα έχουμε κατά νου. Θα μου πείτε, αυτά μοιάζουν πολύ μακρινά από τις σπουδές του σκληροπυρηνικού μηχανολόγου που φαίνεται ότι εμείς ακολουθούμε. Είναι ακριβώς στο διπλανό δωμάτιο και το αν θα βρεθούμε εκεί ή όχι έχει να κάνει με τη φύση των προβλημάτων που θα αντιμετωπίσουμε. Έτσι λοιπόν, όταν για παράδειγμα στη μηχανική ρευστών αρχίσετε να αντιμετωπίζετε το πρόβλημα της ροής ρευστού γύρω από κτέρυγα και σας μιλήσουν οι συνάδελφοι εκεί για τη φύση της τύρβης και για το γεγονός πως η τύρβη είναι ένα φαινόμενο το οποίο έχει μια μαθηματική διατύπωση που δεν μπορεί να οδηγήσει σε αναλυτική επίλυση του πεδίου ταχυτήτων και πίεσης, δεν μπορείς δηλαδή να λύσεις με το χέρι εξισώσεις οι οποίες να σου δείχνουν ποια είναι η πίεση ή η θεραμοκρασία σε οποιοδήποτε σημείο ενός πεδίου, τότε θα αναρωτηθεί κανείς αν το πρόβλημα της αναλυτικής επίλυσης ανήκει στην κατηγορία αυτών των μη αποφάνσιμων προβλημάτων. Και σίγουρα αυτός είναι ένας από τους λόγους που το πρόβλημα της επίλυσης των λεγόμενων εξισώσεων ναυίων στόκς είναι ένα από τα προβλήματα του 1 εκατομμυρίου δολαρίων. Υπάρχει μια κατηγορία υπολογιστικών προβλημάτων για τα οποία δίνεται ένα βραβείο 1 εκατομμυρίου δολαρίων για οποιοδήποτε λύση, οποιοδήποτε από αυτά. Όλα αυτά λοιπόν τα συζητώ γιατί θα πρέπει να έχουμε γνώση και των περιορισμών. Εμείς όμως εδώ δεν θα ασχοληθούμε με τους περιορισμούς αυτούς, θα ασχοληθούμε με τα πράγματα που μας ενδιαφέρουν να επιλύσουμε, για αυτά είναι πάρα πολλά. Με τι λοιπόν θα ασχοληθούμε, θα ασχοληθούμε με το να αναπτύξουμε την αλγοριθμική μας σκέψη. Να μάθουμε να διαμορφώνουμε διαδικασίες επίλυσης προβλημάτων, αλγορίθμους. Θα μάθουμε να αποτυπώνουμε τους αλγορίθμους αυτούς με τη βοήθεια των κατάλληλων στοιχείων προγραμματισμού που είναι αυτές οι τρεις δομές που ανέφερα, ακολουθίας, επανάληψης και ελέγχου. Θα μάθουμε να διατυπώνουμε αυτούς τους αλγορίθμους με τη βοήθεια μιας γλώσσας προγραμματισμού εδώ σε ένα υπολογιστικό περιβάλλον όπως αυτό του MATLAB. Θα εφαρμόσουμε πάρα πολλές φορές αυτή τη διαδικασία για να λύσουμε πληθώρα προβλημάτων. Προβλήματα τα οποία προέρχονται από την περιοχή του μηχανολόγου και όχι μόνο. Και στην πορεία των σπουδών σας θα χρειαστεί να αναπτύξετε, μάλλον να εφαρμόσετε, όλη αυτή τη διαδικασία για ένα σύνολο από μαθήματα. Έτσι λοιπόν με αυτόν τον τρόπο θα μπορέσουμε να κατακτήσουμε το ελάχιστο αποδεκτό επίπεδο. Για να δούμε τι είδαμε σήμερα συνολικά. Μιλήσαμε για αλγορίθμους, μιλήσαμε για το βασικό λεξιλόγιο που χρησιμοποιούμε, μιλήσαμε για τις τρεις βασικές διαδικασίες. Ξαναλέω, ακολουθία, επανάληψη, έλεγχος. Οι τρεις διαδικασίες είναι η ιερή μας τριάδα, αν θέλετε. Αυτές πάντοτε θα υλοποιούμε, στη βάση αυτών θα δουλεύουμε και από εκεί και πέρα ασχοληθήκαμε και με κάποιες ενδιαφέρουσες λεπτομέρειες. Με την προτεραιότητα των πράξεων και είδαμε πως αυτά που νομίζουμε ότι γνωρίζουμε δεν είναι ακριβώς αυτά που ισχύουν. Και αυτό ισχύει και για αυτούς που προέρχονται από τη θετική, αν θέλετε, και όχι κατεύθυνση. Είδατε πόσα ερωτήματα ηγέρθησαν απλά και μόνο από την ύπαρξη μιας παρένθεσης. Και αναγκαστήκαμε λοιπόν να δούμε σε μεγαλύτερο βάθος και να καταλάβουμε το πόσο υπολογιστής η ειραρχή της πράξης. Ένα αυτό. Το δεύτερο που είδαμε είναι το ότι τίποτα δεν είναι ίδιο με το άλλο. Αριθμητικές ποσότητες που νομίζουμε ότι έχουν μια τιμή, έχουν μια τιμή κοντά σε αυτήν που θεωρούμε, αλλά ενδεχομένως όχι την τιμή αυτή. Άρα η τιμή μηδέν για τον υπολογιστή μπορεί να μην υφίσταται. Μια τιμή πολύ κοντά στο μηδέν μπορεί να είναι η πραγματική. Και αυτό μας δίνει ήδη από τώρα ένα μήνυμα. Ότι όταν θέλουμε να πετύχουμε να έχουμε μια ποσότητα ίση με το μηδέν, τότε καλά είναι, αντί να κάνουμε αυτού του είδους την προσέγγιση, να προσπαθούμε να τη φέρουμε κοντά στο μηδέν. Να έχουμε μια επαρκώς μικρή τιμή, τόσο μικρή ώστε να θεωρείται μηδενική. Και όχι με το μηδέν αυτό καθαυτό. Διότι το μηδέν είναι ένα σημείο στην ευθεία των άπειρων πραγματικών. Ο υπολογιστής διαχειρίζεται περιοχές τιμών με μεγαλύτερη ευχέρεια από ό,τι διαχειρίζεται τις τιμές. Υπό την έννοια πως αυτού του είδους τη διαχείριση είναι πιο κοντά στη δική μας λογική. Ρίχναμε μάλλον μια κλευτεί ματιά στο υπολογιστικό περιβάλλον, από εκεί και πέρα να σας δείξω, για όσους από εσάς δεν έχετε δει και με αυτό θα τελειώσουμε, το πού θα βρείτε όλα αυτά τα στοιχεία που αφορούν τα του μαθήματος. Υπάρχει λοιπόν το σύνολο του υλικού, και θέλω να το τονίσω αυτό, του υλικού καθώς και των πληροφοριών που αφορούν πρακτικά θέματα, στον διαδικτυακό τόπο, στην λεγόμενη ιστοσελίδα του μαθήματος. Η οποία ιστοσελίδα είναι διαθέσιμη μέσω του συστήματος Συκλάς. Άρα, επειδή το μάθημα ανήκει στα λεγόμενα ανοιχτά μαθήματα, έχετε τη δυνατότητα να μπείτε και να εγγραφείτε. Κάντε το αν δεν το έχετε κάνει άμεσα. Το μάθημα είναι η πληροφορική. Δεν υπάρχει ένα, ή δύο, ή τρία, ή τέσσερα, είναι η πληροφορική. Με το που θα εγγραφείτε θα δηλώσετε και ένα email. Θα πρέπει να είναι το mail που βλέπετε συστηματικά, καθημερινά. Για ποιον λόγο? Διότι κάθε ενημέρωση που αφορά το μάθημα, κάθε ανακοίνωση που αφορά το μάθημα, εκτός από ότι αναρτάτε στην ιστοσελίδα αυτή, αυτόματα πηγαίνει και στα δικά σας προσωπικά email. Άρα, θα ενημερώνεστε για οτιδήποτε αφορά το μάθημα με τη βοήθεια των προσωπικών σας email. Η εγγραφή σας τώρα σε ομάδες, γίνεται μέσω συνδέσμου που έχει ήδη αναρτηθεί στο e-class. Ναι, κάποια στιγμή είπαμε. Εκτός από αυτό, στο e-class θα βρίσκεται συγκεντρωμένες όλες τις δραστηριότητες κάθε εκπαιδευτική μας εβδομάδας. Αυτή λοιπόν ήταν η πρώτη εκπαιδευτική εβδομάδα, έτσι. Από εκεί και πέρα, θα βρείτε τις διαφάνειες του μαθήματος, παρακαλώ, παρακαλώ για να ακουγόμαστε, τις διαφάνειες του μαθήματος, θα βρείτε τις βιντεοδιαλέξεις που υποστηρίζουν τη συγκεκριμένη εβδομάδα, θα βρείτε το online quiz, θα βρείτε την άσκηση εργαστηρίου όταν θα ξεκινήσουμε να κάνουμε το εργαστήριο, θα βρείτε το θέμα αναρτημένο, καθώς επίσης και οποιαδήποτε άλλη πληροφορία αφορά το μάθημα.
_version_ 1782817455885778944
description σύντομη περιγραφή: Καλημέρα σε όλες και όλους, καλώς ήρθατε στο Τμήμα Μηχανολόγων Μηχανικών, αυτό το ακαδημαϊκό έτος 2014-2015. Για να έρθετε εδώ σήμερα, βάλατε ρούχα, παπούτσια, λοιπόν, παντελόνι ή οτιδήποτε άλλο, ακολουθήσατε μια σειρά ενεργειών με ένα συγκεκριμένο τρόπο, ασυνέσθητα. Δεν μπερδέψατε τα παπούτσια με το παντελόνι, διαφορετικά ξέρουμε τι συμβαίνει, αν προσπαθήσεις να βάλεις πρώτα το ένα και μετά το άλλο. Ακολουθήσατε επίσης διαδικασίες οι οποίες επαναλαμβάνονται συνεχώς, έως ότου επιτελεστεί κάποιο στόχος. Όπως, για παράδειγμα, αγοράσατε ενδεχομένως ένα εισιτήριο από το μηχάνημα αυτώματης πόλησης σε ένα λεωφορείο, βάζοντας σκέρματα έως ότου συμπληρωθεί το ποσό που απαιτείτε για την έκδοση του εισιτηρίου σας. Ενώ ταυτόχρονα επαναλαμβάνατε και άλλου είδους τέτοιες διαδικασίες και παίρνετε αποφάσεις. Ίσως σήμερα αποφασίσατε να έρθετε νωρίτερα για να συνδυάσετε κάποιες δουλειές στο δρόμο σας ή κάτι άλλο. Κάνατε λοιπόν πολύ συγκεκριμένα πράγματα, ακολουθήσατε βέλτιστες διαδικασίες, επιλύσατε προβλήματα. Από τη στιγμή που ξυπνούμε λύνουμε προβλήματα. Αυτού του είδους τα προβλήματα τα οποία είναι ενσωματωμένα στην καθημερινότητά μας για εμάς τον μηχανολόγο για τον μηχανολόγο μηχανικό είναι ένας παράδεισος. Διότι εδώ είναι που ερχόμαστε εμείς, εδώ είναι που διαχωριζόμαστε εμείς από τους υπόλοιπους. Εμείς που όπως είπα χθες με κάποιους από τους συναδέλφους σας είμαστε αυτοί που βρίσκονται πίσω από τη σκηνή. Οι πολλοί, ο καθημερινός άνθρωπος, βρίσκεται μπροστά από τη σκηνή. Εμείς είμαστε αυτοί που στείλουμε την παράσταση, φτιάχνουμε τα σκηνικά, δημιουργούμε υπηρεσίες, κατασκευάζουμε μηχανές, σχεδιάζουμε και υλοποιούμε συστήματα. Αυτά όλα λοιπόν γίνονται με τη βοήθεια όλων αυτών των διαδικασιών επίλυσης προβλημάτων και όλες αυτές οι διαδικασίες εστιάζουν σε τρεις βασικές αρχές. Επιτελώ έναν υπολογισμό συριακά, βήμα προς βήμα, το ένα μετά τον άλλο με τρόπο τέτοιο ώστε να μην μπλέκω τα βήματα. Επιτελώ μια διαδικασία επαναληπτικά έως ότου υλοποιηθεί ένα στόχο και παίρνω αποφάσεις. Αυτό που μόλις τώρα περιέγραψα είναι το περιεχόμενο του μαθήματος της πληροφορικής, το οποίο σας καλωσορίζω και έτσι θα μπορούσα να πω ότι τελειώσαμε. Δεν θα κάνουμε τίποτα άλλο καθόλου τη διάρκεια της χρονιάς από το να προσπαθούμε να δούμε πως θα σχεδιάσουμε λύσεις, αλγορίθμους, θα τις υλοποιούμε, θα τις βλέπουμε να λειτουργούν και θα αναλύουμε τον τρόπο με τον οποίο οι λύσεις συμπεριφέρονται. Διότι, ό ναι, οι λύσεις έχουν συμπεριφορά. Σας καλωσορίζω λοιπόν στην πληροφορική, είμαι ο Κώστας Καρατζάς, υπεύθυνος του μαθήματος, ο καθηγητής σας για αυτό το εξάμινο στο μάθημα της πληροφορικής και μαζί με κάποιους συνεργάτες θα είμαστε για να στηρίξουμε το σύνολο των διαδικασιών που αφορούν το μάθημα. Συνοπτικά, πράγματα που και χθες ανέφερα και είναι ήδη αναρτημένα, θα σας παρουσιάσω και πάλι γιατί σήμερα είστε όλοι εδώ. Είμαστε λοιπόν στο μάθημα της πληροφορικής, στο Τμήμα Μηχανολόγων Μηχανικών, το οποίο απευθύνεται στον πρωτοετή φοιτητή που δεν έχει πρότερη εμπειρία για να τρέξουμε αυτό το κλασικό πείραμα. Ποιοι από εσάς δεν έχουν κάνει πληροφορική στην τρίτη ηλικίου και ποιοι από εσάς έχουν κάνει πληροφορική. Όπως διαπιστώνεται διά της απλής αρχαιοελληνικής διαδικασίας της ανατάσεως της χειρός, είμαστε ένα ετερογενές σύνολο. Στόχος μας στο τέλος του εξαμίνου είναι να είμαστε ένα σύνολο ομοιογενές ως προς το ελάχιστο επίπεδο γνώσεων που πρέπει να έχουμε. Παρακαλώ να το λάβετε αυτό υπόψη σας όταν λοιπόν κάποια από εσάς θα δυσκολεύεστε και κάποια από εσάς ενδεχομένως να βαριέστε. Κάποια στιγμή θα φτάσουμε στο σημείο του να μη συμβαίνουν αυτά. Δεν θα συμβεί όμως αυτό, δεν θα το καταφέρουμε από την αρχή. Θα πρέπει να είστε διατεθειμένοι να δουλέψετε συστηματικά και με όρεξη. Γιατί έχουμε στόχους και τους στόχους αυτούς σας τους παρουσιάζω, όχι για να κάνω φιλολογική συζήτηση, διότι θέλω να τους έχετε διαρκώς στο μυαλό σας και στο τέλος της διαδικασίας αυτού του εξαμίνου να αποτιμήσετε την δουλειά που κάναμε μαζί στη βάση αυτών των στόχων. Τους πετύχαμε και σε ποιον βαθμό μπορέσαμε να πετύχουμε το να έχουμε τη δυνατότητα να αναλύουμε προβλήματα και να διαμορφώνουμε αλγορίθμους που θα τα λύνουν. Μπορέσαμε να πετύχουμε το να έχουμε τις γνώσεις που θα μας επιτρέψουν να αναπτύσσουμε δομημένα, επαναχρησιμοποιήσιμα, αποδοτικά και κατανοητά προγράμματα σε υπολογιστή. Κατανοούμε πολύπλοκα προγράμματα που έγραψαν άλλοι, διότι στο χώρο των θετικών επιστημών και των επιστημών ευρύτερα δεν ανακαλύπτουμε την πυρίτιδα, πατούμε πάνω σε ό,τι έχουν στήσει οι υπόλοιποι. Μπορούμε να εκτιμήσουμε την αποδοτικότητα της λύσης. Ή νομίζουμε ότι απλά επειδή το πρόγραμμά μας είναι σωστό αλγοριθμικά και θα τρέξει, θα παράξει αποτέλεσμα. Αν το αποτέλεσμα έρθει σε δύο χρόνια ωέω, είναι αποδοτική η λύση. Όχι, ο μηχανικός είναι αυτός που θα παράξει λύση, που θα δώσει πρόβλημα σε επεπερασμένο χρόνο με τρόπο τέτοιο ώστε το κοινωνικό σύνολο και ο εμπεμονωμένος πελάτης να χρησιμοποιήσουν την λύση αποδοτικά και επωφελία τους. Όλα τα άλλα δεν μας αφορούν. Εκεί είναι που διαχωριζόμαστε από τους υπόλοιπους. Και θα δουλέψουμε σε ένα από τα πολλά πράγματα που μπορεί κανείς να δει με τη βοήθεια της πληροφορικής, την ανάλυση δεδομένων και στη δημιουργία προσωμιώσεων. Πώς θα τα κάνουμε όλα αυτά. Τι έχουμε λοιπόν στα χέρια μας στα πλαίσια του μαθήματος. Έχουμε τις διαλέξεις κάθε Τρίτη 9 με 12 σε αυτή την αίθουσα. Και όποτε υπάρχει εκ των προτέρον ανακοίνωση εδώ στην αίθουσα και στο e-Class, στην μόνη πραγματική πηγή πληροφοριών σε σχέση με το μάθημα, τίποτε άλλο δεν ισχύει. Υσχύει ότι υπάρχει εκεί και ότι λέμε στην αίθουσα. Μόνο τότε θα βρισκόμαστε και τις Δευτέρες. Γνωρίζω όλο το πρόγραμμά σας. Άρα, δεν είναι υποχρεωτική η παρουσία σας, αλλά θα είναι πάρα πολύ χρήσιμη. Αντιθέτως, εάν δεν είσαστε εδώ, η εμπειρία δείχνει ότι θα έχετε μίζωνα ζητήματα στο τέλος του εξαμίνου. Διότι αυτό δεν είναι ένα μάθημα στο οποίο θα σας ζητήσουμε να έρθετε απλά και να εμφανιστείτε στο τέλος του εξαμίνου. Δεν σας θέλω εκεί. Εγώ σας θέλω εδώ καθημερινά να ασκήστε, να κάνετε το διανοητικό τζόκινγκ σας, έτσι ώστε στο τέλος η τελική εξέταση να είναι μια απλή επίσκεψη σε αυτό το χώρο. Χωρίς προηγούμενη προετοιμασία. Και το μάθημα έχει στηθεί ώστε έτσι να λειτουργήσει. Δεν ακολουθεί συγκεκριμένο βιβλίο. Ξεχάστε αυτά που ξέραμε όλοι και εγώ πέρασα από το Λύκειο. Η λύμμα σήμερα είναι από την παράγραφο 2 στη σελίδα 35 μέχρι την παράγραφο 1 στη σελίδα 38. Παρακαλώ, πώς είπατε, δεν υπάρχουν αυτά. Υπάρχει αναλυτικό πρόγραμμα μαθημάτων, το οποίο έχει ήδη αναρτηθεί και αναφέρει ανά εβδομάδα τι θα κάνουμε σε επίπεδο θεωρίας εργαστηρίων και ασκήσεων. Και είναι το μόνο που ισχύει. Τα εργαστήρια είναι υποχρεωτικά. Θα επιλέξετε μία από τις 10 ομάδες που έχουμε δημιουργήσει καθόλου το μήκος της εβδομάδας με εξαίρεση τη Δευτέρα. Θα δείτε αναλυτικά, online, το πρόγραμμα των ομάδων αυτών και θα πρέπει να επιλέξετε μία ομάδα συναρτήσει όλων των υπόλοιπων υποχρόσεών σας. Σχέδιο, κοπτική ραπτική, ζωγραφική, πολεμικές τέχνες, εξερεύνηση του Εβερεστ, ό,τι θέλετε κάντε. Εγώ θέλω όμως, μετά από όλα αυτά και αφού δείτε το πρόγραμμά σας, να κάνετε την επιλογή σας, διότι δεν μπορούμε να σας αλλάζουμε θέση. Είσαστε φέτος 200 πρωτοετής. Δεν υπάρχει δυνατότητα να κάνουμε οποιαδήποτε μετακίνηση. Την επιλογή αυτή θα την κάνετε με δική σας ευθύνη, ξαναλέω online και θα δηλώσω το ονοματεπώνυμο και τα στοιχεία που αναφέρονται εκεί. Εάν επίσης υπάρξουν πάνω από δύο απουσίες στο εργαστήριο, έχει και δύο δηλαδή είστε εντάξει, η νούμερο τρία απουσία από το εργαστήριο συνεπάρει από το ότι χάνετε εργαστήριο, μάθημα, εξέταση όλο το έτος για αυτό το μάθημα. Ξαναλέω, όλο το έτος για αυτό το μάθημα. Το τρίτο εργαλείο που έχουμε στη διάθεσή σας είναι βίντεο διαλέξεις. Έχουμε ήδη ετοιμάσει για κάθε ενότητα, για κάθε εβδομάδα, σύνολο από βίντεο διαλέξεις που εξηγούν τεχνικά πρακτικά θέματα της θεωρίας έτσι ώστε να είστε καλύτερα προετοιμασμένοι για τα εργαστήρια αφενός και αφετέρουν να έχετε υλικό αναφοράς όταν μετά τα εργαστήρια θα θελήσετε να ξαναδείτε ή να θυμηθείτε πράγματα που έχουμε δει στη θεωρία ή και στα εργαστήρια. Συνοδεύονται δε από ερωτήσεις πολλαπλής επιλογής που μας βοηθούν να ασκούμαστε. Είναι σαν να κάνουμε κάποια μικρή άσκηση λοιπόν διανοητικού τύπου. Προετοιμαστείτε με τη βοήθεια αυτού του υλικού πριν έρθετε στο εργαστήρια ώστε στα εργαστήρια να λυθούν τυχόν απορίες σας. Δουλεύω συστηματικά, δουλεύω συνεχώς, δεν δουλεύω εντατικά. Αυτό είναι το μήνυμα σε αυτό το μάθημα. Αυτά είναι όλα διαθέσιμα και κάθε εβδομάδα θα αναρτώνται, μάλλον θα σας γίνονται προς πελάσιμα στην ιστοσελίδα του μαθήματος. Βρίσκονται ήδη εκεί. Κάτι άλλο που είναι σημαντικό είναι τα θέματα προσεκπόνηση. Τι είναι αυτό? Έχουμε για εσάς τρία θέματα, τρεις συλλογές ασκήσεων αν θέλετε, που θα πρέπει να επιλύσετε κατά τη διάρκεια του εξαμίνου. Το πότε θα αναρτηθεί η εκθώνησή τους, πότε θα παραδοθεί το καθένα έχει ήδη ανακοινωθεί στην αναλυτική περιγραφή ανεβδομάδα του μαθήματος. Ξέρουμε την ημέρα που θα αναρτηθεί ηλεκτρονικά και την ημέρα που θα παραδώσετε ηλεκτρονικά. Η ώρα παράδοσης ορίζεται ως τα μεσάνυχτα της ημέρας παράδοσης, διότι η παράδοση γίνεται ηλεκτρονικά από την άνεση του υπολογιστή σας, σπίτι, φίλος, ίντερνετ καφέ, όπου θέλετε, στην ίμπιζα, στο χωράφι, στην παραλία. Εσείς θα παραδίδετε ηλεκτρονικά, όχι σε έντυπη μορφή και όχι μέσω email. Κανένας άλλος τρόπος παράδοσης δεν είναι αποδεκτός. Αντιθέτως, ακόμα και αν το στείλετε καθυστερημένα με email, λυπάμαι αλλά δεν θα το λάβω υπόψιμου. Οι διαδικασίες υπάρχουν για να μας βοηθούν. Επίσης, προφανώς, αν και δεν μου αρέσει καθόλου να αναφέρομαι σε τέτοια θέματα που υποβαθμίζουν την ηθική υπόσταση των φοιτητών μας που θεωρώ ότι είναι υψηλότατη, παρόλα αυτά, είμαστε όλοι άνθρωποι, όπως και εγώ έχω αντιγράψει ως αμφιτητής, έτσι θα έχετε αντιγράψει ή θα αντιγράψετε και εσείς. Συνειδητοποίησα μετά το τι συμβαίνει, ειδικά όταν πέρασα σιγά σιγά και χωρίς να το καταλάβω στη θέση που με βλέπετε τώρα. Η αντιγραφή είναι ο εχθρός του φοιτητή. Γιατί είναι αυτό που τον εμποδίζει να καταλάβει ότι μπορεί να γίνει καλύτερος. Σε κάθε περίπτωση, είμαστε μάθημα πληροφορικής, έχουμε διαδικασίες για να καταλάβουμε πώς αντιγράφεται. Οι οποίες βασίζονται σε knowledge engineering. Αλλά περισσότερα στο 5ο έτος, για όσους ενδιαφέρονται. Οι άνθρωποι και τα εργαλεία που συνοδεύουν και υποστηρίζουν αυτό το μάθημα, σε επίπεδο ανθρώπων, εκτός από εμένα, υπάρχουν κάποιοι ηρωικοί εφελοντές. Ο Νίκος Κατσιφαράκης, διπλωματούχος, μηχανολόγος, μηχανικός. Ο Βίκτορας Επιτρόπου, διπλωματούχος, ηλεκτρολόγος, μηχανικός με μετατυχιακό στην επεξεργασία εικόνας. Ο Δημήτης ο Αθανασάκης, διπλωματούχος, ηλεκτρολόγος, μηχανικός και η Μαρίνα Ηρίγκα, διπλωματούχος, πληροφορικής με μετατυχιακό στα υπολογιστικά συστήματα που συμμετέχουν στα εργαστήρια. Αυτούς θα τους βρείτε στα εργαστήρια. Θα είναι οι άνθρωποι μαζί με εμένα. Θα πετύχετε και σε κάποιο εργαστήριο και εμένα που θα σας ασκούν στα εργαστήρια. Από εκεί και πέρα, με τι περιβάλλον θα δουλέψουμε. Δουλεύουμε με MATLAB. Το MATLAB όμως είναι εμπορικό λογισμικό και γι' αυτό εμείς έχουμε ετοιμάσει Octave. Δεν το έχουμε ετοιμάσει εμείς. Το έχουμε πακετάρει έτσι ώστε να το κατεβάζετε εύκολα και απρόσκοπτα από την ιστοσελίδα του μαθήματος. Είναι το ισοδύναμο, αν θέλετε, του MATLAB, ανοιχτό λογισμικό χωρίς κόστος. Δύο θα είναι τα βιβλία που θα προτείνονται για αυτό το εξάμινο. Θα τα βρείτε στον Εύδοξο και θα τα επιλέξετε με τον τρόπο που γνωρίζετε ήδη από το πρώτο εξάμινο. Όμως, στα πλαίσια του μαθήματος αυτού, υπάρχουν πάρα πολλά ηλεκτρονικά βοηθήματα στην ιστοσελίδα του μαθήματος. Σημειώσεις από άλλους διδάσκοντες άλλων πανεπιστημίων, παραδείγματα, βίντεο. Δείτε τα για να δείτε πώς γίνεται το μάθημα και αλλού σε άλλες χώρες. Να πάρετε παραστάσεις και από εκεί. Και βέβαια οι αίσθησες είναι γνωστές, εδώ βρισκόμαστε για τη θεωρία, και στη νησίδα υπολογιστών θα βρισκόμαστε για τα εργαστήρια. Από εκεί και πέρα θα πρέπει να σας αναφέρω και τον τρόπο με τον οποίο θα βαθμολογηθείτε. Η βαθμολογία στο μάθημα προκύπτει ως ακολούθος. Δίνεται στο τέλος μια εξέταση στο εργαστήριο. Αυτό πρακτικά σημαίνει ότι με ανοιχτές σημειώσεις, βιβλία και ό,τι θέλετε, εννοείται ότι σε αυτά τα πλαίσια του μαθήματος δίνεται πάντοτε με όλα τα βοηθήματα διαθέσιμα. Πάντα. Με διαθέσιμα τα πάντα, κάθεστε στη νησίδα για μία ώρα, έτσι όπως θα είσαστε οργανωμένοι σε ομάδες και επιλύεται ένα πρόβλημα, ετοιμάζετε τον κώδικα, τον υποβάλετε και εμείς τον διορθώνουμε. Αυτό θα λάβει το 60% της τελικής βαθμολογίας. Εάν για παράδειγμα βαθμολογηθείτε με 7 σε αυτό, θα πάρετε 6,742,4,2 από αυτό το σκέλος. Από εκεί και πέρα τα τρία θέματα που θα εκπονίσετε κατά τη διάρκεια του εξαμίνου, θα συνισφέρουν στο υπόλοιπο 40% της βαθμολογίας. Αυτό σημαίνει λοιπόν ότι αν σε αυτά τα θέματα βαθμολογηθείτε κατά μέσο όρο με 8, τότε θα πάρετε και το 4,832. Άρα θα έχετε ένα άθροισμα 7,4. Θα βαθμολογηθείτε λοιπόν με 7,5 στο μάθημα αυτό. Για όσους για λόγους υγείας ή άλλους σοβαρούς δεν μπορέσουν να εκπονίσουν τα θέματα, υπάρχει εναλλακτική, θα έρθουν σε μια γραπτή εξέταση, η οποία θα υποκαταστήσει τα θέματα και θα βαθμολογηθεί με το 40%. Άρα λοιπόν η βασική εξέταση του μαθήματος είναι η εξέταση εργαστηρίου. Και όπως αντιλαμβάνεστε το σύνολο της δουλειάς γίνεται κατά τη διάρκεια του εξαμίνου. Γι' αυτό και λέω ότι αν δουλέψουμε με τον τρόπο με τον οποίο το μάθημα έχει στυθεί, τότε η τελική εξέταση εργαστηρίου θα είναι μια βόλτα απλή. Και αυτός είναι ο στόχος. Πετυχημένο μάθημα είναι αυτό το οποίο μας δίνει τη δυνατότητα να δώσουμε εξετάσεις χωρίς ανταδική προετοιμασία στο τέλος. Αυτή είναι η δική μου φιλοσοφία. Τι λέει η εμπειρία, δεν φαίνεται ίσως τόσο καλά, είναι τα προπερισσινά. Τα περισσινά δεν πρόλαβα για να είμαι ειλικρινής να τα βάλω, αλλά είναι τα ίδια περίπου. Αποτελέσματα που δείχνουν αριστερά τη βαθμολογία των θεμάτων και δεξιά τη βαθμολογία των γραπτών εξετάσεων. Βλέπουμε λοιπόν ότι η βαθμολογία των θεμάτων συγκεντρώνεται κοντά στο 8, 9, 10. Ναι, είναι αλήθεια ότι η συντριπτική πλειοψηφία των φοιτητών βαθμολογούνται υψηλά στα θέματα. Η βαθμολογία των γραπτών εξετάσεων, αντιθέτως, δεν είναι τόσο καλά τοποθετημένη όσο θα ήθελα. Αυτό, πιστεύω, από μόνο του λέει κάτι πολύ συγκεκριμένο. Θέματα. Από εκεί και πέρα. Τι άλλο υπάρχει. Παρά το γεγονός ότι φέτος έχουμε έναν πρωτόγνωρο αριθμό πρωτοετών που δημιουργεί μίζωνα λειτουργικά προβλήματα, εμείς θα επιχειρήσουμε με τη βοήθεια συμφοιτητών σας, παλαιότερων φοιτητών δηλαδή που έχουν περάσει από το μάθημα αγαπούν το αντικείμενο και θέλουν να συνησφέρουν και θα τους βρείτε και αυτούς κατά τη διάρκεια του εξαμίνου, να οργανώσουμε και κάποιες δραστηριότητες που σε προηγούμενες χρονιές τις είχαμε οργανώσει πιο συστηματικά, οι οποίες αφορούσαν μη συμβατικές να το πω έτσι δραστηριότητες που δεν εντάσσονται στις υποχρεώσεις σας στα πλαίσια του μαθήματος. Τέτοιου είδους δραστηριότητες λοιπόν οι οποίες σας κάνουν να νιώθετε διαφορετικά σίγουρα είναι ο δημιουργικός προγραμματισμός όσο βασιζόμενος σε Lego Mindstorms μια απλή προμποτική πλατφόρμα που χρησιμοποιείται σε επίπεδο δημοτικού γυμνασίου-λυκείου όπου πρακτικά ομάδες 4-5 φοιτητών εθελοντικά κάθονται, συναρμολογούν ένα όχημα δικής τους έμπνευσης το οποίο ανταγωνίζει τα άλλα οχήματα σε πίστα που έφτιαξαν συμφοιτητές σας ως προς τον χρόνο που θα χρειαστεί το όχημά τους για να διανύσει την πίστα. Οι ομάδες κρίνουν η μία την άλλη και αναδεικνύεται ο νικητής. Για ποιον λόγο γίνεται αυτό? For the fun και μόνο. Διότι τα πιο ωραία πράγματα στη ζωή είναι αυτά που δεν έχουν ηλικοί ή άλλοι ανταπόδοση. Έχουν ανταποδώσεις σε άλλου είδους επίπεδο. Κάτι άλλο που, και αυτές είναι φωτογραφίες από τα προηγούμενα χρόνια, κάτι άλλο που επίσης είχαμε οργανώσει στο παρελθόν και θα δούμε αν θα υπάρξει ενδιαφέρον από μέρους σας και δυνατότητα από μέρους μας να οργανώσουμε και φέτος, είναι κάποια εντατικά μαθήματα προγραμματισμού σε Java στο τέλος του εξαμίνου. Αυτά γίνονται συνήθως τότε που θέλετε να κάνετε διακοπές. Άρα θα πρέπει να αποφασίσετε, αντί για διακοπές, να περάσετε μια βασανιστική εβδομάδα εδώ, 7 με 8 ώρες την ημέρα, για να μάθετε Java. Αν θελήσατε να το κάνετε αυτό, τότε θα έχετε τη δυνατότητα, όπως το έκαναν συμφιτητές σας, να αναπτύξετε με τη δική μας βοήθεια και καθοδήγηση εφαρμογές για κινητά, όπως αυτή, το ThesbyBus, που αναπτύχθηκε για πλατφόρμες Android και κάποιες άλλες εφαρμογές. Αυτή είναι διαθέσιμη και στο Android Market. Και βέβαια, τίποτα δεν είναι ανέφυγτο στην πληροφορική, όλα αυτά μπορούν να συμβούν, για να συμβούν όμως, χρειαζόμαστε τη δική σας αρογή, συμμετοχή, συμπαράσταση και εργασία, πάνω από όλα. Το είπα και χθες, θα το λέω καθημερινά, ναι είναι βαρετό, αλλά είναι μια πραγματικότητα, δεν υπάρχει δωρεάν γεύμα, δεν υπάρχει δωρεάν γνώση, δεν υπάρχει τρόπος να μάθουμε χωρίς να δουλέψουμε. Και πιστεύω ότι ήδη περνώντας από τη διαδικασία των εξετάσεων αυτών, την ισοπερδοτική διαδικασία, επιτρέψτε μου να πω, το έχετε καταλάβει. Άρα λοιπόν, αυτό είναι το μάθημα της πληροφορικής, με το οποίο θα είμαστε μαζί καθόλου τη διάρκεια του έξα μήνου και βέβαια από εκεί και πέρα θα είμαστε σε θέση σιγά σιγά να οργανώσουμε τη δουλειά μας και να δούμε τον τρόπο με τον οποίο θα έρχεται η πρόοδος και η βελτίωση των δυνατοτήτων μας. Καλώς ήρθατε λοιπόν στο μάθημα αυτό και αυτό μου δίνει την δυνατότητα, μετά από λοιπόν αυτή τη σύντομη παρουσίαση να προσπαθήσω, για να δούμε, αν ο προζέκτορος θα μας βοηθήσει, ελπίζω, το σκέφτετε, θα αποφασίσει κάποια στιγμή, να πάω στις αρχικές μας διαφάνειες για αυτή τη ημέρα. Είμαστε λοιπόν, επιτρέψτε μου να πάω επάνω, στη δεύτερη συνάντησή μας, στη δεύτερη διάλεξή μας και θα ήθελα να δούμε μαζί ένα πρόβλημα, ένα πολύ απλό πρόβλημα. Ένα πρόβλημα της καθημερινότητας, διότι είπαμε ότι επιλύσαμε διάφορα προβλήματα υπολογιστικά κατά την πορεία μας από το σπίτι στη σχολή. Αυτό που δεν είπαμε είναι ότι όπως η καθημερινότητα είναι γεμάτη με υπολογιστικές διαδικασίες, όπου η πληροφορική και ο αλγοριθμικός τρόπος σκέψεις έχουν καθοριστικό ρόλο, έτσι και αυτή είναι η καθημερινότητα του φυτητή μηχανολόγου μηχανικού. Η καθημερινότητα των υπόλοιπων, σε εισαγωγικά κανονικών ανθρώπων, είναι γεμάτη με έργα του μηχανολόγου μηχανικού. Έτσι λοιπόν, από το μηχάνημα που υποστηρίζει έναν ασθενή κατά τη διάρκεια μιας επέμβασης ανοιχτής καρδιάς, την αντλία αίματος μέχρι τον τροχό του δοντιάτρου σας, και από τον ελεγκτή της συμπεριφοράς του καταλύτη σε ένα όχημα και της βελτιστοποίησης του διαγράμματος ροήσης χείος μέχρι τον τρόπο με τον οποίο ρυθμίζονται τα flaps σε ένα αεροπλάνο, όλα αυτά είναι εφικτά χάρη στον μηχανολόγο μηχανικό, όχι μόνο σε αυτόν, άρα χάρη και στον μηχανολόγο μηχανικό και χάρη και σε πολλές άλλες ειδικότητες μηχανικών και όχι μόνο. Και από εκεί και πέρα οι πληροφορικοί είναι ενσωματωμένοι σε αυτές τις διαδικασίες. Για να σας δώσω λοιπόν και ένα παράδειγμα πριν πάω σε αυτό το απλό, γιατί από εδώ ξεκινούμε για να πάμε σε αυτό που θα σας αναφέρω. Εάν θέλετε να βελτιστοποιήσετε τη συμπεριφορά του καταλήτη σε ένα όχημα, θα πρέπει να μπορείτε σε πραγματικό χρόνο και πριν καν το καυσαέριο περάσει από την είσοδο στην έξοδο, να μπορείτε να υπολογίζετε εσείς την κατάσταση στην έξοδο και με αυτόν τον τρόπο να επεμβαίνετε και να παρεμβαίνετε στην είσοδο στις ρυθμίσεις του κινητήρα σε πραγματικό χρόνο εκεί όπου τρέχει η μηχανή. Άρα, αν εκείνη τη στιγμή είμαστε στις 3.000 στροφές το λεπτό δια 60, σημαίνει ότι έχουμε 50 κινήσεις στον δευτερόλεπτο, στο 1 προς 50 του δευτερολέπτου, εμείς να προλάβουμε να αποφασίσουμε ποιο θα είναι το μείγμα βενζίνης καυσίμου, με ποιον τρόπο θα κινηθεί τα επόμενα ανανοδευτερόλεπτα και να δώσουμε τη σχετική οδηγία στον controller. Ποιος θα κάνει αυτά, όχι ο δαίμον του Μάξμπλ. Κάτι τέτοιο, ένα ενσωματωμένο, ένα embedded σύστημα, το οποίο τρέχει ένα σύνολο από υπολογιστικές διαδικασίες συνεχώς. Ποιος τη σχεδίασε, λέτε, αυτές τις υπολογιστικές διαδικασίες. Άνθρωποι όπως εσείς, που κάποτε ήταν σε τέτοιο είδους έδρανα. Μηχανολόγοι μηχανικοί, ηλεκτρολόγοι μηχανικοί, μηχανικοί υπολογιστών, συνεργάστηκαν με μηχανικούς υλικών, με μαθηματικούς, με ό,τι θέλετε. Αυτός, λοιπόν, ο καθημερινός κόσμος με τα μάτια του μηχανολόγου μηχανικού είναι τελείως διαφορετικός και σας προσκαλώ να βλέπετε την καθημερινότητα και έτσι. Να την μεθερμηνεύετε έτσι και θα δείτε ότι σιγά σιγά, είτε θέλετε είτε όχι, θα το κάνετε αυτό και θα λέτε μάνα πάρει ευχή. Δεν με είχα για τέτοιο άνθρωπο. Για να δούμε λοιπόν ένα πρακτικό πρόβλημα. Έστω ότι έχετε να βαγίσει, καθημερινό πρόβλημα είναι αυτό, μπορεί να συμβεί στον οποιοδήποτε, έχετε να βαγίσει σε ένα νησί και θέλετε να φτιάξετε μια σχεδία για να επιστρέψετε στον πολιτισμό, λέμε τώρα. Λοιπόν, το σχήμα της σχεδίας για διάφορους λόγους που δεν θα τους αναλύσουμε είναι ορθογωνικό ενάμιση επί ένα μέτρο 1,5 επί 1. Δεν έχετε τίποτα μαζί σας παρά μόνο ένα μαχαίρι, με το οποίο μπορείτε να γδέρνετε, ξέρετε και να κάνετε φλούδες δέντρο και σκοινιά και όλα αυτά τα πάρα πολύ ωραία. Οπότε λοιπόν θα πρέπει να υπολογίσετε στο περίπου τα διαγώνια δεσίματα της σχεδίας. Άρα όλο το πρόβλημα ανάμεσα στα άλλα. Άρα ένα πρόβλημα που έχετε είναι, επειδή τα υλικά είναι συγκεκριμένα, δεν έχετε πολύ σκοινή αυτού του είδους, να υπολογίσετε με ακρίβεια, έχετε και ένα μέτρο, αλλά να υπολογίσετε από το πρωτέρο ποιο θα είναι το μήκος της διαγωνίας. Τι θέλουμε λοιπόν? Θέλουμε στην πραγματικότητα να υπολογίσουμε έναν πάρα πολύ εύκολο αριθμό. Είναι 1,5 στο τετράγωνο, 3,25? Σύνολο. Θέλουμε την τετραγωνική ρέδα του 3,25. Λοιπόν, άρα αφού είναι 1, 1,5, εμείς θέλουμε αυτό το χ. 2,25. Ευχαριστώ. 3,25. Αποφασίσετε το, εγώ δεν θα το υπολογίσω εδώ. 1,5 στο τετράγωνο μας κάνει 2,25. Και ένα, 3,25 λοιπόν. Πώς υπολογίζεται αυτή η ρίζα ο αίω, χωρίς κομπιουτεράκι, σταυθμικά επιστρέφουμε στα χρόνια του δημοτικού σχολείου. Ο Ήρωνας ο Αλεξανδρέφς, μέγας μηχανικός της αρχαιότητας, είχε πει το εξής, ότι όταν θέλω να υπολογίζω μια τέτοια ποσότητα, μια τέτοια ποσότητα, η οποία να θυμίσω ότι για τους Πιθαγόριους ήταν μια σκανδαλώδης ποσότητα για λόγους θεολογικούς, τότε μπορώ να κάνω το εξής πάρα πολύ απλό. Πάρω μία αρχική τιμή, μία εκτίμηση της ποσότητας, και να πω ότι υπολογίζω συνεχώς νέες τιμές με τη βοήθεια της προηγούμενης, έως ότου καταλήξω σε μία λύση, καταλήξω σε μία σταθερή τιμή που δεν μεταβάλλεται πολύ. Και αυτό θα το γράφαμε ως εξής. Νέα τιμή ισούτε με την παλαιά τιμή, συντοχή προς την παλαιά τιμή, όλο διαδύο. Άρα λοιπόν, πρακτικά η νέα τιμή, η επόμενη τιμή στην προσέγγιση μας, έρχεται ως αποτέλεσμα υπολογισμού της προηγούμενης τιμής. Αυτό λοιπόν υποστήριξε ο Ήρανος από την Αλεξάνδρια. Και απαιδείχθη ότι είχε δίκιο υπό συνθήκες, που θα μάθετε στο μάθημα της αριθμητικής ανάλυσης. Από εκεί και πέρα, τι σημαίνει νέα τιμή και παλαιά τιμή, είναι μία διαδικασία που για κάποιους από εσάς είναι πολύ κοινή, για κάποιους από εσάς καθόλου. Τι θέλω να πω, ότι εάν για παράδειγμα, εγώ υποθέσω μία αρχική τιμή 3 και την βάλω σε αυτή τη σχέση, τότε ο αριθμός που θα βρω, να τα γράψω ανάποδα, παλαιά τιμή εδώ, νέα τιμή, πιο λογικό έτσι. Άρα, εάν ξεκινήσω με μία αρχική τιμή, την πρώτη τιμή 3, και υπολογίσω την ποσότητα, θα δω ότι βγαίνει ίση με 2 κόμμα, το σημειώνω τώρα, 0,417. Άρα, λοιπόν, κάνω μία αρχική υπόθεση για το ποια είναι η τιμή αυτού του ρυζικού. Ωραία, βάζω την υπόθεσή μου εδώ, 3 εδώ, 3 εδώ, 3,25, 2. Κάνω τον υπολογισμό, βγαίνει 2,0417. Τώρα λέω, αυτή τη νέα τιμή που υπολόγησα, την βάζω πίσω στη θέση της παλιάς. Άρα, λοιπόν, βάζω πάλι εδώ 2,047. Τώρα αυτή είναι, λοιπόν, η τιμή μου, η αρχική. Και η νέα τιμή που υπολογίζω είναι το 1,8168. Και επαναλαμβάνοντας αυτή τη διαδικασία, βάζοντας, λοιπόν, στη θέση τώρα της παλιάς τιμής αυτή που υπολόγησα, το 1,8168, καταλήγω στην επόμενη που είναι το 1,8028. Και ναι, γίνεται βαρετό. Όπως είπε και ο Πασκάλ, γι' αυτό τον λόγο θέλουμε υπολογιστικές μηχανές για να άρρουμε πάνω από την ανθρωπότητα το άχθος των υπολογισμών που δεν αρμόζουν σε ανθρώπους. Και αν βάλουμε το 1,8028 στη θέση του παλαιού, θα δούμε ότι ναι, τη νέα τιμή βγαίνει πάλι 1,8028. Οπότε θα αρχίσουν να ανάβουν λαμπάκια. Κάτι γίνεται εδώ. Φαίνεται, λοιπόν, ότι η λύση είναι το 1,8028, που όντως έτσι είναι. Τι κάναμε εδώ? Θα ήθελα, παρακαλώ, να προσπαθήσουμε μαζί να αναρωτηθούμε τι κάναμε εδώ. Αυτή η πολύ απλή διαδικασία πώς έτρεξε, προσέξτε. Προφανώς και όλοι μπορούμε να αντιληφθούμε το τι έγινε. Αλλά θα πρέπει να έχουμε στο μυαλό μας ότι θέλουμε την διαδικασία αυτή να την καταστήσουμε απόλυτα κατανοητή και υλοποιήσιμη από μία μηχανή, η οποία πρέπει να λάβει σαφείς οδηγίες από εμάς, χωρίς αμφισυμείες, οι οποίες θα οδηγούν από την αρχή στο τέλος, από το πρόβλημα στη λύση. Και θα λειτουργήσουν αυτές οι οδηγίες σαν αυτόματος πιλότος. Θα τρέχουν πάντα σε κάθε μηχανή, ανεξάρτητα από ιδιαιτερότητες. Αυτό είναι ο αλγόριθμος που περιγράφω. Και ουσιαστικά εδώ τρέξαμε έναν αλγόριθμο. Τι κάναμε λοιπόν, ξεκινήσαμε με μία αρχική υπόθεση. Έχοντας τη σχέση του Ήρονα από την Αλεξάνδρια, η οποία μας λέει ότι θα κάνεις μια αρχική τιμή, μια αρχική εκτίμηση, να το γράψω και αγγιστή, γιατί θα μας χρειαστεί και θα δείτε γιατί. Και εδώ θέλω να εξηγήσω για αυτούς οι οποίοι δεν έχουν πρότερη εμπειρία, ότι εδώ έχω μία μεταβλητή, έχω ένα κουτί που έχει ένα όνομα. Ονομάζεται γκες. Το περιεχόμενό του είναι η αριθμητική ποσότητα που μας ενδιαφέρει. Άρα λοιπόν το νέο περιεχόμενο αυτού ίδιου κουτιού είναι το παλιό, συν το χ για το παλιό και όλα διά δύο. Αυτό λοιπόν υλοποιήσαμε και μία και δύο και τρεις φορές, έως ότου συνέβη τι. Διαπιστώσαμε ότι από ένα σημείο και μετά, η τιμή που βρίσκουμε δεν μεταβάλλεται. Εκέ θα μου πείτε τώρα, είσαι σοβαρός 10 η ώρα το πρωί. Προφανώς και πρέπει να σταματήσουμε. Για εμάς προφανώς. Για τον υπολογιστή γιατί είναι προφανές. Πού είναι το προφανές. Πώς καθίσταται προφανές για κάποιον ο οποίος δεν γνωρίζει την έννοια του προφανούς. Θα πρέπει να εντάξουμε κριτήρια. Άρα λοιπόν αυτού του είδους τις διαδικασίες θα τις δούμε μαζί και πολλές άλλες. Ξεκινούμε τώρα με κάτι το οποίο έχει χαρακτήρα προθερμαντικό και ουσιαστικά σκαλίζουμε λίγο την μύτη του παγόβουνου που έχει να κάνει με τους αλγορίθμους διότι ένας αλγόριθμος είναι και η μαγειρική και θα ασχοληθούμε πάρα πολύ όχι με μαγειρική αλλά με αλγορίθμους και προφανώς ένας αλγόριθμος είναι αυτός ο οποίος μας επιτρέπει να τρέξουμε διάφορες διαδικασίες όπως όταν θέλουμε να μαγειρέψουμε θέλουμε τις πρώτες ύλες μας, θέλουμε τις μεταβλητές μας, θέλουμε διαδικασίες κόψε, ανακάτεψε, βράσε, τσιγάρισε, θέλουμε τους τελεστές μαγειρικείς, τελεστές δεν είναι, επιτελούν δράσεις. Και όπως έχουμε και διάφορες άλλες εσωτερικές διαδικασίες κάνε στη σειρά κάποια πράγματα. Δηλαδή, ναι πρώτα θα βάλεις την κατσαρόλα στη φωτιά και μετά θα βάλεις το νερό μέσα στην κατσαρόλα. Δεν έχει νόημα να βάλεις πρώτα το νερό πάνω στη φωτιά και μετά την κατσαρόλα. Για εμάς κανένα, για τον υπολογιστή. Υπάρχει κανένας που να το απαγορεύει. Δεν μπορεί κανείς πρώτα να ρίξει το νερό και μετά την κατσαρόλα. Τέτοιου είδους λάθη θα κάνετε πολλά κατά τη διάρκεια του μαθήματος, όπου θα συνειδητοποιήσετε ότι στο ισοδύναμο του προγράμματος κάνατε κάτι τέτοιο. Αλλάξατε τη σειρά των ενεργειών. Αυτήν την περίφημη σειριακή διαδικασία εκτέλεσης, την βήμα προς βήμα, την αλλάξατε. Άρα λοιπόν αυτό είναι μία διαδικασία. Μία άλλη διαδικασία που χρησιμοποιούμε ξανά στη μαγειρική είναι το κάνω κάτι έως ότου πετύχω ένα αποτέλεσμα, ανακάτευε έως ότου δέση ή κρέμα. Υπάρχει ένα κριτήριο εκεί λογικό, επανέλαβε τι, μιας την ίδια διαδικασία, έως ότου επέλθει ένα αποτέλεσμα το οποίο κρίνεται ως αληθές ή ψευδές συναρτήσεις ενός κριτηρίου σαφώς ορισμένου και από εκεί και πέρα έχουμε και διαδικασίες οι οποίες μας βοηθούν να λάβουν απόφαση. Εάν δηλαδή τσιγαρίζεις κρεμμύδια και αποκτήσουν το και χρυμπαρένιο χρώμα, τότε σημαίνει ότι έχουν σαταριστεί επαρκώς και πηγαίνεις στο επόμενο βήμα. Εάν όχι, συνέχισε να κάνεις αυτό που κάνεις. Είναι ένα σταυροδρόμιο αποφάσεο. Ξαναλέω, τέτοιου είδους δομές, αυτά που τώρα περιγράφω είναι υπολογιστικές δομές, χρησιμοποιούμε στην καθημερινότητά μας. Εμείς θα εντάξουμε αυτές τις δομές προφανώς σε μια γλώσσα, θα μιλήσουμε μετά το διάλειμμα για το αλφάδι του αυτής της γλώσσας, κάπως πρέπει να έχει γράμματα αυτή η γλώσσα, έχει μια γραμματική αυτή η γλώσσα, έχει μια σύνταξη, έχει κανόνες, οποιαδήποτε γλώσσα προγραμματισμού. Και από εκεί και πέρα θα μάθουμε πώς θα χρησιμοποιούμε αυτή τη γλώσσα για να υλοποιούμε τους αλγορίθμους που θα σχεδιάζουμε. Είχαμε αφήσει τα πράγματα σε προβλήματα μαγειρικής. Δεν είμαστε όμως σχολείοι μαγειρικοί, δεν έχουμε καμία σχέση. Εμάς μας ενδιαφέρει η βηματική διαδικασία επίλυσης ενός προβλήματος και η διερεύνηση των χαρακτηριστικών. Λοιπόν, θα μάθουμε να βρίσκουμε και χαρακτηριστικά του προβλήματος. Πράγματα που μέχρι τώρα δεν τα είχαμε δει. Αυτά είχαμε δει πριν το πρώτο μας διάλειμμα, αλλά από εδώ και πέρα θα αρχίσουμε να βλέπουμε κάποια άλλα πράγματα. Η διαφάνεια δεν έχει στόχο να σας ενημερώσει παρά μόνο επωπτικά να δώσει ένα συγκεκριμένο μήνυμα, όπως στη μαγειρική έχουμε υλικά, λαχανικά, μαγειρικά σκεύη, διαργασίες, ψιλοκόβο, ξεφλουδίζω και διαδικασίες, εντολές, βράζω έως ότου γίνει κάτι, επαναλαμβάνω και τα λοιπά, παίρνω αποφάσεις. Έτσι και στην πληροφορική έχουμε τις μεταβλητές μας. Τα υλικά μας είναι οι μεταβλητές. Είναι αυτές οι θέσεις μνήμης και τώρα ξέρω ότι αυτοί οι οποίοι προέρχεστε από θετική κατεύθυνση θα αρχίσετε να με βλέπετε λίγο παράξενα. Οι μεταβλητές τι είναι, είναι δικό μας κατασκεύασμα. Εμείς λέμε στον υπολογιστή, άκου να δεις, θέλω να μου κάνεις κράτηση μια περιοχή στη μνήμη που θα την ονομάσω αυγό και θα έχει ως περιεχόμενο αριθμητικές τιμές ή μια περιοχή που θα ονομάζεται ονοματεπώνυμο και θα έχει ως περιεχόμενο αριθμητικές τιμές το ονοματεπώνυμό μας ή μια άλλη περιοχή που θα ονομάζεται απόφαση και θα έχει ως περιεχόμενο λογικές τιμές του τύπου ναι-όχι, μηδέν-ένα, οτιδήποτε. Αυτές είναι οι μεταβλητές μας και θα δούμε πολλά περισσότερα στην πορεία. Εκτός όμως από τις μεταβλητές, θέλουμε τα πρακτικά καθημερινά εργαλεία. Θέλουμε τους τελεστές. Οι τελεστές είναι οι πράξεις και οι διαδικασίες που επιτελούν ενέργειες επί των τελεστέων, επί των μεταβλητών. Τελεστέος, αυτός που δέχεται την επίδραση του τελεστή. Τελεστής, αυτός που εκτελεί τελεστέως το υποκείμενο του τελεστή. Δεν το περίμενα στη ζωή μου ότι θα το έλεγα αυτό γιατί με την τρίτη δέσμη δεν τα πήγαινα πολύ καλά. Έχουμε επίσης διαδικασίες και εδώ πρόκειται να μιλήσουμε για τον πυρήνα κάθε αλγορίθμου. Γιατί αυτό, να κλείσω απλά για να κλητώσουμε το θόρυβο, διότι, κυρίες και κύριοι, έχει αποδειχθεί ότι σε κάθε γλώσσα προγραμματισμού Java, Python, TCLTK, Fortran, Pascal, Basic, Cobol, παλιά και νούρια, εξωτική ή όχι, χρειάζονται τρία μόνο πράγματα. Η δυνατότητα να εκτελείς σyριακά, αλληλουχικά διαδικασίες, τη μία μετά την άλλη, είναι η περίχνη δομή ακολουθίας, τελειώνει μία ενέργεια, ξεκινάει η επόμενη, απλά δική μας ευθύνη είναι να βάζουμε τις ενέργειες στη σωστή σειρά, θυμηθείτε το νερό και την κατσαρόλα. Δεύτερη διαδικασία, επαναλαμβάνω κάτι έως ότου πετύχω το στόχο μου, αυτό που έσβησα εδώ, έως ότου καταλήξω σε μια αριθμητική ποσότητα, έως ότου ξυγαριστεί το κρεμμύδι. Έχω δηλαδή έναν λογικό έλεγχο, ο οποίος αποτελεί την κατακλείδα της επαναληπτικής διαδικασίας. Εάν δεν έχω σωστό λογικό έλεγχο, εάν πάσει ο λογικός μου έλεγχος, τότε το πρόγραμμά μου μετατρέπεται σε συσήφιο μαρτύριο, μία αένα η διαδικασία που δεν τελειώνει ποτέ. Και έχω και την τρίτη δομή όπως λέμε, την δομή όπου επιλέγουμε. Εάν ισχύει αυτό, τότε κάνε έτσι. Εάν δηλαδή βάλω στον κερματοδέκτη στο μηχάνημα του λεωφορείου νόμισμα των 50 ευρώ, τότε το υπόλοιπο είναι, επειδή είναι ένα 10, η τιμή 60. Το άλλο νόμισμα των 20 ευρώ, τότε το υπόλοιπο είναι 90 και περιμένει 90. Αυτά τα τρία πράγματα χρειάζεται κάθε γλώσσα και αυτό απαιδείχθη κάποιες δεκαετίες πριν. Όλες οι γλώσσες λοιπόν αυτά τα τρία πράγματα υλοποιούν. Άρα, αν τα μάθουμε πάρα πολύ καλά σε μία γλώσσα, πολύ πιο εύκολα θα τα υλοποιήσουμε σε οποιαδήποτε άλλη. Από εκεί και πέρα εμείς θα δουλέψουμε σε MATLAB για έναν πολύ συγκεκριμένο λόγο. Άλλο θα έλεγα για δύο. Πρώτος, πρόκειται όχι απλά για μία γλώσσα αλλά για ένα υπολογιστικό περιβάλλον. Έχει δηλαδή ένα οπλοστάσιο το οποίο περιλαμβάνει γραφικά, βιβλιοθήκες εξειδικευμένες, προσομοίωση συστημάτων, δυνατότητα διαχείρισης συμβολικών μεταβλητών. Απίστευτες δυνατότητες, απίστευτο πλούτο. Και δεύτερο, είναι πάρα πολύ ευέλικτο και το πιο σημαντικό είναι ένα από τα κύρια standards πλέον στον χώρο του μηχανικού. Οι κώδικες δηλαδή υπολογιστικοί τρέχουν σε μεγάλο βαθμό σε MATLAB. Στο τμήμα μας βέβαια θα δείτε ότι πάρα πολλοί κώδικες που αναπτύσσονται, διότι αναπτύσσονται κώδικες στο τμήμα, μεγάλοι, τί σημαίνει μεγάλοι, μιλάμε για δεκάδες χιλιάδες γραμμές, εκατοντάδες χιλιάδες γραμμές, κάπου εκεί είμαστε. Είναι κυρίως σε FORTRAN, για συγκεκριμένους λόγους, και σε εσύ. Και ακόμη και τώρα τρέχουν πάρα πολλά πράγματα σε FORTRAN και σε εσύ. Δε θα έχετε κανένα πρόβλημα να μεταβείτε από τη μία γλώσσα στην άλλη, εφόσον μάθετε καλά μία οποιαδήποτε από τις γλώσσες αυτές. Εδώ λοιπόν η επιλογή μας είναι το MATLAB για τους λόγους αυτούς. Έχουμε και τις δομές μας και στο MATLAB βέβαια απλά να πω, δεν τα δείχνω αναλυτικά, γι' αυτό και τα μικρά γράμματα, ότι έχουμε και τις μεταβλητές μας και τους τελεστές μας και τις διαδικασίες, τις δομές δηλαδή, που μας ενδιαφέρουν. Για να γράψουμε λοιπόν, για να προγραμματίσουμε, θέλουμε μια γλώσσα. Η γλώσσα προγραμματισμού σημαίνει ότι έχουμε ένα αλφάβητο. Εδώ είναι τα γράμματα του αγγλικού αλφαβήτου, επιτρέψτε μου τώρα εσείς οι οποίοι τα γνωρίζετε όλα αυτά, με το που θα πάτε να πείτε, ρε αρχίζω και βαριέμαι, θα θυμάστε τα χέρια που σηκώθηκαν, εντάξει, βοηθά. Είναι λοιπόν τα γράμματα του αγγλικού αλφαβήτου, οι αριθμοί και κάποιοι ειδικοί χαρακτήρες. Προσοχή, στο MATLAB, όπως και σε αρκετές άλλες γλώσσες, είναι άλλα τα κεφαλαία και άλλα τα πεζά. Η λέξη ροπή, torque, γραμμένη με κεφαλαία, είναι άλλη μεταβλητή. Έχει άλλο περιεχόμενο από την ίδια λέξη, που τι είναι η λέξη αυτή, είναι το βαφτιστικό όνομα, ποιος έκανε τα βαφτίσια εμείς, γιατί διότι εμείς γράψαμε το πρόγραμμα. Εμείς αποφασίσαμε λοιπόν να υπάρξει μια μεταβλητή με αυτό το όνομα. Και μία δεύτερη με το ίδιο όνομα, η μία γραμμένη με κεφαλαία, η άλλη με μικρά. Ακόμη και σε ένα γράμμα να ενδιαφέρουμε μεταξύ κεφαλαίων και μικρών, είναι άλλη μεταβλητή. Η μία δηλαδή μπορεί να έχει μέσα τη τιμή χίλια και η άλλη τη τιμή μηδέν. Δεν ισχύει σε όλες τις γλώσσες, σε επίπεδο μάτυλο από αυτό ισχύει. Άρα λοιπόν, κεφαλαία, πεζά, παίζουν ρόλο. Ένα μήνυμα. Δεύτερο, έχουμε κάποιες λέξεις, εισαγωγικά το βάζω, που είναι οι εντολές. Είναι έτοιμες δηλαδή, ενέργειες που έχει στο προστάσιο της η γλώσσα. Όταν θέλουμε να βρούμε την τετραγωνική ρίζα, έχουμε το SQRT, square root. Πάρα πολλές, όλες οι εντολές προέρχονται από την αγγλική γλώσσα και γι' αυτό και έχουν νόημα στα αγγλικά. Για να υπολογίσεις το ημείτονό, είναι Ζίνους. Άντε, δεν μας άφλιασε αυτό, εννοείται. Τα ονόματα όλων των μεταβλητών, όταν εμείς θα βαφτίζουμε μεταβλητές, πρέπει να ξεκινούν με γράμμα, κανόνας. Δεν μπορεί να ξεκινά όνομα μεταβλητής, με οτιδήποτε άλλο δεν είναι γράμμα, δεν είναι νόμιμο όνομα. Όπως νόμιμο, νοείται οτιδήποτε ακολουθεί τους νόμους και κανόνες της γλώσσας. Άρα σε MATLAB, όλες οι μεταβλητές ξεκινούν με γράμμα. Άρα, η μεταβλητή Κώστας είναι νόμιμη, η μεταβλητή 1 Κώστας δεν είναι νόμιμη. Και μπορούν μέσα τους να περιλαμβάνουν γράμματα, αριθμούς και κάτω Παύλος. Κάτω Παύλος σημαίνει αυτή τη μικρή οριζόντιο. Όχι άλλες μεταβλητές, δεν μπορώ να έχω ένα όνομα μεταβλητής, το οποίο έχει μέσα του το ad, που χρησιμοποιούμε στα e-mail. Δεν θα γίνει δεκτό σε MATLAB. Τώρα υπάρχουν άλλοι περιορισμοί. Τα πάντα είναι ορισμένα σε μια γλώσσα. Όπως για παράδειγμα, το ποιο είναι το μέγιστο μήκος της μεταβλητής σε χαρακτήρες. Μπορώ δηλαδή εγώ να δώσω ένα όνομα που είναι σε μήκος με 250 χαρακτήρες. Όχι. Ποιο είναι το μήκος, έχω μια εντολή που μου το λέει. Name length max. Το τρέχω, αν δεν το θυμάμαι και μου το λέει. Επίσης στο MATLAB υπάρχει κάτι άλλο, θα τα ανακαλύπτουμε σιγά σιγά. Έχουμε στα χέρια μας ένα πανίσχυρο help, ένα πανίσχυρο οδηγό στο περιβάλλον. Δηλαδή δεν ξέρω πώς συντάσσεται μια εντολή. Help, η αγγλική λέξη, καινο, το όνομα της εντολής. Και μου βγάζει στα αγγλικά βέβαια τα πάντα. Είναι αυτή η εντολή και συντάσσεται έτσι και έτσι και έτσι και να παραδείγματα και να και αναφορές. Είναι ένα εγχειρίδιο χρήσεις ζωντανό. Το ίδιο και σε οκτέιβ, εννοείται, έτσι. Μη επιτρεπτά ονόματα, υπάρχουν ονόματα που δεν είναι επιτρεπτά για ποιο λόγο, διότι είναι λέξεις εντολών και θα μπερδευτεί. Αν θέλουμε να δούμε ποια είναι η λίστα, ποιος είναι ο κατάλογος όλων των ονομάτων που δεν επιτρέπεται, που αν τα δώσουμε, αν βαφτίσουμε μια μεταβλητή με αυτό το όνομα, τότε θα έχουμε πρόβλημα γιατί θα μπερδευτεί. Δεν θα ξέρει αν εννοούμε τη μεταβλητή ή την εντολή που έχει το ίδιο όνομα. Η εντολή είναι η is keyword. Την τρέχεις και σου βγάζει τη λίστα με όλα τα στοιχεία, όλες τις λέξεις κλειδιά. Και βέβαια υπάρχουν και πολλές άλλες εδώ, αναφέρω κάποιες πρώτες, γιατί ξέρω ότι πολλές και πολλοί από εσάς θα πάτε στο σπίτι, οπουδήποτε αλλού, και θα πείτε ρε να πάρει ευχή, δεν κατεβάζω αυτό το κτέιβ. Και δεν αρχίζω να παίζω λίγο, τι να παίξω, τι μου είπε αυτός η is keyword, να δω πώς είναι, τι κάνει. Και θα δούμε και στη τρίτη ώρα και κάποια απλά πράγματα που ελπίζω ότι θα ερεθήσουν το ενδιαφέρον σας και θα σας κάνουν πραγματικά να βάλετε τα χέρια σας στον πληκτρολόγιο, είτε το έχετε ξανακάνει, είτε όχι. Αυτά λοιπόν είναι τα πολύ βασικά, όχι τα πάντα, μην τρελαθούμε, τα πολύ βασικά. Για να δούμε λοιπόν τι υπάρχει η διαθέσιμο, είπαμε, γράμματα, κεφαλαία μικρά, αριθμοί και ειδικοί χαρακτήρες. Σε κάθε βιβλίο, MATLAB και online επίσης, θα βρείτε στοιχεία για τους ειδικούς χαρακτήρες. Έτσι τώρα, για να δούμε πάλι το ίδιο μας πρόβλημα. Και για να προσπαθήσουμε να το γράψουμε πλέον με έναν τρόπο που θα είναι πιο κοντά σε αυτούς που γνωρίζουν, θα θυμίζει ψευδογλώσσα, στους υπόλοιπους θα θυμίζει κάτι σαν τηλεγραφική αναφορά σε διαδικασίες. Προσέξτε λίγο πώς θα μπορούσα, δεν είναι ο μόνος, υπάρχουν πολλοί τρόποι να λύσει κανείς ένα πρόβλημα, αλλά αυτός ο τρόπος που εγώ έχω σημειώσει είναι ο εξής. Έχουμε λοιπόν έναν αλγόριθμο, ο οποίος έχει ένα όνομα. Τον ονομάζω εγώ τετραγωνική ρίζα, έχω τα δεδομένα μου. Ποια είναι τα δεδομένα, ποια είναι τα στοιχεία που μπαίνουν μέσα στον αλγόριθμο. Είναι αυτός ο αριθμός χ, του οποίου ψάχνουν τετραγωνική ρίζα και μπέρδεψαν αρκετούς, αλλά τίμι χ και αρχική γ. Αυτή δηλαδή που θεωρώ εγώ αρχικά ότι είναι η λύση. Όπου δηλαδή γ, θα το γράψω από εδώ, εμείς πιστεύουμε ότι το γ είναι το ριζα χ. Ξεκινούμε. Αρχή λοιπόν. Θα μου πείτε πρέπει να πω στον υπολογιστήριο ότι ξεκινούμε. Βεβαίως. Δεν είναι αυτονόητο. Γιατί να είναι. Για σκεφτείτε το λίγο. Είναι για εμάς αυτονόητο. Για ένα κονσερβοκούτη διότι η εφυεία κονσερβοκούτη. Ποιο έχει αυτή η μηχανή. Γιατί να είναι. Οδηγίες εκτελεί. Αρχή. Του λέμε λοιπόν ότι αρχικά, άκου να δεις το συγκεκριμένο παράδειγμα, το χ είναι 3,25. Και ότι η αρχική εκτίμηση, ας την ονομάσω εγώ Άρεδο ή Γκές, είναι 3. 3,0. Τότε, ποιες είναι οι ενέργειες που πρέπει να επιτελέσει αυτό το μηχάνημα. Το οποιοδήποτε μηχάνημα. Αυτή τη στιγμή πρέπει να σας πω ότι είμαστε πάρα πολύ τυχεροί. Διότι έχουμε σε επίπεδο smartphone την υπολογιστική ισχύ, που πριν από 20 χρόνια αγοράζατε οριακά με ένα ποσότης τάξεως των 20.000 ευρώ. Εκεί βρίσκεται η τεχνολογία αυτή τη στιγμή. Διότι ισχύ ποιος, ο νόμος του ΜΟΥΡ. Θα το ψάξετε όσοι θέλετε κι όσες και θα το συζητήσουμε μετά για την εξέλιξη τέτοιων τεχνολογίας. Νόμος του ΜΟΥΡ. Οπότε, λοιπόν, έχουμε τεράστια υπολογιστική ισχύ κι άρα αυτού του είδους το παιχνίδι είναι πραγματικά κάτι πολύ μικρό για οποιοδήποτε υπολογιστή. Έχουμε σε smartphone, έχουμε σε ρολόι, έχουμε σε έξυπνο αναπτύρα, έχουμε στο πλυντήριο πιάτων μας, έχουμε στην καφετιέρα μας, υπάρχουν υπολογιστές παντού. Αν, λοιπόν, αν ισχύει ότι τ, γ' ίσον με γ' τετράγωνο ίσον με χ, τότε τι έχει συμβεί? Βρήκα λύση. Ας γράψω εδώ λύση για να συντομεύσω. Αν ισχύει αυτό, αλλιώς, και πηγαίνω τώρα από εδώ, αλλιώς, τι θα κάνω, θα πω γ' η νέα τιμή της μεταβλητής γ' και εδώ θα σταθώ λίγο, ίσο με γ' συγχύ προς γ' και όλο διαδύο. Εδώ τώρα, πάλι για αυτούς οι οποίοι ειδικά προέρχονται από τη θετική, βλέπουν δεξιά και αριστερά ενός ίσον το ίδιο πράγμα, μια γ'. Και λένε, εντάξει ο Καρατζάς δεν είναι έτσι τα πράγματα. Αυτό που συμβαίνει σε έναν υπολογιστή και είναι πολύ απλό αλλά θέλει την προσοχή του είναι το εξής. Τι είπαμε ότι είναι η γ'? Επιτρέψτε μου να κάνουμε ένα απλό πείραμα. Η κυρία εδώ με τα γελά είναι η γ' και είναι η νέα τιμή. Και να θυπαθένεις όταν κάθασες εμπροστά. Και ο κύριος εδώ είναι η παλαιά τιμή. Άρα λοιπόν, είναι η αρχική τιμή. Είναι δυνατόν να είστε διαφορετικοί για τον υπολογιστή. Αυτό που κάνω τώρα είναι σωστό, είναι λογικό, προσέξτε. Η γ' είναι ένα πράγμα, μια μεταβλητή. Είναι δηλαδή μια περιοχή στη μνήμη που μπορεί μάλιστα και να παίζει. Απλά το έχουμε πει, άκου να δεις αγαπητό κονσερβοκούτι. Έχεις την ευθύνη να διαχειριστείς μια μεταβλητή που ονομάζεται γ'. Άρα είναι πρώτα απ' όλα ένα πράγμα, είστε εσείς κυρία μου η γ'. Μόνο ένα πράγμα, το περιεχόμενό σας, η τιμή που κουβαλάτε είναι διαφορετική. Αρχικά έχετε την τιμή 3, σωστά. Γίνεται αυτός ο έλεγχος. Είναι το τετράγωνό σας ίσο με 3,25. Όχι. Αυτό δεν το κάνετε εσείς. Ο υπολογιστής βουτά την μεταβλητή, βλέπει το περιεχόμενο, παίρνει την τιμή, την πηγαίνει για επεξεργασία, κάνει τον τετραγωνισμό, κάνει τον έλεγχο μεταξύ του 3,25 και του ίγκαις τετράγωνο, είναι αυτά ταυτόσημα. Όχι. Ποια είναι η επόμενη οδηγία? Αλλιώς η νέα σου τιμή είναι αυτή που είχες, συν 3,25 δια αυτή που είχες και όλο δια δύο. Τώρα πλέον κουβαλάς μια νέα τιμή. Οπότε, λοιπόν, πάλι θα πρέπει να γίνει ένας τέτοιος έλεγχος. Σωστά. Αν τώρα το τετράγωνο της νέας σου τιμής είναι ίσο με το 3,25, τη βρήκαμε τη λύση. Είναι η νέας σου τιμή. Εάν όμως πάλι δεν το βρήκαμε. Οπότε, αν βγες λοιπόν τετράγωνο ίσον με χ λύση. Αλλιώς επανάληψη. Αλλιώς η νέα τιμή θα είναι η προηγούμενη κτλ. Έως ότου τι συμβεί, έως ότου αυτά τα δύο τα φτιστούν. Εδώ έχουμε ένα μίζων πρόβλημα, κυρίες και κύριοι, το οποίο είναι ταυτόχρονα και χαριτωμένο, επιτρέψτε μου να πω. Ποιο είναι αυτό? Ό,τι ζητούμε από τον υπολογιστή μας να ελέγξει την ισότητα δύο ποσοτήτων. Του 3,25 και του και στο τετράγωνο. Σωστά. Για όλους και για όλους εσάς όμως, είναι γνωστό ότι όταν έχουμε να κάνουμε με δεκαδικούς αριθμούς, το να πέσουμε ακριβώς, το να συμπίπτουμε αυτά τα δύο, τι σημαίνει? Σημαίνει ότι σε βάθος εκεί όπου χάνεται η πληροφορία στο βάθος των δεκαδικών, πηγαίνουμε στο δέκατο, 20, 30, 100, 50, 200 κτλ. θα πρέπει αυτές οι ποσότητες να είναι ίσες. Υπάρχει λοιπόν μεγάλη πιθανότητα, αυτές οι ποσότητες να μην είναι ίσες ποτέ, έτσι δεν είναι. Πέραν το ότι θα μάθουμε πως ακριβώς επειδή ένας υπολογιστής αποτυπώνει τους αριθμούς στο διαδικό σύστημα, υπάρχουν αριθμοί που είναι απόλυτα ορισμένοι, άρα πως τους λέμε αυτούς ρητοί στο σύνολο των πραγματικών αριθμών, όπως το 0,1 που είναι ένας ρητός αριθμός, είναι το 1-10, αυτό σημαίνει ρητός. Ρητός σημαίνει ορίζεται ως κλάσμα με γνωστό αριθμητή και παρονομαστή, που όταν μετατραπεί σε διαδικό σύστημα, μεταφράζεται σε έναν διαδικό με άπειρα δεκαδικά ψηφία. Ωραίο, ε? Άρα πρακτικά δεν μπορείς ποτέ να προσεγγίσεις απόλυτα το 0,1 με τη βοήθεια ενός υπολογιστή. Και τι έγινε, καταστράφηκε ο κόσμος? Όχι, λειτουργούμε με προσεγγίσεις. Δηλαδή εμάς δεν μας ενδιαφέρει είναι ταυτόσιμο, εμάς μας ενδιαφέρει τι να το μεταφράσουμε σε κάτι που ο υπολογιστής θα καταλάβει. Μια λοιπόν ιδέα, και το λέω γιατί κάποιοι από εσάς το ξέρετε, κάποιοι όχι, άρα, δι' αυτό δεν θα ρωτήσω, εδώ, είναι το να πούμε ότι όταν δύο πράγματα θέλουμε να είναι πολύ κοντά, υπάρχουν πολλοί τρόποι και να το κρίνουμε. Ένας πολύ απλός τρόπος είναι να δούμε αν η διαφορά τους είναι μικρή. Έτσι δεν είναι. Άρα λοιπόν, αυτή ως εδώ ο έλεγχος ισότητας, μεταφράζεται στο γ' τετράγωνο μίον χί μικρότερο από κάτι. Επιτρέψτε μου να το γράψω πραγματικά έτσι. Κάτι. Και αυτό το κάτι εκφράζει την διαφορά αυτών των δύο ποσοτήτων που για μας καθιστά τις δύο αυτές ποσότητες ίσες. Πρακτικά, δηλαδή, το ερώτημα μεταφράζεται στο εξής. Με ποια διαφορά μεταξύ του γ' τετράγωνο και του χί εμείς είμαστε ευχαριστημένοι και θεωρούμε ότι αυτά τα δύο είναι ίσα. Μα απέχουν ένα δέκατο, ένα εκατοστό, ένα χιλιοστό, ένα προς δέκα χιλιάδες. Η απάντηση είναι ότι δεν είναι trivial, ελληνιστή, δηλαδή δεν είναι στοιχειώδες, αλλά εξαρτάται από τη φύση του προβλήματος. Εδώ επιστρέφει τώρα, τώρα μπαίνει το κριτήριο του μηχανικού. Εμείς τι θέλουμε να λύσουμε, το πρόβλημα του πόσο μήκος τέχει το διαγώνιο στήριγμα αυτής της αναθαματισμένης της σχεδίας για να δραπετεύσουμε από το νησί. Ε, με τι ακρίβεια μπορεί να κόψει το μαχαίρι μας. Θεωρούμε ότι το μαχαίρι μας μπορεί να κόψει και να μετρήσουμε και να κόψουμε με ακρίβεια μεγαλύτεροι του χιλιοστού. Όχι. Άρα χιλιοστό πρέπει να είναι εδώ η διαφορά. Διαφορετικά έχει νόημα. Αν δηλαδή ερχόταν ένας, ας πούμε, επισκέπτης με έναν υπολογιστή και μας έλεγε άκου να δεις δεν θα σε βοηθήσω καθόλου, αλλά έχω έναν υπολογιστή για να τρέξει στον αργόριθμο υπολογισμού του διαγώνιου στήριγματός σου. Εμείς τι θα του ζητούσαμε? Αυτό το κάτι να είναι ας πούμε δέκα ή στιγμίων τρίτη του μέτρου. Έτσι δεν είναι. Εάν όμως εδώ είχαμε πολύ μεγάλη ακρίβεια στα χέρια μας, όταν για παράδειγμα πάτε να κάνετε μηχανολογικό σχέδιο τώρα πλέον και αρχίσετε και κάνετε ανοχές και συνειδητοποιείτε εκεί θα σας τα πούν οι συνάδελφοι ότι υπάρχουν μεγέφη στη μηχανολογία που δεν πρέπει να απέχουν περισσότερο από κάτι μικρά του μέτρου. Το μικρό του μέτρου είναι το χιλιοστό του χιλιοστού. Σωστό. Άρα εκεί θα πρέπει η διαφορά να είναι δέκα στιγμίων έκτη. Όμως σε κάθε περίπτωση το κριτήριο που καθιστά αυτές τις δύο ποσότητες ίσες είναι αυτή η διαφορά. Και βέβαια ο προσεκτικός παρατηρητής εδώ ίσως πει ότι κοίταξε να δεις αυτή η διαφορά μπορεί να είναι θετική ή αρνητική. Για αυτό έχω τις απόλυτες τιμές. Και ησυχάζω. Αυτό λοιπόν μπορεί να αποτελέσει μια διαδικασία. Βλέπετε ότι ξεκινώ. Η πολογιστική είναι αλλαγόριθμος λοιπόν. Τρέχει ομαλά. Μπορεί να γίνει κατανοητό από κάθε μηχανή. Έτσι δεν είναι. Και να οδηγήσει με ασφάλεια σε ένα αποτέλεσμα. Ερώτημα. Πέρας από το παλιό όσπου συζητήκαμε να κάνουμε μία επιβόλωση σε στιγμιές, γιατί δεν συμβιούμε πάλι όπως τα αριστερά μας να κάνουμε. Γιατί βιάζομαι να το γράψω. Όχι, όχι. Δεν ομολογώ ότι δεν δίνω μεγάλη σημασία σε αυτό, έτσι. Παρακαλώ. Είναι μία επαναληπτική πρακτικά διαδικασία. Μάλλον είναι ένας αλλαγόριθμος ο οποίος μας δίνει τη δυνατότητα να υπολογίζουμε τετραγωνικές ρίζες αριθμών με μία προσεγγιστική επαναληπτική διαδικασία, που δεν συνίσταται στο ότι κάνουμε μία αρχική εκτίμηση αυθαίρετη της ρίζας του αριθμού που θέλουμε να υπολογίσουμε και διορθώνουμε αυτή την αρχική μας εκτίμηση με τη βοήθεια της σχέσης του ήρωνα. Το γράψαμε σε μία πολύ απλή γλώσσα που δεν είναι ούτε ψευδογλώσσα ούτε καθημερινή. Μπορεί να παρουσιαστεί χωρίς να εγείρει άλλου είδους απορίες. Θα το γράψουμε σε γλώσσα προγραμματισμού στην πραγματικότητα. Φυσικά. Μπορούμε να κάνουμε πολλά πράγματα εδώ. Εγώ ήθελα απλά να σας μεταφέρω τη φιλοσοφία. Τώρα, θα δούμε υλοποίηση. Διότι είπαμε ότι ο αλλαγόριθμος αποτελείται από υπολογιστικά δήματα που επαναλαμβάνονται. Και αυτές είναι, εδώ 2 ήταν η αρχική μου εκτίμηση και όχι 3. Παρεπιπτώντος, πώς υπολογίζεται το ρήζα 2 από έναν υπολογιστή τσέπης. Υπολογίζεται έτσι. Το ρήζα 2 υπολογίζεται στη βάση των επέρειων λογαρύθμων. Και σας δείχνω επειδή αναρωτιόσασταν πράγματα. Να και ένα τμήμα κώδικα. Δεν είναι το τμήμα κώδικα και για αυτούς οι οποίοι δεν έχουν ξαναδει κάτι τέτοιο θα εξηγήσω. Ούτε είναι κάτι που δεν θα το ξαναδούμε. Το παρουσιάζω απλά για να δώσω μια συνέχεια σε ό,τι συζητήσαμε. Διότι ήξερα ότι θα γερθούν ερωτήσεις του τύπου νέα αλλά πώς εκφράζεται σε γλώσσα προγραμματισμού. Εδώ πρώτα απ' όλα πρέπει να εξηγήσω την πρώτη γραμμή. Άπαξη και εξηγήσω την πρώτη γραμμή, τα υπόλοιπα είναι πιο όμαλα. Εάν τί, βλέπετε αυτή την παρένθεση, οτιδήποτε υπάρχει την κρατώ εδώ. Αυτό εδώ είναι το όρισμα όπως το λέμε, είναι δηλαδή το περιεχόμενο του if. Ελέγχεται ως προς το εάν είναι αληθές ή ψευδές. Άρα, ό,τι έχω εγώ μέσα στο όρισμα του if, μπορεί να είναι μια απλή μεταβλητή που μπορεί να είναι true ή false, αληθής ή ψευδής. Μπορεί να είναι ένα σύνολο από πολύ πλοκές πράξεις. Στο τέλος θα ελεγχθεί ως προς το εάν είναι αληθές ή ψευδές. Τι λέει εδώ μέσα, abs, απόλυτη τιμή. Αυτό το σύνολο σημαίνει το τετράγωνο μιον χ. Άρα, εδώ μέσα τι έχω, το ges τετράγωνο μιον χ. Σωστά, το abs είναι η απόλυτη τιμή. Άρα, τι υπολογίζει την απόλυτη τιμή της διαφοράς του ges τετράγωνο μιον χ. Και αυτή την απόλυτη τιμή την συγκρίνει μικρότερο, το αναγνωρίζουμε το σύνολο, αυτού που δεν αναγνωρίζουμε εδώ, 1ε-4, είναι ένας τρόπος γραφής, το συναντάμε και σε κάποιους οικολογιστές τσέπης, ο λεγόμενος επιστημονικός τρόπος γραφής των αριθμών. Ξέρει κανείς πόση είναι αυτή η ποσότητα? Είναι 10σ-4, εδώ. Άρα, πρακτικά, εδώ του λέμε, άκου να δεις, πάρε την απόλυτη τιμή του ges τετράγωνο μιον χ. Είναι ένας θετικός αριθμός, σίγκρινε την με το 10σ-4. Ισχύει το μικρότερο, τότε αν ισχύει, η σύγκριση τι είναι? True ή false, αληθής ή ψευδής. Είναι αληθής. Άρα το περιεχόμενο του ορίσματος, αυτό δεν κρατούσα εγώ. Πρέσ' εσείς, μην το αφήνετε να πέσει, το κρατάμε, είναι το πολύτιμο όρισμά μας. Νάτο, το περιεχόμενο του ορίσματος μου, του if, είναι true. Εάν το περιεχόμενο του ορίσματος είναι true, τότε θα πάμε στην επόμενη εντολή. Μας άνοιξε την πόρτα εισόδου στο περιεχόμενο του if. Εάν είναι false, τότε δεν θα πάμε στο περιεχόμενο του if, θα πάμε στο τέλος του if. Εάν λοιπόν αυτό είναι true, then guess. Παρακαλού, θα πείτε. Βεβαίως, then guess, δηλαδή του λέμε guess. Αυτός τι θα πει, τι μου λένε μετά, guess. Έλα guess, φράπ, τι περιεχόμενο έχεις, να το. Αυτό είναι λοιπόν αυτό που ψάχνω. Και stop, για να σταματήσω. Θα δούμε πότε μπαίνει, πότε δεν μπαίνει, λεπτομέρειες. Δεν κάνουμε τώρα λεπτομέρειες στη σύνταξη. Διαφορετικά, εδώ που δεν ισχύει, δεν είναι true το περιεχόμενο, πάμε μετά από το else. Διαφορετικά, το νέο περιεχόμενο της guess είναι αυτό το παλιό, όπως υπολογίζετε. Αυτό που υπολογίζετε, συγγνώμη, στη βάση του παλιού. Τέλος, θα μου πείτε, ναι, κι άμα... Και εδώ που είναι ο έλεγχος του επόμενου βήματος. Δεν τον έχω γράψει, προφανώς είναι μητελές, έτσι. Αλλά ήθελα να σας δείξω πώς μοιάζει γραμμένο σε μια πραγματική γλώσσα προγραμματισμού και να ρωτήσω, να εισπράξω ουσιαστικά αντιδράσεις. Δηλαδή, πόσο εξωτικό σας φαίνεται αυτό. Και περισσότερο, θέλω να μιλήσουν οι άνθρωποι που αισθάνονται ότι, ναι, εγώ δεν έχω πρότερη εμπειρία και σχέση, δεν είναι κακό, δεν σημαίνει ότι δεν ξέρω, μάλλον, δεν σημαίνει ότι δεν είμαι ικανός ή ικανή να μάθω, σημαίνει ότι εκείνο από ένα σημείο μη γνώσεις. Κάποιοι ξέρουν να οδηγούν, κάποιοι όχι. Πάντως, πρέπει να πω ότι κανένας δεν γεννιέται γνωρίζοντας την οδηγή. Έμφυτο ταλέντο στη μουσική έχουμε ακούσει, στα μαθηματικά έχουμε ακούσει. Έμφυτο ταλέντο στο ποδήλατο, ας πούμε, εγώ δεν έχω ακούσει κανέναν ο οποίος ανέβηκε πρώτη φορά στη ζωή του σε ποδήλατο και δεν έπεσε. Άρα, και αυτό δεν είναι κακό, πρέπει να είμαστε έτοιμοι να πέσουμε. Θα πέσουμε μια, δυο, τρεις, θα μάθουμε, θα πάμε παρακάτω. Το ότι θα πέφτουμε εμείς στην αρχή ενώ οι άλλοι δεν ξέρουν ποδήλατο, δεν σημαίνει ότι δεν μπορούμε να γίνουμε καλύτεροι ποδήλατες. Έτσι δεν είναι. Το έχουμε δει. Άρα, πώς σας φαίνεται, ξαναλέω, ξαναεξηγώ, γιατί θεωρώ ότι είναι σημαντικό να δούμε έτσι αυτή τη λογική. Είναι προώρο, αλλά θέλω να αρχίσουμε να σκεφτόμαστε έτσι. Έχω λοιπόν μια διαδικασία ελέγχου όπως θα τη μάθουμε αργότερα. Έτσι λέγεται. Έχει αυτό το ίφ. Εάν. Το εάν έχει ένα όρισμα το οποίο ελέγχεται πάντοτε ως προς το εάν είναι. Το περιεχόμενο του λοιπόν του εάν το λέμε όρισμα. Το περιεχόμενο κάθε εντολής το λέμε όρισμα. Ελέγχεται ως προς το εάν είναι αληθές ή ψευδές. Είναι μια πράξη. Κάνω την πράξη, εδώ η πράξη είναι μια σύγκριση μεταξύ αυτής της ποσότητας, της αριστερής ποσότητας από το μικρότερο και της δεξιάς ποσότητας. Οπότε δύο δρόμους έχει μόνο η ζωή εδώ. Είτε θα είναι true η σύγκριση θα ισχύει ή θα είναι false δεν θα ισχύει. Έχω όμως και παραλλαγή για όσους στοιχών έχουν διάθεση για ποιο έτσι χορευτικές καταστάσεις. Δηλαδή εδώ κάνω μια σύγκριση με διαφορετικό τρόπο. Πάλι είναι απλά αγγλικά. Αντί του if εάν χρησιμοποιώ μια άλλη, επιτρέψτε μου τη λέξη φράση, λέξη είναι εντολή, την while, τι σημαίνει το while αγγλιστή, όσο, όσο τι, όσο η απόλυτο στιγμή αυτή είναι μεγαλύτερη από το 10 στιγμή ο τετάρτη, τότε τι σημαίνει ότι δεν έχω βρει λύση. Άρα ξανακάντε και ξανακάντε. Το κάνω ανάποδα. Ωραίο δεν είναι. Δηλαδή μια φορά του λέω εάν είσαι μικρότερος ή μικρότερη από την τιμή που θέλω να συγκρίνω, τότε βρήκα λύση, ουφ γλίτωσα. Αλλά έχει και άλλη διαδικασία. Όσο είσαι μεγαλύτερος σημαίνει ότι δεν είσαι μικρότερος. Όσο είσαι μεγαλύτερος υπολόγησε νέα τιμήγκες συναρτήση της παλαιάς. Οπότε, λοιπόν, έτσι τρέχει και με αυτό τον τρόπο βλέπετε παρεπιπτόντως ότι αυτό δεν χρειάζεται τίποτα άλλο. Κάθε φορά κάνει τι μέσα στο while, τι έχουμε, να το πιάσουμε πάλι προσεκτικά γιατί θα πέσει, τσακ, το όρισμά μας. Είναι ένα όρισμα το οποίο ελέγχεται έως πως αν είναι true ή false. Είναι true, θα συνεχίσει παρακάτω. Είναι false, θα πάει μετά από όλο το while. Εάν είναι true σημαίνει ότι δεν βρήκα ακόμη λύση, σωστά. Άρα, θα υπολογήσει νέα εγκέστηση βάση της παλιάς. Μετά θα ξαναπάει πίσω διότι είναι δέσμιο του εαυτού του το while. Δεν μπορεί να ξεφύγει από την ημαρμένη. Και η ημαρμένη του while είναι να γίνει το περιεχόμενο του ορίσματος true, ώστε επιτέλους να λυτρωθεί από την επανάληψη και να πάει παρακάτω. Αυτή λοιπόν η διαδικασία γίνεται μέσα σε αυτές τις γραμμές. Παρατηρήσεις. Θα τα μάθουμε και μετά. Θέλω λίγο την προσοχή σας, θα κάνουμε διάλειμμα και πάλι βέβαια. Όταν χρησιμοποιούμε στο τέλος κάθε εντολής το ελληνικό ερωτηματικό, που είναι ένα σύμβολο απλό, τότε γλιτώνουμε το να εμφανίζεται το αποτέλεσμα κάθε εντολής στην οθόνη. Και αυτό είναι πάρα πολύ σημαντικό, ειδικά όταν τρέχουμε εντολές οι οποίες επαναλαμβάνονται πάρα πολλές φορές. Δεν γεμίζει η οθόνη με κατεβατά αποτελεσμάτων. Οπότε το προτείνω ανεπιφύλακτα. Και κάποια στιγμή θα το καταστήσω και υποχρεωτικό στα θέματα. Θα σας το λέω σαν πρόταση. Φτάρω έτσι σιγά σιγά. Ερώτημα. Στο τέλος κάθε εντολής να υπάρχει το ελληνικό ερωτηματικό. Αυτό καταπιέζει την έξοδο, να το πούμε έτσι. Επίσης, είναι πάρα πολύ σημαντικό το να εισάγουμε σχόλια στο πρόγραμμά μας. Τα σχόλια στο πρόγραμμά μας βοηθούν στο να θυμόμαστε τι έχουμε κάνει. Στο MATLAB μπορούμε να εισάγουμε σχόλια βάζοντας το σύμβολο επί της 100 στην αρχή. Δηλαδή, οτιδήποτε γράψουμε μετά το σύμβολο του επί της 100, δεν λαμβάνεται υπόψη από τον υπολογιστή. Οπότε λοιπόν εκεί μέσα μπορώ να γράψω το Αυτό το πρόγραμμα το έγραψα όταν ήμουν σε κατάσταση απίστευτου hangover. Δεν θυμάμαι τίποτα και άρα η μεταβολική γκέση είναι αυτή. Ώστε όταν θα συνέλθω και θα ξαναδιαβάσω το πρόγραμμα, θα θυμηθώ τι έκανα τότε. Επίσης, είπα και το επαναλαμβάνω τώρα πριν το διάλειμμα, γιατί θέλω να κλείσω με αυτό το μήνυμα για εσάς, ότι η μεταβλητή είναι ένα δοχείο. Το όνομά της είναι κάτι που εμείς αποφασίσαμε. Το περιεχόμενό της είναι το σημαντικό. Οι μεταβλητές εκφράζουν νόμιμα ονόματα, αντιστοιχούν σε θέσεις μνήμης και φιλοξενούν δεδομένα συγκεκριμένου τύπου αναμεταβλητή. Άρα δεν μπορώ μέσα σε μια μεταβλητή να έχω ταυτόχρονα και αριθμητικά και κατηγορικά. Μια μεταβλητή θα έχει αριθμητικό περιεχόμενο, μια άλλη θα έχει χαρακτήρα, μια τρίτη θα έχει λογικό και πάει λέγοντας. Το να αποφασίσουμε εξ αρχής το πλήθος και το είδος των μεταβλητών μας είναι πολύ σημαντικό και έχει να κάνει με την εμπειρία μας. Και θα το μάθουμε στην πορεία. Και δώστε σε αυτές περιγραφικά και ουσιαστικά ονόματα. Πρώτος άγνωστος, δεύτερος άγνωστος για παράδειγμα. Ήδη το όνομα λέει κάτι. Γιατί έχω συναντήσει και ονόματα μεταβλητών του τύπου βλακία 1, βλακία 2, βλακία 3. Ναι, εκείνη τη στιγμή εκτονώνουμε το θυμικό μας, αλλά μετά δεν θα θυμόμαστε ποια βλακία ήταν αυτή, που παίρνει την τιμή που θέλουμε εμείς να αλλάξουμε. Αναθέσεις τιμών. Η ανάθεση τιμών γίνεται βάζοντας το όνομα της μεταβλητής. Ναι, είναι στοιχειώδες. Ελπίζω αυτοί που έφυγαν να τα ξέρουν αυτά, γιατί στην τρίτη ώρα θα κάνουμε άλλα πράγματα που δεν ξέρουν. Βάζουμε λοιπόν αριστερά του ίσον το όνομα της μεταβλητής και δεξιά την τιμή. Το απλό ίσον είναι ανάθεση. Το διπλό ίσον δεν είναι ανάθεση, θα το δούμε μετά. Είναι έλεγχος. Το διπλό ίσον σημαίνει έλεγχος ισότητας. Το αποτέλεσμα του διπλού ίσον είναι είτε true είτε false. Είναι μια πράξη το διπλό ίσον. Είναι λογικός έλεγχος ισότητας. Και μπορεί να έχει μόνο δύο αποτελέσματα. True ή false. Α, διπλό ίσον 2. Έτσι. Ελέγχω αν η μεταβλητή Α έχει την τιμή 2. Το αποτέλεσμα μπορεί να είναι είτε true είτε false. Α, ίσον 2. Αναθέτω την τιμή 2, βάζω μέσα στην μεταβλητή Α την τιμή 2. Οι τελεστές μας είναι γνωστοί. Έτσι. Ήψωση σε δύναμη στο Μάτλανπ είναι το σύμβολάκι αυτό. Πολαπλασιασμός στο επί. Διέρεση. Αριστερή διέρεση. Η αριστερή διέρεση α, αριστερή διέρεση του β σημαίνει ένα προς α επί β. Α στην μηονένα επί β ισχύει και στην άλλη αυρα πινάκων. Στο Μάτλανπ όλα είναι πίνακες και πιστεύω ότι αυτό θα σας χαροποιήσει ιδιαίτερα διότι για παράδειγμα κάνεις αντιστροφή πινάκων απλά με μία γραμμή. Τίποτα, ησυχία. Δεν κάνεις τίποτα άλλο. Πρόσθεση και αφαίρεση. Προτεραιότητα τελεστών. Πρώτα απ' όλα οι παρενθέσεις. Αμέσως μετά έρχονται οι δυνάμεις. Τρίτες σε σειρά προτεραιότητας είναι οι λυπές αριθμητικές πράξεις. Και βέβαια μεταξύ ισοδύναμων πράξεων ισχύει ότι η προτεραιότητα ξεκινά από αριστερά προς τα δεξιά. Τι σημαίνει αυτό? Σημαίνει ότι η προτεραιότητα των πράξεων είναι σημαντική. Για παράδειγμα, κοιτάξτε λίγο αυτό. Μίον 1 εις την 0,5 εις την μίον 1. Με παρενθέσεις. Αυτό εις ούτε με μηδέν μίον i. Είναι μηγαδικός. Ενώ, απλά βγάζω αυτή την παρένθεση. Βγάζω αυτή την παρένθεση. Τι συμβαίνει εδώ? Προτεραιότητα πλέον είναι από αριστερά. Ενώ εδώ πρώτα πρωτεραιότητα έχουν οι παρενθέσεις. Εδώ πρωτεραιότητα είναι από αριστερά. Το αποτέλεσμα είναι μίον 1. Παμία σχέση με το άλλο αποτέλεσμα. Μια παρένθεση που για μας δεν έχει καμία σχέση. Για την δική μας λογική και για τον τρόπο που εμείς επιτελούμε πράξεις δεν υφίσταται αυτή η διαφορά. Όχι όμως για τον υπολογιστή. Ξαναλέω λοιπόν ότι η προτεραιότητα των πράξεων είναι σημαντική και μεταξύ ισοδύναμων πράξεων από αριστερά προς τα δεξιά. Σας προσκαλώ να δείτε γιατί το παρένθεση μίον 1 εις την 0,5 εις την παρένθεση μίον 1 είναι 0 μιον i και γιατί το μίον 1 εις την 0,5 εις την παρένθεση μίον 1 είναι μίον 1. Διότι προφανώς εδώ αυτό φαίνεται και πιο εύκολα. Το μίον 1 εις την 0,5 πόσο κάνει είναι δύο ισοδύναμα πράγματα. Θα ξεκινήσει η πράξη από αριστερά προς τα δεξιά, σωστά. Είναι μίον 1 εις την 1 δεύτερο. Πόσο είναι αυτό? Έτσι. Εις την μίον 1. Ναι, αλλά εδώ σας έχω μπερδέψει. Δεν παρατηρείτε. Ποια είναι η πρώτη παρένθεση? Ποια είναι η μόνη παρένθεση εδώ μέσα? Αυτή. Άρα πρώτα τι θα εκτελεστεί ο ΕΟ 0,5 στην μίον 1. Σωστά. Τι είναι το 0,5 στην μίον 1. Μίον 1 στο τετράγωνο. 0,5 τσακ. Είναι μίον 1 τετράγωνο. Δεν είναι μίον 1 παρένθεση στο τετράγωνο. Έτσι. Να το γράψω γιατί ήδη μαθαίνουμε πράγματα εδώ. Προσέξτε. Μίον 1 εις την 0,5. Σωστά. Εις την μίον 1. Ποια είναι η πρώτη προτεραιότητα? Παρένθεση. Αυτό λοιπόν θα εκτελεστεί πρώτο. Που μου κάνει πόσο? 2. Άρα αυτό μεταφράζεται στο μίον 1 εις το τετράγωνο. Το οποίο πόσο κάνει? Μίον 1. Θα έκανε 1 αν ήταν έτσι. Απλά πράγματα. Εάν λοιπόν πρέπει να είμαστε προσεκτικοί σε αυτά, φανταστείτε ότι δεν είναι πιο δύσκολα τα πράγματα αργότερα. Αυτό απλά επιδεικνύει, πιστεύω, με έναν χαρακτηριστικό τρόπο, την μία και μοναδική αλήθεια. Ότι ένας υπολογιστής λειτουργεί με έναν πολύ συγκεκριμένο μηχανιστικό τρόπο και είναι ο μόνος για να μπορέσουμε να κάνουμε τη δουλειά μας. Έτσι δεν είναι. Ενώ εδώ, αυτό το αφήνω για εσάς, θα δείτε ότι το αποτέλεσμα είναι μηγαδικό. Συνεχίζουμε στο σημείο όπου αφήσαμε τα πράγματα. Άρα όντως οι παρενθέσεις παίζουν ρόλο. Εντωνήσω κάτι που στο διάλειμμα συζήτησα με κάποιους από εσάς και έδωσα απάντηση στο πολύ λογικό ερώτημα του. Μα για ποιον λόγο αυτή είναι η πράξη που λαμβάνει η χώρα πρώτη, διότι μεταξύ δύο ισοδύναμων πράξεων, δύο υψώσεων σε δύναμη, επιλέγεται η πράξη που εμπλέκει παρενθέσεις. Άρα, εάν δούμε τους κανόνες, οι κανόνες λένε, μεταξύ ισοδυνάμων πράξεων, γίνεται πρώτα η πράξη που εμπλέκει παρενθέσεις και αν δεν υπάρχει καμία άλλη διαφοροποίηση στην προτεραιότητα, είναι όλα εντάξει από αριστερά προς τα δεξιά. Το αριστερά προς τα δεξιά όμως δεν ισχύει εδώ, διότι η δεύτερη ύψωση σε δύναμη εμπλέκει παρένθεση, διότι η εκθέτηση είναι σε παρένθεση, αλλά αυτή θα υλοποιηθεί πρώτη. Προφανώς θέλει εξάσκηση αυτό και είναι μέρος της δραστηριότητας του εργαστηρίου. Από εκεί και πέρα, να θυμίσω, μάλλον να δείξω και κάτι άλλο που καθιστά τη ζωή μας ακόμα πιο ενδιαφέρουσα, βλέπετε εδώ το αποτέλεσμα της πράξης της αριστερά ευρισκόμενης για εσάς σε MATLAB και σε OCTAVE. Είναι η ίδια πράξη. Κάθε από τα αποτέλεσμα είναι 0 μίον i. Στο OCTAVE είναι 6,123 επί 10 στην μίον 17 μίον i. Ισχύει αυτό που έχουμε πει, ότι δεν υπάρχει το απόλυτο μηδέν, υπάρχουν πράγματα κοντά στο μηδέν, έτσι. Και πολλές φορές το αποτέλεσμα των πράξεων δεν είναι αυτό που νομίζουμε. Τώρα, μετά το διάλειμμα μας, θα δούμε το υπολογιστικό περιβάλλον. Ας πάμε λοιπόν στο MATLAB και στο OCTAVE. Ωπ, συγγνώμη. Τι είναι το MATLAB? Είναι γλώσσα προγραμματισμού, βεβαίως. Μεγάλη βιβλιοθήκη έτοιμο συναρτήσεων, ασφαλώς. Μας επιτρέπει αριχμητική και συμβολική διαχείριση μεταβλητών και επίλυση εξισώσεων. Θα τα δείτε τώρα και θα πείτε, μα τι έκανα εγώ στα μαθηματικά 1. Μαθαίναμε τα ουσιαστικά. Ισχυρή μοντελοποίηση, πλούσια επιλογή γραφικών παραστάσεων και πολλά πολλά άλλα. Είναι εμπορικό προϊόν με μεγάλο κόστος και γι' αυτό το λόγο δεν έχουμε τη δυνατότητα να σας το δώσουμε. Εξηγώ για ποιον λόγο σας προτείνουμε το OCTAVE. Έτσι, ενώ στη νησίδα θα δουλεύετε και με MATLAB, μιαν και το MATLAB υπάρχει επίσημα στο πανεπιστήμιο και σε κάθε υπολογιστική νησίδα. Μόνο το βασικό πακέτο έχει κόστος πάνω από 2.000 ευρώ. Το σύνολο με τις βιβλιοθήκες είναι μεταξύ 15.000 και 20.000 ευρώ. Αυτά δηλαδή που κυκλοφορούν σπασμένα, επειδή ξέρω τι γίνεται εννοείται, έχουν αυτό το κόστος. Αν το αγοράσει κάποιος σε επίπεδο εταιρείας, διότι αν το αγοράσει κάποιος σε επίπεδο προσωπικής χρήσης είναι τελείως διαφορετικά τα κόστι. Αυτό που κάνει 2.000 ευρώ για μια εταιρεία κάνει 100 ευρώ για προσωπική χρήση και κάνει γύρω στα 40 ευρώ για φοιτητές. Παρ' όλα αυτά δεν είναι μηδέν. Για αυτό το λόγο, από τις πολλές εναλλακτικές, σύλλαβ κτλ, επιλέξαμε το Octave, το οποίο είναι το πιο όρημο και συνοδεύεται και από παραθυρικό περιβάλλον εξαιρετικό. Θα δείτε τις λεπτομέρειες στο εργαστήριο, έχει ένα παραθυρικό περιβάλλον με μία μπάρα εργαλείων, το τρέχοντα κατάλογο, γραμμή εντολών, ιστορικό εντολών κτλ. Και από εκεί και πέρα όλες τις διευκολύνσεις ενός παραθυρικού περιβάλλοντος. Πραγματικά όλες τις διευκολύνσεις που μπορούμε να βρούμε εκεί. Ενώ το Octave, αυτό είναι το Octave από το δικό μου τον υπολογιστή, είναι πραγματικά όμοιο. Ξαναλέω ότι δεν έχει νόημα να δουλέψουμε με λεπτομέρειες τώρα. Συγγνώμη. Απλά να δούμε κάποιες από τις εντολές. Η εντολή DIR μας δίνει το περιεχόμενο του τρέχοντα καταλόγου. Εσείς δεν ξέρετε ότι αυτή προέρχεται από τις παλιές ωραίες ιστορικές εποχές του MS-DOS. 1986, 1987, 1988. Ο τρέχον κατάλογος, ο καθαρισμός και η αγραφή μεταβλητών, είναι πολλές, λοιπόν, εντολές οι οποίες λειτουργούν σε επίπεδο υπολογιστικού περιβάλλοντος. Και για να δούμε και πώς λειτουργεί στην πράξη. Μισό λεπτό. Καλώς έχονταν το πραγμάτο λοιπόν, θα λειτουργήσει αυτό. Ναι. Για να δούμε και μερικά παραδείγματα τα οποία ίσως κάνουν την όλη κατάσταση πιο ενδιαφέρουσα. Βέβαια, θα έχουμε ένα πρόβλημα διότι τα παραδείγματα αυτά θα είναι πολύ μικρά, γι' αυτό μπορεί να προβάλλω εκεί, στον απέναντι τείχο. Θα δούμε για παράδειγμα πώς μπορούμε να υπολογίσουμε πράγματα όπως το ημήτωνο του συνημητώνου της εφαρτωμένης του A στην P. Πράγματα λοιπόν που πολύ εύκολα υπολογίζονται σε επίπεδο MATLAB, όταν κάποια στιγμή τρέξει, διότι το τρέχω αυτή τη στιγμή σε ένα πολύ απλό λάπτοκ, το οποίο δεν έχει και ιδιαίτερες ικανότητες. Το βασικό χαρακτηριστικό είναι στο MATLAB και στο Octave, ότι όλα είναι πίνακες. Άρα όταν ορίζουμε μία μεταβλητή, την α, την γ για το MATLAB, αυτή η μεταβλητή είναι πίνακας. Εάν έχει μόνο μία τιμή ως περιεχόμενο, τότε είναι πίνακας στοιχείο, ένα εν επί ένα. Εάν είναι το περιεχόμενο της ένας κατάλογος αριθμών, τότε είναι διάνισμα. Αν είναι μία διάταξη αριθμών, τότε είναι πίνακας. Έτσι λοιπόν το 1, 2, 3, 4, 5 είναι ένα διάνισμα για το MATLAB. Όπως επίσης και το β, ίσον 1, 2, 3, 4 είναι επίσης ένα διάνισμα τύπου πίνακα όμως. Για να δούμε λεπτομέρειες με κάποια παραδείγματα. Έτσι λοιπόν αν του πούμε για παράδειγμα ότι το χ είναι, αυτά είναι τα παιδαριώδη παραδείγματα. Η απάντηση είναι 6, πολύ θεαματικό, έχεις δώσει 2.000 δολάρια για αυτό το αποτέλεσμα. Αν του πούμε ότι θέλουμε το π, εντάξει το 3,14, 15. Αν του πούμε ότι το θέλουμε με πολλά δεκαδικά, format long είναι η εντολή που γυρνά τον διακόπτη και όλα τα δεκαδικά γίνονται πολλά πλέον. Το π είναι αυτό εδώ, το 1, 4, 5, 9, 2, 6, 3, 5, 8, 9, 7 κτλ κτλ. Και αν θέλω να μου υπολογίσει το ζ, του κ, συγγνώμη, της ευαυτομένης του α στην π, τότε κάποια στιγμή, το έγραψα με κεφαλαίο, γιατί κατά λάθος πάτησα ε' στην π και εντυνέχεις έσχως δύο στην π. Παρατηρείτε λοιπόν το εξής, ότι ακριβώς επειδή τα κεφαλαία και τα μικρά παίζουν ρόλο, όταν κληκτρολόγησα με δικό μου λάθος και επειδή εγώ έφταγα την εντολή εφαπτομένη με κεφαλαία, δεν την αναγνώρισε. Από εκεί και πέρα, προσέξτε κάτι άλλο, του λέω ότι σου ορίζω μια συμβολική μεταβλητή, την χ. Άρα από εδώ και πέρα, την χ την χειρίζεσαι ως συμβολική μεταβλητή. Και θέλω να μου πεις ποιο είναι, το γράφω και θα σας εξηγήσω τι είναι αυτό. Και θέλω να μου υπολογίσεις ποιο είναι αυτό. χζχχ. Και μου απαντά, το ολοκλήρωμα που θέλεις είναι το ημήτων χ-χκζχ. Άρα ναι, υπολογίσεις όριστα ολοκληρώματα. Βλέπετε ότι υπολογίζει και ορισμένα. Αρχίζει και γίνεται πιο ενδιαφέρον, έτσι δεν είναι. Μετά αν θέλω να ορίσω ένα διάνισμα, έστω ότι θέλω ας πούμε το διάνισμα χ ίσον ή α ίσον 1 έως 10. Πολύ ωραία. Και θέλω να δω ποιο είναι το μέγεθός του, size του α. Μου απαντά μία γραμμή δεκαστήλες, ένα δέκα, έτσι. Είναι ένα επί δέκα, σωστά, μία γραμμή δεκαστήλες. Και μετά του λέω για παράδειγμα ότι θέλω το χ στο τετράγωνο. Προσθέξτε. Ποιο είναι η συμβολική μεταβλητή, την ύψω στο τετράγωνο. Εγώ όμως θέλω και το α στο τετράγωνο τώρα. Το α είναι το διάνισμά μου. Γίνεται αυτό, όχι, διότι δεν μπορώ να τετραγωνήσω κάτι που δεν είναι τετραγωνικός πίνακας. Μπορώ όμως να υψώσω, τώρα ξέρω ότι δεν το βλέπετε, αν του γράψω, πρέπει να με πιστέψετε σε αυτό, α τελεία στο τετράγωνο. Τότε του λέω ύψω σε όλα τα στοιχεία του α στο τετράγωνο. Και βέβαια, ας δημιουργήσω ένα τυχαίο πίνακα πέντε επί πέντε. Χρησιμοποιώ την εντολή MAGIC. MAGIC είναι μια εντολή που δημιουργεί έναν μαγικό πίνακα. Μαγικοί ονομάζονται οι πίνακες στον οποίον το άθρησμα γραμμών, στυλών είναι ο ίδιος αριθμός. Έχουν χρησιμοποιήσει το παρελθόν για διάφορους λόγους. Αυτός λοιπόν είναι ένας τυχαίος τετραγωνικός πίνακας πέντε επί πέντε. Και προφανώς μπορώ να του πω, επειδή αυτός είναι ο MAGIC 5, ας τον αναθέσω σε μια μεταβλητή. Εδώ που λέγαμε ο όνομα μεταβλητής ίσον το αποτέλεσμα είναι ένας πράξης. Άρα PIN ίσον MAGIC 5. Οπότε λοιπόν δημιουργώ εδώ μία και έξω μια μεταβλητή την οποία ονομάζω πώς PIN και της δίνω περιεχόμενο ποιο το αποτέλεσμα της πράξης MAGIC 5. Άρα ο PIN είναι αυτός. Και βεβαίως τώρα για όσους από εσάς έχουν δοκιμάσει να τετραγωνήσουν πίνακες, PIN στην πέντε. Ωέω. Γραμμικά συστήματα τα μασάω κάτω. Δεν υπάρχουν για εμένα. Και αυτά χωρίς να γράψω πρόγραμμα. Είναι απλά μια αντιστροφή πίνακων. Διαιρό. Όλες αυτές λοιπόν οι δυνατότητες υπάρχουν στο MATLAB. Και αυτό είναι πάλι μόνο η κορυφή του παγόβουνου. Για παράδειγμα του λέω ότι ορίζω ένα διάνυσμα, το XC, το οποίο θα παίρνει τιμές από 0, με βήμα 0,1 έως, πώς να του βάλω, 100. Το έφτιαξα. Και του λέω ότι το Z είναι ένα άλλο διάνυσμα που θα υπολογεί για κάθε ένα από αυτά τα XC τις τιμές του ζήνους. XC. Το έφτιαξα. Οπότε, λοιπόν, του λέω τώρα plot του XC, Z. Η γραφική παράσταση. Και εννοείται ότι δεν κάνουμε μόνο διδιάστατε γραφικές παραστάσεις. Δεν θέλω να σας εντυπωσιάσουμε περισσότερα πράγματα. Υπάρχουν πάρα πολύ εντυπωσιακές γραφικές παραστάσεις στον χώρο. Και το MATLAB σου δίνει τη δυνατότητα να περιστρέψεις όλη τη γραφική παράσταση, να μπεις μέσα στη γραφική παράσταση, να σκλήξεις σημείο και να διαβάσεις τη μη, να κάνεις όλα αυτά τα πράγματα. Πράγματα που σε άλλες γλώσσες προγραμματισμού απαιτούν διαφορετικές βιβλιοθήκες εξειδικευμένες σε γραφικά. Εδώ έχουμε όλες αυτές τις δυνατότητες στα χέρια μας. Για αυτό το λόγο και οι φοιτητές που έχουν μάθει να δουλεύουν σε τέτοιου είδους υπολογιστικά περιβάλλοντα, μετά εγκαταλείπουν και το Excel και οτιδήποτε άλλο. Διότι εδώ τα κάνεις όλα μαζί. Επίσης υπάρχουν κάποια άλλα πλεονεκτήματα τα οποία για εσάς τώρα δεν είναι τόσο φανερά. Όταν για παράδειγμα θέλετε να αναλύσετε με πεπερασμένα στοιχεία τον ανθρώπινο σκελετό ή ένα αυτοκίνητο, τότε θα δείτε ότι τα μητρώα, οι πίνακες δηλαδή, οι οποίοι εκφράζουν χαρακτηριστικά του προβλήματος, μπορεί να έχουν διαστάσεις στις τάξεις των 10.000 από 50.000. Μιλάμε για τέτοιου είδους πίνακες. Σκεφτείτε έναν πίνακα 10 του 50, 50 του 50. Άρα δηλαδή έχω έναν πίνακα που έχει 2,5 επί 10 στην ενάτη στιγμία. Για δοκιμάστε τώρα να τον τετραγωνίσετε αυτόν τον πίνακα ή δοκιμάστε να βρείτε την ορίζουσα αυτού του πίνακα γιατί είναι μέρος ενός συστήματος 50.000 εξισώσεων. Τέτοιου είδους προβλήματα λύνουμε. Το γεγονός ότι ξεκινούμε από τα 2 επί 2 ή 3 επί 3 δεν σημαίνει ότι ο κόσμος του μηχανικού περιορίζεται εκεί. Όχι. Το κάνουμε αυτό διότι οι αρχές που ισχύουν στον 2 επί 2, στον 5 επί 5 ή στον 10 επί 10 ισχύουν και σε μεγαλύτερες διαστάσεις. Απλά από ένα σημείο και μετά η αποτελεσματικότητα που λέμε μετράει. Πάρα πολύ. Άρα εάν πάτε να υπολογίσετε μια ορίζουσα δεν ξέρω πόσοι από εσάς το έχετε κάνει έχει τύχει να υπολογίσετε μια ορίζουσα 5 επί 5 με το χέρι. Όχι. Δεν είναι κάτι που το κάνεις σε ένα λεπτό. Για λόγους που θα μάθουμε αργότερα για λόγους που έχουν να κάνουν με την πολυπλοκότητα του αλγορίθμου υπολογισμού θα δούμε ότι ο χρόνος που απαιτείται για τον υπολογισμό μιας ορίζουσας νι επί νι είναι της τάξεως του 2 εις την νι. Άρα οι διαφορές είναι αυτές. Οπότε είναι άλλο το 2 εις την 8η από το 2 εις την 7η ή από το 2 εις την 6η. Και όταν λοιπόν έχουμε ένα σύστημα 50.000 γραμμικών εξισώσεων πολύ απλά δεν υπολογίζεται το 2 εις την 50.000 με κανέναν υπολογιστή από αυτούς που υπάρχουν αυτή τη στιγμή στο σύμπαν. Το γνωστό. Διότι απαιτείται χρόνος εκτέλεσης μεγαλύτερος από την ηλικία του σύμπαντος. Άρα εκεί πώς θα το λύσουμε το σύστημα. Προφανώς θα χρησιμοποιήσουμε άλλους τρόπους. Τι άλλο λοιπόν μπορεί κανείς να δει. Μπορεί να δει. Επίσης την δυνατότητα είπαμε του να λύνουμε συστήματα, να βρίσκουμε ορισμένα και όριστα ολοκληρώματα, να επιλύουμε εξισώσεις πάρα πολύ εύκολα. Εννοείται ότι υπάρχουν ενσωματωμένες βιβλιοθήκες αριθμητικής επίλυσης εξισώσεων υψηλού βαθμού και μπορεί βέβαια κάποιος να αναρωτηθεί αν είναι δυνατόν ένας μηχανικός να έρθει αντιμέτωπος με μια εξίσως υπέμπτου βαθμού ανέτος. Μα θα τη συναντήσω στις σπουδές μου, βεβαίως, κάποια στιγμή. Και δεν θα ήθελα να ακούσουμε τώρα εδώ μέσα επιχειρήματα του τύπου νέα, αλλά στην εφαρμογή δεν μιλούμε για το τι θα κάνουμε αφού πρωταμάθουμε να οδηγούμε. Εδώ μαθαίνουμε να οδηγούμε και μαθαίνουμε το πώς λειτουργεί το όχημα. Από εκεί και πέρα κάποιος μπορεί να κάνει απλή οδήγηση, μπορεί να κάνει αγωνιστική οδήγηση. Η οδήγηση βασίζεται σε συνδυαχμένες αρχές. Έτσι, λοιπόν, προφανώς μπορούμε να λύσουμε εξισώσεις μεγάλου βαθμού για τις οποίες, όπως τα ξέρετε, δεν υπάρχουν αναλυτικές λύσεις. Φαντάζομαι ότι θυμάστε, ίσως κάποιοι από εσάς να γνωρίζετε, ότι δεν υπάρχουν αναλυτικές λύσεις για εξισώσεις μετά από ποιον βαθμό, ξέρει κανείς. Μετά από το τέταρτο. Μέχρι και τον δεύτερο βαθμό, οι εξισώσεις λύνονταν με τρόπους που μάθαμε τα πρώτα χρόνια της ανθρωπότητας. Οι εξισώσεις τρίτου και τέτρου βαθμού λύθηκαν μετά από εξελίξεις που έλαβαν χώρα κατά τα πρώιμα χρόνια της αναγέννησης και του μεσαίωνα, τότε που ο Ταρντάλια, διαβόητος μαχαιροβγάλητης και επιλητής εξισώσεων τρίτου βαθμού, έπαιζε σε στοίχημα το ποιος θα λύσει πιο γρήγορα εξισώσεις. Παιζόταν στοιχήματα τότε, για πολύ συγκεκριμένους λόγους, διότι οι έμποροι που έκαναν μεταφορές αγαθών αντιμετώπιζαν προβλήματα που ανάγονταν σε εξισώσεις τρίτου βαθμού και ήθελαν ανθρώπους σαν το Ταρντάλια στο ελευθεριακό τους δυναμικό για να επιλύουν εξισώσεις γρηγορότερα τον ανταγωνισμό. Έτσι λοιπόν, εμείς έχουμε τέτοιους προβλήματα και θα τα αντιμετωπίσουμε. Δεν είναι αντικείμενο αυτό του μαθήματος, αναφέρομαι όμως τις δυνατότητες που έχουμε. Είναι τόσες που δεν έχει νόημα να τις αναφέρω αναλυτικά, ούτε έχω αυτή τη δυνατότητα, όμως αυτό που θέλω να αναφέρω είναι κάτι άλλο για να σας δώσω και μια διαφορετική χριά του τι σημαίνει να λύνω πρόβλημα. Μέχρι και τις αρχές του 20ου αιώνα υπήρχε η πεποίθηση ότι κάθε πρόβλημα δύναται να λυθεί. Και μάλιστα στα τέλη του 19ου αιώνα και στη χαραβγή του 20ου υπήρξε η διατύπωση της άποψης ότι κάθε πρόβλημα δίνεται να αναχθεί σε μαθηματικό πρόβλημα και κάθε μαθηματικό πρόβλημα δίνεται να λυθεί και τι σημαίνει λύση, είτε να προήψει η επίλυση, είτε να αποδειχθεί ότι δεν υφίσταται λύση. Από εκεί και πέρα όμως προέκυψαν κάποιες εξελίξεις οι οποίες επηρέασαν πάρα πολύ το χώρο των υπολογιστών. Η πρώτη εξέλιξη, προέκυψα από έναν 24χρονο τότε νεαρό μεταπτυχιακό φοιτητή τον Kurt Gödel, μέλος του κύκλου της Βιέννης έκανε παρέα με τον Φρόιτ και άλλους τέτοιους τύπους ο οποίος απέδειξε ότι δύναται κανείς να έρθει αντιμέτωπος με πολλά προβλήματα επί των οποίων να μην μπορεί να αποφανθεί ως προς το εάν έχουν λύση ή όχι. Δηλαδή ότι υπάρχουν άπειρα μη αποφάνσιμα προβλήματα. Τι σημαίνει αυτό, προβλήματα επί των οποίων ποτέ δεν θα μπορέσουμε να δούμε και να μιλήσουμε για το εάν έχουν λύση ή όχι. Αυτό μεταφράζεται και στον χώρο τον υπολογιστικό, τον δικό μας. Υπάρχει πάντοτε πιθανότητα κάποιο πρόβλημα από αυτά που θα αντιμετωπίσουμε, όχι στα πλαίσια του μαθήματος, από αυτά που θα αντιμετωπίσουμε σε επίπεδο επιστημονικό, να είναι πρόβλημα τέτοιου είδους. Από εκεί και πέρα, μετά από αυτή την τρομακτική ανακάλυψη του Γκέντελ, τα πράγματα άλλαξαν διότι διατυπώθηκαν οι πρώτες αρχές της υπολογιστικής από ανθρώπους που τώρα έγιναν γνωστοί μέσω ταινιών περισσότερο, κωδικός ενήλων κτλ. Αναφέρουμε στον Άλαν Τιούριγκ και στην μηχανή του Τιούριγκ, ο οποίος απέδειξε ότι μπορεί να φτιαχτεί μια διαδικασία η οποία να αποφαίνεται ως προς το εάν πρόβλημα το οποίο έχει λύσει, πρόβλημα το οποίο δεν είναι μία αποφάνσιμο, δίνεται να επιλυθεί ή όχι. Υπήρξαν λοιπόν τέτοιου είδους εξελίξεις, αυτά πρέπει να τα έχουμε κατά νου. Θα μου πείτε, αυτά μοιάζουν πολύ μακρινά από τις σπουδές του σκληροπυρηνικού μηχανολόγου που φαίνεται ότι εμείς ακολουθούμε. Είναι ακριβώς στο διπλανό δωμάτιο και το αν θα βρεθούμε εκεί ή όχι έχει να κάνει με τη φύση των προβλημάτων που θα αντιμετωπίσουμε. Έτσι λοιπόν, όταν για παράδειγμα στη μηχανική ρευστών αρχίσετε να αντιμετωπίζετε το πρόβλημα της ροής ρευστού γύρω από κτέρυγα και σας μιλήσουν οι συνάδελφοι εκεί για τη φύση της τύρβης και για το γεγονός πως η τύρβη είναι ένα φαινόμενο το οποίο έχει μια μαθηματική διατύπωση που δεν μπορεί να οδηγήσει σε αναλυτική επίλυση του πεδίου ταχυτήτων και πίεσης, δεν μπορείς δηλαδή να λύσεις με το χέρι εξισώσεις οι οποίες να σου δείχνουν ποια είναι η πίεση ή η θεραμοκρασία σε οποιοδήποτε σημείο ενός πεδίου, τότε θα αναρωτηθεί κανείς αν το πρόβλημα της αναλυτικής επίλυσης ανήκει στην κατηγορία αυτών των μη αποφάνσιμων προβλημάτων. Και σίγουρα αυτός είναι ένας από τους λόγους που το πρόβλημα της επίλυσης των λεγόμενων εξισώσεων ναυίων στόκς είναι ένα από τα προβλήματα του 1 εκατομμυρίου δολαρίων. Υπάρχει μια κατηγορία υπολογιστικών προβλημάτων για τα οποία δίνεται ένα βραβείο 1 εκατομμυρίου δολαρίων για οποιοδήποτε λύση, οποιοδήποτε από αυτά. Όλα αυτά λοιπόν τα συζητώ γιατί θα πρέπει να έχουμε γνώση και των περιορισμών. Εμείς όμως εδώ δεν θα ασχοληθούμε με τους περιορισμούς αυτούς, θα ασχοληθούμε με τα πράγματα που μας ενδιαφέρουν να επιλύσουμε, για αυτά είναι πάρα πολλά. Με τι λοιπόν θα ασχοληθούμε, θα ασχοληθούμε με το να αναπτύξουμε την αλγοριθμική μας σκέψη. Να μάθουμε να διαμορφώνουμε διαδικασίες επίλυσης προβλημάτων, αλγορίθμους. Θα μάθουμε να αποτυπώνουμε τους αλγορίθμους αυτούς με τη βοήθεια των κατάλληλων στοιχείων προγραμματισμού που είναι αυτές οι τρεις δομές που ανέφερα, ακολουθίας, επανάληψης και ελέγχου. Θα μάθουμε να διατυπώνουμε αυτούς τους αλγορίθμους με τη βοήθεια μιας γλώσσας προγραμματισμού εδώ σε ένα υπολογιστικό περιβάλλον όπως αυτό του MATLAB. Θα εφαρμόσουμε πάρα πολλές φορές αυτή τη διαδικασία για να λύσουμε πληθώρα προβλημάτων. Προβλήματα τα οποία προέρχονται από την περιοχή του μηχανολόγου και όχι μόνο. Και στην πορεία των σπουδών σας θα χρειαστεί να αναπτύξετε, μάλλον να εφαρμόσετε, όλη αυτή τη διαδικασία για ένα σύνολο από μαθήματα. Έτσι λοιπόν με αυτόν τον τρόπο θα μπορέσουμε να κατακτήσουμε το ελάχιστο αποδεκτό επίπεδο. Για να δούμε τι είδαμε σήμερα συνολικά. Μιλήσαμε για αλγορίθμους, μιλήσαμε για το βασικό λεξιλόγιο που χρησιμοποιούμε, μιλήσαμε για τις τρεις βασικές διαδικασίες. Ξαναλέω, ακολουθία, επανάληψη, έλεγχος. Οι τρεις διαδικασίες είναι η ιερή μας τριάδα, αν θέλετε. Αυτές πάντοτε θα υλοποιούμε, στη βάση αυτών θα δουλεύουμε και από εκεί και πέρα ασχοληθήκαμε και με κάποιες ενδιαφέρουσες λεπτομέρειες. Με την προτεραιότητα των πράξεων και είδαμε πως αυτά που νομίζουμε ότι γνωρίζουμε δεν είναι ακριβώς αυτά που ισχύουν. Και αυτό ισχύει και για αυτούς που προέρχονται από τη θετική, αν θέλετε, και όχι κατεύθυνση. Είδατε πόσα ερωτήματα ηγέρθησαν απλά και μόνο από την ύπαρξη μιας παρένθεσης. Και αναγκαστήκαμε λοιπόν να δούμε σε μεγαλύτερο βάθος και να καταλάβουμε το πόσο υπολογιστής η ειραρχή της πράξης. Ένα αυτό. Το δεύτερο που είδαμε είναι το ότι τίποτα δεν είναι ίδιο με το άλλο. Αριθμητικές ποσότητες που νομίζουμε ότι έχουν μια τιμή, έχουν μια τιμή κοντά σε αυτήν που θεωρούμε, αλλά ενδεχομένως όχι την τιμή αυτή. Άρα η τιμή μηδέν για τον υπολογιστή μπορεί να μην υφίσταται. Μια τιμή πολύ κοντά στο μηδέν μπορεί να είναι η πραγματική. Και αυτό μας δίνει ήδη από τώρα ένα μήνυμα. Ότι όταν θέλουμε να πετύχουμε να έχουμε μια ποσότητα ίση με το μηδέν, τότε καλά είναι, αντί να κάνουμε αυτού του είδους την προσέγγιση, να προσπαθούμε να τη φέρουμε κοντά στο μηδέν. Να έχουμε μια επαρκώς μικρή τιμή, τόσο μικρή ώστε να θεωρείται μηδενική. Και όχι με το μηδέν αυτό καθαυτό. Διότι το μηδέν είναι ένα σημείο στην ευθεία των άπειρων πραγματικών. Ο υπολογιστής διαχειρίζεται περιοχές τιμών με μεγαλύτερη ευχέρεια από ό,τι διαχειρίζεται τις τιμές. Υπό την έννοια πως αυτού του είδους τη διαχείριση είναι πιο κοντά στη δική μας λογική. Ρίχναμε μάλλον μια κλευτεί ματιά στο υπολογιστικό περιβάλλον, από εκεί και πέρα να σας δείξω, για όσους από εσάς δεν έχετε δει και με αυτό θα τελειώσουμε, το πού θα βρείτε όλα αυτά τα στοιχεία που αφορούν τα του μαθήματος. Υπάρχει λοιπόν το σύνολο του υλικού, και θέλω να το τονίσω αυτό, του υλικού καθώς και των πληροφοριών που αφορούν πρακτικά θέματα, στον διαδικτυακό τόπο, στην λεγόμενη ιστοσελίδα του μαθήματος. Η οποία ιστοσελίδα είναι διαθέσιμη μέσω του συστήματος Συκλάς. Άρα, επειδή το μάθημα ανήκει στα λεγόμενα ανοιχτά μαθήματα, έχετε τη δυνατότητα να μπείτε και να εγγραφείτε. Κάντε το αν δεν το έχετε κάνει άμεσα. Το μάθημα είναι η πληροφορική. Δεν υπάρχει ένα, ή δύο, ή τρία, ή τέσσερα, είναι η πληροφορική. Με το που θα εγγραφείτε θα δηλώσετε και ένα email. Θα πρέπει να είναι το mail που βλέπετε συστηματικά, καθημερινά. Για ποιον λόγο? Διότι κάθε ενημέρωση που αφορά το μάθημα, κάθε ανακοίνωση που αφορά το μάθημα, εκτός από ότι αναρτάτε στην ιστοσελίδα αυτή, αυτόματα πηγαίνει και στα δικά σας προσωπικά email. Άρα, θα ενημερώνεστε για οτιδήποτε αφορά το μάθημα με τη βοήθεια των προσωπικών σας email. Η εγγραφή σας τώρα σε ομάδες, γίνεται μέσω συνδέσμου που έχει ήδη αναρτηθεί στο e-class. Ναι, κάποια στιγμή είπαμε. Εκτός από αυτό, στο e-class θα βρίσκεται συγκεντρωμένες όλες τις δραστηριότητες κάθε εκπαιδευτική μας εβδομάδας. Αυτή λοιπόν ήταν η πρώτη εκπαιδευτική εβδομάδα, έτσι. Από εκεί και πέρα, θα βρείτε τις διαφάνειες του μαθήματος, παρακαλώ, παρακαλώ για να ακουγόμαστε, τις διαφάνειες του μαθήματος, θα βρείτε τις βιντεοδιαλέξεις που υποστηρίζουν τη συγκεκριμένη εβδομάδα, θα βρείτε το online quiz, θα βρείτε την άσκηση εργαστηρίου όταν θα ξεκινήσουμε να κάνουμε το εργαστήριο, θα βρείτε το θέμα αναρτημένο, καθώς επίσης και οποιαδήποτε άλλη πληροφορία αφορά το μάθημα.