4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB
|
|
- Ξενοφών Μιαούλης
- 8 χρόνια πριν
- Προβολές:
Transcript
1 4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB Για να μπορέσουμε να γράψουμε δικά μας προχωρημένα προγράμματα (δηλ. m-files που θα παίζουν το ρόλο νέων εντολών στη MATLAB) πρέπει να μελετήσουμε καλά τις τέσσερις δομές ελέγχου ροής (flow control structures) που διαθέτει η MATLAΒ: βρόχοι for (for loops) βρόχοι while (while loops) εντολή if (if statement) εντολή switch (switch statement) Πριν πάμε στις δομές ελέγχου ροής θα πρέπει να συζητήσουμε πρώτα τους λεγόμενους σχεσιακούς (relational operators) και λογικούς τελεστές (logical operators). Ένας από τους τύπους δεδομένων της MATLAB είναι ο λογικός (logical data type) με πιθανές τιμές τη λογική μονάδα (αληθής, true) και το λογικό (ψευδής, false). Οι λογικές μεταβλητές παράγονται από σχεσιακούς και λογικούς τελεστές ή συναρτήσεις και από τις συναρτήσεις true και false. Για παράδειγμα, ας πάρουμε τις πραγματικές μεταβλητές x και y και τις λογικές μεταβλητές a και b: >> x= x = >> y= y = >> a=true a = >> b=false b = >> whos Name Size Bytes Class a x logical array b x logical array x x 8 double array y x 8 double array Grand total is 4 elements using 8 bytes Παρατηρούμε ότι ενώ οι πραγματικές μεταβλητές καταλαμβάνουν 8 bytes, οι λογικές μεταβλητές καταλαμβάνουν byte.
2 Γ. Γεωργίου & Χρ. Ξενοφώντος 4. Σχεσιακοί τελεστές Οι σχεσιακοί τελεστές (relational operators) της MATLAB είναι οι πιο κάτω: < less than μικρότερος > greater than μεγαλύτερος < = less than or equal μικρότερος ή ίσος > = greater than or equal μεγαλύτερος ή ίσος = = equal ίσος ~ = not equal άνισος Παρατηρούμε ότι σε αντίθεση με την εκχώρηση τιμής όπου χρησιμοποιείται το =, για την ισότητα στις λογικές προτάσεις χρησιμοποιείται το = =. Η σύγκριση μεταξύ δύο αριθμών μας δίνει τη λογική μονάδα αν αυτή είναι αληθής και το λογικό μηδέν αν είναι ψευδής: >> ==2 >> +==2 >> 3<5 >> 3>6 >> >= >> <=5 >> ~=5 Θα πρέπει να σημειώσουμε ότι στην περίπτωση που συγκρίνουμε μιγαδικούς αριθμούς τότε στην περίπτωση ισότητας ( = = ) και ανισότητας ( ~= ) συγκρίνονται τόσο τα πραγματικά όσο και τα φανταστικά μέλη. Σε όλες τις άλλες περιπτώσεις η σύγκριση γίνεται ως προς τα πραγματικά μέλη. Έτσι για παράδειγμα η σχέση είναι αληθής όπως επίσης και η +5i < 2 + i +5i >= -i 4
3 4. Προγραμματισμός στη MATLAB Παράδειγμα 4.. >> x=+4i; y=3-2i; z=+i; w=+4i; >> x ~=y >> x == z >> x == w >> x > z >> y > z >> x >= z Μπορούμε επίσης να συγκρίνουμε δύο πίνακες ίσων διαστάσεων ή τα στοιχεία ενός πίνακα με ένα αριθμό. Παράγεται τότε ένας πίνακας με λογικά στοιχεία: στη σύγκριση πίνακα με πίνακα συγκρίνονται τα ομοθέσια στοιχεία, ενώ στη σύγκριση πίνακα με αριθμό συγκρίνεται κάθε στοιχείο του πίνακα με τον αριθμό αυτό. Παράδειγμα 4..2 >> A=[ 2; - ] A = 2 - >> B=[3 2; - 4] B = >> A==B >> A>B >> A>=B >> A== 5
4 Γ. Γεωργίου & Χρ. Ξενοφώντος >> A>= Οι πίνακες που παράγονται με σύγκριση είναι λογικοί πίνακες, δηλ. τα στοιχεία τους είναι λογικές μεταβλητές. Παράδειγμα 4..3 >> A=[ 2 3; 2 3 ; 3 2] A = >> B=[3 2 ; 2 3; 3 2] B = Ας βρούμε τώρα το λογικό πίνακα που μας δείχνει ποια στοιχεία των Α και Β είναι ίσα: >> C=A==B C = Ο D είναι ο λογικός πίνακας που μας δείχνει ποια στοιχεία του Α είναι μεγαλύτερα των αντίστοιχων στοιχείων του Β: >> D=A>B D = Ο Ε είναι ο λογικός πίνακας που μας δείχνει ποια στοιχεία του Α είναι μεγαλύτερα ή ίσα του 2: >> E=A>=2 E = Με την εντολή whos βλέπουμε ότι κατασκευάσαμε δύο πίνακες διπλής ακρίβειας (Α και Β) και τρεις λογικούς πίνακες, τους C, D και E: >> whos Name Size Bytes Class Attributes A 3x3 72 double B 3x3 72 double C 3x3 9 logical 6
5 4. Προγραμματισμός στη MATLAB D 3x3 9 logical E 3x3 9 logical Στις νέες εκδοχές της MATLAB έχουμε τη δυνατότητα να χρησιμοποιήσουμε ισοδύναμες σχεσιακές συναρτήσεις αντί των λογικών τελεστών. Για παράδειγμα, οι παραστάσεις A==B και eq(a,b) είναι ισοδύναμες. Οι συναρτήσεις που αντιστοιχούν στους λογικούς τελεστές φαίνονται στον πιο κάτω πίνακα: lt < less than μικρότερος gt > greater than μεγαλύτερος le < = less than or equal μικρότερος ή ίσος ge > = greater than or equal μεγαλύτερος ή ίσος eq = = equal ίσος ne ~ = not equal άνισος Παράδειγμα 4..4 Οι πιο κάτω παραστάσεις είναι ισοδύναμες: x=y eq(x,y) >= 5 ge(,5) A~=B ne(a,b) (a+b) < c/d lt(a=b, c/d) Οι is-συναρτήσεις Για τον έλεγχο της ισότητας δύο πινάκων ίσων διαστάσεων, μπορούμε να χρησιμοποιήσουμε τη λογική συνάρτηση Για παράδειγμα, >> A=ones(2,3) A = >> B=eye(2,3) B = >> isequal(a,b) isequal(a,b) H isequal επιστρέφει την τιμή αν οι δύο πίνακες είναι ίσοι και το διαφορετικά. Είναι φανερή η διαφορά της isequal(a,b) από την Α= =Β ή την eq(a,b): στην πρώτη περίπτωση παίρνουμε μια λογική μεταβλητή ενώ στη δεύτερη ένα λογικό πίνακα. H ΜΑΤLAB είναι εφοδιασμένη με πλήθος λογικών συναρτήσεων (logical functions) το όνομα των οποίων αρχίζει με is όπως η isequal. Κάποιες από αυτές φαίνονται στον πίνακα που ακολουθεί. Η MATLAB μας δίνει τον πλήρη κατάλογο αυτών των συναρτήσεων με την εντολή doc is. 7
6 Γ. Γεωργίου & Χρ. Ξενοφώντος ischar isempty isequal isfinite isinf isinteger iskeyword isletter islogical isnan isreal isscalar issorted isvarname isvector Έλεγξε αν είναι αλφαριθμητικό (string) Έλεγξε αν πίνακας είναι άδειος Έλεγξε αν οι πίνακες είναι ίσοι Βρες τα πεπερασμένα στοιχεία πίνακα Βρες τα άπειρα στοιχεία πίνακα Έλεγξε αν ο πίνακας είναι ακέραιος Βρες αν το όνομα είναι λέξη-κλειδί της MATLAB Βρες τα στοιχεία που είναι αλφαβητικά γράμματα Έλεγξε αν ο πίνακας είναι λογικός Βρες τα στοιχεία πίνακα που είναι NaN Έλεγξε αν ο πίνακας είναι πραγματικός Έλεγξε αν ο πίνακας είναι βαθμωτός Έλεγξε αν το διάνυσμα είναι ταξινομημένο Έλεγξε αν το όνομα μεταβλητής είναι αποδεκτό Έλεγξε αν είναι διάνυσμα Παράδειγμα 4..5 Ας δούμε τι μας δίνουν οι συναρτήσεις isfinite, isinf και isnan για τον πίνακα 2 inf A= NaN inf.5 NaN inf >> A=[ 2 Inf; NaN -inf.5; NaN inf ] A =. 2. Inf NaN -Inf.5 NaN Inf. >> isfinite(a) >> isinf(a) >> isnan(a) Παράδειγμα 4..6 Έστω τα αλφαριθμητικά s, s2 και s3: >> s='2wrong-name'; >> s2='okname'; 8
7 4. Προγραμματισμός στη MATLAB >> s3=''; Το s είναι φυσικά αλφαριθμητικό, δεν είναι λέξη κλειδί αλλά δεν είναι αποδεκτό όνομα μεταβλητής (γιατί;) >> ischar(s) >> iskeyword(s) >> isvarname(s) Το s2 είναι και αυτό αλφαριθμητικό, δεν είναι λέξη κλειδί και είναι αποδεκτό όνομα μεταβλητής: >> ischar(s2) >> iskeyword(s2) >> isvarname(s2) Το s3 είναι επίσης αλφαριθμητικό, είναι λέξη κλειδί και έτσι δεν είναι αποδεκτό όνομα μεταβλητής: >> ischar(s3) >> iskeyword(s3) >> isvarname(s3) Η λογική συνάρτηση find Η πιο σημαντική λογική συνάρτηση είναι η find. Η συνάρτηση αυτή ερευνά ένα διάνυσμα ή ένα πίνακα και βρίσκει ποια στοιχεία του ικανοποιούν ένα δοσμένο κριτήριο. Για παράδειγμα για το διάνυσμα >> u=[ ] u = παίρνουμε >> y=find(u>=) y = Παρατηρούμε ότι η find επιστρέφει τους δείκτες των στοιχείων που ικανοποιούν το κριτήριο. 9
8 Γ. Γεωργίου & Χρ. Ξενοφώντος Παράδειγμα 4..7 Θα πάρουμε ένα τυχαίο πίνακα: >> A=rand(4,3) A = Θα βρούμε τα στοιχεία του Α που είναι μεγαλύτερα ή ίσα με το.5: >> z=find(a>.5) z = Παρατηρούμε ότι οι θέσεις που παίρνουμε προκύπτουν αν διατρέχουμε προς τα κάτω κάθε στήλη και πάμε από αριστερά προς τα δεξιά. Αν θέλουμε να βρούμε τις θέσεις των στοιχείων στον πίνακα Α μπορούμε να γράψουμε >> [row,column]=find(a>.5) row = column = Παράδειγμα 4..8 Έστω grades το διάνυσμα των βαθμών 2 φοιτητών σ ένα μάθημα: >> grades=[ ] grades = Columns through Columns 7 through Για να επιτύχει κάποιος στο μάθημα πρέπει να πετύχει βαθμό τουλάχιστον 5. Το διάνυσμα pass μας δείχνει ποιοι φοιτητές έχουν επιτύχει.
9 4. Προγραμματισμός στη MATLAB >> pass=find(grades>=5) pass = Μπορούμε να δούμε και τους βαθμούς των επιτυχόντων φοιτητών: >> grades(pass) Columns through Column Λογικοί τελεστές Οι λογικοί τελεστές (logical operators) φαίνονται στον πιο κάτω πίνακα μαζί με τις αντίστοιχες λογικές συναρτήσεις: Συμβ. Συνάρτηση Περιγραφή & and logical and λογικό και (κατά στοιχεία) or logical or λογικό ή (κατά στοιχεία) ~ not logical not λογικό όχι xor xor logical exclusive or λογικό αποκλειστικό ή all all true if all vector elements are nonzero αληθής αν όλα τα στοιχεία διανύσματος είναι μη μηδενικά any any true if any element is nonzero αληθής αν ένα στοιχείο διανύσματος δεν είναι μηδέν && relop logical and (for scalars) with short circuiting λογικό και μικρού κυκλώματος relop logical or (for scalars) with short circuiting λογικό ή μικρού κυκλώματος Στην παράγραφο αυτή θα ασχοληθούμε κυρίως με τους τρεις πρώτους λογικούς τελεστές: &, και ~. Αν οι p και q είναι λογικές προτάσεις, ισχύουν τα εξής: Η p & q μας δίνει την τιμή μόνο αν οι p και q είναι (και οι δύο) αληθείς. Η p q μας δίνει την τιμή αν τουλάχιστο μια από τις p και q είναι αληθής.
10 Γ. Γεωργίου & Χρ. Ξενοφώντος Η ~ p μας δίνει την τιμή μόνο αν η p είναι ψευδής και την τιμή αν η p είναι αληθής. Παράδειγμα 4.2. Παίρνουμε μια αληθή και μια ψευδή πρόταση. >> p=== p = >> q=2< q = Ας δούμε τι παίρνουμε με τους τρεις λογικούς τελεστές. >> p & q >> p q >> ~p >> ~q Αντί των τελεστών &, και ~ μπορούμε να χρησιμοποιήσουμε και τις συναρτησιακές τους μορφές: Η and(p,q) είναι ισοδύναμη με την p & q. Η or(p,q) είναι ισοδύναμη με την p q. Η not(p) είναι ισοδύναμη με την ~ p. Παράδειγμα Παίρνουμε τώρα δύο αληθείς προτάσεις: >> p=+==2 p = >> q=+>= q = >> and(p,q) >> or(p,q) >> not(p) 2
11 4. Προγραμματισμός στη MATLAB Μπορούμε επίσης να συνδυάσουμε τις τελεστικές με τις συναρτησιακές μορφές: >> and(p,~q) >> or(~p,q) >> not(~p) Όπως και οι σχεσιακοί τελεστές, οι λογικοί τελεστές &, και ~ παράγουν πίνακες με λογικά και όταν ένα από τα ορίσματα είναι πίνακας. Παράδειγμα >> A=[-2 ; 3 ]; B=[2-3; 2]; >> A A = -2 3 >> B B = >> A> & B <2 >> A> B <2 >> ~(A>) Προσοχή: ποια η διαφορά μεταξύ της ~(A>) και της ~A>; Η συνάρτηση all όταν το όρισμά της είναι διάνυσμα επιστρέφει το αν όλα τα στοιχεία του διανύσματος είναι μη μηδενικά και το όταν αυτό δεν ισχύει. Η συνάρτηση any επιστρέφει το αν τουλάχιστον ένα στοιχείο του διανύσματος είναι μη μηδενικό και το στην αντίθετη περίπτωση. Παράδειγμα >> u=[ ]; >> v=[- 3 4]; >> w=[ ]; >> all(u) 3
12 Γ. Γεωργίου & Χρ. Ξενοφώντος >> all(v) >> all(w) >> any(u) >> any(v) >> any(w) Στην περίπτωση που το όρισμά της είναι πίνακας, η συνάρτηση all επιστρέφει ένα διάνυσμα με τα αποτελέσματα της all εφαρμοσμένα σε κάθε στήλη του πίνακα. Είναι τότε εύκολο να δούμε ότι η all(all(a==b)) είναι ένας άλλος τρόπος να ελέγξουμε την ισότητα των πινάκων Α και Β. Μια άλλη ισοδύναμη επιλογή είναι η all(a(:)==b(:)). Ομοίως η συνάρτηση any(any(a==b)) παίρνει την τιμή αν οι Α και Β έχουν έστω και σε μια θέση ίσα στοιχεία και την τιμή διαφορετικά. Η any(a(:)==b(:)) είναι ισοδύναμή της. 4.3 Βρόχοι for Οι βρόχοι for έχουν την εξής δομή: for index = initial value (: step) : final value statements Οι λέξεις for και χρησιμοποιούνται στην αρχή και στο τέλος του βρόχου, ο μετρητής index παίρνει τις τιμές από initial value μέχρι final value με βήμα step, και οι εντολές (statements) εκτελούνται για όλες τις τιμές του μετρητή index. Αν παραλείψουμε το βήμα, τότε η MATLAB χρησιμοποιεί το σαν βήμα. Σημειώνουμε επίσης ότι το βήμα μπορεί να είναι αρνητικό. Για παράδειγμα, αν θέλουμε να υπολογίσουμε την παράσταση j+2, j=, 2, 3, 4 μπορούμε να γράψουμε: >> for j=:4 j+2 4
13 4. Προγραμματισμός στη MATLAB Παράδειγμα 4.3. Θα χρησιμοποιήσουμε ένα βρόχο για να υψώσουμε τα στοιχεία του διανύσματος x = [,2,3,4,5] στο τετράγωνο. >> for i=:5 x(i) = i^2; >> x x = Η εντολή x(i) = i^2; μας επιτρέπει να αποθηκεύσουμε τις τιμές i του μετρητή, στο τετράγωνο, στις θέσεις i του διανύσματος x. Σημειώνουμε, επίσης, ότι βάλαμε ; στο τέλος αυτής της εντολής για να μην τυπωθούν τα (ενδιάμεσα) αποτελέσματα στην οθόνη. Αξίζει να πούμε ότι στην πράξη, ο πιο πάνω τρόπος δεν είναι ο πιο κατάλληλος για να υψώσουμε τα στοιχεία ενός διανύσματος σε μια δύναμη. Ο ενδεδειγμένος τρόπος στη ΜΑΤLAB είναι ο εξής: >> x=(:5).^2 x = Παράδειγμα Θα υπολογίσουμε τις τετραγωνικές ρίζες των, 3, 5, 7, 9, και θα τις αποθηκεύσουμε στο διάνυσμα y. >> format long >> for i=:2: y(i)=sqrt(i); >> y'
14 Γ. Γεωργίου & Χρ. Ξενοφώντος Παρατηρούμε εδώ ότι τα στοιχεία του y που αντιστοιχούν στις άρτιες τιμές του μετρητή (δηλ. i = 2, 4,, οι οποίες παραλήφθηκαν) έχουν πάρει την (εξ ορισμού) τιμή. Μπορούμε να αποφύγουμε αυτό το φαινόμενο ως εξής: >> format long >> clear('y') >> n=:2:; >> for i=:length(n) y(i) = sqrt(n(i)); >> y' Παρατηρήσεις Αν θέλουμε να γράψουμε ένα βρόχο σε μια γραμμή του παραθύρου εργασίας, χρησιμοποιούμε οπωσδήποτε κόμμα ή ερωτηματικό μετά την εντολή for και μετά γράφουμε κατά τα γνωστά τις επόμενες εντολές χωρίζοντάς τις επίσης με κόμματα ή ερωτηματικά. Στην τελευταία εντολή () δεν χρειάζονται ερωτηματικά. Έτσι οι εντολές >> for i=: x(i)=/i; γράφονται σε μια γραμμή ως εξής: ή >> for i=:, x(i)=/i; >> for i=:; x(i)=/i; Οι βρόχοι χρησιμοποιούνται συχνά για τον υπολογισμό αθροισμάτων της μορφής ή γινομένων της μορφής n i= n i= Στην περίπτωση αθροίσματος μηδενίζουμε πρώτα το άθροισμα (π.χ. sum) και προσθέτουμε σ αυτό τους διαδοχικούς όρους μ ένα βρόχο for: sum=; for i=:n sum=sum+a(i); Στην περίπτωση γινομένου θέτουμε το γινόμενο (π.χ. product) ίσο με και στη συνέχεια το πολλαπλασιάζουμε με τους διαδοχικούς όρους με ένα βρόχο for: product=; a a i i 6
15 4. Προγραμματισμός στη MATLAB for i=:n product=product*a(i); Θα πρέπει πάντως να σημειώσουμε ότι η MATLAB μας παρέχει τη δυνατότητα να υπολογίσουμε με απλό τρόπο το άθροισμα και το γινόμενο των στοιχείων ενός διανύσματος. Παράδειγμα Μπορούμε να υπολογίσουμε το άθροισμα ( k + ) k ως εξής: >> sum=; >> for i=: sum=sum+(i+)^i; >> sum sum = e+ i= Μπορούμε εναλλακτικά να χρησιμοποιήσουμε τη συνάρτηση sum για διανύσματα αποφεύγοντας το βρόχο for: >> sum=sum(((:)+).^(:)) sum = e+ Παράδειγμα Έστω x i, i =,., οι κόμβοι που προκύπτουν αν διαμερίσουμε το διάστημα [, ] σε ισομήκη διαστήματα: Μπορούμε να υπολογίσουμε το γινόμενο ως εξής: x =.( i ), i =,, i i=, i 5 ( x x ) >> x=(:)/; >> product=; >> for i=:4, product=product*(x(5)-x(i)); >> for i=6:, product=product*(x(5)-x(i)); >> product product =.728e-6 Παρατηρούμε ότι χρησιμοποιήσαμε δύο βρόχους για να αποφύγουμε το i = 5. Όπως θα δούμε στη συνέχεια μπορούμε να εργαστούμε με ένα βρόχο και να αποφύγουμε το i = 5 με μια εντολή if. 5 i 7
16 Γ. Γεωργίου & Χρ. Ξενοφώντος Συχνά στις εφαρμογές απαιτείται μέσα σ ένα βρόχο να δημιουργήσουμε ένα άλλο (εσωτερικό) βρόχο και σ αυτόν ένα άλλο βρόχο κοκ. Έχουμε έτσι τους λεγόμενους πολλαπλούς ή εγκιβωτισμένους βρόχους (nested loops). Για παράδειγμα αν πρέπει να επαναλάβουμε μια διαδικασία για κάθε στοιχείο ενός m n πίνακα, μπορούμε να σαρώσουμε τα στοιχεία του πίνακα ως εξής: for i=:m for j=:n διαδικασία για i και j Παράδειγμα Θα χρησιμοποιήσουμε ένα διπλό βρόχο για να υψώσουμε τα στοιχεία ενός πίνακα στο τετράγωνο. >> A=[ 5-3 ; 2 4 ; - 6 9] A = >> for i=:3 for j=:3 A2(i,j) = A(i,j)^2; >> A2 A2 = Εναλλακτικός (και πιο κατάλληλος) τρόπος: >> A=[ 5-3 ; 2 4 ; - 6 9]; >> A2=A.^2 A2 = Παράδειγμα gabssum.m function [xsum] = gabssum(a) % % function [xsum] = gabssum(a) % % Upologizei to apoluto aroisma twn stoixeiwn enos pinaka A % [m,n]=size(a); xsum=; for i=:m for j=:n xsum = xsum + abs(a(i,j)); % Telos toy gabssum.m 8
17 4. Προγραμματισμός στη MATLAB Εναλλακτικός τρόπος: function [xsum] = gabssum(a) % % function [xsum] = gabssum(a) % % Upologizei to apoluto aroisma twn stoixeiwn enos pinaka A % [m,n]=size(a); xsum=; B=abs(A); for i=:m xsum = xsum + sum( B(i, : ) ); % Telos toy gabssum.m Παράδειγμα Έστω o Α = ones(2). Θα υπολογίσουμε πόσος χρόνος χρειάζεται για να υπολογίσουμε τον Β = π Α. Για τον σκοπό αυτό θα χρησιμοποιήσουμε τις συναρτήσεις clock και etime. Αν δεν χρησιμοποιήσουμε βρόχο ο χρόνος είναι πρακτικά : >> t=clock; B=A*pi; time=etime(clock,t) time = Αν χρησιμοποιήσουμε βρόχο παρατηρούμε ότι ο απαιτούμενος χρόνος υπολογισμού είναι μεγαλύτερος. >> t=clock; >> for k=:2, for j=:2, B(k,j)=A(k,j)*pi;, >> time=etime(clock,t) time =.7 9
18 Γ. Γεωργίου & Χρ. Ξενοφώντος 4.4 Βρόχοι while Οι βρόχοι while είναι της μορφής: while relation statements Οι λέξεις while και χρησιμοποιούνται στην αρχή και στο τέλος του βρόχου. Η ακολουθία εντολών «statements» εκτελούνται εφόσον η συνθήκη relation ικανοποιείται (δηλ. είναι αληθής) και σταματούν όταν αυτή παύει να ισχύει. Για να γράψουμε τη συνθήκη relation χρησιμοποιούμε τους σχεσιακούς και λογικούς τελεστές που συζητήσαμε στα εδάφια 4. και 4.2. Παράδειγμα 4.4. Το function m-file xlgmin.m, που φαίνεται πιο κάτω, βρίσκει τον ελάχιστο ακέραιο για τον οποίο ισχύει log n x όπου x δοσμένος αριθμός. function [n] = xlgmin(x) % function [n] = xlgmin(x) % % Briskei ton elaxisto akeraio n gia ton opoio isxuei % log n >= x % O x prepei na einai gnhsia etikos % n = ; while log(n) < x n = n+; % Telos tou xlgmin.m Τρέχουμε το πιο πάνω m-file για διάφορες τιμές του x: >> xlgmin() 3 >> xlgmin(3) 2 >> xlgmin(8) 298 Παράδειγμα N n x x x Η συνάρτηση f ( x) = e προσεγγίζεται με σειρά Taylor ως εξής: f( x) = e. n= n! N n x x Μπορεί να δειχτεί ότι f( x) = e = lim N n = n!, άρα για κάποιο πεπερασμένο Ν, η πιο πάνω σειρά δίνει μια «καλή» προσέγγιση για την συνάρτηση. Το function m-file 2
19 4. Προγραμματισμός στη MATLAB exp.m, που ακολουθεί, υλοποιεί αυτή την προσέγγιση για την f ( x ) για κάποιο δεδομένο x με ακρίβεια.. function [S] = exp(x) % function [S] = exp(x) % % Briskei mia proseggish gia thv suvarthsh exp(x) me % akribeia.. n = ; S = ; an = ; while abs(an) >=. an = x.^n/factorial(n); S = S + an ; n = n + ; Εδώ χρησιμοποιήσαμε τη συνάρτηση βιβλιοθήκης factorial(n) για τον υπολογισμό του παραγοντικού n!. Ας τρέξουμε το exp.m για διάφορες τιμές του x, και κάθε φορά θα ελέγχουμε την απάντηση μας με την συνάρτηση βιβλιοθήκης exp της MATLAB: >> exp(2) >> exp(2) >> exp(4) >> exp(4) >> exp(-3) >> exp(-3) Οι εντολές break, return και continue Οι βρόχοι for και while μπορούν να διακοπούν με την εντολή break η οποία μεταφέρει τον έλεγχο στην πρώτη εντολή μετά το τελικό του βρόχου στον οποίο χρησιμοποιείται. Έτσι αν έχουμε εγκιβωτισμένους βρόχους ο έλεγχος περνά στον επόμενο (εξωτερικό βρόχο). Η εντολή break ορίζεται μόνο μέσα σε βρόχους for και while. Μια παρόμοια εντολή που μπορεί να χρησιμοποιηθεί εναλλακτικά και εκτός βρόχων for και while είναι η εντολή return. Γενικά η εντολή αυτή μεταφέρει τον έλεγχο στην καλούσα συνάρτηση (π.χ. στο καλόν m-file) ή στο πληκτρολόγιο. Χρησιμοποιείται επίσης για τερματισμό της εντολής keyboard που μεταφέρει τον έλεγχο από ένα m- 2
20 Γ. Γεωργίου & Χρ. Ξενοφώντος file στο πληκτρολόγιο. Όπως θα δούμε στη συνέχεια με την εντολή return μπορούμε να διακόψουμε όταν χρειάζεται την εκτέλεση των εντολών ενός m-file. Αν για παράδειγμα ένας πίνακας δεν είναι αντιστρέψιμος θα ήταν καλό να μην προχωρήσουμε στην εύρεση του αντιστρόφου του. Τέλος η εντολή continue μεταβιβάζει τον έλεγχο στην επόμενη επανάληψη ενός βρόχου for ή while χωρίς να εκτελεστούν οι εναπομένουσες εντολές του βρόχου. Θα δούμε παραδείγματα χρήσης αυτών των εντολών στις επόμενες παραγράφους. 4.5 Η εντολή if Η εντολή if μας επιτρέπει να ελέγξουμε αν μια (ή περισσότερες) συνθήκες ισχύουν και να εκτελέσουμε σε κάθε περίπτωση την επιθυμητή ακολουθία εντολών και πράξεων. Η εντολή έχει την γενική μορφή: if relation_ statement(s) elseif relation_2 statement(s) else statement(s) Οι συνθήκες ελέγχονται με τη χρήση σχεσιακών και λογικών τελεστών. Σημειώνουμε επίσης ότι η εντολή elseif γράφεται σαν μια λέξη (δεν πρέπει να υπάρχει κενό μεταξύ του else και του if). Η απλούστερη μορφή της εντολής if είναι η πιο κάτω: if relation statement(s) Οι εντολές εκτελούνται μόνο αν ικανοποιείται η συνθήκη relation. Διαφορετικά δεν εκτελείται καμιά εντολή στο σημείο αυτό του προγράμματος και η ροή του τελευταίου συνεχίζει κανονικά. Αν θέλουμε να γράψουμε στην ίδια γραμμή άλλες εντολές χρησιμοποιούμε κόμμα ή ερωτηματικό για να χωρίσουμε την εντολή if από την επόμενη. Για παράδειγμα αντί γράφουμε if x> x=sqrt(x) if x>, x=sqrt(x); 22
21 4. Προγραμματισμός στη MATLAB Παράδειγμα 4.5. workerpay.m Το script m-file workerpay.m, που φαίνεται πιο κάτω, υπολογίζει τον μισθό ενός εργαζομένου βάσει των ωρών που έχει εργαστεί. Αφού ζητήσει από τον χρήστη να δώσει τις ώρες εργασίας και το ωρομίσθιο, το πρόγραμμα υπολογίζει το μισθό ως εξής: Μέχρι τις 4 ώρες εργασίας, ο μισθός είναι το γινόμενο των ωρών επί το ωρομίσθιο, ενώ πάνω από τις 4 ώρες (υπερωρίες), οι απολαβές είναι κατά 5% μεγαλύτερες. % Script file workerpay.m t = input('poses wres exei ergastei to atomo? '); h = input('poios eivai o misos ava wra? '); Pay = t*h; if t > 4 Pay = Pay + (t-4)*.5*h; disp('to eisodeima tou ergazomevou eivai ') format bank disp(pay) % Telos tou workerpay.m Ας τρέξουμε το πρόγραμμα μερικές φορές: >> workerpay Poses wres exei ergastei to atomo? 46 Poios eivai o misos ava wra? 4.25 To eisodeima tou ergazomevou eivai >> workerpay Poses wres exei ergastei to atomo? 35 Poios eivai o misos ava wra? 4 To eisodeima tou ergazomevou eivai 4. Ας δούμε τώρα τι γίνεται στην περίπτωση η απόφαση που χρειάζεται να παρθεί συμπεριλαμβάνει εναλλακτική περίπτωση, δηλ. ή το ένα θα συμβεί ή το άλλο. Η δομή είναι if relation statement(s) else statement(s) Παράδειγμα To m-file gee.m, που φαίνεται πιο κάτω, ορίζει την συνάρτηση 2 x, x.5 gx ( ) =.25, x >.5 23
22 Γ. Γεωργίου & Χρ. Ξενοφώντος function [G] = gee(x) for i=:length(x) if x(i) <=.5 G(i) = x(i)^2; else G(i) =.25; % Telos tou gee.m Τρέχουμε το m-file και παίρνουμε τις εξής τιμές: >> gee() >> gee(.2).4 >> gee(3).25 >> gee([:7]') >> gee([-3:3]) Μπορούμε, επίσης, να πάρουμε τη γραφική παράσταση της συνάρτησης g, π.χ. στο διάστημα [ 2, 2], ως εξής: >> x=linspace(-2,2); >> plot(x,gee(x)) Στο επόμενο παράδειγμα θα δούμε τη γενική δομή της εντολής if. 24
23 4. Προγραμματισμός στη MATLAB Παράδειγμα Εύρεση του αντίστροφου πίνακα - invnew.m function [Ainv] = invnew(a) % % Elegxei an (a) o pinakas A einai tetragwnikos (diaforetika stamata), % (b) o pinakas A einai antistreyimos (diaforetika stamata) % kai an ikanopoiountai oi anwterw sunhkes briskei ton antistrofo % tou A. % Ypolοgise tis diastaseis tou A [m,n] = size(a); % Elegkse an o A einai tetragwnikos if m~=n disp('matrix A is not square.'); return %eksodos apo to programma elseif rank(a) ~= n disp('matrix is singular'); return %eksodos apo to programma else Ainv = inv(a); % Telos tou invnew.m Εδώ χρησιμοποιήσαμε την εντολή return που συζητήσαμε στην προηγούμενη παράγραφο. Το πιο πάνω m-file έδωσε τα εξής για ένα ψευδοτυχαίο 4 4 πίνακα: >> A=rand(4) A = >> invnew(a) >> A=rand(3,2) A = >> invnew(a) Matrix A is not square. >> A=zeros(3) A = >> invnew(a) Matrix is singular 25
24 Γ. Γεωργίου & Χρ. Ξενοφώντος Παράδειγμα Υπολογισμός του n! Στο παράδειγμα αυτό η factnew είναι αναδρομική (καλεί τον εαυτό της)! function [N] = factnew(n) % Elegxei av to n eivai etikos akaireow, kai av vai, % upologizei to n! me anadromiko tropo: % n! = n (n-)! % H function kalei ton eauto ths oses fores xreiazetai gia % na upologisei to n! % if n < round(n) ~= n disp('to dedomevo eisodou prepei va eivai etikos akeraios.') return elseif (n==) (n==) %!=!= N=; else % n! = n (n-)! N = n* factnew(n-); % Telos tou factnew.m Χρησιμοποιήσαμε ξανά την εντολή return. Θα τρέξουμε το πιο πάνω πρόγραμμα και θα ελέγξουμε τις απαντήσεις μας με τη συνάρτηση βιβλιοθήκης factorial(n). >> factnew(/2) To dedomevo eisodou prepei va eivai etikos akeraios. >> factnew(-2) To To dedomevo eisodou prepei va eivai etikos akeraios. >> factnew(4) 24 >> factorial(4) 24 >> factnew(8) 432 >> factorial(8) 432 Παράδειγμα Θα δούμε κάπως διαφορετικά το Παράδειγμα όπου χρησιμοποιήσαμε δύο βρόχους για να υπολογίσουμε το γινόμενο i=, i 5 ( x x ) όπου x i, i =,., οι κόμβοι που προκύπτουν αν διαμερίσουμε το διάστημα [, ] σε ισομήκη διαστήματα: x =.( i ), i =,, i 5 i 26
25 4. Προγραμματισμός στη MATLAB Μπορούμε να αποφύγουμε την περίπτωση i = 5 με την εντολή if: >> x=(:)/; >> product=; >> for i=: if i~=5 product=product*(x(5)-x(i)); >> product product =.728e-6 Η συνάρτηση beep Η συνάρτηση beep κάνει ένα προειδοποιητικό beep και χρησιμοποιείται συνήθως μαζί με μηνύματα σφάλματος. Παράδειγμα >> x=-2; >> if x >= y=sqrt(x); else beep disp('x should be positive!') >> x should be positive! 4.6 Η εντολή switch Η εντολή switch-case μας δίνει τη δυνατότητα να επιλέξουμε για εκτέλεση μια ομάδα εντολών από άλλες πιθανές ομάδες. Η γενική της δομή έχει ως εξής: switch switch_expression case value_ statement(s) case value_2 statement(s) case value_3 statement(s) otherwise statement(s) Σημειώνουμε τα εξής γι αυτή την εντολή: 27
26 Γ. Γεωργίου & Χρ. Ξενοφώντος Η πρώτη γραμμή περιέχει την λέξη κλειδί switch, ακολουθούμενη από το όνομα switch_expression, που θα δώσουμε εμείς, το οποίο μπορεί να είναι βαθμωτή ποσότητα, αλφαριθμητικό, ή ακόμα και μαθηματική παράσταση με προκαθορισμένες μεταβλητές που μπορεί να πάρει μια τιμή. Μετά από το switch, ακολουθούν οι διάφορες εντολές case. Η κάθε μια έχει ένα όνομα (π.χ. value _, value_2 κλπ) το οποίο μπορεί να είναι βαθμωτή ποσότητα ή αλφαριθμητικό, και μετά ακολουθούν οι εντολές που θα εκτελεστούν αν βρεθούμε στη συγκεκριμένη περίπτωση. Μετά την τελευταία περίπτωση/εντολή case, ακολουθεί η προαιρετική περίπτωση/εντολή otherwise της οποίας οι εντολές θα εκτελεστούν αν καμιά από τις προηγούμενες περιπτώσεις δεν ισχύει. Σε αντίθεση με άλλες γλώσσες προγραμματισμού (όπως, π.χ. η C), στη MATLAB δεν χρειάζεται να διακόψουμε τη ροή της δομής μετά από κάθε case, μια και αυτό θα γίνει αυτόματα αφού μια από τις περιπτώσεις έχει επαληθευτεί. Παράδειγμα 4.6. convertcm.m Το πιο κάτω script m-file μετατρέπει μήκη από διάφορες μονάδες σε cm: % Metatrepei mia posothta apo inches h milimeters, se ekatosta x = input('dwste th timh ths metablhths pou xreiazetai metatroph: '); units = input('dwste tis movades metrhshs ths (mesa se apostrofous): '); switch units case {'in','inch'} y = 2.54*x; % converts to centimeters disp(' ') disp('se ekatosta (cm), h timh ths metablhths eivai') disp(y) case {'m','meter'} y = x*; % converts to centimters disp(' ') disp('se ekatosta (cm), h timh ths metablhths eivai') disp(y) case { 'millimeter','mm'} y = x/; disp(' ') disp('se ekatosta (cm), h timh ths metablhths eivai') disp(y) case {'cm','centimeter'} y = x; disp(' ') disp('se ekatosta (cm), h timh ths metablhths eivai') disp(y) otherwise disp(' ') disp(['unknown units:' units]) y = nan; Τρέχουμε το πιο πάνω script για διάφορες τιμές: 28
27 4. Προγραμματισμός στη MATLAB >> convertcm Dwste th timh ths metablhths pou xreiazetai metatroph: 3 Dwste tis movades metrhshs ths (mesa se apostrofous): 'in' Se ekatosta (cm), h timh ths metablhths eivai 7.62 >> convertcm Dwste th timh ths metablhths pou xreiazetai metatroph: 5 Dwste tis movades metrhshs ths (mesa se apostrofous): 'mm' Se ekatosta (cm), h timh ths metablhths eivai.5 >> convertcm Dwste th timh ths metablhths pou xreiazetai metatroph: 9 Dwste tis movades metrhshs ths (mesa se apostrofous): 'cm' Se ekatosta (cm), h timh ths metablhths eivai 9 >> convertcm Dwste th timh ths metablhths pou xreiazetai metatroph: 7 Dwste tis movades metrhshs ths (mesa se apostrofous): 'feet' unknown units:feet Παράδειγμα To function m-file που ακολουθεί χρησιμοποιεί την εντολή switch μέσα σ ένα βρόχο if. Αν ο πίνακας Α είναι τετραγωνικός, υπολογίζει την ορίζουσα και αποφαίνεται αν ο πίνακας είναι ιδιάζων ή όχι. Το checkmat.m δεν έχει δεδομένα εξόδου! function []=checkmat(a) % CHECKMAT % Elegxei an enas pinakas einai antistrepsimos % Dedomeno eisodou: pinakas A % Dedomeno eksodou: kanena % [m,n]=size(a); if m ~=n disp('matrix A is not square!') else deta=det(a); switch deta case disp('matrix A is singular!') otherwise disp('matrix A is invertible!') Παράδειγμα To function m-file που ακολουθεί βρίσκει την τιμή του αεροπορικού εισιτηρίου ανάλογα με τον προορισμό. function []=ticketp() % TICKETP % Returns the cost of an airfair deping on the % destination % city=input('enter destination city: ', 's') switch city 29
28 Γ. Γεωργίου & Χρ. Ξενοφώντος case 'Paphos' disp('5 CYP') case 'Athens' disp('5 CYP') case 'Heraklion' disp(' CYP') case 'Thessaloniki' disp('2 CYP') otherwise sprintf('no flights for %s',city) Ακολουθούν κάποια αποτελέσματα που παίρνουμε με το ticketp.m. >> ticketp Enter destination city: Athens city = Athens 5 CYP >> ticketp Enter destination city: Paphos city = Paphos 5 CYP >> ticketp Enter destination city: Paris city = Paris No flights for Paris 4.6. Η συνάρτηση menu Η συνάρτηση menu παράγει ένα μενού επιλογών για τον χρήστη. Η δομή της είναι choice=menu(header, item, item2,.) όπου header είναι η επικεφαλίδα item είναι η πρώτη επιλογή, item2 η δεύτερη κοκ. Η σύνταξη choice=menu(header, itemlist) όπου itemlist είναι ένας αλφαριθμητικός πίνακας κελίων είναι επίσης αποδεκτή. Η menu επιστρέφει τον αριθμό της επιλογής του χρήστη στη μεταβλητή choice. Παράδειγμα Με την εντολή choice=menu('destination city', 'Paphos', 'Athens', 'Heraklion', 'Thessaloniki') εμφανίζεται ένα ξεχωριστό παράθυρο με τις 4 επιλογές. 3
29 4. Προγραμματισμός στη MATLAB Ο χρήστης επιλέγει με ένα απλό κλικ την προτίμησή του. Το ίδιο αποτέλεσμα παίρνουμε αν ορίσουμε τις επιλογές σε ένα αλφαριθμητικό πίνακα κελίων: >> list=[{'paphos'} {'Athens'} {'Heraklion'} {'Thessaloniki'}] list = 'Paphos' 'Athens' 'Heraklion' 'Thessaloniki' >> choice=menu('destination city',list) 3
30 Γ. Γεωργίου & Χρ. Ξενοφώντος 4.7 Ασκήσεις 4. Εξηγήστε τα πιο κάτω αποτελέσματα της MATLAB: >> 3>2> >> 3>2> 4.2 Εξηγήστε τα πιο κάτω αποτελέσματα της MATLAB: >> 5>3+6>4 >> (5>3)+(6>4) Βρείτε τις (λογικές) τιμές των πιο κάτω παραστάσεων: (α) 3 = = 2 (β) 3 ~ = 4 (γ) /(+cos) <= 2 (δ) exp(3) >= 3 (ε) (-3)/3^2 <= exp()/sin(pi/3) Επαναλάβετε την άσκηση με τις αντίστοιχες σχεσιακές συναρτήσεις. 4.4 Βρείτε τις (λογικές) τιμές των πιο κάτω παραστάσεων: (α) 3 >= 2 (β) +3i < = 7i (γ) 3 ~ = 3 (δ) (6+7) < 2 (ε) ones(3) ~ = eye(3) 4.5 Ορίστε στη MATLAB τους πίνακες 2 A= 2 4 και B = και βρείτε τα αποτελέσματα που προκύπτουν με όλους τους σχεσιακούς τελεστές. Επαναλάβετε με τις αντίστοιχες σχεσιακές συναρτήσεις. 4.6 Ορίστε στη MATLAB τους πίνακες A=rand(4) και Β=ones(4) και βρείτε τα αποτελέσματα που προκύπτουν με όλους τους σχεσιακούς τελεστές. Επαναλάβετε με τις αντίστοιχες σχεσιακές συναρτήσεις. 4.7 Γράψτε με διαφορετικό τρόπο τις πιο κάτω παραστάσεις στη ΜΑΤLΑΒ: (α) 3 >= 2 (β) +3i < +7i (γ) 3 ~ = 3 (δ) (6+7) < 2 (ε) ones(3) ~ = eye(3) 32
31 4. Προγραμματισμός στη MATLAB 4.8 Γράψτε με διαφορετικό τρόπο τις πιο κάτω παραστάσεις στη ΜΑΤLΑΒ: (α) ne(a,b) (β) ge(zeros(3,5), eye(3,5)) (γ) lt(rand(4), zeros(4)) (δ) eq(x, cos(x)) (ε) gt(err, e-6) 4.9 Έστω οι πίνακες 2 3 A = και B = Δοκιμάστε στη MATLAB τις πιο κάτω εντολές και σχολιάστε τα αποτελέσματά σας: (α) Α= =Β (β) all(a= =B) (γ) any(a= =B) (δ) all(all(a= =B)) (ε) all(a(:)= =B(:)) (στ) any(any(a= =B)) (ζ) any(a(:)= =B(:)) 4. Γράψτε ένα διπλό βρόχο για να κατασκευάσετε τον 5 5 πίνακα Hilbert, και ελέγξτε την απάντηση σας με την ενσωματωμένη εντολή hilb. 4. Γράψτε ένα function m-file με το όνομα mhilb.m το οποίο θα κατασκευάζει τον n n πίνακα με γενικό στοιχείο το a ij = i + j Γράψτε ένα function m-file με το όνομα fibon.m το οποίο θα έχει ως μεταβλητές εισόδου τα a, a και n και θα επιστρέφει το διάνυσμα των πρώτων n όρων της ακολουθίας Fibonacci, η οποία ορίζεται από την αναδρομική σχέση a = a + a. i i i Γράψτε ένα function m-file με το όνομα sharm.m για τον υπολογισμό του αθροίσματος n k = με τη χρήση βρόχου for. Στη συνέχεια, υπολογίστε το άθροισμα για n=:, και κατασκευάστε το γράφημά του συναρτήσει του n. Σχολιάστε το γράφημα που πήρατε. Σημείωση: Το άθροισμα μπορεί να υπολογιστεί εύκολα χωρίς τη χρήση βρόχου for ως εξής: sum(./(:n)). k 33
32 Γ. Γεωργίου & Χρ. Ξενοφώντος 4.4 Γράψτε ένα function m-file με το όνομα sharm2.m για τον υπολογισμό του αθροίσματος n k = 2 k με τη χρήση βρόχου for. Στη συνέχεια, υπολογίστε το άθροισμα για n=: και κατασκευάστε το γράφημά του συναρτήσει του n. Σχολιάστε το γράφημα που πήρατε. Σημείωση: Το άθροισμα μπορεί να υπολογιστεί εύκολα χωρίς τη χρήση βρόχου for ως εξής: sum(./(:n).^2). 4.5 Γράψτε ένα function m-file με το όνομα vecprod.m και δεδομένα εισόδου τα διανύσματα x και y για τον υπολογισμό του γινομένου n i= x i y με τη χρήση βρόχου for. Πως μπορεί πιο απλά να υπολογιστεί το γινόμενο; 4.6 Γράψτε ένα function m-file με το όνομα nameij.m που θα κατασκευάζει τον m n πίνακα με γενικό στοιχείο το + i aij = + j Ελέγξτε τα αποτελέσματα για τις περιπτώσεις 2 2, 3 3, 4 4, 3, και Γράψτε ένα function m-file με το όνομα upperm.m που θα κατασκευάζει τον n n άνω τριγωνικό πίνακα που ορίζεται από την a ij i+ j, j i = 2, j< i Ελέγξτε τα αποτελέσματα για τις περιπτώσεις n =, 2, 3, 4 και Γράψτε ένα function m-file με το όνομα lowerm.m που θα κατασκευάζει τον n n κάτω τριγωνικό πίνακα που ορίζεται από την a ij i+ 2 j, j i = 2, j > i Ελέγξτε τα αποτελέσματα για τις περιπτώσεις n =, 2, 3, 4 και Έστω τα πολυώνυμα Maclaurin για τη συνάρτηση e x : i 2 n n k x x x pn ( x) = + x + 2! + + = n! k! Γράψτε ένα function m-file με όνομα appr.m και μεταβλητές εισόδου το n και το διάνυσμα x που υπολογίζει το πολυώνυμο p n. Στη συνέχεια υπολογίστε και σχεδιάστε το σφάλμα προσέγγισης k = 34
33 4. Προγραμματισμός στη MATLAB στο διάστημα [ 2, 2] για n = 2 και 3. ε = p e n 4.2 Γράψτε ένα function m-file με το όνομα diagmsl.m που θα επιλύει το γραμμικό σύστημα Ax = b όταν ο Α είναι διαγώνιος πίνακας: x = b / a, i =,, n i i ii n To m-file πρέπει να ελέγχει τα εξής: αν ο Α είναι τετραγωνικός και αν όχι να επιστρέφει σχετικό μήνυμα λάθους. αν ο Α είναι διαγώνιος και αν όχι να επιστρέφει σχετικό μήνυμα λάθους. αν οι Α και b έχουν το ίδιο πλήθος στηλών και αν όχι να επιστρέφει σχετικό μήνυμα λάθους. αν ο Α είναι αντιστρέψιμος και αν όχι να επιστρέφει σχετικό μήνυμα λάθους. 4.2 Γράψτε ένα function m-file με το όνομα uppersol.m που θα επιλύει το γραμμικό σύστημα Ax = b με πίσω αντικατάσταση (back substitution) όταν ο Α είναι άνω τριγωνικός πίνακας: x = b / a n n nn n xi = bi aikxk / aii, i= n,, k=+ i To m-file πρέπει να ελέγχει τα εξής: αν ο Α είναι τετραγωνικός και αν όχι να επιστρέφει σχετικό μήνυμα λάθους. αν ο Α είναι άνω τριγωνικός και αν όχι να επιστρέφει σχετικό μήνυμα λάθους. αν οι Α και b έχουν το ίδιο πλήθος στηλών και αν όχι να επιστρέφει σχετικό μήνυμα λάθους. αν ο Α είναι αντιστρέψιμος και αν όχι να επιστρέφει σχετικό μήνυμα λάθους. Στη συνέχεια επιλύστε τα πιο κάτω συστήματα: 5x + 4x + 3x + 2x + x = 35 (α) x + x + x + x = x x x = x 3x + x = x = 5 (β) Το τυχαίο άνω τριγωνικό σύστημα με b = rand(5,) και Α = triu(rand(5)) Γράψτε ένα function m-file με το όνομα lowersol.m που θα επιλύει το γραμμικό σύστημα Ax = b με εμπρός αντικατάσταση όταν ο Α είναι κάτω τριγωνικός πίνακας. 5 35
34 Γ. Γεωργίου & Χρ. Ξενοφώντος x = b / a i xi = bi aikxk / aii, i= 2,, n k = To m-file πρέπει να ελέγχει τα εξής: αν ο Α είναι τετραγωνικός και αν όχι να επιστρέφει σχετικό μήνυμα λάθους. αν ο Α είναι κάτω τριγωνικός και αν όχι να επιστρέφει σχετικό μήνυμα λάθους. αν οι Α και b έχουν το ίδιο πλήθος στηλών και αν όχι να επιστρέφει σχετικό μήνυμα λάθους. αν ο Α είναι αντιστρέψιμος και αν όχι να επιστρέφει σχετικό μήνυμα λάθους. Στη συνέχεια επιλύστε τα πιο κάτω συστήματα: 5x = 35 (α) 2x + x = 5 2 x x 3x = 2 3 4x 2x x x = x + x + x + x 3x = (β) Το τυχαίο άνω τριγωνικό σύστημα με b = rand(6,) και Α = tril(rand(6)) Γράψτε ένα function m-file με όνομα issquare που θα ελέγχει αν ένας πίνακας είναι τετραγωνικός ή όχι και θα επιστρέφει τις λογικές τιμές και, αντίστοιχα Γράψτε ένα function m-file με όνομα isnormalized που θα ελέγχει αν ένα διάνυσμα είναι μοναδιαίο ή όχι και θα επιστρέφει τις λογικές τιμές και, αντίστοιχα. Επιπλέον, αν η μεταβλητή εισόδου δεν είναι διάνυσμα θα πρέπει να τυπώνεται στο παράθυρο εργασίας μήνυμα λάθους Γράψτε ένα function m-file με όνομα issingular που θα ελέγχει αν ένας τετραγωνικός πίνακας είναι ιδιάζων ή όχι και θα επιστρέφει τις λογικές τιμές και, αντίστοιχα. Επιπλέον, αν η μεταβλητή εισόδου δεν είναι τετραγωνικός πίνακας θα πρέπει να τυπώνεται στο παράθυρο εργασίας μήνυμα λάθους Γράψτε ένα function m-file με όνομα arecompatible που θα ελέγχει αν δύο τετραγωνικοί πίνακες είναι συμβιβαστοί ως προς τον πολλαπλασιασμό ή όχι και θα επιστρέφει τις λογικές τιμές και, αντίστοιχα Γράψτε το m-file ticketp.m του παραδείγματος χρησιμοποιώντας την εντολή if αντί της switch. 36
Χρονικές σειρές 8 o μάθημα: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB (2)
Χρονικές σειρές 8 o μάθημα: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB (2) Εαρινό εξάμηνο 2018-2019 Τμήμα Μαθηματικών ΑΠΘ Διδάσκουσα: Αγγελική Παπάνα Μεταδιδακτορική Ερευνήτρια Πολυτεχνική σχολή, Α.Π.Θ. & Οικονομικό Τμήμα,
Χρονικές σειρές 6 o μάθημα: M-Files (συνέχεια) ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB - Bρόγχοι for
Χρονικές σειρές 6 o μάθημα: M-Files (συνέχεια) ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB - Bρόγχοι for Εαρινό εξάμηνο 2018-2019 Τμήμα Μαθηματικών ΑΠΘ Διδάσκουσα: Αγγελική Παπάνα Μεταδιδακτορική Ερευνήτρια Πολυτεχνική
Χρονικές σειρές 9 o μάθημα: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB (3) ΓΡΑΦΗΜΑΤΑ
Χρονικές σειρές 9 o μάθημα: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB (3) ΓΡΑΦΗΜΑΤΑ Εαρινό εξάμηνο 2018-2019 Τμήμα Μαθηματικών ΑΠΘ Διδάσκουσα: Αγγελική Παπάνα Μεταδιδακτορική Ερευνήτρια Πολυτεχνική σχολή, Α.Π.Θ. & Οικονομικό
Προγραμματισμός στο Matlab
Προγραμματισμός στο Matlab Εντολές επανάληψης Βρόχοι for Βρόχοι while Ασκήσεις και παραδειγματα ΑΤΕΙ Λάρισας Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής ΚΑΛΟΓΙΑΝΝΗΣ ΓΡΗΓΟΡΙΟΣ Εργαστηριακός
Σύντομες εισαγωγικές σημειώσεις για την. Matlab
Σύντομες εισαγωγικές σημειώσεις για την Matlab Δήλωση Μεταβλητών Για να εισάγει κανείς δεδομένα στη Matlab υπάρχουν πολλοί τρόποι. Ο πιο απλός είναι στη γραμμή εντολών να εισάγουμε αυτό που θέλουμε και
Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής
Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής email: dzavanti@cs.uoi.gr Περιεχόμενα Ορισμοί Λογικοί τελεστές f0r loops while loops if else
ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python
ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής
10 ΑΡΙΘΜΗΤΙΚΗ ΟΛΟΚΛΗΡΩΣΗ
ΑΡΙΘΜΗΤΙΚΗ ΟΛΟΚΛΗΡΩΣΗ. Αθροίσματα Riemann Στο κεφάλαιο αυτό θα ασχοληθούμε με αριθμητικές μεθόδους υπολογισμού του ορισμένου ολοκληρώματος b a f ( d ) όπου τα a, b είναι γνωστά και η συνάρτηση f() είναι
Εισαγωγή στην Αριθμητική Ανάλυση
Εισαγωγή στην Αριθμητική Ανάλυση Εισαγωγή στη MATLAB ΔΙΔΑΣΚΩΝ: ΓΕΩΡΓΙΟΣ ΑΚΡΙΒΗΣ ΒΟΗΘΟΙ: ΔΗΜΗΤΡΙΑΔΗΣ ΣΩΚΡΑΤΗΣ, ΣΚΟΡΔΑ ΕΛΕΝΗ E-MAIL: SDIMITRIADIS@CS.UOI.GR, ESKORDA@CS.UOI.GR Τι είναι Matlab Είναι ένα περιβάλλον
Εισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις
Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού Μάθημα 2ο Μεταβλητές Μεταβλητή ονομάζεται ένα μέγεθος
Λογικά Διανύσματα. >>x = -3/2*pi : pi/100 : 3/2*pi; >>y = tan(x); >>plot(x, y)
Λογικά Διανύσματα Τα λογικά διανύσματα του Matlab είναι πολύ χρήσιμα εργαλεία. Για παράδειγμα ας υποθέσουμε ότι θέλουμε να κάνουμε την γραφική παράσταση της tan(x) στο διάστημα από -3π/2 μέχρι 3π/2. >>x
Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:
Εργαστήριο 6: 6.1 Δομές Επανάληψης Βρόγχοι (Loops) Όταν θέλουμε να επαναληφθεί μια ομάδα εντολών τη βάζουμε μέσα σε ένα βρόχο επανάληψης. Το αν θα (ξανα)επαναληφθεί η εκτέλεση της ομάδας εντολών καθορίζεται
Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο
Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο Ενότητα 6: Εντολές επανάληψης for και while Διδάσκουσα: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό
1. Κατασκευάστε ένα διάνυσμα με στοιχεία τους ζυγούς αριθμούς μεταξύ του 31 και 75
1. Κατασκευάστε ένα διάνυσμα με στοιχεία τους ζυγούς αριθμούς μεταξύ του 31 και 75 2. Έστω x = [2 5 1 6] α. Προσθέστε το 16 σε κάθε στοιχείο β. Προσθέστε το 3 σε κάθε στοιχείο που βρίσκεται σε μονή θέση.
ΗΥ-150. Προγραμματισμός
ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει
ημιουργία και διαχείριση πινάκων
ημιουργία και διαχείριση πινάκων Για να δημιουργήσουμε έναν πίνακα στο MATLAB μπορούμε να γράψουμε A = [ 2 3 ; 7 9 0 ; - 0 5; -2-3 9 -] βλέπουμε ότι αμέσως μας επιστρέφει τον πίνακα που ορίσαμε A = 2 3
A A A B A ΦΥΛΛΑ ΙΟ ΘΕΜΑΤΩΝ 1/2. Μέϱος A. Πολλαπλές επιλογές (20%) Σειριακός αριθµός : 100 Πληροφορική Ι Εξέταση Φεβρουαρίου 2019
Σειριακός αριθµός : 100 Πληροφορική Ι Εξέταση Φεβρουαρίου 2019 Απαντήσεις Πολλαπλής Επιλογής Ε Ω : 1 2 3 4 5 A A A B A ΦΥΛΛΑ ΙΟ ΘΕΜΑΤΩΝ 1/2 Τα ϑέµατα της εξέτασης δίνονται σε 2 ϕυλλάδια (ένα για κάϑε διδάσκοντα).
ΗΥ-150. Προγραμματισμός
ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει
Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο
Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο Ενότητα 4: Τελεστές - Αλγόριθμος Διδάσκουσα: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB
Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB Εαρινό εξάμηνο 2018-2019 Τμήμα Μαθηματικών ΑΠΘ Διδάσκουσα: Αγγελική Παπάνα Μεταδιδακτορική Ερευνήτρια Πολυτεχνική σχολή, Α.Π.Θ. & Οικονομικό Τμήμα, Πανεπιστήμιο
ιαδικαστικός Προγραμματισμός
ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ιαδικαστικός Προγραμματισμός Α Εξάμηνο Μάθημα 2 ο : Εντολές ελέγχου > εντολές υπό συνθήκη Στόχοι μαθήματος Να κατανοήσετε τη σχέση μεταξύ εντολών και παραστάσεων. Να αναγνωρίζετε
Πληροφορική. Ενότητα 4: Α. Λογικές εκφράσεις (Παραστάσεις και Δείκτες). Β. Δομές Προγραμματισμού. Κωνσταντίνος Καρατζάς Τμήμα Μηχανολόγων Μηχανικών
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Πληροφορική Ενότητα 4: Α. Λογικές εκφράσεις (Παραστάσεις και Δείκτες). Β. Δομές Προγραμματισμού Κωνσταντίνος Καρατζάς Τμήμα Μηχανολόγων
ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής
ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράµµατα «γράφονται» χρησιµοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαµβάνει
Χρονικές σειρές 4 o μάθημα: ΠΙΝΑΚΕΣ ΚΑΙ ΔΙΑΝΥΣΜΑΤΑ
Χρονικές σειρές 4 o μάθημα: ΠΙΝΑΚΕΣ ΚΑΙ ΔΙΑΝΥΣΜΑΤΑ Εαρινό εξάμηνο 2018-2019 Τμήμα Μαθηματικών ΑΠΘ Διδάσκουσα: Αγγελική Παπάνα Μεταδιδακτορική Ερευνήτρια Πολυτεχνική σχολή, Α.Π.Θ. & Οικονομικό Τμήμα, Πανεπιστήμιο
Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών
Λειτουργικά Αριστείδης Ηλίας Συστήματα Ι Φ ρ ο ν τ ι σ τ ή ρ ι ο Shell Scripting Εισαγωγή Ένα shell script είναι μια λίστα εντολών που εκτελούνται ακολουθιακά Εκτελούνται ανάλογα με το κέλυφος και για
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 5ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 Η ΕΝΤΟΛΗ for Με την εντολή for δημιουργούμε βρόχους επανάληψης σε
Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)
Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις (Διάλεξη 8) 8-1 Τι θα δούμε σήμερα Η εντολή if else Η εντολή if else ιf - -else H εντολή switch Λογικές παραστάσεις Σχεσιακοί
4. Επιλογή και Επανάληψη
Σελίδα 53 4. Επιλογή και Επανάληψη 4.1 Η Εντολή Επιλογής if.. then Η εντολή If.. Then.. χρησιμοποιείται για την λήψη λογικών αποφάσεων σε ένα πρόγραμμα. Η εντολή αυτή έχει διάφορες μορφές σύνταξης οι οποίες
Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Νέο Πρόγραμμα
Εντολές ελέγχου ροής if, for, while, do-while
Εντολές ελέγχου ροής if, for, while, do-while 1 Μαρτίου 014 1 Εντολές εκτέλεσης υπό συνθήκη Μπορούμε να εκτελέσουμε εντολές της γλώσσας σε περίπτωση που κάποια συνθήκη ισχύει χρησιμοποιώντας την εντολή
Χρονικές σειρές 5 o μάθημα: ΠΙΝΑΚΕΣ ΚΑΙ ΔΙΑΝΥΣΜΑΤΑ (2) Μ-Files
Χρονικές σειρές 5 o μάθημα: ΠΙΝΑΚΕΣ ΚΑΙ ΔΙΑΝΥΣΜΑΤΑ (2) Μ-Files Εαρινό εξάμηνο 2018-2019 Τμήμα Μαθηματικών ΑΠΘ Διδάσκουσα: Αγγελική Παπάνα Μεταδιδακτορική Ερευνήτρια Πολυτεχνική σχολή, Α.Π.Θ. & Οικονομικό
ΕΙΣΑΓΩΓΗ ΣΤΟ MATHLAB Α ΜΕΡΟΣ
ΕΙΣΑΓΩΓΗ ΣΤΟ MATHLAB Α ΜΕΡΟΣ ΕΙΣΑΓΩΓΗ ΠΙΝΑΚΩΝ ΣΤΟ MATHLAB Αν θέλουμε να εισάγουμε έναν πίνακα στο mathlab και να προβληθεί στην οθόνη βάζουμε τις τιμές του σε άγκιστρα χωρίζοντάς τις με κόμματα ή κενό
Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Οι εντολές επανάληψης (while, do-while, for) Γενικά για τις εντολές επανάληψης Συχνά στο προγραμματισμό είναι επιθυμητή η πολλαπλή εκτέλεση μιας ενότητας εντολών, είτε για ένα
Διαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 4 η Τελεστές Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης
Υπολογισμός αθροισμάτων
Υπολογισμός αθροισμάτων Τα αθροίσματα θα τα δημιουργούμε σαν συναρτήσεις και θα τα αποθηκεύουμε σε αρχείο (m-file) με την ίδια ονομασία με τη συνάρτηση. Για να δημιουργήσουμε ένα άθροισμα ξεκινάμε μηδενίζοντας
Εντολές επιλογής Επαναλήψεις (if, switch, while)
Εντολές επιλογής Επαναλήψεις (if, switch, while) Οι σημειώσεις αυτές έχουν σαν στόχο την μάθηση εντολών επιλογής (if, switch, while) που ελέγχουν τη ροή εκτέλεσης ενός προγράμματος. Πρώτα όμως, είναι αναγκαίο
Δομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα 5: Εντολές επανάληψης Κουκουλέτσος Κώστας Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστικών Συστημάτων
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διαμόρφωση Ελέγχου Ροής Προγράμματος Δομημένος Προγραμματισμός Ο πιο απλός και συνηθισμένος
Shell Scripts: loops / if / test
Shell Scripts: loops / if / test Loops with for while until for variable in list_of_values ne while εντολή (επιτυχής) ne until εντολή (επιτυχής) ne For in exi times apo ayti ti lista in 1 2 alla kai alles
2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ
ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΣΤΑΘΕΡΕΣ είναι τα μεγέθη που δεν μεταβάλλονται κατά την εκτέλεση ενός αλγόριθμου. Εκτός από τις αριθμητικές σταθερές (7, 4, 3.5, 100 κλπ), τις λογικές σταθερές (αληθής και ψευδής)
6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ
6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ 6.1 Η Έννοια του Πίνακα Συχνά είναι προτιμότερο να αντιμετωπίζουμε ένα σύνολο μεταβλητών σαν ενότητα για να απλοποιούμε το χειρισμό τους. Έτσι οργανώνουμε σύνθετα δεδομένα σε
Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών
Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να αναπτύξουν ένα πρόγραμμα όπου θα επαναλάβουν τα βήματα ανάπτυξης μιας παραθυρικής εφαρμογής.
ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Τρίτη Διάλεξη Εντολές Επιλογής και Επανάληψης Εντολές επιλογής Εντολή if Η πιο απλή μορφή της if συντάσσεται ως εξής: if ( συνθήκη ) Οι εντολές μέσα στα άγκιστρα αποτελούν
Υπολογισμός - Εντολές Επανάληψης
Προγραμματισμός Η/Υ Ι Υπολογισμός - Εντολές Επανάληψης ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συνεχίσουμε τη συζήτησή μας για τα βασικά στοιχεία
4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for)
4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for) 4.1 Μετρητές Ένας μετρητής (counter) είναι μία μεταβλητή η οποία ξεκινά με μία αρχική τιμή και αυξάνεται κατά ένα κάθε φορά που εκτελείται. Ο αλγόριθμος για έναν μετρητή
Μαρία Λουκά. Εργαστήριο Matlab. Αριθμητικός υπολογισμός ιδιοτιμών και ιδιοδιανυσμάτων. Τμήμα Πληροφορικής και Τηλεπικοινωνιών.
Μαρία Λουκά Εργαστήριο Matlab Αριθμητικός υπολογισμός ιδιοτιμών και ιδιοδιανυσμάτων Τμήμα Πληροφορικής και Τηλεπικοινωνιών. Βασικές Συναρτήσεις της Matlab Γραμμικοί δείκτες (Linear indices) Ένας γραμμικός
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Οι εντολές επανάληψης (while, do-while, for) Γενικά για τις εντολές επανάληψης Συχνά στο προγραμματισμό είναι επιθυμητή η πολλαπλή εκτέλεση μιας ενότητας εντολών, είτε για ένα
Οι εντολές ελέγχου της ροής ενός προγράμματος.
Κεφάλαιο ΙΙI: Οι εντολές ελέγχου της ροής ενός προγράμματος 31 Εντολές ελέγχου της ροής Στο παρόν κεφάλαιο ασχολούμαστε με την σύνταξη των εντολών της C οι οποίες εισάγουν λογική και ελέγχουν την ροή εκτέλεσης
4 η ΕΝΟΤΗΤΑ Μητρώα και συνθήκες στο MATLAB
ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΜΕΘΟΔΟΙ ΕΠΙΛΥΣΗΣ ΜΕ Η/Υ 4 η ΕΝΟΤΗΤΑ Μητρώα και συνθήκες στο MATLAB Ν.Δ. Λαγαρός Μ. Φραγκιαδάκης Α. Στάμος Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες Χρήσης
Συναρτήσεις και διαδικασίες
Συναρτήσεις και διαδικασίες Χρήση συναρτήσεων βιβλιοθήκης Εντολή κλήσης της συνάρτησης printf: printf( Hello, world\n ); Μια συνάρτηση είναι ένα σύνολο εντολών που έχουν ομαδοποιηθεί και τους έχει αποδοθεί
ΑΣΚΗΣΗ 3: ΠΡΟΤΑΣΕΙΣ, ΕΚΦΡΑΣΕΙΣ ΚΑΙ ΤΕΛΕΣΤΕΣ
ΑΣΚΗΣΗ 3: ΠΡΟΤΑΣΕΙΣ, ΕΚΦΡΑΣΕΙΣ ΚΑΙ ΤΕΛΕΣΤΕΣ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η χρήση των βασικών τελεστών της Γλώσσας Προγραµµατισµού C : αριθµητικοί τελεστές, τελεστές
Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.
ΤΡΙΤΗ ΔΙΑΛΕΞΗ Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.): Σύνταξη τύπος όνομαα; τύπος όνομαβ{όνομαα}; όνομαβ
Η γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Εντολές ελέγχου ροής προγράμματος (if-else & switch) Η εντολή if-else Η εντολή if-else υπάρχει σχεδόν σε όλες τις γλώσσες προγραμματισμού. Χρησιμοποιείται για τον έλεγχο της
Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.
Εργαστήριο 4: 4.1 Η Δομή Ελέγχου if Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη. Γενική Μορφή: Παρατηρήσεις:
Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού Μάθημα 5ο Aντώνης Σπυρόπουλος Πράξεις μεταξύ των
Εισαγωγή στο MATLAB. Κολοβού Αθανασία, ΕΔΙΠ,
Εισαγωγή στο MATLAB Κολοβού Αθανασία, ΕΔΙΠ, akolovou@di.uoa.gr Εγκατάσταση του Matlab Διανέμεται ελεύθερα στα μέλη του ΕΚΠΑ το λογισμικό MATLAB με 75 ταυτόχρονες (concurrent) άδειες χρήσης. Μπορείτε να
8 ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΕΞΙΣΩΣΕΩΝ
8 ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΕΞΙΣΩΣΕΩΝ Στο παρόν κεφάλαιο θα ασχοληθούμε με μεθόδους επίλυσης εξισώσεων την μορφής f(x) = 0. Αναζητούμε μια ακολουθία { n} n 0 x προσεγγίσεων της λύσης, έτσι ώστε lim x = n =
Βρόχοι. Εντολή επανάληψης. Το άθροισμα των αριθμών 1 5 υπολογίζεται με την εντολή. Πρόβλημα. Πώς θα υπολογίσουμε το άθροισμα των ακέραιων ;
Εντολή επανάληψης Το άθροισμα των αριθμών 1 5 υπολογίζεται με την εντολή Πρόβλημα Πώς θα υπολογίσουμε το άθροισμα των ακέραιων 1 5000; Ισοδύναμοι υπολογισμοί του Ισοδύναμοι υπολογισμοί του Ισοδύναμοι υπολογισμοί
Εισαγωγή στη γλώσσα προγραμματισμού C++
Εισαγωγή στη γλώσσα προγραμματισμού C++ Επαναληπτική Δομή 2 1. Εισαγωγή Δομές επανάληψης ή βρόχοι (loops) ονομάζονται τμήματα του κώδικα που εκτελούνται περισσότερες από μία φορές, ανάλογα με τη συνθήκη
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 4ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΟΙ ΤΕΛΕΣΤΕΣ ΣΥΓΚΡΙΣΗΣ Με τους τελεστές σύγκρισης, συγκρίνουμε τις
Εισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα
Νέο υλικό. www.cs.uoi.gr/~develeg. Matlab2.pdf - Παρουσίαση μαθήματος 2. Matlab-reference.pdf Σημειώσεις matlab στα ελληνικά (13 σελίδες).
Matlab Μάθημα Νέο υλικό www.cs.uoi.gr/~develeg Matlab.pdf - Παρουσίαση μαθήματος. Matlab-reference.pdf Σημειώσεις matlab στα ελληνικά (3 σελίδες). Επαναληπτικές δομές Όταν εκτελείται μια πράξη σε ένα διάνυσμα,
Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client
ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις
Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού
Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ Εισαγωγή στην γλώσσα προγραμματισμού Ακαδημαϊκό έτος 2016-2017, Εαρινό εξάμηνο Οι σημειώσεις βασίζονται στα συγγράμματα: A byte of Python (ελληνική
Να γράψετε τους αριθμούς 1, 2, 3 από τη Στήλη Α και δίπλα το γράμμα α, β, γ, δ, ε από τη Στήλη Β που δίνει τη σωστή αντιστοιχία.
ΔΙΑΓΩΝΙΣΜΑ ΕΚΠ. ΕΤΟΥΣ 2016-2017 ΜΑΘΗΜΑ / ΤΑΞΗ : Προγραμματισμός Υπολογιστών / Γ ΕΠΑ.Λ. ΗΜΕΡΟΜΗΝΙΑ: 22-1-2017 ΕΠΙΜΕΛΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ: ΓΙΑΝΝΗΣ ΜΙΧΑΛΕΑΚΟΣ- ΑΝΝΑ ΚΑΤΡΑΚΗ ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις
Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C
Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος
Τυπικές χρήσεις της Matlab
Matlab Μάθημα 1 Τι είναι η Matlab Ολοκληρωμένο Περιβάλλον Περιβάλλον ανάπτυξης Διερμηνευμένη γλώσσα Υψηλή επίδοση Ευρύτητα εφαρμογών Ευκολία διατύπωσης Cross platform (Wintel, Unix, Mac) Τυπικές χρήσεις
Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής
Προγραμματισμός Η/Υ Ενότητα 4: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Έλεγχος της ροής ενός προγράμματος
Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο. Τι θα τυπωθεί στον παρακάτω κώδικα;
Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο Τι θα τυπωθεί στον παρακάτω κώδικα; Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο Τι θα τυπωθεί στον παρακάτω κώδικα; Χωρίς να αλλάξουμε τον τύπο των a,b,
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται
11 ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ
11 ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ 11.1 Γενικά περί συνήθων διαφορικών εξισώσεων Μια συνήθης διαφορική εξίσωση (ΣΔΕ) 1 ης τάξης έχει τη μορφή dy d = f (, y()) όπου f(, y) γνωστή και y() άγνωστη συνάρτηση.
ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Εντολές επανάληψης Εντολές επανάληψης while for do-while ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Παράδειγμα #1 Εντολή while
ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Εντολές επανάληψης Εντολές επανάληψης Στη C++ υπάρχουν 3 διαφορετικές εντολές επανάληψης: while for do-while 1 2 ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Εντολή while Παράδειγμα #1 Κατασκευάστε πρόγραμμα που για
Εργαστήριο Γραμμικής Άλγεβρας. H Matlab ως γλώσσα προγραμματισμού
Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής με Εφαρμογές στη Βιοϊατρική Εργαστήριο Γραμμικής Άλγεβρας H Matlab ως γλώσσα προγραμματισμού Προγραμματιστικές δομές Έλεγχος ροής if if
Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές
Μορφές Εντολών Είδη εντολών Απλές εντολές Εκτελούν κάποια ενέργεια Εντολές ελέγχου Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές Εντολές και παραστάσεις Μιαεντολήείναιμιαπαράστασηπου ακολουθείται
Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2
Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων Πληροφορικής 2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών 3. Ο αλγόριθμος
2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων
2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει
ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου
ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου Σκοπός και περίγραμμα της Ενότητας 4 Σκοπός της παρουσίασης Να μελετήσουμε τις συναρτήσεις που ελέγχουν την ροή και την εκτέλεση ενός προγράμματος Σύνοψη
Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος
Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός
Προγραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15
Εργαστήρια Αριθμητικής Ανάλυσης Ι. 1 ο Εργαστήριο. Εισαγωγή στο Matlab
Εργαστήρια Αριθμητικής Ανάλυσης Ι 1 ο Εργαστήριο Εισαγωγή στο Matlab 2017 Εισαγωγή Στα εργαστήρια θα ασχοληθούμε με την υλοποίηση των αριθμητικών μεθόδων που βλέπουμε στο θεωρητικό μέρος του μαθήματος,
Προγραμματισμός σε Octave/Matlab
Προγραμματισμός σε Octave/Matlab Συμπληρωματικές σημειώσεις Αναστάσιος Κεσίδης, Αν. Καθηγητής akesidis@uniwa.gr ΠΕΡΙΕΧΟΜΕΝΑ 1 Βασική χρήση του Octave... 4 1.1 Χρήση του Command Window ως αριθμομηχανή...
Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ
ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ Λογικός τύπος ( ) Ο τύπος είναι κατάλληλoς για την αναπαράσταση ποσοτήτων που μπορούν να πάρουν δύο μόνο τιμές (π.χ. ναι/όχι, αληθές/ψευδές, ). Τιμές ή Δήλωση Εκχώρηση Ισοδυναμία με ακέραιους
Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Κανόνες
Εισαγωγή στο Περιβάλλον Επιστημονικού Προγραμματισμού MATLAB-Simulink. Δημήτριος Τζεράνης Λεωνίδας Αλεξόπουλος
Εισαγωγή στο Περιβάλλον Επιστημονικού Προγραμματισμού MATLAB-Simulink Δημήτριος Τζεράνης Λεωνίδας Αλεξόπουλος 1 Τι είναι τα Matlab και Simulink? Το Matlab (MATrix LABoratory) είναι ένα περιβάλλον επιστημονικού
Διαδικασιακός Προγραμματισμός
Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 6 η Βρόχοι Επανάληψης Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή
2. ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ (Α' μέρος: if)
2. ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ (Α' μέρος: if) 2.1. Τελεστές ΠΡΑΞΗ ΤΕΛΕΣΤΗΣ Ισότητα = = Μεγαλύτερο από > Μικρότερο από < Μεγαλύτερο ή ίσο από >= Μικρότερο ή ίσο από
Εισαγωγή στους Υπολογιστές
Εισαγωγή στους Υπολογιστές Ενότητα #6: Προγραμματισμός στο MATLAB Καθ. Δημήτρης Ματαράς Πολυτεχνική Σχολή Τμήμα Χημικών Μηχανικών Προγραμματισμός στο MATLAB Εντολή ελέγχου ροής if Γενική μορφή σύνταξης:
Περιεχόμενα. Πρόλογος...11
Περιεχόμενα Πρόλογος...11 Κεφάλαιο 1: Εισαγωγή...13 Η ιστορία της JavaScript...13 Τι είναι η JavaScript...15 Διαφορά μεταξύ σεναρίου και προγράμματος...16 Δυνατότητες και περιορισμοί της JavaScript...16
Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α. Σπυρόπουλος Α. Μπουντουβής
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α Σπυρόπουλος Α Μπουντουβής Αθήνα, 2015 v13_061015 Στον οδηγό αυτό θα χρησιμοποιηθούν
11/23/2014. Στόχοι. Λογισμικό Υπολογιστή
ονάδα Δικτύων και Επικοινωνιών ΗΥ Τομέας Πληροφορικής, αθηματικών και Στατιστικής ΓΕΩΠΟΙΚΟ ΠΑΕΠΙΣΤΗΙΟ ΑΘΗΩ Εισαγωγή στην Επιστήμη των ΗΥ άθημα-4 url: http://openeclass.aua.gr (AOA0) Λογισμικό Υπολογιστή
FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016
FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 M7 Δομές δεδομένων: Πίνακες Δρ. Γεώργιος Παπαλάμπρου Επικ. Καθηγητής ΕΜΠ Εργαστήριο Ναυτικής Μηχανολογίας george.papalambrou@lme.ntua.gr ΕΜΠ/ΣΝΜΜ
Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Νέο Πρόγραμμα
Ο πιο κάτω πίνακας περιγράφει σε ποιες περιπτώσεις χρησιμοποιούμε τους τρεις πιο πάνω τρόπους:
Επαναλήψεις - Loops Οι επαναλήψεις σε ένα πρόγραμμα μας επιτρέπουν μια ομάδα εντολών να εκτελείται για όσες φορές επιθυμούμε Υπάρχουν τρεις τρόποι επανάληψης εντολών με τη χρήση: While loops For loops
for for for for( . */
Εισαγωγή Στον Προγραµµατισµό «C» Βρόχοι Επανάληψης Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Ο βρόχος for Η εντολή for χρησιµοποιείται
Συστήματα Αναμονής (Queuing Systems)
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ - ΕΜΠ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧ. ΥΠΟΛΟΓΙΣΤΩΝ Τομέας Επικοινωνιών, Ηλεκτρονικής & Συστημάτων Πληροφορικής Εργαστήριο Διαχείρισης & Βέλτιστου Σχεδιασμού Δικτύων Τηλεματικής
ΠΕΡΙΕΧΟΜΕΝΑ. Εντολές επιλογής Εντολές επανάληψης
ΠΕΡΙΕΧΟΜΕΝΑ Εντολές επιλογής Εντολές επανάληψης Εισαγωγή Στο προηγούμενο κεφάλαιο αναπτύξαμε προγράμματα, τα οποία ήταν πολύ απλά και οι εντολές των οποίων εκτελούνται η μία μετά την άλλη. Αυτή η σειριακή
Εισαγωγή στον επιστημονικό προγραμματισμό 2 o Μάθημα
Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Εισαγωγή στον επιστημονικό προγραμματισμό 2 o Μάθημα Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ email: leo@mail.ntua.gr url: http://users.ntua.gr/leo Μελάς Ιωάννης Υποψήφιος
Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής
Διάλεξη 1 Πράξεις Τελεστές Έλεγχος Ροής Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 Αριθμητικοί Τελεστές- Αριθμητικές Πράξεις 2 Internal use only Αριθμητικοί