Γραφικά υπολογιστών Εργαστήριο 4 Εισαγωγή στις λίστες

Σχετικά έγγραφα
Σημειωματάαριο Δευτέρας 16 Οκτ. 2017

Πως θα αποθηκεύσει τη λίστα με τα ψώνια του και θα την ανακτήσει στο Σ/Μ; και πως θα προσθέσει στη λίστα του επιπλέον προϊόντα;

Γραφικά υπολογιστών Εργαστήριο 2 Παιχνίδια μαντεύματος με τυχαίους αριθμούς και loops

Εισαγωγή στην Γλώσσα Προγραμματισμού Python. 12/10/16 1

3 ο Εργαστήριο Μεταβλητές, Τελεστές

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Γραφικά υπολογιστών Εργαστήριο 1 Εισαγωγή στην Python

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

Σημειωματάριο Τετάρτης 4 Οκτ. 2017

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Σημειωματάριο Τετάρτης 18 Οκτ. 2017

Εισαγωγή στον Προγραμματισμό

Γραφικά υπολογιστών Εργαστήριο 10 Εισαγωγή στα Sprites

Μορφοποίηση εξόδου. Σημειώσεις

ΚΕΦΑΛΑΙΟ 3. Εκφράσεις, τελεστές, σχόλια. 3.1 Εισαγωγή

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 4 ο Εργαστήριο. Διανύσματα-Πίνακες 1 ο Μέρος

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΚΕΦΑΛΑΙΟ 2. Τιμές, τύποι, μεταβλητές, λέξεις-κλειδιά, εντολές. 2.1 Εισαγωγή

Σημειωματάριο Δευτέρας 9 Οκτ. 2017

ΦΥΛΛΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ 1

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

Λίστες στο Scratch 2.0.

Προγραμματισμός Υπολογιστών & Εφαρμογές Python. Κ.Π. Γιαλούρης

Ψευδοκώδικας. November 7, 2011

Σημειωματάριο Τετάρτης 25 Οκτ. 2017

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

Κεφάλαιο 4: Μεταβλητές και εκφράσεις

Μια πρόταση διδασκαλίας για το μάθημα του προγραμματισμού Η/Υ στο Λύκειο με τη μεθοδολογία STEM

Εισαγωγή στην Αριθμητική Ανάλυση

Προγραμματισμός Υπολογιστών Τάξη Γ Αθανασιάδης Χρήστος ΠΕ19 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

Φύλλο Εργασίας 3. Μια γρήγορη επανάληψη από τα προηγούμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι

Γραφικά υπολογιστών Εργαστήριο 9 Κλάσεις στην Python. Σκοπός της 9ης άσκησης είναι να μάθουμε αντικειμενοστρεφή προγραμματισμό στην Python.

21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB. Αλγόριθμος Διαδικασία Παράμετροι

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014

2ο σετ σημειώσεων. 1 Εντολές εκτέλεσης υπό συνθήκη. 19 Μαρτίου 2012

Βαθμός Σχόλια. lab6 PASS PASS. - Πολύ καλή δουλειά, αλλά προσπάθησε να κάνεις την άσκηση χρησιµοποιώντας συναρτήσεις από το string.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα

Βασικές Έννοιες Αλγορίθμων. Βασικές Εντολές Αλγορίθμων (Κεφ. 2ο Παρ. 2.4)

Προγραμματισμός Η/Υ (ΤΛ2007 )

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Πίνακες: μια σύντομη εισαγωγή. Πίνακες χαρακτήρων: τα "Αλφαριθμητικά"

Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Βασικές έννοιες προγραμματισμού

ÁÎÉÁ ÅÊÐÁÉÄÅÕÔÉÊÏÓ ÏÌÉËÏÓ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές

5ο σετ σημειώσεων - Δείκτες

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

Θέματα Προγραμματισμού Η/Υ

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Βασικά στοιχεία της Java

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

Εντολές ελέγχου ροής if, for, while, do-while

ΚΕΦΑΛΑΙΟ 5. Eπανάληψη με την εντολή while. 5.1 Εισαγωγή

Πρόγραμμα όρασης. Στη συνέχεια θα περιγράψουμε πώς δουλεύει το ρομπότ.

Δομημένος Προγραμματισμός (ΤΛ1006)

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές

Τύποι δεδομένων, τελεστές, μεταβλητές

Προγραμματισμός H/Y Ενότητα 3: Πίνακες αριθμών και χαρακτήρων. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΕΠΑΝΑΛΗΨΗ ΧΩΡΙΣ ΠΡΟΚΑΘΟΡΙΣΜΕΝΑ ΒΗΜΑΤΑ,ΜΕΤΡΗΤΕΣ,ΜΕΓΙΣΤΟΣ,ΜΕΓΙΣΤΟ ΟΝΟΜΑ Χαμηλόμισθος

Υπολογισμός αθροισμάτων

Διαδικασιακός Προγραμματισμός

Master Mind εφαρμογή στη γλώσσα προγραμματισμού C

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

App Inventor 3ο Μάθημα (Ζάρια - επέκταση)


Θέματα Προγραμματισμού Η/Υ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ:

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ / ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

Σημειωματάριο Δευτέρας 4 Δεκ. 2017

Γλωσσική Τεχνολογία. Εισαγωγικό Φροντιστήριο

Μεταβλητές τύπου χαρακτήρα

Διαδικασιακός Προγραμματισμός

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Συναρτήσεις. Εισαγωγή

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

Φυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

HY340, 2009 Α. Σαββίδης Slide 2 / 143. HY340, 2009 Α. Σαββίδης Slide 3 / 143. HY340, 2009 Α. Σαββίδης Slide 4 / 143

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

Τιμή Τιμή. σκορ. ζωές

Σημειωματάριο Τετάρτης 11 Οκτ. 2017

Γλώσσα Προγραμματισμού C

Κεφάλαιο ΙV: Δείκτες και πίνακες. 4.1 Δείκτες.

Μονοδιάστατοι Πίνακες

Γ ΓΥΜΝΑΣΙΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΗ ΓΛΩΣΣΑ MicroWorlds Pro

Transcript:

Γραφικά υπολογιστών Εργαστήριο 4 Εισαγωγή στις λίστες Σκοπός της 3ης άσκησης είναι να μάθουμε να φτιάχνουμε και να προσπελαύνουμε λίστες, να δούμε τι διαφορά έχουν από τα tuples και επίσης πώς μπορούμε να μεταχειριζόμαστε Strings σαν λίστες. 1. Τύποι Δεδομένων Μέχρι τώρα έχουμε δει τους ακόλουθους τύπους δεδομένων: String, Integer, Float, Boolean. Για μια μεταβλητή μπορούμε με χρήση της εντολής type να δούμε τι τύπος είναι. Π.χ.: Μπορεί να εφαρμοστεί και σε μια μεταβλητή: Η Python έχει δύο τύπους δεδομένων που θα μελετήσουμε σε αυτό το εργαστήριο, τις λίστες (lists) και τα tuples. Οι λίστες μοιάζουν με πίνακες αλλά μπορούν να αλλάξουν μέγεθος. Δείτε τις παρακάτω εντολές, ξεχωριστά: 2. Λίστες στην Python Όλοι μας έχουμε φτιάξει λίστες για ψώνια, λίστες με τις δουλειές της μέρας (για να μην κάνουμε ούτε τις μισές)...θα δούμε πώς μπορούμε να φτιάξουμε λίστες στην Python. Δοκιμάστε το παρακάτω: Με την πρώτη εντολή φτιάξαμε μια λίστα η οποία αποτελείται από δύο στοιχεία, που είναι και τα δύο ακέραιοι. Με τη δεύτερη, τυπώσαμε τη λίστα. Με την τρίτη, τυπώσαμε το πρώτο στοιχείο της. Φυσικά ο τρόπος μας είναι παραπάνω από γνώριμος. Το πρώτο στοιχείο έχει αρίθμηση 0, άρα μια

λίστα με 10 στοιχεία θα έχει αρίθμηση 9 για το τελευταίο της στοιχείο. Δοκιμάστε να αλλάξετε την τιμή του πρώτου της στοιχείου και να την ξανατυπώσετε, προκειμένου να το επαληθεύσετε. 3. Tuples στην Python Τα tuples που είδαμε πιο πριν είναι παρόμοια με τις λίστες. Μία διαφορά είναι στον τρόπο με τον οποίο φτιάχνουμε ένα tuple σε σχέση με αυτόν της λίστας: τα tuples χρησιμοποιούν παρενθέσεις. Κατά τ άλλα, μοιάζουν να λειτουργούν με τον ίδιο τρόπο......μέχρι να προσπαθήσουμε να τους αλλάξουμε τιμή: Άρα οι τιμές των tuples δεν αλλάζουν. Ποιος ο λόγος, όμως, να έχουμε tuples; Καταρχάς τα προγράμματά μας τρέχουν λίγο πιο γρήγορα, όταν χρησιμοποιούν μεταβλητές για τις οποίες γνωρίζουν εκ των προτέρων ότι δεν αλλάζουν τιμές. Κατά δεύτερον, μας βολεύει προγραμματιστικά σε πολλές περιπτώσεις. Π.χ., για τα χρώματα που δεν αλλάζουν. 4. Loops σε λίστες Όσο κι αν φαίνεται περίεργο, υπάρχουν δύο τρόποι για να μπορέσει κανείς να διαπεράσει μια λίστα με ένα for loop. Ο πρώτος βασίζεται στη λογική του for-each. Ο τύπος αυτός του for, παίρνει μια συλλογή από αντικείμενα και πραγματοποιεί μια επανάληψη για το καθένα. Παίρνει ένα αντίγραφο του αντικειμένου και το αποθηκεύει σε μια μεταβλητή για επεξεργασία. Ας δούμε ένα παράδειγμα: Σε μια λίστα μπορούμε να αποθηκεύσουμε και Strings (να η λίστα του σούπερ μάρκετ!)

Αλλά μπορούμε να φτιάξουμε και μια λίστα που να περιέχει άλλες λίστες! Αυτός είναι ο πρώτος τρόπος, που είναι και αρκετά βολικός. Ο δεύτερος τρόπος είναι και αυτός που θα μας φαινόταν μέχρι τώρα ο πιο φυσιολογικός, δηλαδή, γνωρίζοντας το μήκος της λίστας, να φτιάξουμε ένα loop που να την διαπερνάει στοιχείο προς στοιχείο, από το πρώτο, εώς το τελευταίο. Η συνάρτηση len μας δίνει το μήκος μιας λίστας. Αν τη συνδυάσουμε με τη range που έχουμε δει προηγουμένως, τότε μπορούμε να διαπεράσουμε όλη τη λίστα: Ο δεύτερος τρόπος μας επιτρέπει να τροποποιήσουμε τη λίστα, κάτι που δεν μπορεί να κάνει ο πρώτος. Άρα κάθε φορά θα επιλέγουμε τον κατάλληλο για τη χρήση που θέλουμε. 5. Πρόσθεση σε λίστα Με χρήση της εντολής append μπορούμε να προσθέτουμε καινούρια αντικείμενα στη λίστα (όχι όμως και σε ένα tuple). Η λίστα δεν είναι υλοποιημένη (στην Python) με τη μορφή πίνακα, και έτσι η πρόσθεση σε αυτή δεν είναι αργή, καθώς δε χρειάζεται να βρεθεί π.χ. στο προηγούμενο παράδειγμα χώρος στη μνήμη για 5 συνεχόμενες θέσεις, προκειμένου να χωρέσει και το 9. Μπορούμε επίσης εάν είναι επιθυμητό, να δημιουργήσουμε μια κενή λίστα, η οποία και στη συνέχεια να γεμίζει, π.χ. από είσοδο του χρήστη.

Άσκηση: Να τροποποιήσετε το προηγούμενο παράδειγμα, έτσι ώστε στο τέλος να τυπώνεται τόσο η λίστα, όσο και το άθροισμα των ακεραίων που έδωσε ο χρήστης, με τους δύο τρόπους που είδαμε πιο πριν. 6. Τεμαχίζοντας Strings Τα Strings στην Python είναι λίστες από χαρακτήρες. Μπορούμε λοιπόν να τα θεωρήσουμε σαν λίστες όπου κάθε γράμμα είναι και ένα αντικείμενο. Δείτε τον παρακάτω κώδικα για να καταλάβετε πώς δουλεύει αυτό: Στην Python μπορούμε να χρησιμοποιήσουμε και μαθηματικούς τελεστές στα Strings. Δείτε το παρακάτω παράδειγμα:

Για να υπολογίσουμε το μήκος ενός string χρησιμοποιούμε και πάλι την len: Και φυσικά μπορούμε να διαπεράσουμε ένα string ακριβώς όπως και μια λίστα: Άσκηση: Σύμφωνα με τον παρακάτω κώδικα, να τυπώνετε τη συντομογραφία (τρεις πρώτοι χαρακτήρες) του αντίστοιχου μήνα με την είσοδο του χρήστη. Π.χ. για είσοδο 3, να τυπώνεται Mar. 7. Συσχετιστικοί Πίνακες Ας δούμε πώς μπορούμε να φτιάξουμε συσχετιστικούς πίνακες στην Python (ακόμη και αν δεν ξέρουμε τι είναι, ακόμη και αν δε θα τους χρησιμοποιήσουμε πιθανοτότατα):