Επικ. Καθ. Ν. Καραµπετάκης, Τµήµα. Τµήµα Μαθηµατικών, Α.Π.Θ. Λίστες και πίνακες

Σχετικά έγγραφα
Λίστα. Το διάνυζμα (vector) στο Mathematica είναι μια λίστα που έχει τα στοιχεία. Ο πίνακας ( matrix ) είναι λίστα απο τις λίστες.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

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

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

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

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

Κεφάλαιο 2ο: Λίστες - Πολυώνυµα

επιµέλεια Θοδωρής Πιερράτος

ΕΥΣΤΑΘΕΙΑ ΙΑΤΟΙΧΙΣΜΟΥ ΠΛΟΙΟΥ ΚΑΙ ΥΠΟΒΑΘΡΟ ΚΑΝΟΝΙΣΜΩΝ. Σηµειώσεις για το πρόγραµµα Mathematica

Excel (dashboards, συγκεντρωτικοί πίνακες)

ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB- SIMULINK

x 2 = b 1 2x 1 + 4x 2 + x 3 = b 2. x 1 + 2x 2 + x 3 = b 3

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Γραµµική Αλγεβρα. Ενότητα 1 : Εισαγωγή στη Γραµµική Αλγεβρα. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Γραμμικά συστήματα. - όπου Α είναι ένας (m x n) πίνακας, ο οποίος περιέχει. - όπου Β είναι ένας (m x 1) πίνακας που περιέχει τους

Κεφάλαιο 1. Τι θα μάθουμε σήμερα: -AND, OR, NOT. -Ενσωματωμένες συναρτήσεις. -Μαθηματικοί τελεστές -ΤΕΛΕΣΤΕΣ DIV ΚΑΙ MOD. -Προτεραιότητα πράξεων

Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο. Τι θα τυπωθεί στον παρακάτω κώδικα;

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.

Μάθηµα 1. Κεφάλαιο 1o: Συστήµατα. γ R παριστάνει ευθεία και καλείται γραµµική εξίσωση µε δύο αγνώστους.

Με Χρήση της ΦΟΡΜΑΣ να προσθέσετε εγγραφές στον πίνακα που ακολουθεί

Σχήµα 3.1: Εισαγωγή shift register σε βρόγχο for-loop.

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝ/ΚΗΣ ΚΑΤ/ΝΣΗΣ (Πλ. & Υπ.) 2006 ΕΚΦΩΝΗΣΕΙΣ ÈÅÌÅËÉÏ

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

ΚΕΦΑΛΑΙΟ 4 ΤΟ ΕΡΓΑΛΕΙΟ SOLVER

H ΓΛΩΣΣΑ C. Μάθηµα 7: Πίνακες. ηµήτρης Ψούνης

Κεφάλαιο 1ο: Βασικές Έννοιες

Γνωριµία µε τη Microsoft Access

τη µέθοδο της µαθηµατικής επαγωγής για να αποδείξουµε τη Ϲητούµενη ισότητα.

ΥΠΗΡΕΣΙΑ WEBMAIL ΚΥΠΕΣ

Συναρτήσεις Mathematica

Ένα διάνυζμα παριστάνεται ως μια μονοδιάστατη λίστα. a = {x 1, x 2,..., x n } Πράξεις με δυανύσματα. b = Map[y # &, Range[3]] ή διαφορετικά

Πρόβληµα 2 (12 µονάδες)

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΜΑΘΗΜΑΤΙΚΑ Ι (ΘΕ ΠΛΗ 12)

Κεφάλαιο 5ο: Επίλυση εξισώσεων και συστηµάτων

ΜΑΘΗΜΑΤΙΚΗ ΙΑΤΥΠΩΣΗ ΚΑΙ ΛΥΣΗ ΦΥΣΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ

a = 10; a = k; int a,b,c; a = b = c = 10;

Καρτεσιανό Σύστηµα y. y A. x A

ΑΣΚΗΣΕΙΣ ΘΕΩΡΙΑΣ. ΘΕΜΑ 1 Δίνεται το παρακάτω τμήμα δηλώσεων ενός προγράμματος σε «ΓΛΩΣΣΑ»: ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: Π[10] ΛΟΓΙΚΕΣ: ΒΡΕΘΗΚΕ ΑΚΕΡΑΙΕΣ: i

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Γνωριµία µε το Microsoft Excel

Εισαγωγή στον Προγραμματισμό Η/Υ (Fortran 90/95/2003)

Το εσωτερικό ενός Σ Β

Γλώσσες που περιγράφονται από Κανονικές Εκφράσεις

Βασική Εφικτή Λύση. Βασική Εφικτή Λύση

Εισαγωγή και επεξεργασία δεδοµένων

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

n true false if t then t else t u t t b t emptylist cons t t t t λx.t u ::= head tail isempty

ΑΣΚΗΣΗ 3 η : H βαθµολογία των µαθητών σε ένα διαγώνισµα στα Μαθηµατικά φαίνεται στο παραπάνω ραβδόγραµµα.

Ανακτήθηκε από την ΕΚΠΑΙΔΕΥΤΙΚΗ ΚΛΙΜΑΚΑ edu.klimaka.gr ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

Γ. ίνεται το παρακάτω πρόγραµµα και υποπρογράµµατα: ΠΡΟΓΡΑΜΜΑ Κύριο ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α, Β, Γ ΑΡΧΗ ΙΑΒΑΣΕ Α, Β, Γ ΚΑΛΕΣΕ ιαδ1(α, Β, Γ)

οµή Επιλογής Α. Κατηγορία προβληµάτων Β. Κριτήριο Αλγορίθµου Γ. Τρόπος αναπαράστασης αλγορίθµων . Είδος σταθεράς Ε. Λογική τιµή

Ομάδα Γ. Ο υπολογιστής ως επιστημονικό εργαλείο

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ECDL Module 4 Υπολογιστικά Φύλλα Εξεταστέα Ύλη, έκδοση 5.0 (Syllabus Version 5.0)

ΜΑΘΗΜΑΤΙΚΑ ΙΙ ιδάσκων : Ε. Στεφανόπουλος 12 ιουνιου 2017

Κ. Ι. ΠΑΠΑΧΡΗΣΤΟΥ. Τοµέας Φυσικών Επιστηµών Σχολή Ναυτικών οκίµων ΟΡΙΖΟΥΣΕΣ. Ιδιότητες & Εφαρµογές

2.1. Εντολές Σχόλια Τύποι Δεδομένων

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 12

Επίλυση Γραµµικών Συστηµάτων

Τα συγκεντρωτικά ερωτήματα αφορούν στην ομαδοποίηση των δεδομένων και στη. χρήση συναρτήσεων ομαδοποίησης κατά την εκτέλεση ενός ερωτήματος προβολής

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝ/ΚΗΣ ΚΑΤ/ΝΣΗΣ (Πλ. & Υπ.) 2006 ΕΚΦΩΝΗΣΕΙΣ

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΚΕΝΤΡΟ ΙΑΧΕΙΡΙΣΗΣ ΙΚΤΥΩΝ. Εγχειρίδιο χρήσης των υπηρεσιών τηλεκπαίδευσης του Πανεπιστηµίου Ιωαννίνων. Ασύγχρονη τηλεκπαίδευση

4. Αναδροµικός τύπος Είναι ο τύπος που συσχετίζει δύο ή περισσότερους γενικούς όρους µιας ακολουθίας

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

Η εφαρµογή xsortlab. Οπτικός τρόπος ταξινόµησης

5.9 ΘΕΤΙΚΑ ΟΡΙΣΜΕΝΟΙ ΠΙΝΑΚΕΣ ΚΑΙ ΕΣΩΤΕΡΙΚΟ ΓΙΝΟΜΕΝΟ

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal

ΜΑΘΗΜΑΤΙΚΑ ΚΑΙ ΣΤΟΙΧΕΙΑ ΣΤΑΤΙΣΤΙΚΗΣ

2.2.3 Η εντολή Εκτύπωσε

Περιεχόµενα. 1 Tο βιβλίο "µε µια µατιά" Εισαγωγή στη Microsoft Access Γνωριµία µε τις βάσεις δεδοµένων της Access...

a 1d L(A) = {m 1 a m d a d : m i Z} a 11 a A = M B, B = N A, k=1

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

Στοχαστικές Στρατηγικές

Κεφάλαιο 3 ΠΑΡΑΓΩΓΟΣ. 3.1 Η έννοια της παραγώγου. y = f(x) f(x 0 ), = f(x 0 + x) f(x 0 )

8. Τεχνικές απαϱίϑµησης

2. Missing Data mechanisms

Βαθμός Σχόλια. lab5 PASS PASS PASS PASS PASS. Οριακά PASS - Καλή δουλειά

ΕΡΓΑΣΤΗΡΙΟ 2 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Εργαστήριο 2. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

ΠΡΟΓΡΑΜΜΑ Κύριο ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α, Β, Γ ΑΡΧΗ ΙΑΒΑΣΕ Α, Β, Γ ΚΑΛΕΣΕ ιαδ1(α, Β, Γ) ΓΡΑΨΕ Α, Β, Γ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Βασικό Επίπεδο στο Modellus

ΛΙΒΑΘΙΝΟΣ ΝΙΚΟΛΑΟΣ Επιστήµη και Τεχνολογία των Υπολογιστών Α.Μ.: 403. Πρώτη Οµάδα Ασκήσεων

ΣΥΝΑΡΤΗΣΕΙΣ. Η σύνταξη μιας συνάρτησης σ ένα κελί έχει την γενική μορφή: =όνομα_συνάρτησης(όρισμα1; όρισμα2;.)

ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Τµήµα Μηχανικών Πληροφορικής ΤΕ Λειτουργικά Συστήµατα (Εργαστήριο) Διδάσκων: I. Τσακνάκης. 7ο Εργαστήριο

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

ΤΟΜΟΣ Α : Συμβολικός Προγραμματισμός

Σχήµα 6.1: Εισαγωγή της εντολής Read From Spreadsheet File στο Block Diagram.

Παλαιότερες ασκήσεις

Ασκήσεις Γενικά Μαθηµατικά Ι Οµάδα 5 (λύσεις)

ΡΗΤΟΙ ΑΡΙΘΜΟΙ - ΘΕΩΡΙΑ

18/ 07/ Σελίδα 1 6

Μονάδες 10. Μονάδες 9 5 PROLOG. Μονάδες 5

Επιµέλεια Θοδωρής Πιερράτος

Σχήµα 2.1: Εισαγωγή array στο Front Panel.

Transcript:

Λίστες Επικ. Καθ. Ν. Καραµπετάκης Τµήµα Μαθηµατικών, Α.Π.Θ. Λίστες και πίνακες Η λίστα είναι ένα σύνολο αντικειµένων των οποίων τα σύµβολα περιέχονται µέσα σε άγκιστρα {}, και χωρίζονται µε κόµµα. Μας βοηθούν στην αναπαράσταση διανυσµάτων, πινάκων και συλλογή αντικειµένων όπως µεταβλητές και εκφράσεις. Παρακάτω βλέπουµε ένα παράδειγµα όπου το Mathematica απαντάει µε λίστα In[1]:= Solve@x 2 5 x + 6 0, xd Επειδή το Mathematica χρησιµοποιεί και για την είσοδο δεδοµένων αλλά και για την έξοδο των δεδοµένων τις λίστες θα πρέπει να µάθουµε την διαδικασία χειρσιµού της λίστας (δηµιουργία λίστας, χειρισµός λίστας κ.λ.π.). Μαθηµατικών, Α.Π.Θ. 1

ηµιουργία Λίστας α) τρόπος. Η δηµιουργία λίστας γίνεται µε την προσθήκη των αντικειµένων που θέλουµε µεταξύ αγκίστρων {} In[2]:= a = 81, 2, 4, 9< Στη συνέχεια µπορούµε να κάνουµε πράξεις µε τα στοιχεία της λίστας In[3]:= x^a 1 In[4]:= D@%, xd β) τρόπος Άλλος τρόπος δηµιουργίας λίστας είναι µε την εντολή Range In[5]:=? Range In[6]:= Range@5D ηµιουργία Λίστας γ) τρόπος Με χρήση της εντολής Table In[7]:=? Table Μπορούµε να έχουµε λίστα από απλές εκφράσεις In[9]:= Table@i^2, 8i, 1, 5<D ή ζεύγη εκφράσεων In[12]:= Table@8i, Prime@iD<, 8i, 1, 10<D êê TableForm Με το TableForm παρουσιάζουµε τα στοιχεία της λίστας σε µορφή πίνακα. Μπορούµε να έχουµε επίσης δύο µεταβλητές αντί για µία In[14]:= Table@1 êhi + jl, 8i, 1, 3<, 8j, 1, 3<D êê MatrixForm Με το MatrixForm παρουσιάζουµε τα στοιχεία της λίστας σε µορφή µαθηµατικού πίνακα. Μαθηµατικών, Α.Π.Θ. 2

ηµιουργία Λίστας δ) τρόπος Με χρήση της εντολής Array In[15]:=? Array In[23]:= Array@f, 82, 2<D Άσκηση. Να δηµιουργήσετε τον πίνακα των ηµιτόνων-συνηµιτόνων-εφαπτοµένης για γωνίες µεταξύ 0 και 90 µοιρών. Άσκηση. Να δηµιουργήσετε τον πίνακα µε τους πυθαγόρειους αριθµούς αν γνωρίζετε ότι αυτοί δίνονται από τον τύπο a = m 2 n 2, b = 2 mn, c = m 2 + n 2, m > n για m=2,3,4,5,6 και n=1,2,3,4,5. ηµιουργία Λίστας Λύση άσκησης 1 In[30]:= Table@8x 180 ê Pi, Sin@xD, Cos@xD, Tan@xD<, 8x, 0, Pi ê2, Pi ê 2 ê 90<D êê N êê TableForm Λύση άσκησης 2 In[39]:= Table@8m 2 n 2,2 m n, m 2 + n 2 <, 8m, 2, 6<, 8n, 1, m 1<D êê TableForm Μαθηµατικών, Α.Π.Θ. 3

Στοιχεία που αφορούν την λίστα Έστω η λίστα στοιχείων In[40]:= a = 88x, 1<, 81, x<, 8x, 2<< Το σύνολο των στοιχείων της λίστας είναι In[41]:= Length@aD ενώ η διάσταση του πίνακα ο οποίος αναπαριστάται από την λίστα είναι In[43]:= Dimensions@aD Επιλογή στοιχείων της λίστας Έστω ότι έχουµε την λίστα In[53]:= a = Table@i^2, 8i, 1, 5<D και θέλουµε να πάρουµε το 3ο στοιχείο της λίστας. Τότε θα γράψουµε In[54]:= a@@3dd ή In[55]:= Part@a, 3D Μαθηµατικών, Α.Π.Θ. 4

Επιλογή στοιχείων της λίστας Έστω τώρα η λίστα In[56]:= b = Table@8i, i^2<, 8i, 1, 5<D και θέλω το 3ο στοιχείο της λίστας. Τότε θα έχω In[57]:= b@@3dd το οποίο είναι πάλι λίστα. Αν από αυτή τη λίστα θέλω το δεύτερο στοιχείο της θα έχω In[58]:= b@@3dd@@2dd Θα µπορούσα επίσης να γράψω αρχικά In[59]:= b@@3, 2DD ή In[64]:= Part@b, 3, 2D Επιλογή στοιχείων της λίστας Αν θέλω παραπάνω από ένα στοιχεία της λίστας π.χ. 2ο και 3ο στοιχείο της λίστας b θα έχουµε In[66]:= Part@b, 82, 3<D Αν πάλι θέλουµε να πάρουµε τον υποπίνακα που προκύπτει από την 2η και 3η γραµµή και την 2η στήλη θα έχουµε In[67]:= Part@b, 82, 3<, 82<D In[70]:=? Part Μαθηµατικών, Α.Π.Θ. 5

Επιλογή στοιχείων της λίστας Έστω τώρα η λίστα In[180]:= a = Table@Prime@iD, 8i, 1, 10<D Το πρώτο στοιχείο της λίστας είναι το a[[1]] ή το In[72]:= First@aD ενώ το τελευταίο στοιχείο είναι το a[[10]] ή το In[73]:= Last@aD Μπορούµε να πάρουµε την λίστα χωρίς το πρώτο στοιχείο της In[75]:= Rest@aD ή διαφορετικά In[76]:= Drop@a, 1D Επιλογή στοιχείων της λίστας ή διαφορετικά In[76]:= Drop@a, 1D Αν πάλι θέλουµε να αφαιρέσουµε το τελευταίο στοιχείο της λίστας θα έχουµε In[78]:= Drop@a, 1D ή αν θέλουµε να αφαιρέσουµε το 3ο και 4ο στοιχείο της λίστας θα έχουµε In[79]:= Drop@a, 83, 4<D In[80]:=? Drop Μαθηµατικών, Α.Π.Θ. 6

Επιλογή στοιχείων της λίστας Σε αντιδιαστολή µε την Drop έχουµε την Take η οποία παίρνει στοιχεία από µια λίστα και ακολουθεί την ίδια σύνταξη. Αν λοιπόν θέλουµε το 3ο και 4ο στοιχείο της λίστας θα έχουµε In[181]:= Take@a, 83, 4<D Μπορούµε επίσης να επιλέξουµε τα στοιχεία της λίστας που ικανοποιούν κάποιο κριτήριο π.χ. In[185]:= a = Table@i, 8i, 1, 50<D; In[186]:= Select@a, PrimeQD In[187]:= Select@a, EvenQD Επιλογή στοιχείων της λίστας Άσκηση. Να δηµιουργήσετε µια λίστα a1 µε τους φυσικούς αριθµούς 1,2,3,...,50. Στη συνέχεια να δηµιουργήσετε µια λίστα a2 που θα περιέχει τα στοιχεία της a1 εκτός από το 1ο, 3ο, 5ο,...,50ο. Στη συνέχεια να δηµιουργήσετε µια λίστα a3 που θα περιέχει τα στοιχεία της a2 εκτός από το 1ο, 3ο, 5ο,.... Να συνεχίσετε την διαδικασία αυτή εως ότου πάρετε µια λίστα µε ένα µόνο στοιχείο. Μαθηµατικών, Α.Π.Θ. 7

Επιλογή στοιχείων της λίστας Λύση άσκησης In[107]:= a1 = Table@i, 8i, 1, 50<D In[100]:= a2 = Drop@a1, 81, 50, 2<D In[101]:= a3 = Drop@a2, 81, Length@a2D, 2<D In[102]:= a4 = Drop@a3, 81, Length@a3D, 2<D In[103]:= a5 = Drop@a4, 81, Length@a4D, 2<D In[104]:= a6 = Drop@a5, 81, Length@a5D, 2<D Επιλογή στοιχείων της λίστας Άσκηση. Ένα σύνολο χαρακτήρων αποτελεί ένα string. Ο χειρισµός των string γίνεται µε αντίστοιχες συναρτήσεις που χρησιµοποιούµε για τις λίστες µε παρόµοια σύνταξη όπως StringLength, StringTake, StringDrop, StringPosition κ.λ.π. In[130]:=? String* Για την µετατροπή ενός string σε λίστα χαρακτήρων χρησιµοποιούµε την Characters[string]. Σε κάθε χαρακτήρα αντισοιχεί ένας κωδικός αριθµός από τον κώδικα ASCII. Η συνάρτηση ToCharacterCode µετατρέπει τον χαρακτήρα/string στους αντίστοιχους κωδικούς αριθµούς. Η αντίστροφη συνάρτηση είναι η FromCharacterCode. ίνεται η λέξη athena. Να µετατρέψεται τα γράµµατα της λέξης στους αντίστοιχους κωδικούς αριθµούς ASCII. Στη συνέχεια να αφαιρέσετε από όλους τους χαρακτήρες τον αριθµό 30 και να ξαναµετατρέψετε τους κωδικούς αριθµούς σε χαρακτήρες. Μαθηµατικών, Α.Π.Θ. 8

Επιλογή στοιχείων της λίστας Λύση της άσκησης In[160]:= a = "athena" In[161]:= b = ToCharacterCode@aD In[178]:= c = b 30 In[179]:= FromCharacterCode@cD Έλεγχος και αναζήτηση στοιχείων στη λίστα Θεωρείστε την παρακάτω λίστα In[122]:= Clear@a, bd In[123]:= a1 = 8n, i, k, o, s, k, a, r, a, m, p, e, t, a, k, i, s< και θέλουµε να εµφανίσουµε την θέση του στοιχείου "k". Τότε θα γράψουµε In[124]:= Position@a1, kd ενώ αν θέλουµε να εµφανίσουµε πόσες φορές εµφανίσθηκε το στοιχείο k στην λίστα θα γράψουµε Length[Position[a1,k]] ή In[125]:= Count@a1, kd Μαθηµατικών, Α.Π.Θ. 9

Έλεγχος και αναζήτηση στοιχείων στη λίστα Για να ελέγξουµε αν ένα στοιχείο π.χ. g, αποτελεί στοιχείο της λίστας θα πρέπει να γράψουµε In[127]:= MemberQ@a1, gd ή αντίθετα αν θέλουµε να ελέγξουµε αν ένα στοιχείο π.χ. g, δεν εµφανίζεται στη λίστα θα γράψουµε In[128]:= FreeQ@a1, gd In[129]:=?*Q Προσθήκη, αφαίρεση και µεταβολή στοιχείων σε µια λίστα Έστω In[189]:= Clear@a, b, c, d, ed In[2]:= a1 = 8b, c, e< Προσθήκη ενός στοιχείου στην αρχή της λίστας In[3]:= Prepend@a1, ad In[4]:= a1 Προσθήκη ενός στοιχείου στην αρχή της λίστας και αντικατάσταση της λίστας In[5]:= PrependTo@a1, ad In[6]:= a1 Μαθηµατικών, Α.Π.Θ. 10

Προσθήκη, αφαίρεση και µεταβολή στοιχείων σε µια λίστα Προσθήκη ενός στοιχείου στo τέλος της λίστας In[7]:= Append@a1, fd In[8]:= a1 Προσθήκη ενός στοιχείου στo τέλος της λίστας και αντικατάσταση της λίστας In[9]:= AppendTo@a1, fd Προσθήκη ενός στοιχείου σε συγκεκριµένη θέση της λίστας??? In[10]:= Insert@a1,d,4D In[11]:= a1 ιαγραφή ενός στοιχείου από τη λίστα In[12]:= Delete@a1, 5D Προσθήκη, αφαίρεση και µεταβολή στοιχείων σε µια λίστα Αντικατάσταση του πρώτου στοιχείου µε z In[14]:= ReplacePart@a1, z, 1D Άσκηση. Να δηµιουργηθεί ο πίνακας Α = i 1 2 y 3 4 k 5 6 { και στη συνέχεια να αντικατασταθεί η δεύτερη του γραµµή µε {2,3} και να διαγραφεί η 3η γραµµή. Μαθηµατικών, Α.Π.Θ. 11

Προσθήκη, αφαίρεση και µεταβολή στοιχείων σε µια λίστα Λύση της άσκησης In[15]:= a = 881, 2<, 83, 4<, 85, 6<< In[20]:= b = ReplacePart@a, 82, 3<, 2D In[19]:= c = Delete@b, 3D Συνδυασµός λιστών και χειρισµός συνόλων Έστω οι παρακάτω δύο λίστες In[24]:= Clear@a, b, c, d, ed In[26]:= a = 8b, c, d, e<; In[27]:= f = 8b, d, s, g<; Μπορούµε να συνενώσουµε τις λίστες In[28]:= Join@a, fd ή να τις ενώσουµε σύµφωνα µε την θεωρία συνόλων In[29]:= Union@a, fd Μαθηµατικών, Α.Π.Θ. 12

Συνδυασµός λιστών και χειρισµός συνόλων Μπορούµε να βρούµε τα σηµεία τοµής των δύο συνόλων In[31]:= Intersection@a, fd Θεωρείστε το σύνολο των φυσικών αριθµών από το 1 έως το 20 In[53]:= aa = Table@i, 8i, 1, 20<D και το σύνολο των πρώτων αριθµών που είναι µικρότεροι από 20 In[60]:= bb = Table@Prime@iD, 8i, 1, PrimePi@20D<D Τότε το σύνολο των αριθµών του aa συνόλου που δεν ανήκουν στο bb σύνολο είναι το ακόλουθο In[61]:= Complement@aa, bbd Αναδιάταξη και οµαδοποίηση των στοιχείων µιας λίστας Έστω οι βαθµοί στο µάθηµα "Συµβολικές Γλώσσες Προγραµµατισµού" ήταν οι εξής : In[62]:= a = 82, 3, 6, 7, 4, 3, 7, 3, 9, 10, 10, 2, 9, 9< και θέλουµε να ταξινοµήσουµε τα παραπάνω στοιχεία.τότε θα γράψουµε In[65]:= Sort@aD Αν πάλι θέλαµε να τα χωρίσουµε και σε οµάδες ίδιων στοιχείων θα γράφαµε In[66]:= Split@%D Αν πάλι θέλαµε να κρατήσουµε µόνο τους βαθµούς που εµφανίσθηκαν θα γράφαµε In[68]:= Union@aD Μαθηµατικών, Α.Π.Θ. 13

Αναδιάταξη και οµαδοποίηση των στοιχείων µιας λίστας Η αντιστροφή των παραπάνω στοιχείων γίνεται ως εξής In[69]:= Reverse@%D Ο χωρισµός των στοιχείων της λίστας σε οµάδες των δύο στοιχείων γίνεται ως εξής In[70]:= Partition@%, 2D Ο ανάστροφος του παραπάνω πίνακα δίνεται παρακάτω In[71]:= Transpose@%D ενώ η επαναφορά των στοιχείων της παραπάνω λίστας σε µια γραµµή γίνεται από την Flatten In[72]:= Flatten@%D Ασκήσεις για το σπίτι Άσκηση 1. (Υπολογισµός προσαρτηµένου πίνακα) ίνεται ο πίνακας Α = i 1 2 3 y 2 3 1 k 3 1 2 { Να δηµιουργήσετε τον προσαρτηµένο πίνακα του πίνακα Α i m 11 m 21 m 31 y M = m 12 m 22 m 32 k m 13 m 23 m 33 { όπου το m ij στοιχείο του πίνακα Μ προκύπτει από την ορίζουσα του πίνακα Α αν αφαιρέσουµε την γραµµή i και στήλη j. Μαθηµατικών, Α.Π.Θ. 14

Ασκήσεις για το σπίτι Άσκηση 2. (Κρυπτογραφία) Να πάρετε όλους τους χαρακτήρες από Α έως και Ζ σε µια λίστα a µε την συνάρτηση CharacterRange["A","Z"]. Στη συνέχεια να µετατρέψετε την παραπάνω λίστα σε αντίστοιχους κωδικούς ASCII. Σε κάθε αριθµό Α να αντιστοιχήσετε τον αριθµό [(5Α+4) mod 26]+65. Τέλος να µετατρέψετε τους καινούριους αριθµούς ASCII στα αντίστοιχα γράµµατα. Ασκήσεις για το σπίτι Άσκηση 3. (Μέθοδος υπολογισµού του π µε την µέθοδο Monte Carlo) ηµιούργησε µια λίστα µε k ζεύγη τυχαίων πραγµατικών αριθµών µεταξύ [0,1]. Στη συνέχεια χρησιµοποίησε την συνάρτηση f @x_real, y_reald := x 2 + y 2 1 και µε την βοήθεια της Select και της Count προσδιόρισε το πλήθος q των σηµείων που ικανοποιούν την παραπάνω ιδιότητα. Σύγκρινε τον αριθµό q/k που βρήκες µε το Pi/4. Eπανέλαβε την διαδικασία για k=10,100,1000,10000. Τι παρατηρείς ; Μαθηµατικών, Α.Π.Θ. 15