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

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

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

Transcript

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

2 Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας ένα ή περισσότερα στιγμιότυπα του ίδιου προβλήματος. Παράδειγμα: Υπολογισμός παραγοντικού int factorial (int N) if (N==0) return 1; return N*factorial(N-1);

3 Παράδειγμα: Υπολογισμός παραγοντικού αναδρομικό πρόγραμμα int factorial (int N) if (N==0) return 1; return N*factorial(N-1); μη αναδρομικό πρόγραμμα t = 1; for (int i=1; i<=n; i++) t *= i;

4 Παράδειγμα: Υπολογισμός παραγοντικού αναδρομικό πρόγραμμα int factorial (int N) if (N==0) return 1; return N*factorial(N-1); μη αναδρομικό πρόγραμμα t = 1; for (int i=1; i<=n; i++) t *= i; Κάθε αναδρομικό πρόγραμμα μπορεί να μετατραπεί σε ισοδύναμο μη αναδρομικό πρόγραμμα. Πολλές φορές όμως η χρήση αναδρομής δίνει πιο σύντομα ή/και πιο αποδοτικά προγράμματα.

5 Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς

6 Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς Αλγόριθμος του Ευκλείδη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι

7 Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς Αλγόριθμος του Ευκλείδη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι Αν ο είναι κοινός διαιρέτης των τότε και, άρα

8 Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς Αλγόριθμος του Ευκλείδη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι Αν ο είναι κοινός διαιρέτης των τότε και, άρα Αν ο είναι κοινός διαιρέτης των τότε και, άρα

9 Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς Αλγόριθμος του Ευκλείδη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι Επομένως

10 Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς Αλγόριθμος του Ευκλείδη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι int gcd (int x, int y) if (y==0) return x; return gcd(y, x%y);

11 Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς Αλγόριθμος του Ευκλείδη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι int gcd (int x, int y) if (y==0) return x; return gcd(y, x%y); Παράδειγμα gcd(128,40)=

12 Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς Αλγόριθμος του Ευκλείδη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι int gcd (int x, int y) if (y==0) return x; return gcd(y, x%y); Παράδειγμα gcd(128,40)= gcd(40,8)=

13 Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς Αλγόριθμος του Ευκλείδη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι int gcd (int x, int y) if (y==0) return x; return gcd(y, x%y); Παράδειγμα gcd(128,40)= gcd(40,8)= gcd(8,0)= 8

14 Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς Αλγόριθμος του Ευκλείδη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι Ιδιότητα: Αν τότε

15 Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς Αλγόριθμος του Ευκλείδη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι Ιδιότητα: Αν τότε Απόδειξη:

16 Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς Αλγόριθμος του Ευκλείδη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι Ιδιότητα: Αν τότε ο αλγόριθμος του Ευκλείδη είναι αποδοτικός : απαιτεί επαναλήψεις

17 Αναδρομική συνάρτηση καταμέτρησης του πλήθους των κόμβων σε μία συνδεδεμένη λίστα private class Node Item item; Node next; node : item next int count(node x) if (x == null) return 0; return 1 + count(x.next); Node head μηδενική αναφορά (null)

18 : Διαίρει και βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους k πρόβλημα μεγέθους Ν-k

19 : Διαίρει και βασίλευε πρόβλημα μεγέθους Ν διάσπαση επιλύουμε αναδρομικά τα υποπροβλήματα πρόβλημα μεγέθους k πρόβλημα μεγέθους Ν-k

20 : Διαίρει και βασίλευε πρόβλημα μεγέθους Ν διάσπαση επιλύουμε αναδρομικά τα υποπροβλήματα πρόβλημα μεγέθους k πρόβλημα μεγέθους Ν-k

21 : Διαίρει και βασίλευε πρόβλημα μεγέθους Ν διάσπαση επιλύουμε αναδρομικά τα υποπροβλήματα πρόβλημα μεγέθους k πρόβλημα μεγέθους Ν-k

22 : Διαίρει και βασίλευε πρόβλημα μεγέθους Ν σύνθεση επιλύουμε αναδρομικά τα υποπροβλήματα πρόβλημα μεγέθους k πρόβλημα μεγέθους Ν-k

23 : Διαίρει και βασίλευε πρόβλημα μεγέθους Ν σύνθεση επιλύουμε αναδρομικά τα υποπροβλήματα πρόβλημα μεγέθους k πρόβλημα μεγέθους Ν-k

24 : Διαίρει και βασίλευε πρόβλημα μεγέθους Ν διάσπαση προβλήματος / σύνθεση λύσεων επιλύουμε αναδρομικά τα υποπροβλήματα πρόβλημα μεγέθους k πρόβλημα μεγέθους Ν-k Χρόνος εκτέλεσης : χρόνος διάσπασης χρόνος σύνθεσης

25 Απλό πρόβλημα : Εύρεση ελάχιστου στοιχείου ακολουθίας μη αναδρομικό πρόγραμμα t = a[0]; for (i = 1; i < N; i++) if (a[i] < t) t = a[i]; αναδρομικό πρόγραμμα «διαίρει και βασίλευε» int min(int a[], int l, int r) int u, v, m = (l+r)/2; if (l == r) return a[l]; u = min(a, l, m); v = min(a, m+1, r); if (u<v) return u; else return v;

26 Οι Πύργοι του Ανόι 3 πάσσαλοι και Ν δίσκοι 1 Ν Θέλουμε να μετακινήσουμε τους δίσκους κατά ένα πάσσαλο δεξιά, υπακούοντας στους παρακάτω κανόνες 1) Μετακινούμε ένα δίσκο τη φορά 2) Ένας δίσκος δεν μπορεί να τοποθετηθεί πάνω από μικρότερο δίσκο

27 Οι Πύργοι του Ανόι 3 πάσσαλοι και Ν δίσκοι 1 Ν Θέλουμε να μετακινήσουμε τους δίσκους κατά ένα πάσσαλο δεξιά, υπακούοντας στους παρακάτω κανόνες 1) Μετακινούμε ένα δίσκο τη φορά 2) Ένας δίσκος δεν μπορεί να τοποθετηθεί πάνω από μικρότερο δίσκο Η χρήση αναδρομής μας βοηθά να βρούμε μια κομψή λύση στο πρόβλημα.

28 Οι Πύργοι του Ανόι 3 πάσσαλοι και Ν δίσκοι 1 Ν Συμβολισμός +1 : Μετακίνηση κατά 1 πάσσαλο δεξιά. Επιστρέφουμε στον αριστερότερο πάσσαλο αν ξεκινήσουμε από τον δεξιότερο. -1 : Μετακίνηση κατά 1 πάσσαλο αριστερά. Επιστρέφουμε στον δεξιότερο πάσσαλο αν ξεκινήσουμε από τον αριστερότερο.

29 Οι Πύργοι του Ανόι 3 πάσσαλοι και Ν δίσκοι 1 Ν Ιδέα για αναδρομικό αλγόριθμο Ας υποθέσουμε ότι ξέρουμε πώς να μετακινήσουμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο δεξιά ή αριστερά.

30 Οι Πύργοι του Ανόι 3 πάσσαλοι και Ν δίσκοι 1 Ν Ιδέα για αναδρομικό αλγόριθμο Ας υποθέσουμε ότι ξέρουμε πώς να μετακινήσουμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο δεξιά ή αριστερά. 1. Μετακινούμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο αριστερά.

31 Οι Πύργοι του Ανόι 3 πάσσαλοι και Ν δίσκοι Ν 1 Ν-1 Ιδέα για αναδρομικό αλγόριθμο Ας υποθέσουμε ότι ξέρουμε πώς να μετακινήσουμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο δεξιά ή αριστερά. 1. Μετακινούμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο αριστερά.

32 Οι Πύργοι του Ανόι 3 πάσσαλοι και Ν δίσκοι Ν 1 Ν-1 Ιδέα για αναδρομικό αλγόριθμο Ας υποθέσουμε ότι ξέρουμε πώς να μετακινήσουμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο δεξιά ή αριστερά. 1. Μετακινούμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο αριστερά. 2. Μετακινούμε το δίσκο Ν κατά ένα πάσσαλο δεξιά.

33 Οι Πύργοι του Ανόι 3 πάσσαλοι και Ν δίσκοι Ν Ν-1 1 Ιδέα για αναδρομικό αλγόριθμο Ας υποθέσουμε ότι ξέρουμε πώς να μετακινήσουμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο δεξιά ή αριστερά. 1. Μετακινούμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο αριστερά. 2. Μετακινούμε το δίσκο Ν κατά ένα πάσσαλο δεξιά.

34 Οι Πύργοι του Ανόι 3 πάσσαλοι και Ν δίσκοι Ν Ν-1 1 Ιδέα για αναδρομικό αλγόριθμο Ας υποθέσουμε ότι ξέρουμε πώς να μετακινήσουμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο δεξιά ή αριστερά. 1. Μετακινούμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο αριστερά. 2. Μετακινούμε το δίσκο Ν κατά ένα πάσσαλο δεξιά. 3. Μετακινούμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο αριστερά.

35 Οι Πύργοι του Ανόι 1 3 πάσσαλοι και Ν δίσκοι Ν Ιδέα για αναδρομικό αλγόριθμο Ας υποθέσουμε ότι ξέρουμε πώς να μετακινήσουμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο δεξιά ή αριστερά. 1. Μετακινούμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο αριστερά. 2. Μετακινούμε το δίσκο Ν κατά ένα πάσσαλο δεξιά. 3. Μετακινούμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο αριστερά.

36 Οι Πύργοι του Ανόι 1 3 πάσσαλοι και Ν δίσκοι Ν Ιδέα για αναδρομικό αλγόριθμο Ας υποθέσουμε ότι ξέρουμε πώς να μετακινήσουμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο δεξιά ή αριστερά. 1. Μετακινούμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο αριστερά. 2. Μετακινούμε το δίσκο Ν κατά ένα πάσσαλο δεξιά. 3. Μετακινούμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο αριστερά. Η μετακίνηση των Ν-1 γίνεται με μαγικό τρόπο!

37 Οι Πύργοι του Ανόι 1 3 πάσσαλοι και Ν δίσκοι Ν Ιδέα για αναδρομικό αλγόριθμο Ας υποθέσουμε ότι ξέρουμε πώς να μετακινήσουμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο δεξιά ή αριστερά. 1. Μετακινούμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο αριστερά. 2. Μετακινούμε το δίσκο Ν κατά ένα πάσσαλο δεξιά. 3. Μετακινούμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο αριστερά. αναδρομικά! Η μετακίνηση των Ν-1 γίνεται με μαγικό τρόπο!

38 void hanoi(int N, int d) if (N==0) return; shift(n,d); hanoi(3,+1)

39 void hanoi(int N, int d) if (N==0) return; shift(n,d); hanoi(3,+1) hanoi(2,-1)

40 void hanoi(int N, int d) if (N==0) return; shift(n,d); hanoi(3,+1) hanoi(2,-1)

41 void hanoi(int N, int d) if (N==0) return; shift(n,d); hanoi(3,+1) hanoi(2,-1)

42 void hanoi(int N, int d) if (N==0) return; shift(n,d); hanoi(3,+1) hanoi(2,-1)

43 void hanoi(int N, int d) if (N==0) return; shift(n,d); hanoi(3,+1) hanoi(2,-1)

44 void hanoi(int N, int d) if (N==0) return; shift(n,d); hanoi(3,+1) hanoi(2,-1) shift(2,-1)

45 void hanoi(int N, int d) if (N==0) return; shift(n,d); hanoi(3,+1) hanoi(2,-1) shift(2,-1)

46 void hanoi(int N, int d) if (N==0) return; shift(n,d); hanoi(3,+1) hanoi(2,-1) shift(2,-1)

47 void hanoi(int N, int d) if (N==0) return; shift(n,d); hanoi(3,+1) hanoi(2,-1) shift(2,-1)

48 void hanoi(int N, int d) if (N==0) return; shift(n,d); hanoi(3,+1) hanoi(2,-1) shift(2,-1)

49 void hanoi(int N, int d) if (N==0) return; shift(n,d); hanoi(3,+1) hanoi(2,-1) shift(2,-1) shift(3,+1)

50 void hanoi(int N, int d) if (N==0) return; shift(n,d); hanoi(3,+1) hanoi(2,-1) shift(2,-1) shift(3,+1) hanoi(2,-1)

51 void hanoi(int N, int d) if (N==0) return; shift(n,d); hanoi(3,+1) hanoi(2,-1) shift(2,-1) shift(3,+1) hanoi(2,-1)

52 void hanoi(int N, int d) if (N==0) return; shift(n,d); hanoi(3,+1) hanoi(2,-1) shift(2,-1) shift(3,+1) hanoi(2,-1)

53 void hanoi(int N, int d) if (N==0) return; shift(n,d); hanoi(3,+1) hanoi(2,-1) shift(2,-1) shift(3,+1) hanoi(2,-1)

54 void hanoi(int N, int d) if (N==0) return; shift(n,d); hanoi(3,+1) hanoi(2,-1) shift(2,-1) shift(3,+1) hanoi(2,-1)

55 void hanoi(int N, int d) if (N==0) return; shift(n,d); hanoi(3,+1) hanoi(2,-1) shift(2,-1) shift(3,+1) hanoi(2,-1) shift(2,-1)

56 void hanoi(int N, int d) if (N==0) return; shift(n,d); hanoi(3,+1) hanoi(2,-1) shift(2,-1) shift(3,+1) hanoi(2,-1) shift(2,-1)

57 void hanoi(int N, int d) if (N==0) return; shift(n,d); hanoi(3,+1) hanoi(2,-1) shift(2,-1) shift(3,+1) hanoi(2,-1) shift(2,-1)

58 void hanoi(int N, int d) if (N==0) return; shift(n,d); hanoi(3,+1) hanoi(2,-1) shift(2,-1) shift(3,+1) hanoi(2,-1) shift(2,-1)

59 void hanoi(int N, int d) if (N==0) return; shift(n,d); hanoi(3,+1) hanoi(2,-1) shift(2,-1) shift(3,+1) hanoi(2,-1) shift(2,-1)

60 Οι Πύργοι του Ανόι 3 πάσσαλοι και Ν δίσκοι 1 Ν Θέλουμε να μετακινήσουμε τους δίσκους κατά ένα πάσσαλο δεξιά, υπακούοντας στους παρακάτω κανόνες 1) Μετακινούμε ένα δίσκο τη φορά 2) Ένας δίσκος δεν μπορεί να τοποθετηθεί πάνω από μικρότερο δίσκο void hanoi(int N, int d) if (N==0) return; shift(n,d); Αριθμός κινήσεων :

61 Οι Πύργοι του Ανόι 3 πάσσαλοι και Ν δίσκοι 1 Ν Θέλουμε να μετακινήσουμε τους δίσκους κατά ένα πάσσαλο δεξιά, υπακούοντας στους παρακάτω κανόνες 1) Μετακινούμε ένα δίσκο τη φορά 2) Ένας δίσκος δεν μπορεί να τοποθετηθεί πάνω από μικρότερο δίσκο void hanoi(int N, int d) if (N==0) return; shift(n,d); Αριθμός κινήσεων :

62 Οι Πύργοι του Ανόι 3 πάσσαλοι και Ν δίσκοι 1 Ν Θέλουμε να μετακινήσουμε τους δίσκους κατά ένα πάσσαλο δεξιά, υπακούοντας στους παρακάτω κανόνες 1) Μετακινούμε ένα δίσκο τη φορά 2) Ένας δίσκος δεν μπορεί να τοποθετηθεί πάνω από μικρότερο δίσκο void hanoi(int N, int d) if (N==0) return; shift(n,d); Αριθμός κινήσεων :

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

Δυναμικός Προγραμματισμός πρόβλημα μεγέθους Ν «Διαίρει και βασίλευε» : ανεξάρτητα υποπροβλήματα διάσπαση πρόβλημα μεγέθους k πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους Ν Σε κάποιες περιπτώσεις όμως τα υποπροβλήματα δεν είναι ανεξάρτητα

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

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

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

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

Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές

Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ευθύγραμμες Απλά Συνδεδεμένες Λίστες (εισαγωγή, εύρεση, διαγραφή) Ευθύγραμμες Διπλά Συνδεδεμένες Λίστες

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

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πρόβληµα, Στιγµιότυπο, Αλγόριθµος Εργαλεία εκτίµησης πολυπλοκότητας: οι τάξεις Ο(n), Ω(n), Θ(n) Ανάλυση Πολυπλοκότητας Αλγορίθµων

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Δέντρα Αναζήτησης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Αναζήτηση Θέλουμε να διατηρήσουμε αντικείμενα με κλειδιά και να μπορούμε εκτός από

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

Διάλεξη 13: Δομές Δεδομένων ΙΙ (Ταξινομημένες Λίστες)

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

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

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

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

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ 1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #10: Αλγόριθμοι Διαίρει & Βασίλευε: Master Theorem, Αλγόριθμοι Ταξινόμησης, Πιθανοτικός

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

υναμικός Προγραμματισμός

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

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

ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ

ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ ΤΕΧΝΟΛΟΓΙΚΟ ΙΔΡΥΜΑ ΛΑΡΙΣΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΣΗΜΕΙΩΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ Δρ. Ηλίας Κ. Σάββας ΛΑΡΙΣΑ, Ιανουάριος 2005

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

υαδικό έντρο Αναζήτησης (BSTree)

υαδικό έντρο Αναζήτησης (BSTree) Εργαστήριο 6 υαδικό έντρο Αναζήτησης (BSTree) Εισαγωγή Οι περισσότερες δοµές δεδοµένων, που εξετάσαµε µέχρι τώρα (λίστες, στοίβες, ουρές) ήταν γραµ- µικές (ή δοµές δεδοµένων µιας διάστασης). Στην παράγραφο

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

ΑΛΓΟΡΙΘΜΟΙ & ΣΤΟΙΧΕΙΑ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ

ΑΛΓΟΡΙΘΜΟΙ & ΣΤΟΙΧΕΙΑ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ ΑΛΓΟΡΙΘΜΟΙ & ΣΤΟΙΧΕΙΑ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ Περίγραµµα Εισαγωγή Στοιχεία Πολυπλοκότητας Ηλίας Κ. Σάββας Επίκουρος Καθηγητής Τμήμα: Τεχνολογίας Πληροφορικής & Τηλεπικοινωνιών Email: savvas@teilar teilar.gr Αλγόριθµοι

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

Διάλεξη 14: Δομές Δεδομένων ΙΙI (Λίστες και Παραδείγματα)

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

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

Εργαστήριο 2: Πίνακες

Εργαστήριο 2: Πίνακες Εργαστήριο 2: Πίνακες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Επεξεργασία Πινάκων - Υλοποίηση της Δυαδικής Αναζήτησης σε πίνακες - Υλοποίηση της Ταξινόμησης με Επιλογής σε πίνακες ΕΠΛ035

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

Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις

Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις Άσκηση 1 Αποδείξτε τη µεταβατική και τη συµµετρική ιδιότητα του Θ. Λύση Μεταβατική Ιδιότητα (ορισµός): Αν f(n) = Θ(g(n)) και g(n) = Θ(h(n)) τότε f(n)=θ(h(n)). Για

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι 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

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

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Πρόβλημα 1 Το πρώτο πρόβλημα λύνεται με τη μέθοδο του Δυναμικού Προγραμματισμού. Για να το λύσουμε με Δυναμικό Προγραμματισμό

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

Επιμερισμός δεδομένων

Επιμερισμός δεδομένων Επιμερισμός δεδομένων Διαίρει και βασίλευε Κ.Γ. Μαργαρίτης προσαρμογή από το μάθημα του Barry Wilkinson ITCS 4145/5145 2006Cluster Computing Univ. of North Carolina at Charlotte Επιμερισμός δεδομένων Κατανομή

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

3 Αλληλεπίδραση Αντικειμένων

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

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

Κεφάλαιο 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 (++, --,...) και σύνθετοι τελεστές

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

ΔΙΑΔΙΚΑΣΤΙΚΟΣ ΠΡΟΓΡΑ Ρ Μ Α ΜΑΤΙ Τ ΣΜΟΣ

ΔΙΑΔΙΚΑΣΤΙΚΟΣ ΠΡΟΓΡΑ Ρ Μ Α ΜΑΤΙ Τ ΣΜΟΣ Τμήμα Εφαρμοσμένης Πληροφορικής ΔΙΑΔΙΚΑΣΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εξάμηνο Α' Φύλλο Ασκήσεων 3 ΔΟΜΕΣ ΕΠAΝΑΛΗΨΗΣ Διδάσκοντες: Μάγια Σατρατζέμη, Αλέξανδρος Χατζηγεωργίου, Ηλίας Σακελλαρίου, Στέλιος Ξυνόγαλος

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Δρ. Ιωάννης Λυχναρόπουλος 2014-2015. Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ Δρ. Ιωάννης Λυχναρόπουλος 2014-2015 Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας Τι είναι τα υποπρογράμματα Αυτόνομες μονάδες κώδικα Γραμμένα από τον χρήστη Η δομή

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

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

Εισαγωγή στις Συναρτήσεις Εισαγωγή στις Συναρτήσεις Η φιλοσοφία σχεδίασης της C βασίζεται στη χρήση των συναρτήσεων. Έχουμε ήδη δει και χρησιμοποιήσει πολλές συναρτήσεις που έχει το σύστημα, όπως είναι οι printf(), scanf(),αλλά

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

Η πολυνηματική γλώσσα προγραμματισμού Cilk

Η πολυνηματική γλώσσα προγραμματισμού Cilk Η πολυνηματική γλώσσα προγραμματισμού Cilk Β Καρακάσης Ερευνητικά Θέματα Υλοποίησης Γλωσσών Προγραμματισμού Μεταπτυχιακό Μάθημα (688), ΣΗΜΜΥ Νοέμβριος 2009 Β Καρακάσης (CSLab, NTUA) ΣΗΜΜΥ, Μετ/κό 688 9/2009

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

1. Να αναφέρετε ονοµαστικά τις λειτουργίες µε τις οποίες ο υπολογιστής µπορεί να επιτελέσει µε επιτυχία οποιαδήποτε επεξεργασία. Ï.Å.Ö.Å.

1. Να αναφέρετε ονοµαστικά τις λειτουργίες µε τις οποίες ο υπολογιστής µπορεί να επιτελέσει µε επιτυχία οποιαδήποτε επεξεργασία. Ï.Å.Ö.Å. 1 Γ' ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗ ΘΕΜΑ 1: Α. 1. Να αναφέρετε ονοµαστικά τις λειτουργίες µε τις οποίες ο υπολογιστής µπορεί να επιτελέσει µε επιτυχία

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

Διάλεξη 10: Δομές Δεδομένων Ι (Στοίβες & Ουρές)

Διάλεξη 10: Δομές Δεδομένων Ι (Στοίβες & Ουρές) Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 10: Δομές Δεδομένων Ι (Στοίβες & Ουρές) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 10-1 Περιεχόμενο Διάλεξης

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

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει;

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει; ΜΑΘΗΜΑ 7 Κλήση αλγορίθμου από αλγόριθμο Αναδρομή Σ χ ο λ ι κ ο Β ι β λ ι ο ΥΠΟΚΕΦΑΛΑΙΟ 2.2.7: ΕΝΤΟΛΕΣ ΚΑΙ ΔΟΜΕΣ ΑΛΓΟΡΙΘΜΟΥ ΠΑΡΑΓΡΑΦΟI 2.2.7.5: Κλήση αλγορίθμου από αλγόριθμο 2.2.7.6: Αναδρομή εισαγωγη

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Τελικές εξετάσεις 3 Ιανουαρίου 27 Διάρκεια εξέτασης: 3 ώρες (2:-5:) ΘΕΜΑ ο

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

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Nα κατασκευάσουν πίνακες από δεδομένα. Να κατασκευάσουν συναρτήσεις με πίνακες. Να κάνουν χρήση

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

Γραφικά Υπολογιστών: Σχεδίαση γραμμών (Bresenham), Σχεδίασης Κύκλων, Γέμισμα Πολυγώνων

Γραφικά Υπολογιστών: Σχεδίαση γραμμών (Bresenham), Σχεδίασης Κύκλων, Γέμισμα Πολυγώνων 1 ΤΕΙ Θεσσαλονίκης Τμήμα Πληροφορικής Γραφικά Υπολογιστών: Σχεδίαση γραμμών (Bresenham), Σχεδίασης Κύκλων, Γέμισμα Πολυγώνων Πασχάλης Ράπτης http://aetos.it.teithe.gr/~praptis praptis@it.teithe.gr 2 Περιγραφή

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

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026 Δρομολόγηση Και Πολύχρωματισμός Μονοπατιών Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026 Εισαγωγή. Το πρόβλημα με το οποίο θα ασχοληθούμε εδώ είναι γνωστό σαν: Δρομολόγηση και Πολύ-χρωματισμός Διαδρομών (Routing

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 7 Ο. Αριθμητικές πράξεις Τυχαίοι αριθμοί Εφαρμογές σε προβλήματα ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 7 Ο. Αριθμητικές πράξεις Τυχαίοι αριθμοί Εφαρμογές σε προβλήματα ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 7 Ο Αριθμητικές πράξεις Τυχαίοι αριθμοί Εφαρμογές σε προβλήματα ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 Εισαγωγή Οι αριθμητικές πράξεις που εκτελούνται στον υπολογιστή αποτελούν το

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

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ροή Δικτύου Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μοντελοποίηση Δικτύων Μεταφοράς Τα γραφήματα χρησιμοποιούνται συχνά για την μοντελοποίηση

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

ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ

ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ (Transportation Problems) Βασίλης Κώστογλου E-mail: vkostogl@it.teithe.gr URL: www.it.teithe.gr/~vkostogl Περιγραφή Ένα πρόβλημα μεταφοράς ασχολείται με το πρόβλημα του προσδιορισμού του καλύτερου δυνατού

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

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

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

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

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

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

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Εισαγωγή. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Εισαγωγή. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Βιβλιογραφία Robert Sedgewick, Αλγόριθμοι σε C, Μέρη 1-4 (Θεμελιώδεις Έννοιες, Δομές Δεδομένων, Ταξινόμηση,

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

Πληρουορική Γ Γσμμασίοσ

Πληρουορική Γ Γσμμασίοσ Πληρουορική Γ Γσμμασίοσ Προγραμματισμός και Αλγόριθμοι Από το και τημ Χελώμα στημ Ευριπίδης Βραχνός http://evripides.mysch.gr/ 2014 2015 1 Προγραμματισμός Ζάννειο Πρότυπο Πειραματικό Γυμνάσιο Πειραιά Ενότητα:

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

Φροντιστήριο 9 Λύσεις

Φροντιστήριο 9 Λύσεις Άσκηση 1 Φροντιστήριο 9 Λύσεις Να κατασκευάσετε μια μηχανή Turing με δύο ταινίες η οποία να αποδέχεται στην πρώτη της ταινία μια οποιαδήποτε λέξη w {a,b} * και να γράφει τη λέξη w R στη δεύτερη της ταινία.

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

ΑΣΚΗΣΗ 1. Structural Programming

ΑΣΚΗΣΗ 1. Structural Programming ΑΣΚΗΣΗ 1 Structural Programming Στην άσκηση αυτή θα υλοποιήσετε σε C ένα απλό πρόγραµµα Βάσης εδοµένων το οποίο θα µπορούσε να χρησιµοποιηθεί από την γραµµατεία ενός πανεπιστηµίου για την αποθήκευση και

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

Εξεταστέα Ύλη (Syllabus) Έκδοση 5.0

Εξεταστέα Ύλη (Syllabus) Έκδοση 5.0 Εξεταστέα Ύλη (Syllabus) Έκδοση 5.0 Πνευματικά Δικαιώματα 2007 Ίδρυμα ECDL (ECDL Foundation www.ecdl.org) Όλα τα δικαιώματα είναι κατοχυρωμένα. Κανένα μέρος αυτού του εγγράφου δεν μπορεί να αναπαραχθεί

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

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 18 Dijkstra s Shortest Path Algorithm 1 / 12 Ο αλγόριθμος εύρεσης της συντομότερης διαδρομής του Dijkstra

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

O n+2 = O n+1 + N n+1 = α n+1 N n+2 = O n+1. α n+2 = O n+2 + N n+2 = (O n+1 + N n+1 ) + (O n + N n ) = α n+1 + α n

O n+2 = O n+1 + N n+1 = α n+1 N n+2 = O n+1. α n+2 = O n+2 + N n+2 = (O n+1 + N n+1 ) + (O n + N n ) = α n+1 + α n Η ύλη συνοπτικά... Στοιχειώδης συνδυαστική Γεννήτριες συναρτήσεις Σχέσεις αναδρομής Θεωρία Μέτρησης Polyá Αρχή Εγκλεισμού - Αποκλεισμού Σχέσεις Αναδρομής Γραμμικές Σχέσεις Αναδρομής με σταθερούς συντελεστές

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Βιβλιογραφία "C Προγραμματισμός", Deitel & Deitel, Πέμπτη Έκδοση, Εκδόσεις

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

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

Φροντιστήριο 5. Ημερομηνία: 01/12/2006 Θεματική Ενότητα: Μοντελοποίηση Συμπεριφοράς Θέμα: Διαγράμματα αλληλεπίδρασης και καταστάσεων

Φροντιστήριο 5. Ημερομηνία: 01/12/2006 Θεματική Ενότητα: Μοντελοποίηση Συμπεριφοράς Θέμα: Διαγράμματα αλληλεπίδρασης και καταστάσεων Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Φθινόπωρο 2006 ΗΥ351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Φροντιστήριο 5 Ημερομηνία: 01/12/2006 Θεματική

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

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008 Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει

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

C: Από τη Θεωρία στην Εφαρμογή

C: Από τη Θεωρία στην Εφαρμογή Δρ. Γ. Σ. Τσελίκης Δρ. Ν. Δ. Τσελίκας C: Από τη Θεωρία στην Εφαρμογή Ενδεικτικές Ασκήσεις από το Βιβλίο C: Από τη Θεωρία στην Εφαρμογή (Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας) Ενδεικτικές Ασκήσεις του Βιβλίου Ε.Α.1

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

ΠΡΟΓΡΜΜΑΤΑ ΣΕ C. Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση:

ΠΡΟΓΡΜΜΑΤΑ ΣΕ C. Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση: ΠΡΟΓΡΜΜΑΤΑ ΣΕ C Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση: int b_to_d(int dyad[16]) που δέχεται ως είσοδο έναν θετικό ακέραιο δυαδικό αριθμό με τη μορφή πίνακα δυαδικών ψηφίων και επιστρέφει τον

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

Θεωρία παιγνίων Δημήτρης Χριστοφίδης Εκδοση 1η: Παρασκευή 3 Απριλίου 2015. Παραδείγματα Παράδειγμα 1. Δυο άτομα παίζουν μια παραλλαγή του σκακιού όπου σε κάθε βήμα ο κάθε παίκτης κάνει δύο κανονικές κινήσεις.

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

Συνεχή Κλάσματα. Εμμανουήλ Καπνόπουλος Α.Μ 282

Συνεχή Κλάσματα. Εμμανουήλ Καπνόπουλος Α.Μ 282 Συνεχή Κλάσματα Εμμανουήλ Καπνόπουλος Α.Μ 282 5 Νοεμβρίου 204 Ορισμός και ιδιότητες: Ορισμός: Έστω a 0, a, a 2,...a n ανεξάρτητες μεταβλητές, n N σχηματίζουν την ακολουθία {[a 0, a,..., a n ] : n N} όπου

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

Πραγµατικοί αριθµοί κινητής υποδιαστολής Floating Point Numbers. Σ. Τσιτµηδέλης - 2010 ΤΕΙ ΧΑΛΚΙΔΑΣ

Πραγµατικοί αριθµοί κινητής υποδιαστολής Floating Point Numbers. Σ. Τσιτµηδέλης - 2010 ΤΕΙ ΧΑΛΚΙΔΑΣ Πραγµατικοί αριθµοί κινητής υποδιαστολής Floating Point Numbers Σ. Τσιτµηδέλης - 2010 ΤΕΙ ΧΑΛΚΙΔΑΣ Εκθετική Παράσταση (Exponential Notation) Οι επόµενες είναι ισοδύναµες παραστάσεις του 1,234 123,400.0

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

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

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

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

Κεφάλαιο 10. Υποπρογράμματα

Κεφάλαιο 10. Υποπρογράμματα Κεφάλαιο 10 Υποπρογράμματα 10.1 Γενικός διδακτικός σκοπός Ο γενικός σκοπός του κεφαλαίου είναι να καταστούν ικανοί οι μαθητές να χρησιμοποιούν υποπρογράμματα για τη δημιουργία συνθέτων προγραμμάτων. 194

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

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013 Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013 27 Μαρτίου 2013 Περίληψη Σκοπός της παρούσας εργασίας είναι η εξοικείωσή σας με τις θεμελιώδεις θεωρητικές και πρακτικές πτυχές

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

KΕΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΕΣ ΥΠΟΓΡΑΦΕΣ

KΕΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΕΣ ΥΠΟΓΡΑΦΕΣ KΕΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΕΣ ΥΠΟΓΡΑΦΕΣ 1 Γενικά Η ψηφιακή υπογραφή είναι µια µέθοδος ηλεκτρονικής υπογραφής όπου ο παραλήπτης ενός υπογεγραµµένου ηλεκτρονικού µηνύµατος µπορεί να διαπιστώσει τη γνησιότητα του,

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

Ο Σέρλοκ Χόλμς, η εις άτοπο απαγωγή και οι απαρχές του internet.

Ο Σέρλοκ Χόλμς, η εις άτοπο απαγωγή και οι απαρχές του internet. Λέσχη Ανάγνωσης Γενικού Λυκείου Σαντορίνης Σχολικό έτος 2011-2012 Ο Σέρλοκ Χόλμς, η εις άτοπο απαγωγή και οι απαρχές του internet. Γιάννης Παπόγλου Το σμαραγδένιο στέμμα Σύµφωνα µε ένα παλιό µου ρητό,

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

Κρυπτογραφία. Εργαστηριακό μάθημα 10 (Επαναληπτικές ασκήσεις)

Κρυπτογραφία. Εργαστηριακό μάθημα 10 (Επαναληπτικές ασκήσεις) Κρυπτογραφία Εργαστηριακό μάθημα 10 (Επαναληπτικές ασκήσεις) Εύρεση αντίστροφου αριθμού Mod n Έχουμε ήδη δει ότι πολύ συχνά συναντάμε την ανάγκη να βρούμε τον αντίστροφο ενός αριθμού a modulo n, δηλαδή

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

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ.Χατζόπουλος 2 Δένδρο αναζήτησης είναι ένας ειδικός τύπος δένδρου που χρησιμοποιείται για να καθοδηγήσει την αναζήτηση μιας

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

Περιφερειακή Διεύθυνση Πρωτοβάθμιας και Δευτεροβάθμιας Εκπαίδευσης Βορείου Αιγαίου. Β Λυκείου

Περιφερειακή Διεύθυνση Πρωτοβάθμιας και Δευτεροβάθμιας Εκπαίδευσης Βορείου Αιγαίου. Β Λυκείου Περιφερειακή Διεύθυνση Πρωτοβάθμιας και Δευτεροβάθμιας Εκπαίδευσης Βορείου Αιγαίου Β Λυκείου ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΕΡΙΦΕΡΕΙΑΚΗ ΔΙΕΥΘΥΝΣΗ ΠΡΩΤΟΒΑΘΜΙΑΣ & ΔΕΥΤΕΡΟΒΑΘΜΙΑΣ

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

Διάλεξη 10: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) ΙI

Διάλεξη 10: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) ΙI Διάλεξη 10: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) ΙI Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Σχεσιακή Άλγεβρα Τελεστές Συνένωσης

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

Ασφάλεια Πληροφοριακών Συστημάτων

Ασφάλεια Πληροφοριακών Συστημάτων Ασφάλεια Πληροφοριακών Συστημάτων Κρυπτογραφία/Ψηφιακές Υπογραφές Διάλεξη 2η Δρ. Β. Βασιλειάδης Τμ. Διοίκησης Επιχειρήσεων, ΤΕΙ Δυτ. Ελλάδας Kρυπτανάλυση Προσπαθούμε να σπάσουμε τον κώδικα. Ξέρουμε το

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 10β: Αλγόριθμοι Γραφημάτων-Γραφήματα- Αναπαράσταση Γραφημάτων- Διερεύνηση Πρώτα σε Πλάτος (BFS) Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές) ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές) Βρείτε τα λάθη Στο πρόγραμμα στην επόμενη διαφάνεια υπάρχουν διάφορα λάθη Ποια είναι? public abstract

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

Κεφάλαιο 4 Διανυσματικοί Χώροι

Κεφάλαιο 4 Διανυσματικοί Χώροι Κεφάλαιο Διανυσματικοί Χώροι Διανυσματικοί χώροι - Βασικοί ορισμοί και ιδιότητες Θεωρούμε τρία διαφορετικά σύνολα: Διανυσματικοί Χώροι α) Το σύνολο διανυσμάτων (πινάκων με μία στήλη) με στοιχεία το οποίο

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

Δραστηριότητα για τους µαθητές µε το κόσκινο του Ερατοσθένη:.. (και άσκηση 10 σελ. 219 «Η φύση και η δύναµη των µαθηµατικών»)

Δραστηριότητα για τους µαθητές µε το κόσκινο του Ερατοσθένη:.. (και άσκηση 10 σελ. 219 «Η φύση και η δύναµη των µαθηµατικών») Πρώτοι αριθµοί: Τι µας λέει στο βιβλίο (σελ.25-26): 1. Μου αρέσουν οι πρώτοι αριθµοί, γι αυτό αρίθµησα µε πρώτους τα κεφάλαια. Οι πρώτοι αριθµοί είναι αυτό που αποµένει όταν αφαιρέσεις όλα τα στερεότυπα

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

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

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

Κεφάλαιο 9 1 Ιδιοτιμές και Ιδιοδιανύσματα

Κεφάλαιο 9 1 Ιδιοτιμές και Ιδιοδιανύσματα Σελίδα από 58 Κεφάλαιο 9 Ιδιοτιμές και Ιδιοδιανύσματα 9. Ορισμοί... 9. Ιδιότητες... 9. Θεώρημα Cayley-Hamlto...9 9.. Εφαρμογές του Θεωρήματος Cayley-Hamlto... 9.4 Ελάχιστο Πολυώνυμο...40 Ασκήσεις του Κεφαλαίου

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

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Λεξικό, Union Find ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαχείριση ιαμερίσεων Συνόλου Στοιχεία

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

Αλγόριθµοι Brute-Force και Διεξοδική Αναζήτηση

Αλγόριθµοι Brute-Force και Διεξοδική Αναζήτηση Αλγόριθµοι Brute-Force και Διεξοδική Αναζήτηση Περίληψη Αλγόριθµοι τύπου Brute-Force Παραδείγµατα Αναζήτησης Ταξινόµησης Πλησιέστερα σηµεία Convex hull Βελτιστοποίηση Knapsack problem Προβλήµατα Ανάθεσης

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

Περιεχόμενα. 1. Εισαγωγή: Κάποια αντιπροσωπευτικά προβλήματα... 25. 2. Βασικά στοιχεία ανάλυσης αλγορίθμων... 57. 3. Γραφήματα...

Περιεχόμενα. 1. Εισαγωγή: Κάποια αντιπροσωπευτικά προβλήματα... 25. 2. Βασικά στοιχεία ανάλυσης αλγορίθμων... 57. 3. Γραφήματα... Περιεχόμενα Σχετικά με τους συγγραφείς...3 Πρόλογος... 11 Πρόλογος της ελληνικής έκδοσης... 23 1. Εισαγωγή: Κάποια αντιπροσωπευτικά προβλήματα... 25 1.1 Ένα πρώτο πρόβλημα: Ευσταθές Ταίριασμα...25 1.2

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

Ολοκλήρωση - Μέθοδος Monte Carlo

Ολοκλήρωση - Μέθοδος Monte Carlo ΦΥΣ 145 - Διαλ.09 Ολοκλήρωση - Μέθοδος Monte Carlo Χρησιμοποίηση τυχαίων αριθμών για επίλυση ολοκληρωμάτων Η μέθοδος Monte Carlo δίνει μια διαφορετική προσέγγιση για την επίλυση ενός ολοκληρώμτατος Τυχαίοι

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

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

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

ProapaitoÔmenec gn seic.

ProapaitoÔmenec gn seic. ProapaitoÔmeec g seic. Α. Το σύνολο των πραγματικών αριθμών R και οι αλγεβρικές ιδιότητες των τεσσάρων πράξεων στο R. Το σύνολο των φυσικών αριθμών N = {1,, 3,... }. Προσέξτε: μερικά βιβλία (τα βιβλία

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

Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C: ΑΣΚΗΣΕΙΣ

Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C: ΑΣΚΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΣΤΑΤΙΣΤΙΚΗΣ ΚΑΙ ΑΣΦΑΛΙΣΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C: ΑΣΚΗΣΕΙΣ Για τους φοιτητές του µαθήµατος «Εισαγωγή στην Πληροφορική» Ε. Κοφίδης Ιούνιος 2005 Θα βρείτε εδώ

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

Κεφάλαιο 3. Αλγόριθµοι Τυφλής Αναζήτησης. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Κεφάλαιο 3. Αλγόριθµοι Τυφλής Αναζήτησης. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Κεφάλαιο 3 Αλγόριθµοι Τυφλής Αναζήτησης Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου Αλγόριθµοι Τυφλής Αναζήτησης Οι αλγόριθµοι τυφλής αναζήτησης (blind

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

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2015 Β ΦΑΣΗ ÁÈÇÍÁ ΑΠΑΝΤΗΣΕΙΣ

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2015 Β ΦΑΣΗ ÁÈÇÍÁ ΑΠΑΝΤΗΣΕΙΣ ΤΑΞΗ: ΚΑΤΕΥΘΥΝΣΗ: ΜΑΘΗΜΑ: ΘΕΜΑ Α Α1. 1. Λάθος 2. Λάθος 3. Σωστό 4. Λάθος 5. Σωστό Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ (2ος Κύκλος) ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ηµεροµηνία: Κυριακή 19 Απριλίου

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

Γλώσσες Χωρίς Συμφραζόμενα

Γλώσσες Χωρίς Συμφραζόμενα Γλώσσες Χωρίς Συμφραζόμενα Διδάσκοντες: Φ. Αφράτη, Δ. Φωτάκης, Δ. Σούλιου Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γλώσσα χωρίς

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

Projects στο Εργαστήριο Αρχιτεκτονικής Υπολογιστών Version 2 Ισχύει από Φεβρουάριο 2009

Projects στο Εργαστήριο Αρχιτεκτονικής Υπολογιστών Version 2 Ισχύει από Φεβρουάριο 2009 ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΣΕΡΡΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ ΜΑΘΗΜΑ : ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ 4 ο ΕΞΑΜΗΝΟ Projects στο Εργαστήριο Αρχιτεκτονικής Υπολογιστών Version 2 Ισχύει από Φεβρουάριο

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

Ευφυείς Τεχνολογίες Πράκτορες

Ευφυείς Τεχνολογίες Πράκτορες Ευφυείς Τεχνολογίες Πράκτορες Ενότητα 2: Αναπαράσταση Γνώσης και Επίλυση Προβλημάτων Δημοσθένης Σταμάτης mos@it.tith.gr www.it.tith.gr/~mos Μαθησιακοί Στόχοι της ενότητας 2 Πως ορίζεται ένα πρόβλημα στα

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

µηδενικό πολυώνυµο; Τι ονοµάζουµε βαθµό του πολυωνύµου; Πότε δύο πολυώνυµα είναι ίσα;

µηδενικό πολυώνυµο; Τι ονοµάζουµε βαθµό του πολυωνύµου; Πότε δύο πολυώνυµα είναι ίσα; ΘΕΩΡΙΑ ΠΟΛΥΩΝΥΜΩΝ 1. Τι ονοµάζουµε µονώνυµο Μονώνυµο ονοµάζεται κάθε γινόµενο το οποίο αποτελείται από γνωστούς και αγνώστους (µεταβλητές ) πραγµατικούς αριθµούς. Ο γνωστός πραγµατικός αριθµός ονοµάζεται

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

1 η Εργασία ΕΟ 13 2014-2015. Υποδειγματική λύση

1 η Εργασία ΕΟ 13 2014-2015. Υποδειγματική λύση 1 η Εργασία ΕΟ 13 014-015 Υποδειγματική λύση (όπως θα παρατηρήσετε η εργασία περιέχει και κάποια επιπλέον σχόλια, για την καλύτερη κατανόηση της μεθοδολογίας, τα οποία φυσικά μπορούν να παραλειφθούν) 1

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

Περιεχόμενα. Λίγα λόγια για αυτή την έκδοση... 23

Περιεχόμενα. Λίγα λόγια για αυτή την έκδοση... 23 Περιεχόμενα Λίγα λόγια για αυτή την έκδοση...... 23 Κεφάλαιο 1 Εισαγωγή... 25 O στόχος του βιβλίου και σε ποιους απευθύνεται... 27 Πώς να διαβάσετε αυτό το βιβλίο... 27 Εκπαίδευση από απόσταση... 29 Ιστορική

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

ΔΟΜΗΜΕΝΟΣ ΟΠΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΠAΡΑΘΥΡΙΚΟ ΠΕΡΙΒΑΛΛΟΝ με τη Γλώσσα Προγραμματισμού VISUAL BASIC (1 ο ΕΠΙΠΕΔΟ)

ΔΟΜΗΜΕΝΟΣ ΟΠΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΠAΡΑΘΥΡΙΚΟ ΠΕΡΙΒΑΛΛΟΝ με τη Γλώσσα Προγραμματισμού VISUAL BASIC (1 ο ΕΠΙΠΕΔΟ) Γενικός Σκοπός Το αναλυτικό πρόγραμμα έχει ως γενικό σκοπό να δώσει στους μαθητές τις απαιτούμενες γνωστικές, κριτικές και αναλυτικές δεξιότητες ώστε να είναι ικανοί να χρησιμοποιούν τους υπολογιστές για

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

ΕΝΟΤΗΤΑ 9 ΕΝΩΣΗ ΞΕΝΩΝ ΣΥΝΟΛΩΝ ( ΟΜΕΣ UNION-FIND)

ΕΝΟΤΗΤΑ 9 ΕΝΩΣΗ ΞΕΝΩΝ ΣΥΝΟΛΩΝ ( ΟΜΕΣ UNION-FIND) ΕΝΟΤΗΤΑ 9 ΕΝΩΣΗ ΞΕΝΩΝ ΣΥΝΟΛΩΝ ( ΟΜΕΣ UNION-FIND) Ένωση Ξένων Συνόλων (Disjoint Sets with Union) S 1,, S k : ξένα υποσύνολα ενός συνόλου U δηλ., S i S j =, αν i j, και S 1 S k = U. Λειτουργίες που θέλουµε

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

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions) Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions) Αυγερινός Αραμπατζής avi@ee.duth.gr www.aviarampatzis.com Βάσεις Δεδομένων Stored Procedures 1 Stored Routines (1/2) Τμήματα κώδικα τα

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

Δ Ι Α Φ Ο Ρ Ι Κ Ο Σ Λ Ο Γ Ι Σ Μ Ο Σ Μονοτονία & Ακρότατα Συνάρτησης

Δ Ι Α Φ Ο Ρ Ι Κ Ο Σ Λ Ο Γ Ι Σ Μ Ο Σ Μονοτονία & Ακρότατα Συνάρτησης ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ / ΕΠΑΝΑΛΗΨΗΣ Δ Ι Α Φ Ο Ρ Ι Κ Ο Σ Λ Ο Γ Ι Σ Μ Ο Σ Μονοτονία & Ακρότατα Συνάρτησης 1. Ποιους ορισμούς πρέπει να ξέρω για τη μονοτονία ; Πότε μια συνάρτηση θα ονομάζεται γνησίως αύξουσα σε

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

ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΤΕΛΙΚΗΣ ΦΑΣΗΣ Οι παρακάτω λύσεις είναι απολύτως ενδεικτικές

ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΤΕΛΙΚΗΣ ΦΑΣΗΣ Οι παρακάτω λύσεις είναι απολύτως ενδεικτικές 21 ος ΠΑΝΕΛΛΗΝΙΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΤΕΛΙΚΗΣ ΦΑΣΗΣ Οι παρακάτω λύσεις είναι απολύτως ενδεικτικές Θέμα 1 ο : HydroloGIS C++ Γαϊτανίδης Απόστολος Ιδ. ΓΕΛ Εκπ/τηρίων Μαντουλίδη LANG:

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

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 1.3-1.4: Εισαγωγή Στον Προγραµµατισµό ( ιάλεξη 2) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Περιεχόµενα Εισαγωγικές Έννοιες - Ορισµοί Ο κύκλος ανάπτυξης προγράµµατος Παραδείγµατα Πότε χρησιµοποιούµε υπολογιστή?

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

ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C

ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C 1 Εισαγωγή Ο προγραμματισμός είναι μια διαδικασία επίλυσης προβλημάτων με χρήση Η/Υ. Ένα πρόγραμμα είναι ένα σύνολο εντολών κάποιας γλώσσας προγραμματισμού,

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

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

ΚΥΚΛΩΜΑΤΑ ΜΕ ΑΠΛΕΣ ΣΥΝΔΕΣΜΟΛΟΓΙΕΣ ΑΝΤΙΣΤΑΤΩΝ ΚΥΚΛΩΜΑΤΑ ΜΕ ΑΠΛΕΣ ΣΥΝΔΕΣΜΟΛΟΓΙΕΣ ΑΝΤΙΣΤΑΤΩΝ Αντιστάτες συνδεδεμένοι σε σειρά Όταν ν αντιστάτες ενός κυκλώματος διαρρέονται από το ίδιο ρεύμα τότε λέμε ότι οι αντιστάτες αυτοί είναι συνδεδεμένοι σε σειρά.

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

i C + i R i C + i R = 0 C du dt + u R = 0 du dt + u RC = 0 0 RC dt ln u = t du u = 1 RC dt i C = i R = u R = U 0 t > 0.

i C + i R i C + i R = 0 C du dt + u R = 0 du dt + u RC = 0 0 RC dt ln u = t du u = 1 RC dt i C = i R = u R = U 0 t > 0. Α. Δροσόπουλος 6 Ιανουαρίου 2010 Περιεχόμενα 1 Κυκλώματα πρώτης τάξης 2 1.1 Εκφόρτιση κυκλωμάτων RC πρώτης τάξης.................................. 2 1.2 Εκφόρτιση κυκλωμάτων RL πρώτης τάξης...................................

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

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Εκφράσεις και Λίγες Εντολές Οι εκφράσεις της C Τελεστές Απλές και σύνθετες εντολές Εντολές ελέγχου (επιλογής) Εισαγωγή σε

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

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

Αʹ. Πίνακες. Άσκηση 1. Λύση. Άσκηση 2. Λύση. Ασκήσεις Εργαστηρίου Προγραμματισμού

Αʹ. Πίνακες. Άσκηση 1. Λύση. Άσκηση 2. Λύση. Ασκήσεις Εργαστηρίου Προγραμματισμού Αʹ. Πίνακες Άσκηση 1 Να γράψετε ένα πρόγραμμα στη γλώσσα προγραμματισμού C, το οποίο να δημιουργεί έναν πίνακα με το όνομα E, ο οποίος να έχει ακέραιο τύπο δεδομένων και 40 θέσεις. Στη συνέχεια να αναθέσετε

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Ενότητα 12 Δομές (Structures) Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Αφαιρετικότητα Με τις συναρτήσεις επιτυγχάνουμε αφαιρετικότητα

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

ΚΕΦΑΛΑΙΟ 5: Αλγόριθμοι

ΚΕΦΑΛΑΙΟ 5: Αλγόριθμοι ΚΕΦΑΛΑΙΟ 5: Αλγόριθμοι 5.1 Η έννοια του αλγορίθμου 5.2 Αναπαράσταση αλγορίθμων 5.3 Επινόηση αλγορίθμων 5.4 Δομές επανάληψης 5.5 Αναδρομικές δομές 5.6 Απόδοση και ορθότητα Οι διαφάνειες βασίζονται σε μεγάλο

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

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

Βασικά Στοιχεία της Java Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά

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