Μεταγλωττιστές Βελτιστοποίηση

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Μεταγλωττιστές Βελτιστοποίηση"

Transcript

1 Μεταγλωττιστές Βελτιστοποίηση Νίκος Παπασπύρου Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχ. Υπολογιστών Εργαστήριο Τεχνολογίας Λογισμικού Πολυτεχνειούπολη, Ζωγράφου

2 Βελτιστοποίηση (i) Μετασχηματισμός που βελτιώνει τον κώδικα σε ταχύτητα εκτέλεσης σε απαιτήσεις μνήμης και στα δύο Παραπλανητικός όρος! Θεωρητικά, η λύση του προβλήματος είναι αδύνατη

3 Βελτιστοποίηση (ii) Κριτήρια εφαρμογής μετασχηματισμών βελτιστοποίησης διατηρείται η σημασία των προγραμμάτων κατά μέσο όρο, ο κώδικας βελτιώνεται αξίζει τον κόπο! ασύμφοροι μετασχηματισμοί για τα στάδια ανάπτυξης του προγράμματος

4 Βελτιστοποίηση (iii) Βελτίωση στο επίπεδο του αρχικού κώδικα 2.02n 2 μsec για insertion sort 12n log(2n) μsec για quicksort για n=100,000 η διαφορά είναι 3 τάξεις μεγέθους! δυστυχώς, ο μεταγλωττιστής γενικά δεν μπορεί να αλλάζει τον αλγόριθμο Ο μεταγλωττιστής περιορίζεται σε βελτιώσεις στο επίπεδο του ενδιάμεσου και του τελικού κώδικα

5 Βελτιστοποίηση (iv) Γιατί βελτιστοποίηση στο επίπεδο του ενδιάμεσου κώδικα; Βελτιστοποιητής ενδιάμεσου κώδικα ανάλυση ροής ελέγχου ανάλυση ροής δεδομένων βελτιστοποιητικοί μετασχηματισμοί

6 Παράδειγμα: quicksort procedure quicksort (var a : array of integer; m, n : integer); var i, j, temp : integer; begin if n <= m then return; i := m; j := n; while i <= j do begin while a[i] < a[(m+n) div 2] do i := i+1; while a[j] > a[(m+n) div 2] do j := j-1; if i <= j then begin temp := a[i]; a[i] := a[j]; a[j] := temp; i := i+1; j := j-1 end end; quicksort(a, m, j); quicksort(a, i, n) end;

7 Ενδιάμεσος κώδικας i := m; j := n; while i <= j do begin while a[i] < a[(m+n) div 2] do i := i+1; while a[j] > a[(m+n) div 2] do j := j-1; if i <= j then begin temp := a[i]; a[i] := a[j]; a[j] := temp; i := i+1; j := j-1 end end; 27: <=, i, j, 29 28: jump, -, -, 7 29: array, a, i, $11 30: :=, [$11], -, temp 31: array, a, i, $12 32: array, a, j, $13 33: :=, [$13], -, [$12] 34: array, a, j, $14 35: :=, temp, -, [$14] 36: +, i, 1, $15 37: :=, $15, -, i 38: -, j, 1, $16 39: :=, $16, -, j 40: jump, -, -, 7 5: :=, m, -, i 6: :=, n, -, j 7: <=, i, j, 9 8: jump, -, -, 41 9: array, a, i, $1 10: +, m, n, $2 11: /, $2, 2, $3 12: array, a, $3, $4 13: <, [$1], [$4], 15 14: jump, -, -, 18 15: +, i, 1, $5 16: :=, $5, -, i 17: jump, -, -, 9 18: array, a, j, $6 19: +, m, n, $7 20: /, $7, 2, $8 21: array, a, $8, $9 22: >, [$6], [$9], 24 23: jump, -, -, 27 24: -, j, 1, $10 25: :=, $10, -, j 26: jump, -, -, 18

8 Ανάλυση ροής ελέγχου (i) Βασική ενότητα: ακολουθία διαδοχικών τετράδων με τις εξής ιδιότητες αν υπάρχουν τετράδες άλματος (υπό συνθήκη ήχωρίςσυνθήκη), αυτές βρίσκονται στο τέλος δεν υπάρχει καμία τετράδα (σε ολόκληρο τον ενδιάμεσο κώδικα) που να κάνει άλμα στο εσωτερικό της βασικής ενότητας Γράφος ροής δεδομένων οι κόμβοι είναι οι βασικές ενότητες οι ακμές δείχνουν τα άλματα (και τη διαδοχή) μεταξύ βασικών ενοτήτων

9 Ανάλυση ροής ελέγχου (ii) 5: :=, m, -, i 6: :=, n, -, j 7: <=, i, j, 9 8: jump, -, -, 41 9: array, a, i, $1 10: +, m, n, $2 11: /, $2, 2, $3 12: array, a, $3, $4 13: <, [$1], [$4], 15 14: jump, -, -, 18 15: +, i, 1, $5 16: :=, $5, -, i 17: jump, -, -, 9 18: array, a, j, $6 19: +, m, n, $7 20: /, $7, 2, $8 21: array, a, $8, $9 22: >, [$6], [$9], 24 23: jump, -, -, 27 24: -, j, 1, $10 25: :=, $10, -, j 26: jump, -, -, 18 27: <=, i, j, 29 28: jump, -, -, 7 29: array, a, i, $11 30: :=, [$11], -, temp 31: array, a, i, $12 32: array, a, j, $13 33: :=, [$13], -, [$12] 34: array, a, j, $14 35: :=, temp, -, [$14] 36: +, i, 1, $15 37: :=, $15, -, i 38: -, j, 1, $16 39: :=, $16, -, j 40: jump, -, -, 7

10 Ανάλυση ροής ελέγχου (iii) 5: :=, m, -, i 6: :=, n, -, j 7: <=, i, j, 9 8: jump, -, -, 41 18: array, a, j, $6 19: +, m, n, $7 20: /, $7, 2, $8 21: array, a, $8, $9 22: >, [$6], [$9], 24 23: jump, -, -, 27 9: array, a, i, $1 10: +, m, n, $2 11: /, $2, 2, $3 12: array, a, $3, $4 13: <, [$1], [$4], 15 14: jump, -, -, 18 15: +, i, 1, $5 16: :=, $5, -, i 17: jump, -, -, 9 27: <=, i, j, 29 28: jump, -, -, 7 29: array, a, i, $11 30: :=, [$11], -, temp 31: array, a, i, $12 32: array, a, j, $13 33: :=, [$13], -, [$12] 34: array, a, j, $14 35: :=, temp, -, [$14] 36: +, i, 1, $15 37: :=, $15, -, i 38: -, j, 1, $16 39: :=, $16, -, j 40: jump, -, -, 7 24: -, j, 1, $10 25: :=, $10, -, j 26: jump, -, -, 18

11 Ανάλυση ροής δεδομένων (i) 5: :=, m, -, i 6: :=, n, -, j 7: <=, i, j, 9 8: jump, -, -, 41 18: array, a, j, $6 19: +, m, n, $7 20: /, $7, 2, $8 21: array, a, $8, $9 22: >, [$6], [$9], 24 23: jump, -, -, 27 9: array, a, i, $1 10: +, m, n, $2 11: /, $2, 2, $3 12: array, a, $3, $4 13: <, [$1], [$4], 15 14: jump, -, -, 18 15: +, i, 1, $5 16: :=, $5, -, i 17: jump, -, -, 9 27: <=, i, j, 29 28: jump, -, -, 7 29: array, a, i, $11 30: :=, [$11], -, temp 31: array, a, i, $12 32: array, a, j, $13 33: :=, [$13], -, [$12] 34: array, a, j, $14 35: :=, temp, -, [$14] 36: +, i, 1, $15 37: :=, $15, -, i 38: -, j, 1, $16 39: :=, $16, -, j 40: jump, -, -, 7 24: -, j, 1, $10 25: :=, $10, -, j 26: jump, -, -, 18

12 Ανάλυση ροής δεδομένων (ii) 5: :=, m, -, i 6: :=, n, -, j 7: <=, i, j, 9 8: jump, -, -, 41 18: array, a, j, $6 19: +, m, n, $7 20: /, $7, 2, $8 21: array, a, $8, $9 22: >, [$6], [$9], 24 23: jump, -, -, 27 9: array, a, i, $1 10: +, m, n, $2 11: /, $2, 2, $3 12: array, a, $3, $4 13: <, [$1], [$4], 15 14: jump, -, -, 18 15: +, i, 1, $5 16: :=, $5, -, i 17: jump, -, -, 9 27: <=, i, j, 29 28: jump, -, -, 7 29: array, a, i, $11 30: :=, [$11], -, temp 31: array, a, i, $12 32: array, a, j, $13 33: :=, [$13], -, [$12] 34: array, a, j, $14 35: :=, temp, -, [$14] 36: +, i, 1, $15 37: :=, $15, -, i 38: -, j, 1, $16 39: :=, $16, -, j 40: jump, -, -, 7 24: -, j, 1, $10 25: :=, $10, -, j 26: jump, -, -, 18

13 Βελτιστοποιητικοί μετασχηματισμοί (i) Μετασχηματισμοί υψηλού επιπέδου αποτίμηση σταθερών εκφράσεων αλγεβρικοί μετασχηματισμοί απαλοιφή κοινών υποεκφράσεων διάδοση αντιγράφων ενοποίηση κώδικα Μετασχηματισμοί βρόχων μετακίνηση κώδικα απαλοιφή επαγωγικών μεταβλητών αναδιοργάνωση βρόχων απαλοιφή ελέγχου ορίων πίνακα

14 Βελτιστοποιητικοί μετασχηματισμοί (ii) Μετασχηματισμοί χαμηλού επιπέδου απαλοιφή άχρηστου κώδικα ευθυγράμμιση απλοποίηση συνθηκών και αλμάτων Μετασχηματισμοί υποπρογραμμάτων ενσωμάτωση υποπρογράμματος κλήσεις ουράς και συνένωση υποπρογράμματα φύλλα

15 Αποτίμηση σταθερών εκφράσεων Προϋπόθεση: το αποτέλεσμα που υπολογίζεται κατά τη μεταγλώττιση να ταυτίζεται με αυτό που θα υπολογιζόταν κατά την εκτέλεση const int ROWS = 100; const int COLUMNS = 50; int * p = (int *) malloc(rows * COLUMNS * sizeof(int)); ROWS * COLUMNS * sizeof(int) = 100 * 50 * 4 = const int ROWS = 100; const int COLUMNS = 50; int * p = (int *) malloc(20000);

16 Αλγεβρικοί μετασχηματισμοί (i) Προϋπόθεση: να μην προκαλείται μεταβολή στο αποτέλεσμα, ακόμα και αν εμφανιστούν εξαιρέσεις κατά την εκτέλεση των πράξεων Στις πράξεις ακεραίων, π.χ. x + 0 = x x * 0 = 0 x * 1 = x 0 + x = x 0 * x = 0 1 * x = x Εσφαλμένοι μετασχηματισμοί -(-x) x x + y - x y

17 Αλγεβρικοί μετασχηματισμοί (ii) Στις πράξεις κινητής υποδιαστολής x * Στις λογικές πράξεις b or true = true b and false = false not (not b) = b Άλλοι μετασχηματισμοί = x b and true = b b or false = p

18 Απαλοιφή κοινών υποεκφράσεων (i) Προϋπόθεση: η τιμή της κοινής υποέκφρασης να μην έχει μεταβληθεί από τον προηγούμενο υπολογισμό της Προϋπόθεση: η αποτίμηση της κοινής υποέκφρασης να μην προκαλεί παρενέργειες i := m; j := n; while i <= j do begin while a[i] < a[(m+n) div 2] do i := i+1; while a[j] > a[(m+n) div 2] do j := j-1; if i <= j then begin temp := a[i]; a[i] := a[j]; a[j] := temp; i := i+1; j := j-1 end end;

19 Απαλοιφή κοινών υποεκφράσεων (ii) 5: :=, m, -, i 6: :=, n, -, j 7: <=, i, j, 9 8: jump, -, -, 41 18: array, a, j, $6 19: +, m, n, $7 20: /, $7, 2, $8 21: array, a, $8, $9 22: >, [$6], [$9], [$4], 24 23: jump, -, -, 27 9: array, a, i, $1 10: +, m, n, $2 11: /, $2, 2, $3 12: array, a, $3, $4 13: <, [$1], [$4], 15 14: jump, -, -, 18 15: +, i, 1, $5 16: :=, $5, -, i 17: jump, -, -, 9 27: <=, i, j, 29 28: jump, -, -, 7 29: array, a, i, $11 30: :=, [$1], [$11], -, -, temp 31: array, a, i, $12 32: array, a, j, $13 33: :=, [$6], [$13], -, -, [$1] [$12] 34: array, a, j, $14 35: :=, temp, -, [$14] [$6] 36: +, i, 1, $15 37: :=, $15, -, i 38: -, j, 1, $16 39: :=, $16, -, j 40: jump, -, -, 7 24: -, j, 1, $10 25: :=, $10, -, j 26: jump, -, -, 18

20 Διάδοση αντιγράφων (i) Τετράδα αντιγραφής: :=, y, -, x Ιδέα: να χρησιμοποιείται το πρωτότυπο y αντί του αντιγράφου x Προϋπόθεση: να μην έχουν μεσολαβήσει άλλες αναθέσεις στις μεταβλητές x ή y :=, y, -, x +, x, 3, $1 :=, $1, -, z par, z, V, - call, -, -, P :=, y, -, x +, y, 3, $1 :=, $1, -, z par, $1, V, - call, -, -, P Γιατί; Επιτρέπει άλλες βελτιστοποιήσεις σε μεταγενέστερο στάδιο

21 Διάδοση αντιγράφων (ii) Η αντίστροφη μορφή του μετασχηματισμού διάδοσης αντιγράφων προσφέρεται για το απλό σχήμα παραγωγής ενδιάμεσου κώδικα της PCL +, i, 1, $1 :=, $1, -, i +, i, 1, i Προϋπόθεση: να μη χρησιμοποιείται αλλού η μεταβλητή $1 (αυτό μπορεί να αποδειχθεί)

22 Διάδοση αντιγράφων (iii) 5: :=, m, -, i 6: :=, n, -, j 18: array, a, j, $6 7: <=, i, j, 9 8: jump, -, -, 41 22: >, [$6], [$4], 24 23: jump, -, -, 27 9: array, a, i, $1 10: +, m, n, $2 11: /, $2, 2, $3 12: array, a, $3, $4 13: <, [$1], [$4], 15 14: jump, -, -, 18 27: <=, i, j, 29 28: jump, -, -, 7 30: :=, [$1], -, temp 24: -, j, 1, j$10 25: :=, $10, -, j 26: jump, -, -, 18 15: +, i, 1, $5 i 16: :=, $5, -, i 17: jump, -, -, 9 33: :=, [$6], -, [$1] 35: :=, temp, -, [$6] 36: +, i, 1, i$15 37: :=, $15, -, i 38: -, j, 1, j$16 39: :=, $16, -, j 40: jump, -, -, 7

23 Ενοποίηση κώδικα Ιδέα: μεταφορά κώδικα που εκτελείται ανεξάρτητα της εκάστοτε ροής εκτέλεσης όσο το δυνατόν νωρίτερα (αργότερα) if i > 0 then begin x := 2*i; s := s + x*i; i := i-1 end else begin s := 0; x := 2*i; i := i-1 end x := 2*i; if i > 0 then s := s + x*i else s := 0; i := i-1

24 Μετακίνηση κώδικα (i) Ιδέα: κώδικας που εκτελεί υπολογισμούς αναλλοίωτους κατά την εκτέλεση βρόχων μετακινείται εκτός των βρόχων Προϋπόθεση: να μην προκαλείται μεταβολή της σημασίας του προγράμματος while i <= limit-2 do begin s := s + a[i] - 4*n; i := i - 1 end t1 := limit-2; t2 if i := <= 4*n; t1 then while t2 := i 4*n; <= t1 do begin while i <= t1 do begin s := s + a[i] - t2; i s := i s + 1a[i] - t2; endi := i + 1 end

25 Μετακίνηση κώδικα (ii) 5: :=, m, -, i 6: :=, n, -, j 18: array, a, j, $6 7: <=, i, j, 9 8: jump, -, -, 41 22: >, [$6], [$4], 24 23: jump, -, -, 27 9: array, a, i, $1 10: +, m, n, $2 11: /, $2, 2, $3 12: array, a, $3, $4 13: <, [$1], [$4], 15 14: jump, -, -, 18 27: <=, i, j, 29 28: jump, -, -, 7 30: :=, [$1], -, temp 24: -, j, 1, j 26: jump, -, -, 18 15: +, i, 1, i 17: jump, -, -, 9 33: :=, [$6], -, [$1] 35: :=, temp, -, [$6] 36: +, i, 1, i 38: -, j, 1, j 40: jump, -, -, 7

26 Μετακίνηση κώδικα (iii) 5: :=, m, -, i 6: :=, n, -, j 10: +, m, n, $2 11: /, $2, 2, $3 12: array, a, $3, $4 18: array, a, j, $6 22: >, [$6], [$4], 24 23: jump, -, -, 27 7: <=, i, j, 9 8: jump, -, -, 41 27: <=, i, j, 29 28: jump, -, -, 7 24: -, j, 1, j 26: jump, -, -, 18 9: array, a, i, $1 13: <, [$1], [$4], 15 14: jump, -, -, 18 15: +, i, 1, i 17: jump, -, -, 9 30: :=, [$1], -, temp 33: :=, [$6], -, [$1] 35: :=, temp, -, [$6] 36: +, i, 1, i 38: -, j, 1, j 40: jump, -, -, 7

27 Απαλοιφή επαγωγικών μεταβλητών (i) Επαγωγική μεταβλητή: χρησιμοποιείται στο εσωτερικό ενός βρόχου και η τιμή της ορίζει μια αριθμητική πρόοδο Ιδέα: αν σε ένα βρόχο υπάρχουν περισσότερες επαγωγικές μεταβλητές, διατηρείταιμίακαιοι άλλες υπολογίζονται μέσω αυτής for i := 1 to n do begin x := x end 0 + 5*(i-1) Υποβιβασμός ισχύος: διατηρούμε τις μεταβλητές που υπολογίζονται ευκολότερα

28 Απαλοιφή επαγωγικών μεταβλητών (ii) 5: :=, m, -, i 5: 6: :=, m, n, -, ij 10: 5: 6: +, :=, m, m, n, n, -, $2i j 10: 11: 6: +, /, :=, m, $2, n, n, -, 2, $2j $3 10: 11: 12: +, /, array, m, $2, n, 2, a, $2 $3, $4 11: 12: 9: /, array, $2, a, 2, m, $3, $1$4 12: 18: 9: array, a, n, m, $3, $6 $1$4 18: 22: array, >, [$6], a, [$4], j, $624 22: 23: >, jump, [$6], -, [$4], -, : jump, -, -, 27 7: <=, $4, i, j, $6, 9 9 8: jump, -, -, 41 27: <=, $4, i, j, $6, : jump, -, -, 7 24: -, j, 1, j 24: 25: -, j, $6, 1, 4, j$6 26: jump, -, -, 18 13: 9: <, array, [$1], a, [$4], i, $115 13: 14: <, jump, [$1], -, [$4], -, : jump, -, -, 18 15: +, i, 1, i 15: 16: +, i, $1, 1, 4, i$1 17: jump, -, -, 9 30: :=, [$1], -, temp 33: :=, [$6], -, [$1] 35: :=, temp, -, [$6] 36: +, i, 1, i 38: 37: -, +, j, $1, 1, 4, j $1 40: 38: -, jump, j, 1, -, -, j 7 40: 39: -, jump, $6, -, 4, -, $67 40: jump, -, -, 7 $1 = a + 4*i $6 = a + 4*j i j $4 $6

29 Αναδιοργάνωση βρόχων Απαλοιφή βρόχου: αν το σώμα είναι κενό Ξετύλιγμα βρόχου: αν είναι γνωστό (και μικρό) το πλήθος των επαναλήψεων Αντιστροφή βρόχου: while σε repeat Αποδιακλάδωση: μετακίνηση αναλλοίωτης if for i := 1 to 100 do if x > 0 then s := s + a[i] else s := s - 1 if x > 0 then for i := 1 to 100 do s := s + a[i] else s := s if x > 0 then for i := 1 to 100 do s := s + a[i] else for i := 1 to 100 do s := s - 1

30 Απαλοιφή ελέγχου ορίων πίνακα Παρατήρηση: για γλώσσες που κάνουν τέτοιους ελέγχους και τους υλοποιούν με ενδιάμεσο κώδικα var a : array [1..100] of integer;... a[i]... for i := 2 to n do a[i] := a[i-1] + 1 i 2 i 1 i-1 1 i 100 i : <, i, :=, 1, 2, , i 2: >, i, >, 100, i, n, : array, <, i, a, 1, i, 9999 $1 4: >, i, 100, : array, a, i, $1 6: -, i, 1, $2 7: <, $2, 1, : >, $2, 100, : array, a, $2, $3 10: +, [$3], 1, [$1] 11: +, i, 1, i 12: jump, -, -, 2 13: : χειριστής σφάλματος 9999:...

31 Απαλοιφή άχρηστου κώδικα (i) Απροσπέλαστος κώδικας: κώδικας που ποτέ δεν εκτελείται εντοπίζεται κατά τη διάρκεια της ανάλυσης ροής ελέγχου Άχρηστος κώδικας: ακολουθία εντολών που υπολογίζουν τιμές που δε χρησιμοποιούνται Ανάλυση χρόνου ζωής εντοπισμός μεταβλητών που περιέχουν άχρηστες τιμές γίνεται κατά τη διάρκεια της ανάλυσης ροής δεδομένων

32 Απαλοιφή άχρηστου κώδικα (ii) 5: :=, m, -, i 6: :=, n, -, j 10: +, m, n, $2 11: /, $2, 2, $3 12: array, a, $3, $4 9: array, a, m, $1 18: array, a, n, $6 22: >, [$6], [$4], : jump, -, -, 27 7: <=, $4, $6, 9 8: jump, -, -, 41 13: <, [$1], [$4], : jump, -, -, 18 15: +, i, 1, i 16: +, $1, 4, $1 17: jump, -, -, 9 27: <=, $4, $6, 29 28: jump, -, -, 7 30: :=, [$1], -, temp 33: :=, [$6], -, [$1] 35: :=, temp, -, [$6] 36: +, i, 1, i 37: +, $1, 4, $1 38: -, j, 1, j 39: -, $6, 4, $6 40: jump, -, -, 7 24: -, j, 1, j 25: -, $6, 4, $6 26: jump, -, -, 18

33 Ευθυγράμμιση Συνένωση βασικών ενοτήτων Β i και B j όταν στο γράφο ροής ελέγχου από την Β i εξέρχεται μόνο μια ακμή και πηγαίνει στην B j στην Β j εισέρχεται μόνο μια ακμή και είναι από την B i ΟκώδικαςτωνΒ i και B j συνενώνεται Μερικές φορές απαιτεί απαλοιφή αλμάτων και αναδιάταξη περισσότερων βασικών ενοτήτων

34 Απλοποίηση συνθηκών και αλμάτων 10: +, m, n, $2 11: /, $2, 2, $3 12: array, a, $3, $4 9: array, a, m, $1 18: array, a, n, $6 22: >, <=, [$6], [$4], : jump, -, -, 27 7: <=, $4, $6, 9 8: jump, -, -, 41 27: <=, >=, $4, $6, : jump, -, -, : -, $6, 4, $6 26: jump, -, -, 18 13: <, >=, [$1], [$4], : jump, -, -, 18 16: +, $1, 4, $1 17: jump, -, -, 9 30: :=, [$1], -, temp 33: :=, [$6], -, [$1] 35: :=, temp, -, [$6] 37: +, $1, 4, $1 39: -, $6, 4, $6 40: jump, -, -, 7 Απλοποίηση συνθήκης: τετράδα 28, βλέπε 27, 7 και 8 Απλοποίηση αλμάτων: τετράδες 13, 22 και 27

35 Ενσωμάτωση υποπρογράμματος (inline expansion) function max (a, b : integer) : integer; begin if a >= b then result := a else result := b end;... y := max(x, 3) if x >= 3 then y := x else y := 3

36 Κλήσεις ουράς και συνένωση (i) (tail calls, tail recursion) procedure p (x : integer); begin... q(x+1) end; κλήση ουράς procedure q (y : integer); begin while y > 2 do r(y) end; όχι κλήση ουράς! function gcd (n, m : integer) : integer; begin if (n = 0) or (m = 0) then result := n + m else if n > m then result := gcd(m, n mod m) else result := gcd(n, m mod n) end; αναδρομικές κλήσεις ουράς!

37 Κλήσεις ουράς και συνένωση (ii) Από απλή αναδρομή σε αναδρομή ουράς function factorial (n : integer) : integer; begin if n > 1 then result := n * factorial(n-1) else result := 1 end; function factorial (n : integer) : integer; function tailrec (prod, n : integer) : integer; begin if n > 1 then result := tailrec(n*prod, n-1) else result := prod end; begin result := tailrec(1, n); end;

38 Κλήσεις ουράς και συνένωση (iii) Απαλοιφή αναδρομής ουράς function factorial (n : integer) : integer; function tailrec (prod, n : integer) : integer; begin if n > 1 then result := tailrec(n*prod, n-1) else result := prod end; begin result := tailrec(1, n); end; function factorial (n : integer) : integer; function tailrec (prod, n : integer) : integer; begin while n > 1 do begin prod := n*prod; n := n-1 end; result := prod end; begin result := tailrec(1, n); end;

39 Κλήσεις ουράς και συνένωση (iv) Συνένωση ουράς function factorial (n : integer) : integer; function tailrec (prod, n : integer) : integer; begin while n > 1 do begin prod := n*prod; n := n-1 end; result := prod end; begin result := tailrec(1, n); end; function factorial (n : integer) : integer; var prod : integer; begin prod := 1; while n > 1 do begin prod := n*prod; n := n-1 end; result := prod end;

Βελτιστοποίηση Κώδικα. Γιώργος Μανής

Βελτιστοποίηση Κώδικα. Γιώργος Μανής Βελτιστοποίηση Κώδικα Γιώργος Μανής Γενικά το πρόβληµα της βελτιστοποίησης είναι µη αποκρίσιµο στις περισσότερες µορφές του δεν έχουµε καµία εγγύηση ότι ο παραγόµενος κώδικας µετά από βελτιστοποίηση είναι

Διαβάστε περισσότερα

να βελτιώσει βρόχους να αντικαθιστά κλήσεις σχέση κόστους υλοποίησης και ωφέλειας χρήσης

να βελτιώσει βρόχους να αντικαθιστά κλήσεις σχέση κόστους υλοποίησης και ωφέλειας χρήσης Γενικά Βελτιστοποίηση Κώδικα Γιώργος Μανής το πρόβληµα της βελτιστοποίησης είναι µη αποκρίσιµο στις περισσότερες µορφές του δεν έχουµε καµία εγγύηση ότι ο παραγόµενος κώδικας µετά από βελτιστοποίηση είναι

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #7

ιαφάνειες παρουσίασης #7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης

Διαβάστε περισσότερα

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ ΘΕΜΑ Α Α.1 Να χαρακτηρίσετε σωστή (Σ) ή λανθασμένη (Λ) καθεμία από τις παρακάτω προτάσεις (Μονάδες 10) 1. Ένας αλγόριθμος μπορεί να έχει άπειρα βήματα

Διαβάστε περισσότερα

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD) Η Γλώσσα Pascal Χαρακτηριστικά Τύποι Δεδοµένων Δοµή προγράµµατος 1. Βασικές έννοιες Χαρακτηριστικά της γλώσσας Pascal Γλώσσα προγραµµατισµού Συντακτικό Σηµασιολογία Αλφάβητο της γλώσσας Pascal (Σύνολο

Διαβάστε περισσότερα

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ Μάθημα 7 - Υποπρογράμματα Εργαστήριο 11 Ο TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ Βασικές Έννοιες: Υποπρόγραμμα, Ανάλυση προβλήματος, top down σχεδίαση, Συνάρτηση, Διαδικασία, Παράμετρος, Κλήση συνάρτησης, Μετάβαση

Διαβάστε περισσότερα

Προγραμματισμός PASCAL

Προγραμματισμός PASCAL Προγραμματισμός PASCAL 1 PASCAL Η PASCAL σχεδιάστηκε από τον Worth το 1968 στη Ζυρίχη, αρχικά σαν εργαλείο για τη διδασκαλία προγραμματισμού. Είναι γλώσσα για σειριακό προγραμματισμό. 2 Απλή και εύκολη

Διαβάστε περισσότερα

Η γλώσσα προγραμματισμού Strange

Η γλώσσα προγραμματισμού Strange Προγραμματιστική άσκηση: Η γλώσσα προγραμματισμού Strange Η Strange είναι μια μικρή γλώσσα προγραμματισμού. Παρόλο που οι προγραμματιστικές της ικανότητες είναι μικρές, η εκπαιδευτική αυτή γλώσσα περιέχει

Διαβάστε περισσότερα

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

Διαβάστε περισσότερα

Γλώσσες Προγραμματισμού Μεταγλωττιστές

Γλώσσες Προγραμματισμού Μεταγλωττιστές Γλώσσες Προγραμματισμού Μεταγλωττιστές Παραγωγή Ενδιάμεσου Κώδικα Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου Δομή Παραγωγή ενδιάμεσου κώδικα. Ενδιάμεσες γλώσσες. Αφηρημένα

Διαβάστε περισσότερα

Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού

Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης 1 Μεταγλωττιστής Πρόγραμμα Διαβάζει προγράμματα δεδομένης γλώσσας (πηγαία γλώσσα) και τα μετατρέπει

Διαβάστε περισσότερα

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013 ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013 ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας δίπλα στο γράμμα που αντιστοιχεί σε κάθε πρόταση τη

Διαβάστε περισσότερα

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

Pascal, απλοί τύποι, τελεστές και εκφράσεις Pascal, απλοί τύποι, τελεστές και εκφράσεις 15 Νοεμβρίου 2011 1 Γενικά Στην standard Pascal ορίζονται τέσσερις βασικοί τύποι μεταβλητών: integer: Παριστάνει ακέραιους αριθμούς από το -32768 μέχρι και το

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 1: Εισαγωγή Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #11

ιαφάνειες παρουσίασης #11 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης

Διαβάστε περισσότερα

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 26-01-2014

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 26-01-2014 ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 26-01-2014 ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη λέξη Σωστό, αν είναι

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης ΚΕΦΑΛΑΙΟ 1ο 3ο 1. Συμπληρώστε τα κενά με τη λέξη που λείπει. α. Ένα πρόβλημα το χωρίζουμε σε άλλα απλούστερα, όταν είναι ή όταν έχει τρόπο επίλυσης. β. Η επίλυση ενός προβλήματος προϋποθέτει την του. γ.

Διαβάστε περισσότερα

Μορφοποίηση της εξόδου

Μορφοποίηση της εξόδου Μορφοποίηση της εξόδου (i) Όταν θέλουμε τα αποτελέσματα μιάς εντολής WRITE(*, *) να εμφανίζονται με συγκεκριμένο τρόπο τροποποιούμε τον δεύτερο αστερίσκο. 2 τρόποι μορφοποίησης WRITE(*, '(format εξόδου)')

Διαβάστε περισσότερα

ΑΠΑΝΤΗΣΕΙΣ. H διαδικασία ανεύρεσης λογικών λαθών περιλαμβάνει : β- Σωστό. Διαπίστωση του είδους του λάθους γ- Σωστό δ- Λάθος

ΑΠΑΝΤΗΣΕΙΣ. H διαδικασία ανεύρεσης λογικών λαθών περιλαμβάνει : β- Σωστό. Διαπίστωση του είδους του λάθους γ- Σωστό δ- Λάθος ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (ΟΜΑΔΑ Α ) & ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΤΕΤΑΡΤΗ 08/04/2015 - ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΟΚΤΩ (8) ΘΕΜΑ Α ΑΠΑΝΤΗΣΕΙΣ Α1. Α2. α-

Διαβάστε περισσότερα

ιαφάνειες παρουσίασης #5

ιαφάνειες παρουσίασης #5 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης #5!Παρουσίαση

Διαβάστε περισσότερα

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

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Η ΓΛΩΣΣΑ PASCAL ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Απλοί ή στοιχειώδης Τ.Δ. Ακέραιος τύπος Πραγματικός τύπος Λογικός τύπος Χαρακτήρας Σύνθετοι Τ.Δ. Αλφαριθμητικός 1. Ακέραιος (integer) Εύρος: -32768 έως 32767 Δήλωση

Διαβάστε περισσότερα

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

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Εργαστήριο 6 Εντολές Επανάληψης Η δομή Επιλογής στη PASCAL H δομή Επανάληψης στη PASCAL. Ρεύμα Εισόδου / Εξόδου.. Ρεύμα Εισόδου / Εξόδου. To πρόγραμμα γραφικών gnuplot. Γραφικά στη PASCAL. Σκοπός 6.1 ΕΠΙΔΙΩΞΗ

Διαβάστε περισσότερα

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης Εντολές Ελέγχου 2 Γενικά Εντολές λήψης αποφάσεων Επιτρέπουν στο πρόγραμμα να εκτελεί διαφορετικές

Διαβάστε περισσότερα

Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4)

Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4) Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4) Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Η διαδικαστική γλώσσα προγραμματισμού WHILE Τριάδες Hoare Μερική και Ολική Ορθότητα Προγραμμάτων Κανόνες

Διαβάστε περισσότερα

Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας

Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης 1 Εισαγωγή - 1 Μία κλασσική γλώσσα προγραμματισμού αποτελείται από: Εκφράσεις (των

Διαβάστε περισσότερα

IMPLICIT NONE INTEGER :: a, b, c

IMPLICIT NONE INTEGER :: a, b, c Βρόχοι Επανάληψης (i) Εντολή DO DO Εντολή 1 Εντολή 2... Εντολή n υνητικά ατέρµονος βρόχος, απαραίτητη η χρήση EXIT 1 Εντολές ΕΧΙΤ και CYCLE Με την εντολή ΕΧΙΤδιακόπτεται η εκτέλεση του βρόχου και η εκτέλεση

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 3: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Δομές ελέγχου. ομαδοποίηση εντολών εκτέλεση εντολών υπό συνθήκη επανάληψη εντολών

Δομές ελέγχου. ομαδοποίηση εντολών εκτέλεση εντολών υπό συνθήκη επανάληψη εντολών Δομές ελέγχου Τροποποιούν τη σειρά εκτέλεσης των εντολών του προγράμματος Οι εντολές φυσιολογικά εκτελούνται κατά σειρά από την αρχή μέχρι το τέλος Με τις δομές ελέγχου επιτυγχάνεται: ομαδοποίηση εντολών

Διαβάστε περισσότερα

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΜΟ 1 o ΔΙΑΓΩΝΙΜΑ ΘΕΜΑ 1 ο Α) Για κάθε μία από τις παρακάτω προτάσεις να επιλέξετε αν τις θεωρείτε σωστές () ή άθος () 1. Ο αλγόριθμος χρησιμοποιείται για επίλυση προβλήματος μόνο από

Διαβάστε περισσότερα

Παράλληλη Επεξεργασία Κεφάλαιο 2 Παραλληλισμός Δεδομένων

Παράλληλη Επεξεργασία Κεφάλαιο 2 Παραλληλισμός Δεδομένων Παράλληλη Επεξεργασία Κεφάλαιο 2 Παραλληλισμός Δεδομένων Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg Αρετή Καπτάν Υποψήφια

Διαβάστε περισσότερα

Χαρακτηριστικά αναδροµής

Χαρακτηριστικά αναδροµής Χαρακτηριστικά αναδροµής base case : συνθήκη τερµατισµού της αναδροµής Όταν το πρόβληµα είναι αρκετά µικρό ή απλό ώστε η λύση να είναι άµεση αναδροµικό βήµα : κλήση της ίδιας συνάρτησης για µικρότερη ή

Διαβάστε περισσότερα

Κεφάλαιο 7: Υπορουτίνες

Κεφάλαιο 7: Υπορουτίνες Κεφάλαιο 7: Υπορουτίνες Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Ορισμός Αφαίρεση με χρήση υπορουτινών (subroutine abstraction) είναι η αντιστοίχιση ενός συνόλου εισόδων σε ένα σύνολο εξόδων που μπορεί

Διαβάστε περισσότερα

Αναδρομή Ανάλυση Αλγορίθμων

Αναδρομή Ανάλυση Αλγορίθμων Αναδρομή Ανάλυση Αλγορίθμων Παράδειγμα: Υπολογισμός του παραγοντικού Ορισμός του n! n! = n x (n - 1) x x 2 x 1 Ο παραπάνω ορισμός μπορεί να γραφεί ως n! = 1 αν n = 0 n x (n -1)! αλλιώς Παράδειγμα (συνέχ).

Διαβάστε περισσότερα

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΝΕΟ ΚΑΙ ΠΑΛΑΙΟ ΣΥΣΤΗΜΑ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΝΕΟ ΚΑΙ ΠΑΛΑΙΟ ΣΥΣΤΗΜΑ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ ΚΑΙ HMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α A ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ ΟΜΑ Α Β ) ΣΑΒΒΑΤΟ 28 ΜΑΪΟΥ 2016 ΕΞΕΤΑΖΟΜΕΝΟ

Διαβάστε περισσότερα

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 7: ΑΝΑΔΡΟΜΗ

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 7: ΑΝΑΔΡΟΜΗ Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 7: ΑΝΑΔΡΟΜΗ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών ΠΕΡΙΕΧΟΜΕΝΟ Ορισμός

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Κανονική εξέταση, Φεβρουάριος 2005

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Κανονική εξέταση, Φεβρουάριος 2005 Ε. Μ. Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. & Μηχ. Υπολογιστών. Ε. Ζάχος, Ν. Παπασπύρου, Α. Παγουρτζής Α ΕΠΩΝΥΜΟ: 1 ΟΝΟΜΑ: 2 ΑΡ. ΜΗΤΡΩΟΥ: 3 ΕΞΑΜΗΝΟ: 4 ΟΜΑΔΑ ΕΡΓ: 5 ΑΜΦΙΘΕΑΤΡΟ: 6 ΘΕΣΗ: ΣΥΝΟΛΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Διαβάστε περισσότερα

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ

ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ. ΚΑΤΕΥΘΥΝΣΗ ΔΙΟΙΚΗΣΗΣ ΤΟΥΡΙΣΤΙΚΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΙ ΕΠΙΧΕΙΡΗΣΕΩΝ ΦΙΛΟΞΕΝΙΑΣ Πληροφορική I "Προγραμματισμός" B. Φερεντίνος

Διαβάστε περισσότερα

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL Δυνατότητα ανάπτυξης, μεταγλώττισης και εκτέλεσης προγραμμάτων στη PASCAL. Κατανόηση της σύνταξης των προτάσεων της PASCAL. Κατανόηση της εντολής εξόδου για

Διαβάστε περισσότερα

εισαγωγικές έννοιες Παύλος Εφραιμίδης Δομές Δεδομένων και

εισαγωγικές έννοιες Παύλος Εφραιμίδης Δομές Δεδομένων και Παύλος Εφραιμίδης 1 περιεχόμενα ενθετική ταξινόμηση ανάλυση αλγορίθμων σχεδίαση αλγορίθμων 2 ενθετική ταξινόμηση 3 ενθετική ταξινόμηση Βασική αρχή: Επιλέγει ένα-έναταστοιχείατηςμηταξινομημένης ακολουθίας

Διαβάστε περισσότερα

Γ ΤΑΞΗ ΗΜΕΡΗΣΙΟΥ ΕΠΑ.Λ ΜΑΘΗΜΑ ΕΙ ΙΚΟΤΗΤΑΣ ΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΚΦΩΝΗΣΕΙΣ

Γ ΤΑΞΗ ΗΜΕΡΗΣΙΟΥ ΕΠΑ.Λ ΜΑΘΗΜΑ ΕΙ ΙΚΟΤΗΤΑΣ ΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΚΦΩΝΗΣΕΙΣ 1 ΘΕΜΑ 1 Γ ΤΑΞΗ ΗΜΕΡΗΣΙΟΥ ΕΠΑ.Λ ΜΑΘΗΜΑ ΕΙ ΙΚΟΤΗΤΑΣ ΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΚΦΩΝΗΣΕΙΣ Α) Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις και δίπλα τη λέξη Σωστό, αν είναι σωστή,

Διαβάστε περισσότερα

Πανεπιστήμιο Πελοποννήσου. Σχολή Θετικών Επιστημών & Τεχνολογίας. Τμήμα Επιστήμης & Τεχνολογίας Υπολογιστών. Προγραμματισμός Ι Εργαστήριο

Πανεπιστήμιο Πελοποννήσου. Σχολή Θετικών Επιστημών & Τεχνολογίας. Τμήμα Επιστήμης & Τεχνολογίας Υπολογιστών. Προγραμματισμός Ι Εργαστήριο Πανεπιστήμιο Πελοποννήσου Σχολή Θετικών Επιστημών & Τεχνολογίας Τμήμα Επιστήμης & Τεχνολογίας Υπολογιστών Προγραμματισμός Ι Εργαστήριο 03-12-2012 1 η Εργαστηριακή Άσκηση Να δημιουργήσετε πρόγραμμα που

Διαβάστε περισσότερα

Μονάδες 4. β. x=20 και y=10

Μονάδες 4. β. x=20 και y=10 ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΗΝΙΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α A ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΤΡΙΤΗ 4 ΙΟΥΝΙΟΥ 2013 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΟΜΗΜΕΝΟΣ

Διαβάστε περισσότερα

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

FORTRAN και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

Διαβάστε περισσότερα

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) 133 244 355 a= b= c= 3 read(d,e) 166 277 3888

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) 133 244 355 a= b= c= 3 read(d,e) 166 277 3888 ΕΡΩΤΗΣΕΙΣ 1. Να αναφέρετε μερικά από τα ιδιαίτερα χαρακτηριστικά της Pascal. 2. Ποιο είναι το αλφάβητο της Pascal; 3. Ποια είναι τα ονόματα-ταυτότητες και σε τι χρησιμεύουν; 4. Σε τι χρησιμεύει το συντακτικό

Διαβάστε περισσότερα

ÏÌÉÊÑÏÍ ÖÑÏÍÔÉÓÔÇÑÉÏ ÊÏÑÄÅËÉÏ

ÏÌÉÊÑÏÍ ÖÑÏÍÔÉÓÔÇÑÉÏ ÊÏÑÄÅËÉÏ ΤΑΞΗ: 3 η ΤΑΞΗ ΕΠΑ.Λ. (Α Β ΟΜΑ Α) ΜΑΘΗΜΑ: ΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΙ ΙΚΟΤΗΤΑΣ ΘΕΜΑ Α Ηµεροµηνία: Κυριακή 4 Μαΐου 2014 ιάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν,

Διαβάστε περισσότερα

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές Μεταβλητές 2 Δήλωση μεταβλητών Η δήλωση (declaration) πληροφορεί το μεταγλωττιστή για το όνομα και

Διαβάστε περισσότερα

Γλώσσες Προγραμματισμού Μεταγλωττιστές

Γλώσσες Προγραμματισμού Μεταγλωττιστές Γλώσσες Προγραμματισμού Μεταγλωττιστές Παραγωγή Τελικού Κώδικα Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου Δομή Παραγωγή Τελικού κώδικα. Οργάνωση μνήμης Εγγραφήματα Δραστηριοποίησης

Διαβάστε περισσότερα

Προγραμματιστικές Τεχνικές

Προγραμματιστικές Τεχνικές Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Προγραμματιστικές Τεχνικές Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ Επικ. Καθηγητής ΕΜΠ v.vescoukis@cs.ntua.gr

Διαβάστε περισσότερα

Λύσεις Σειράς Ασκήσεων 5

Λύσεις Σειράς Ασκήσεων 5 Λύσεις Σειράς Ασκήσεων 5 Άσκηση 1 (α) Ακολουθεί η απόδειξη της προδιαγραφής (0) { A[X] = x A[Y] = y X Y (1) { A[Y] = y A[X] + Α[Υ] A[Y] = x X Y (2) A[X] := A[X] + A[Y]; (3) { A[Y] = y A[X] A[Y] = x X Y

Διαβάστε περισσότερα

Φροντιστήριο. Παραγωγή τελικού κώδικα. Παραγωγή τελικού κώδικα

Φροντιστήριο. Παραγωγή τελικού κώδικα. Παραγωγή τελικού κώδικα ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Παραγωγή τελικού κώδικα Από τον ενδιάμεσο κώδικα στον τελικό (1/2) Τα ορίσματα των εντολών ενδιάμεσου κώδικα είναι του τύπου expr*. Αυτές οι εκφράσεις θα πρέπει

Διαβάστε περισσότερα

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ-ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΚΑΔΗΜΑΪΚΟ ΕΠΑΛ- ΚΑΝΙΓΓΟΣ 13- ΤΗΛ

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ-ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΚΑΔΗΜΑΪΚΟ ΕΠΑΛ- ΚΑΝΙΓΓΟΣ 13- ΤΗΛ ΘΕΜ 1.. Χαρακτηρίστε τις προτάσεις που ακολουθούν ως Σωστό, αν οι προτάσεις είναι σωστές και ως Λάθος αν οι προτάσεις είναι λάθος. 1.Είναι πάντα δυνατή η μετατροπή της εντολής WHILE DO σε FOR DO. 2. Στην

Διαβάστε περισσότερα

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή

Διαβάστε περισσότερα

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Υλοποίηση ΑΤΔ με Συνδεδεμένες Λίστες -

Διαβάστε περισσότερα

Διάλεξη 6: Δείκτες και Πίνακες

Διάλεξη 6: Δείκτες και Πίνακες Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 6: Δείκτες και Πίνακες (Κεφάλαιο 12, KNK-2ED) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 6-1 Περιεχόμενο

Διαβάστε περισσότερα

Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3)

Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3) Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3) 3.1 Ασυμπτωτικός συμβολισμός (Ι) Οι ορισμοί που ακολουθούν μας επιτρέπουν να επιχειρηματολογούμε με ακρίβεια για την ασυμπτωτική συμπεριφορά. Οι f(n) και g(n) συμβολίζουν

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 4ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΟΙ ΤΕΛΕΣΤΕΣ ΣΥΓΚΡΙΣΗΣ Με τους τελεστές σύγκρισης, συγκρίνουμε τις

Διαβάστε περισσότερα

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΤΕΛΟΣ 1ΗΣ ΑΠΟ 6 ΣΕΛΙ ΕΣ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΤΕΛΟΣ 1ΗΣ ΑΠΟ 6 ΣΕΛΙ ΕΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α A ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΕΥΤΕΡΑ 16 ΙΟΥΝΙΟΥ 2014 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ:

Διαβάστε περισσότερα

Μαζέρας Αχιλλέας. Οι εντολές επανάληψης στην Pascal (While) Φυσικός Αυτοματιστής M.Sc. Νοέµβριος 2009

Μαζέρας Αχιλλέας. Οι εντολές επανάληψης στην Pascal (While) Φυσικός Αυτοματιστής M.Sc. Νοέµβριος 2009 Μαζέρας Αχιλλέας Φυσικός Αυτοματιστής M.Sc. Οι εντολές επανάληψης στην Pascal (While) Νοέµβριος 2009 ίνονται διαδοχικά από το πληκτρολόγιο τα βάρη µερικών κιβωτίων (απροσδιόριστο το πλήθος τους) µε το

Διαβάστε περισσότερα

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β.1 Τύποι Δεδομένων Όλες οι γλώσσες προγραμματισμού (πρέπει να) υποστηρίζουν πέντε (5) πρωταρχικούς τύπους δεδομένων: char (character) int (integer)

Διαβάστε περισσότερα

Πίνακες. FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Πίνακες. FORTRAN και Αντικειμενοστραφής Προγραμματισμός Πίνακες (i) Δομημένη μεταβλητή: αποθηκεύει μια συλλογή από τιμές δεδομένων Πίνακας (array): δομημένη μεταβλητή που αποθηκεύει πολλές τιμές του ίδιου τύπου INTEGER:: pinakas(100)ή INTEGER, DIMENSION(100)::pinakas

Διαβάστε περισσότερα

Μονάδες 12 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Μονάδες 12 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑΔΑ A ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑΔΑ Β ) ΠΑΡΑΣΚΕΥΗ 5 ΙΟΥΝΙΟΥ 2015 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ:

Διαβάστε περισσότερα

Κεφάλαιο 5.4-5.11: Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα

Κεφάλαιο 5.4-5.11: Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα Κεφάλαιο 5.4-5.11: Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) 10-1 Εντολές Επανάληψης που θα καλυφθούν σήμερα Διάλεξη 9 - Δευτέρα while() τελεστές postfix/prefix (++, --,...) και σύνθετοι τελεστές

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2015-2016 Θέμα Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις προτάσεις 1-4 και δίπλα τη λέξη ΣΩΣΤΟ,

Διαβάστε περισσότερα

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές Μορφές Εντολών Είδη εντολών Απλές εντολές Εκτελούν κάποια ενέργεια Εντολές ελέγχου Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές Εντολές και παραστάσεις Μιαεντολήείναιμιαπαράστασηπου ακολουθείται

Διαβάστε περισσότερα

Κεφάλαιο : Επαναλήψεις (for, do-while)

Κεφάλαιο : Επαναλήψεις (for, do-while) Κεφάλαιο 5.4-5.11: Επαναλήψεις (for, do-while) 10-1 Εντολές Επανάληψης που θα καλυφθούν σήµερα while(){ τελεστές postfix/prefix (++, --,...) και σύνθετοι τελεστές Παραδείγµατα Σήµερα for(){ Η εντολές break/continue;

Διαβάστε περισσότερα

Παραγωγή Ενδιάµεσου Κώδικα

Παραγωγή Ενδιάµεσου Κώδικα Παραγωγή Ενδιάµεσου Κώδικα Παραγωγή Ενδιάµεσου Κώδικα Κώδικας σε αρχική γλώσσα Γιώργος Μανής Κώδικας σε ενδιάµεση γλώσσα Κώδικας σε γλώσσα µηχανής (assembly) Παραγωγή Ενδιάµεσου Κώδικα Ενδιάµεση Γλώσσα

Διαβάστε περισσότερα

ΜΑΗΣ ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ ΔΟΚΙΜΙΟΥ. Ενότητα Α - ΛΥΣΕΙΣ

ΜΑΗΣ ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ ΔΟΚΙΜΙΟΥ. Ενότητα Α - ΛΥΣΕΙΣ ΜΑΗΣ 2007 - ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ ΔΟΚΙΜΙΟΥ Ενότητα Α - ΛΥΣΕΙΣ Πρόβλημα 1 ΑΡΧΗ Διάβασε Α Ψευδής Α > 0 Αληθής Τύπωσε «ΛΑΘΟΣ» Ε Α 2 Τύπωσε Ε ΤΕΛΟΣ Πρόβλημα 2 (α) I) Α := ABS(sin(x)/cos(x)) + SQR(y) * y; II)

Διαβάστε περισσότερα

ΑΠΑΝΤΗΣΕΙΣ. α- Σωστό β- Σωστό γ- Λάθος δ- Λάθος ε- Σωστό στ- Σωστό

ΑΠΑΝΤΗΣΕΙΣ. α- Σωστό β- Σωστό γ- Λάθος δ- Λάθος ε- Σωστό στ- Σωστό ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (ΟΜΑΔΑ Α ) & ΜΑΘΗΜΑΤΑ ΕΙΔΙΚΟΤΗΤΑΣ ΣΑΒΒΑΤΟ 16/04/2016 - ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (ΑΠΟΦΟΙΤΟΙ) ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΠΕΝΤΕ (5) ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α Α1. α- Σωστό β-

Διαβάστε περισσότερα

ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ

ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ ΟΔΗΓΙΕΣ: ΝΑ ΑΠΑΝΤΗΣΕΤΕ ΣΕ ΟΛΕΣ ΤΙΣ ΕΡΩΤΗΣΕΙΣ. Το εξεταστικό δοκίμιο αποτελείται από δύο Ενότητες Α και Β. ΕΝΟΤΗΤΑ Α - Αποτελείται από δέκα (10) ερωτήσεις. Κάθε ορθή απάντηση

Διαβάστε περισσότερα

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης Στόχοι και αντικείμενο ενότητας Έλεγχος ροής προγράμματος (βλ. ενότητα #4) Δομή επανάληψης #5.. Εντολές Επανάληψης Προτάσεις επανάληψης Εντολές while, do while Εντολή for Περί βρόχων (loops) Τελεστές,

Διαβάστε περισσότερα

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

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2013 ΤΑΞΗ: 3 η ΤΑΞΗ ΕΠΑ.Λ. (Α Β ΟΜΑ Α) ΜΑΘΗΜΑ: ΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΙ ΙΚΟΤΗΤΑΣ ΘΕΜΑ Α Ηµεροµηνία: Κυριακή 14 Απριλίου 2013 ιάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ Α1. Να γράψετε στο τετράδιο σας το γράµµα

Διαβάστε περισσότερα

Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1

Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1 Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1 Quicksort [Hoare, 62] Στοιχείο διαχωρισµού (pivot), π.χ. πρώτο, τυχαίο, Αναδιάταξη και διαίρεση εισόδου σε δύο υπο-ακολουθίες:

Διαβάστε περισσότερα

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επιλογής. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επιλογής. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Δομή Επιλογής Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Δομή Επιλογής (Απόφασης) Εκτέλεση υπό συνθήκη IF THEN IF THEN ELSE IF THEN

Διαβάστε περισσότερα

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011 Εισαγωγή στον Προγραµµατισµό Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011 Τελεστής σύντοµης ανάθεσης Τελεστής σύντοµης ανάθεσης (shorthand assignment operator) µεταβλητή = µεταβλητή τελεστής

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης

ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης Στο εργαστήριο αυτό, θα εξοικειωθούμε με τους τύπους δεδομένων που μας παρέχει η γλώσσα C, θα χρησιμοποιήσουμε τις δομές επανάληψης (for, while, do...while),

Διαβάστε περισσότερα

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

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 Μάθημα: ΠΛΗΡΟΦΟΡΙΚΗ ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΛΥΣΕΙΣ ΜΕΡΟΣ Α 1. ΑΡΧΗ Διάβασε timi Ψευδής timi

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο

Διαβάστε περισσότερα

Αναδρομικοί Αλγόριθμοι

Αναδρομικοί Αλγόριθμοι Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας ένα ή περισσότερα στιγμιότυπα του ίδιου προβλήματος. Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Συναρτήσεις Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Συναρτήσεις Ως τώρα γράφαμε όλα τα προγράμματα μας μέσα στην main..1

Διαβάστε περισσότερα

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΝΕΟ ΚΑΙ ΠΑΛΑΙΟ ΣΥΣΤΗΜΑ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΝΕΟ ΚΑΙ ΠΑΛΑΙΟ ΣΥΣΤΗΜΑ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ ΚΑΙ HMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α A ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ ΟΜΑ Α Β ) ΣΑΒΒΑΤΟ 28 ΜΑΪΟΥ 2016 ΕΞΕΤΑΖΟΜΕΝΟ

Διαβάστε περισσότερα

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL ΓΕΝΙΚΗ ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ Program Ονομα_προγραμματος; «πρόγραμμα» Πρόγραμμα 1 Program Lesson1_Program1; Write('Hello World!!!'); {σχόλια} Επεξήγηση Προγράμματος Program Lesson1_Program1;

Διαβάστε περισσότερα

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Pascal- Εισαγωγή Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διαμόρφωση Ελέγχου Ροής Προγράμματος Δομημένος Προγραμματισμός Ο πιο απλός και συνηθισμένος

Διαβάστε περισσότερα

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07 Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public

Διαβάστε περισσότερα

Α3. Ποια είναι τα πλεονεκτήματα του Δομημένου προγραμματισμού; (Μονάδες 10)

Α3. Ποια είναι τα πλεονεκτήματα του Δομημένου προγραμματισμού; (Μονάδες 10) ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08 / 02 / 2015 ΕΠΙΜΕΛΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ: Ι. ΜΙΧΑΛΕΑΚΟΣ Γ.ΝΙΤΟΔΑΣ ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις

Διαβάστε περισσότερα

Εντολές Επανάληψης. int sum = 0, i=1; sum += i++ ; sum += i++ ; Η πράξη αυτή θα πρέπει να επαναληφθεί Ν φορές!

Εντολές Επανάληψης. int sum = 0, i=1; sum += i++ ; sum += i++ ; Η πράξη αυτή θα πρέπει να επαναληφθεί Ν φορές! Εντολές Επανάληψης Πολλές φορές χρειάζεται να επαναλάβουμε τις ίδιες εντολές Πχ. Έστω ότι θέλουμε να υπολογίσουμε το άθροισμα όρων μιας ακολουθίας διαδοχικών ακεραίων. Δηλαδή αν ο χρήστης δώσει τον αριθμό

Διαβάστε περισσότερα

Εμβέλεια. Παραδείγματα. Παραδείγματα. Μπλοκ (blocks)

Εμβέλεια. Παραδείγματα. Παραδείγματα. Μπλοκ (blocks) Ονόματα και Εμβέλεια Ανακύκλωση ονομάτων Η κατανόηση της εμβέλειας είναι άμεση εάν το κάθε τι έχει το δικό του όνομα fun square a = a * a; fun double b = b + b; Αλλά στις μοντέρνες γλώσσες προγραμματισμού,

Διαβάστε περισσότερα

Ονόματα και Εμβέλεια. Wassily Kandinsky, Black lines, 1913

Ονόματα και Εμβέλεια. Wassily Kandinsky, Black lines, 1913 Ονόματα και Εμβέλεια Wassily Kandinsky, Black lines, 1913 Κωστής Σαγώνας Ανακύκλωση ονομάτων Η κατανόηση της εμβέλειας είναι άμεση εάν το κάθε τι έχει το δικό του όνομα Αλλά στις μοντέρνες

Διαβάστε περισσότερα

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

Διαβάστε περισσότερα

Συναρτήσεις-Διαδικασίες

Συναρτήσεις-Διαδικασίες ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 4 Συναρτήσεις-Διαδικασίες Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Διαδικασίες (procedures) Γνωστές και σαν υπορουτίνες (subroutines)

Διαβάστε περισσότερα

Εργαστηριακή Άσκηση 1

Εργαστηριακή Άσκηση 1 Εργαστηριακή Άσκηση 1 Επανάληψη προγραμματισμού Βασικοί Αλγόριθμοι Είσοδος τιμών από το πληκτρολόγιο Σε όλα τα προγράμματα που θα γράψουμε στην συνέχεια του εξαμήνου θα χρειαστεί να εισάγουμε τιμές σε

Διαβάστε περισσότερα

2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου

2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛHNIΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α A ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΣΑΒΒΑΤΟ 28 ΜΑΪΟΥ 2011 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΟΜΗΜΕΝΟΣ

Διαβάστε περισσότερα

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Ενότητα 9 (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή ισχύει ότι S i S j =, για κάθε i,j µε i j και S 1 S k = U. Λειτουργίες q MakeSet(X): επιστρέφει

Διαβάστε περισσότερα

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

Διαβάστε περισσότερα

Παράλληλη Επεξεργασία Κεφάλαιο 4 Επικοινωνία Διεργασιών

Παράλληλη Επεξεργασία Κεφάλαιο 4 Επικοινωνία Διεργασιών Παράλληλη Επεξεργασία Κεφάλαιο 4 Επικοινωνία Διεργασιών Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg Αρετή Καπτάν Υποψήφια

Διαβάστε περισσότερα

Εργαστήριο βάσεων δεδομένων. MySQL Stored Procedures

Εργαστήριο βάσεων δεδομένων. MySQL Stored Procedures Εργαστήριο βάσεων δεδομένων MySQL Stored Procedures Stored Procedures Μια store procedure είναι μια διαδικασία. Είναι ένα πρόγραμμα που αποτελείται από SQL εντολές. Αποθηκεύεται και εκτελείται στον database

Διαβάστε περισσότερα

ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων. Λουκάς Γεωργιάδης

ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων. Λουκάς Γεωργιάδης ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων Λουκάς Γεωργιάδης loukas@cs.uoi.gr www.cs.uoi.gr/~loukas Βασικές έννοιες και εφαρμογές Αλγόριθμος: Μέθοδος για την επίλυση ενός προβλήματος Δομή

Διαβάστε περισσότερα

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 2 : Αλγόριθμοι. Δρ. Γκόγκος Χρήστος

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 2 : Αλγόριθμοι. Δρ. Γκόγκος Χρήστος 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Πληροφορική II Ενότητα 2 : Αλγόριθμοι Δρ. Γκόγκος Χρήστος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Χρηματοοικονομικής & Ελεγκτικής

Διαβάστε περισσότερα

10. Εντολές επανάληψηςκαι οι εντολές

10. Εντολές επανάληψηςκαι οι εντολές Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων 10. Εντολές επανάληψηςκαι οι εντολές for και do-while Ιωάννης Κατάκης Σήμερα o for o break/continue o dowhile() o φωλιασμένοι βρόχοι o παραδείγματα Ο βρόχος

Διαβάστε περισσότερα