ςκεφτούμε μια λύςη. Κϊποιεσ λύςεισ τισ βρύςκουμε αυτόματα, χωρύσ ςκϋψη όπωσ π.χ. τι πρϋπει να κϊνω πριν να πϊω ςτο ςχολεύο – να ξυπνόςω, να πλυθώ, να ντυθώ, να φϊω πρωινό κτλ. Κϊποιεσ λύςεισ θϋλουν λύγο παραπϊνω ςκϋψη, όπωσ π.χ. ποιοσ εύναι ο πιο ςύντομοσ δρόμοσ για να πϊω ςτο ςχολεύο, περνώντασ από τον φούρνο. ε αυτό το πρόβλημα, ξϋρω τουσ δρόμουσ και θϋλω να βρω μια διαδρομό. Σε ένα πρόβλημα, τα ςτοιχεία που ξέρω είναι τα δεδομένα του προβλήματοσ. Τα δεδομένα που έχω ςυχνά μου λένε αν το πρόβλημα είναι επιλύςιμο, δηλαδή αν μπορεί να λυθεί!
μου (κόκκινη κουκύδα), του ςχολεύου μου (πρϊςινη κουκύδα) και του Μαςούτη. Πρόβλημα : Ποια διαδρομό πρϋπει να κϊνω για να πϊω ςτο ςχολεύο; Ποια εύναι η διαδρομό αν θϋλω να περϊςω πρώτα από το ςουπερμϊρκετ; Επίλυςη: 1. Προχώρα δεξιϊ ςτην οδό Αργυροπούλου. I. Αν θεσ να πασ ςτον Μαςούτη, ςτρύψε δεξιϊ ςτην πρώτη ςτροφό. a. Προχώρα ευθεύα μϋχρι να φτϊςεισ ςτο τϋλοσ του δρόμου. Απϋναντι εύναι ο Μαςούτησ. b. Γύρνα πύςω ςτον ύδιο δρόμο. το τϋλοσ του, ςτρύψε δεξιϊ. Πόγαινε ςτο βόμα 2. II. Αλλιώσ, ςυνϋχιςε ευθεύα. 2. το τϋλοσ του δρόμου, ςτρύψε αριςτερϊ. 3. Προχώρα ευθεύα μϋχρι να φτϊςεισ την οδό Αιόλου. τρύψε πλαγύωσ δεξιϊ. 4. υνϋχιςε ςτην οδό Αιόλου μϋχρι να φτϊςεισ ςτην οδό Μωρϋασ. τρύψε αριςτερϊ. 5. Σο ςχολεύο εύναι μπροςτϊ ςου!
Αλευρώνετε και βουτυρώνετε δύο ςτρογγυλϋσ φόρμεσ για κϋικ 28 εκ. 3. Κοςκινύςτε το αλεύρι, το μπϋικιν πϊουντερ και το αλϊτι και αφόνετε ςτην ϊκρη. 4. ε ϋνα μπλϋντερ χτυπϊτε για ϋνα λεπτό τη ζϊχαρη μαζύ με το ξύςμα λεμονιού. 5. τη ςυνϋχεια ρύχνουμε τη ζϊχαρη ςτο μπολ του μύξερ και προςθϋτουμε το μαλακό βούτυρο. 6. Φτυπϊμε ςε μεςαύα ταχύτητα για περύπου 3 λεπτϊ. 7. ε ϊλλο μπολ χτυπόςτε τα αυγϊ, το γϊλα και τη βανύλια. 8. Προςθϋςτε το μεύγμα αυγών ςτο κϊδο του μύξερ και χτύπηςε ςε μϋτρια ταχύτητα για λύγα λεπτϊ. 9. τη ςυνϋχεια προςθϋτουμε ςταδιακϊ το αλεύρι μϋχρι να το απορροφόςει τελεύωσ το μεύγμα. 10. Φύςτε το μεύγμα ςτισ δύο φόρμεσ. 11. Χόνουμε ςε προθερμαςμϋνο πϊνω για 25 με 30 λεπτϊ. Αφόνετε να κρυώςει για 15 λεπτϊ. Τα δεδομένα μου : τα υλικϊ που χρειϊζονται για το κϋικ (αλεύρι, ζϊχαρη, αυγϊ κτλ.), το μύξερ, ο φούρνοσ. Το πρόβλημα : η καταςκευό ενόσ κϋικ. Συνταγή από : https://www.news.gr/gefseis/glyka/article/296345/deite-vhma-vhma-th-syntagh-keik-viktoria.html
βόματα εύναι προαιρετικϊ (π.χ. αν θϋλουμε ό όχι να πϊμε ςτο ςουπερμϊρκετ) και κϊποια εύναι απαραύτητα (π.χ. να ανϊψουμε τον φούρνο για να ψηθεύ το κϋικ). Όταν μια ςειρά από βόματα τα οπούα εύναι ςυγκεκριμένα και ςαφή οδηγούν ςτην λύςη ενόσ προβλόματοσ, τότε αυτό η λύςη λϋγεται αλγόριθμοσ. Πολλϋσ φορϋσ το ύδιο πρόβλημα μπορούμε να το λύςουμε με πολλούσ διαφορετικούσ αλγόριθμουσ, όμωσ ςυχνϊ κϊποιοσ εύναι ο καλύτεροσ! Η λϋξη αλγόριθμοσ προϋρχεται από την αραβικό γλώςςα και εύναι δημιούργημα του Πϋρςη μαθηματικού Μοχάμεντ ιμπν Μουςά αλ-Χουαρίζμι που ϋζηςε ςτον 9ο αιώνα μ. Φ.
ϋνα πρόβλημα, τότε αυτό η διαδικαςύα λϋγεται προγραμματιςμόσ του υπολογιςτή. Ένασ προγραμματιςτήσ ϋχει ςαν εργαςύα να δημιουργεύ αλγόριθμουσ και να τουσ υλοποιεύ με μια γλώςςα προγραμματιςμού. Τπϊρχουν πολλϋσ γλώςςεσ προγραμματιςμού του υπολογιςτό που η κϊθε μια ϋχει τα δικϊ τησ πλεονεκτόματα και μειονεκτόματα. Έχουμε όδη κϊνει προγραμματιςμό του υπολογιςτό ςτην Ώρα του Κώδικα! Βοηθώντασ την Έλςα ό το Angry Bird φτιϊχναμε αλγορύθμουσ και προγραμματύζαμε τον υπολογιςτό να τουσ εκτελϋςει!
μπορεύ να κϊνει πολλϊ πρϊγματα. Ξϋρει να κϊνει πολύ απλϋσ και μικρϋσ εργαςύεσ που τισ λϋμε εντολϋσ. Σα τουβλϊκια που ενώνουμε ςαν πϊζλ ςτην Ώρα του Κώδικα ό ςτο Scratch εύναι κϊποιεσ από αυτϋσ. Όμωσ αυτϋσ οι εντολϋσ μπορούν να μπουν ςε μια ςειρϊ για να υλοποιόςουν ϋναν αλγόριθμο! Έτςι, με τουσ αλγόριθμουσ και τον προγραμματιςμό, ϋνασ υπολογιςτόσ εύναι ςόμερα ϋνα πανύςχυρο εργαλεύο που μπορεύ να λύνει αυτόματα πϊρα πολλϊ προβλόματα. Η πρόοδοσ εύναι τϋτοια που πλϋον ϋχουμε και την επιςτόμη τησ Τεχνητήσ Νοημοςύνησ – η προςπϊθεια να φτιαχτεύ ϋνασ υπολογιςτόσ που ςκϋφτεται ςαν ϊνθρωποσ!
Ακόμα και ϋνα μικρό παιδύ μπορεύ να κοιτϊξει την λύςτα με τουσ παραπϊνω αριθμούσ και να μασ πει ποιοσ εύναι ο μεγαλύτεροσ. Εύναι φυςικϊ το 90. Ένασ υπολογιςτόσ όμωσ για να λύςει αυτό το πρόβλημα χρειϊζεται ϋναν αλγόριθμο. Σο μόνο που μπορεύ να κϊνει εύναι να διαβϊζει τουσ αριθμούσ, να τουσ αποθηκεύει και να ςυγκρύνει δυο αριθμούσ μεταξύ τουσ. Μπορεύτε να ςκεφτεύτε τα βόματα από αυτϋσ τισ απλϋσ εργαςύεσ ώςτε να μπορϋςει ο υπολογιςτόσ να βρει ποιοσ εύναι ο μεγαλύτεροσ αριθμόσ ςτην λύςτα; Βρεύτε τον αλγόριθμο! 1. Διαβϊζω τον αριθμό. 2. Αποθηκεύω τον αριθμό ςε μια θϋςη που την ονομϊζω «μεγαλύτερο» – μια μεταβλητή δηλαδό. 3. Διαβϊζω τον επόμενο αριθμό. 4. υγκρύνω τον αριθμό που διϊβαςα με αυτόν που αποθόκευςα. 5. Αν εύναι μεγαλύτεροσ, τότε αποθηκεύω αυτόν ςε αυτό την θϋςη. Αλλιώσ δεν κϊνω τύποτα. 6. Αν δεν τελεύωςαν οι αριθμού, πϊω πϊλι ςτο βόμα 3. 1. Αποθηκεύω το 23 ςτην μεταβλητό «μεγαλύτερο». 2. υγκρύνω με το 77. Αφού εύναι μεγαλύτερο, αποθηκεύω αυτό ςτην μεταβλητό. 3. υγκρύνω διαδοχικϊ με το 2, το 15, το 71. Επειδό εύναι μικρότερα, δεν κϊνω καμιϊ ενϋργεια. 4. Όταν ςυγκρύνω με το 90, αποθηκεύω το 90 ςτο «μεγαλύτερο». 5. υγκρύνω διαδοχικϊ τουσ αριθμούσ 28, 11, 62 και 50 με το 90. 6. το τϋλοσ, το «μεγαλύτερο» περιϋχει το 90!
μϋχρι το 100. Η λύςτα ονομϊζεται «ΑΡΙΘΜΟΙ». Ο αλγόριθμοσ που περιγρϊψαμε ςτην προηγούμενη διαφϊνεια. Η μεταβλητό «μετρητήσ» αποθηκεύει ςε ποια θϋςη τησ λύςτασ εύμαςτε. Η μεταβλητό «μεγαλύτεροσ» αποθηκεύει τον πιο μεγϊλο αριθμό που βρόκαμε. Η μεταβλητό «θέςη» αποθηκεύει την θϋςη που βρόκαμε τον μεγαλύτερο.
ενδιαφϋρει να βρύςκουμε πϊντα τον καλύτερο αλγόριθμο για κϊθε πρόβλημα. Ο υπολογιςτόσ δεν εύναι παντοδύναμοσ. Έχει περιοριςμό ςτην ταχύτητα και ςτην μνόμη του. Όπωσ εύδαμε, όταν ο υπολογιςτόσ ϋπρεπε να βρει τον μεγαλύτερο αριθμό, ϋκανε ςυγκρύςεισ και αποθηκεύςεισ. Οι ςυγκρύςεισ παύρνουν χρόνο, ενώ οι αποθηκεύςεισ χρειϊζονται χώρο. Έτςι, μελετϊμε τουσ αλγόριθμουσ για να βρούμε τον πιο γρόγορο, αυτόν που λύνει το πρόβλημα με τισ λιγότερεσ ςυγκρύςεισ, αλλϊ και αυτόν που χρειϊζεται τισ λιγότερεσ αποθηκεύςεισ. Αυτϊ τα χαρακτηριςτικϊ των αλγορύθμων τα λϋμε πολυπλοκότητα χρόνου και πολυπλοκότητα χώρου.