ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Αναδροµικές Συναρτήσεις Χειµερινό Εξάµηνο 2014
|
|
- Βαρβάρα Δυοβουνιώτης
- 7 χρόνια πριν
- Προβολές:
Transcript
1 ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό Αναδροµικές Συναρτήσεις Χειµερινό Εξάµηνο 2014
2 Ορισµός και ιδιότητες Μια συνάρτηση είναι αναδροµική αν καλεί τον εαυτό της Οι περισσότερες γλώσσες προγραµµατισµού υποστηρίζουν αναδροµικές συναρτήσεις Οι αναδροµικές συναρτήσεις είναι πολλές φορές πιο διαισθητικές από τις αντίστοιχες επαναληπτικές Η εκσφαλµάτωσή τους είναι όµως δυσκολότερη, οπότε πρέπει να χρησιµοποιούνται µε προσοχή Επίσης οι αναδροµικές συναρτήσεις µπορεί να επιβαρύνουν τη µνήµη του συστήµατος και να είναι πιο αργές 2
3 Αναδροµικές συναρτήσεις στα µαθηµατικά Παράδειγµα: παραγοντικό n! = 1 if n = 0 or n =1, n(n 1)! otherwise. def fact(n): if n==0 or n==1: return 1 else: return nfact(n-1) «βασική» περίπτωση επαναληπτική συνάρτηση: def fact(n): f = 1 for i in range(1,n+1): f = i return f αναδροµική περίπτωση 3
4 Παράδειγµα: ύψωση σε δύναµη αναδρομική συνάρτηση: def power(x, n): if n == 0: return 1 else: return x power(x, n-1) επαναληπτική συνάρτηση: def power(x, n): result = 1 for i in range(n): result = x return result 4
5 Παράδειγµα: αριθµοί Fibonacci Μια ακολουθία αριθµών: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144,... Ορίζονται µε την αναδροµική συνάρτηση: F n = 1 if n = 1 or n =2, F n 1 + F n 2 otherwise. Χρήσεις και εµφάνιση: F n 1 lim n!1 Μαθηµατικα: συνδεση µε τη χρυσή τοµή F n Φύση: διακλαδώσεις δέντρων, διάταξη φύλλων, κλπ. = ' 5
6 Παράδειγµα: αριθµοί Fibonacci αναδρομική συνάρτηση: def rfib(n): if n==1 or n==2: return 1 else: return rfib(n-1)+rfib(n-2) επαναληπτική συνάρτηση: def fib(n): if n<=1: return -1 # undefined p = 1 # first number c = 1 # second number for i in range(n-2): # c becomes p, compute new c p, c = c, p +c return c p (previous) = προηγούµενος αριθµός c (current) = τρέχων αριθµός 6
7 Αναδροµικές συναρτήσεις σε γλώσσα προγραµµατισµού Πιο περίπλοκες από τις µαθηµατικές αναδροµές Μπορούν να δηµιουργήσουν προβλήµατα αν δεν οριστούν σωστά Άσκηση: Τι κάνει η παρακάτω συνάρτηση; Η «βασική» περίπτωση ορίζει τη συνθήκη τερµατισµού Ποιο είναι το πρόβληµα της παρακάτω συνάρτησης; Πως θα φτιάξουµε το πρόβληµα; def countdown(n): print(n) countdown(n-1) def countdown(n): print(n) if n==0: print('blast off!'); return countdown(n-1) 7
8 Αναδροµικές συναρτήσεις σε γλώσσα προγραµµατισµού def countdown(n): print(n) if n==0: print('blast off!'); return countdown(n-1) countdown(3) print(3) countdown(2) countdown(2) print(2) countdown(1) countdown(1) print(1) countdown(0) countdown(0) print(0) print('blast off!')) Η Python δηµιουργεί µια «στοίβα» όπου κρατάει τη «µνήµη» για κάθε αναδροµική κλήση: τοπικές µεταβλητές σηµείο της συνάρτησης από το οποίο πρέπει να συνεχίσει µετά την επιστροφή από την αναδροµική κλήση 8
9 Αναδροµικές συναρτήσεις σε γλώσσα προγραµµατισµού Το παράδειγµά µας εξακολουθεί να έχει προβλήµατα: Αν καλέσουµε countdown(-1) η συνάρτηση δεν τερµατίζει Αν καλέσουµε countdown(10000) το πρόγραµµα θα «κολλήσει» µετά από περίπου 1000 κλήσεις αναδροµής... η «στοίβα» του προγράµµατος θα γεµίσει RuntimeError: maximum recursion depth exceeded def countdown(n): print(n) if n==0: print('blast off!'); return countdown(n-1) 9
10 Σκεπτόµενοι αναδροµικά Άσκηση: φτιάξτε µια αναδροµική συνάρτηση vertical, η οποία να τυπώνει τα ψηφία ενός αριθµού «κάθετα» από το περισσότερο στο λιγότερο σηµαντικό Επιθυµητή συµπεριφορά: >>> vertical(3124)
11 Σκεπτόµενοι αναδροµικά Βήµα 1: ποια είναι η «βασική» περίπτωση; >>> vertical(6) 6 αν ο αριθµός έχει ένα µόνο ψηφίο, απλά τύπωσε το ψηφίο άρα η συνάρτησή µας πρέπει να έχει τη µορφή: def vertical(n): if n<10: # base case: n has 1 digit print(n) # just print n else: # recursive case: n has 2 or more digits # remainder of function 11
12 Σκεπτόµενοι αναδροµικά Βήµα 2: ποια είναι η «αναδροµική» περίπτωση; αν ο αριθµός έχει περισσότερα από ένα ψηφία (=n), τότε σπάσε τον σε δύο µέρη: στο τελευταίο ψηφίο σε όλα τα υπόλοιπα µαζί (δηλ. τα πρώτα n-1 ψηφία) π.χ. το 3124 σπάει σε 312 και 4 πρώτα χρειριζόµαστε τα πρώτα ψηφία (υποπρόβληµα), µετά το τελευταίο ψηφίο τα πρώτα n-1 ψηφία µπορούν να τυπωθούν µε τη σωστή σειρά µε µια αναδροµική κλήση ο χειρισµός του τελευταίου ψηφίου είναι η «βασική» περίπτωση 12
13 Σκεπτόµενοι αναδροµικά def vertical(n): if n<10: # base case: n has 1 digit print(n) # just print n else: # recursive case: n has 2 or more digits vertical(n//10) # recursively print all but last digit print(n%10) # print last digit of n >>> vertical(3124) vertical(3124) vertical(312) print(4) vertical(31) print(2) vertical(3) print(1) print(3) 13
14 14
15 Άσκηση Τι κάνει η παρακάτω συνάρτηση; def vertical(n): if n<10: # base case: n has 1 digit print(n) # just print n else: # recursive case: n has 2 or more digits print(n%10) # print last digit of n vertical(n//10) # recursively print all but last digit >>> vertical(3124)
16 Σκεπτόµενοι αναδροµικά Άσκηση: φτιάξτε µια αναδροµική συνάρτηση pattern που να τυπώνει αστεράκια όπως στα παρακάτω παραδείγµατα >>> pattern(0) >>> pattern(1) >>> pattern(2) >>> pattern(3) 16
17 Σκεπτόµενοι αναδροµικά Βήµα 1: ποια είναι η «βασική» περίπτωση; >>> vertical(0) >>> αν το όρισµα είναι 0, µήν κάνεις τίποτα άρα η συνάρτησή µας πρέπει να έχει τη µορφή: def pattern(n): if n==0: return # base case for n=0 else: # recursive case: n>0 # remainder of function 17
18 Σκεπτόµενοι αναδροµικά Βήµα 2: ποια είναι η «αναδροµική» περίπτωση; µε ανάλυση της επιθυµητής συµπεριφοράς και λίγη σκέψη... >>> pattern(1) 1 φορά pattern(0) >>> pattern(2) pattern(1) 2 φορές pattern(1) >>> pattern(3) pattern(2) 3 φορές pattern(2) 18
19 Σκεπτόµενοι αναδροµικά def pattern(n): if n==0: return # base case for n=0 else: # recursive case: n>0 pattern(n-1) # recursively print pattern for n-1 print(n'') # print n stars pattern(n-1) # recursively print pattern for n-1 19
20 Πόσο γρήγορη είναι η συνάρτησή µας; Όταν σχεδιάζουµε µια συνάρτηση, πρέπει να σκεφτόµαστε και την ταχύτητά της Η συνάρτηση rfib είναι πολύ πιο αργή από τη fib αναδρομική συνάρτηση: επαναληπτική συνάρτηση: def rfib(n): if n==1 or n==2: return 1 else: return rfib(n-1)+rfib(n-2) def fib(n): if n<1: return -1 # undefined p = 1 # first number c = 1 # second number for i in range(n-2): # c becomes p, compute new c p, c = c, p +c return c 20
21 Πόσο γρήγορη είναι η συνάρτησή µας; Άσκηση: όταν εκτελούµε τη fib(7) πόσες επαναλήψεις εκτελούνται; Η fib(n) χρειάζεται περίπου n επαναλήψεις Άρα ο χρόνος της fib(n) είναι ανάλογος του n επαναληπτική συνάρτηση: def fib(n): if n<1: return -1 # undefined p = 1 # first number c = 1 # second number for i in range(n-2): # c becomes p, compute new c p, c = c, p +c return c 21
22 Πόσο γρήγορη είναι η συνάρτησή µας; Άσκηση: όταν εκτελούµε την rfib(7) πόσες φορές εκτελείται η rfib(3); αναδρομική συνάρτηση: def rfib(n): if n==1 or n==2: return 1 else: return rfib(n-1)+rfib(n-2) H rfib κάνει τους ίδιους υπολογισµούς πολλές φορές! 22
23 Πόσο γρήγορη είναι η συνάρτησή µας; Άσκηση: µελετήστε την παρακάτω συνάρτηση και σκεφτείτε πως µπορούµε να την κάνουµε πιο γρήγορη def my_pow(base, exponent): value = 1 for i in range(0, exponent): value = base return value >>> my_pow( , ) >>>
24 Πόσο γρήγορη είναι η συνάρτησή µας; Λύση: πως µπορούµε να ορίσουµε τη συνάρτηση my_pow αναδροµικά; a n = a n/2 a n/2 αν ο n είναι ζυγός αν είναι µονός; a n = aa n/2 a n/2 και στις 2 περιπτώσεις το a n/2 χρειάζεται να υπολογιστεί µόνο 1 φορά Πόσες αναδροµικές κλήσεις απαιτούνται για τον υπολογισµό του a n ; περίπου log 2 n 24
25 Πόσο γρήγορη είναι η συνάρτησή µας; def my_pow(base, exponent): if exponent==0: # base case return 1 tmp = my_pow(base, exponent//2) if exponent % 2 == 0: return tmptmp else: return basetmptmp «βασική» περίπτωση ζυγός εκθέτης µονός εκθέτης 25
Προγραµµατισµός. Αναδροµή (1/2)
Προγραµµατισµός Αναδροµή (1/2) Προγραµµατισµός Κλήσεις Συναρτήσεων Όταν καλείται µια συνάρτηση, πρέπει Να θυµάται σε ποιο σηµείο του προγράµµατος θα επιστρέψει Να δεσµεύσει χώρο για την τιµή που θα επιστρέψει
Διαβάστε περισσότεραΑναδροµή (Recursion) ύο παρεξηγήσεις. Σκέψου Αναδροµικά. Τρίγωνο Sierpinski Μη αναδροµικός ορισµός;
Αναδροµή (Recursion) Πώς να λύσουµε ένα πρόβληµα κάνοντας λίγη δουλειά και ανάγοντας το υπόλοιπο να λυθεί µε τον ίδιο τρόπο. Πού χρειάζεται; Πολλές µαθηµατικές συναρτήσεις ορίζονται αναδροµικά. εν είναι
Διαβάστε περισσότεραΑναδρομή (Recursion) Πώς να λύσουμε ένα πρόβλημα κάνοντας λίγη δουλειά και ανάγοντας το υπόλοιπο να λυθεί με τον ίδιο τρόπο.
Αναδρομή (Recursion) Πώς να λύσουμε ένα πρόβλημα κάνοντας λίγη δουλειά και ανάγοντας το υπόλοιπο να λυθεί με τον ίδιο τρόπο. Πού χρειάζεται; Πολλές μαθηματικές συναρτήσεις ορίζονται αναδρομικά. Δεν είναι
Διαβάστε περισσότεραΠρογραμματισμός Αναδρομή
Προγραμματισμός Αναδρομή Προγραμματισμός Προγραμματισμός Κλήσεις Συναρτήσεων Όταν καλείται μια συνάρτηση, πρέπει Να θυμάται σε ποιο σημείο του προγράμματος θα επιστρέψει Να δεσμεύσει χώρο για την τιμή
Διαβάστε περισσότεραΠρογραμματισμός Αναδρομή
Αναδρομή Κλήσεις Συναρτήσεων Όταν καλείται μια συνάρτηση, πρέπει Να θυμάται σε ποιο σημείο του προγράμματος θα επιστρέψει Να δεσμεύσει χώρο για την τιμή που θα επιστρέψει Να δεσμεύσει χώρο για τα ορίσματα
Διαβάστε περισσότεραΑναδρομή Ανάλυση Αλγορίθμων
Αναδρομή Ανάλυση Αλγορίθμων Παράδειγμα: Υπολογισμός του παραγοντικού Ορισμός του n! n! = n x (n - 1) x x 2 x 1 Ο παραπάνω ορισμός μπορεί να γραφεί ως n! = 1 αν n = 0 n x (n -1)! αλλιώς Παράδειγμα (συνέχ).
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ (ΟΜΑΔΑ ΘΕΜΑΤΩΝ A)
ΑΣΚΗΣΗ 1 Δίνεται η λογική συνάρτηση: F = ((A AND B) OR (B AND C) OR (A AND C)) ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ (ΟΜΑΔΑ ΘΕΜΑΤΩΝ A) α) Σχεδιάστε το λογικό κύκλωμα που υλοποιεί τη συνάρτηση F. β) Σχηματίστε τον πίνακα
Διαβάστε περισσότεραΣε γενικές γραμμές, είναι καλή πρακτική να γράϕουμε προγράμματα C που αποτελούνται από πολλές και μικρές συναρτήσεις, παρά από λίγες και μεγάλες.
58 Δομή ενός προγράμματος C Συναρτήσεις Μία συνάρτηση C είναι ένα αυτόνομο, πακεταρισμένο τμήμα προγράμματος που ϕέρει σε πέρας μία διαδικασία η οποία έχει σαϕείς προδιαγραϕές εισόδου και εξόδου και συγκεκριμένο
Διαβάστε περισσότεραΑναδροµή. Σε αυτήν την (βοηθητική) ενότητα θα µελετηθούν τα εξής : Η έννοια της αναδροµής Υλοποίηση και αποδοτικότητα Αφαίρεση της αναδροµής
Αναδροµή Σε αυτήν την (βοηθητική) ενότητα θα µελετηθούν τα εξής : Η έννοια της αναδροµής Υλοποίηση και αποδοτικότητα Αφαίρεση της αναδροµής 1 Αναδροµή Βασική έννοια στα Μαθηµατικά και στην Πληροφορική.
Διαβάστε περισσότεραΔιάλεξη 20: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου
1 Διάλεξη 20: Αναδρομή (Recursion) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Η έννοια της αναδρομής - Μη-αναδρομικός / Αναδρομικός Ορισμός Συναρτήσεων - Παραδείγματα Ανάδρομης - Αφαίρεση
Διαβάστε περισσότεραΧαρακτηριστικά αναδροµής
Χαρακτηριστικά αναδροµής base case : συνθήκη τερµατισµού της αναδροµής Όταν το πρόβληµα είναι αρκετά µικρό ή απλό ώστε η λύση να είναι άµεση αναδροµικό βήµα : κλήση της ίδιας συνάρτησης για µικρότερη ή
Διαβάστε περισσότεραΔιάλεξη 15η: Αναδρομή, μέρος 1ο
Διάλεξη 15η: Αναδρομή, μέρος 1ο Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Αναδρομή I CS100, 2016-2017
Διαβάστε περισσότεραΕισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Συναρτήσεις Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Συναρτήσεις Ως τώρα γράφαμε όλα τα προγράμματα μας μέσα στην main..1
Διαβάστε περισσότεραΣημειωματάριο μαθήματος 1ης Νοε. 2017
Σημειωματάριο μαθήματος 1ης Νοε. 2017 Παραδείγματα συναρτήσεων. Αναδρομικές συναρτήσεις. Ξεκινήσαμε πακετάροντας παλαιότερό μας κώδικα για τον υπολογισμό των διαιρετών ενός φυσικού αριθμού σε συνάρτηση.
Διαβάστε περισσότερατις αναδρομικές ακολουθίες (recursive sequences) στις οποίες ορίζαμε
Κεφάλαιο 9: Αναδρομή Ο τρόπος με τον οποίο σκεφτήκαμε και σχεδιάσαμε τις συναρτήσεις στο προηγούμενο κεφάλαιο ακολουθούσε τη φιλοσοφία του προγραμματισμού που είχαμε αναπτύξει σε όλο το προηγούμενο βιβλίο.
Διαβάστε περισσότεραΔιάλεξη 15: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 15: Αναδρομή (Recursion) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Η έννοια της αναδρομής Μη αναδρομικός / Αναδρομικός Ορισμός Συναρτήσεων Παραδείγματα Ανάδρομης Αφαίρεση της Αναδρομής
Διαβάστε περισσότεραΕνώσεις δεδομένων Απαριθμητές Ψηφιακοί τελεστές Αναδρομικές συναρτήσεις
Ενώσεις δεδομένων Απαριθμητές Ψηφιακοί τελεστές Αναδρομικές συναρτήσεις Ενώσεις δεδομένων (union) τι και γιατί Συσκευές με μικρή μνήμη => ανάγκη εξοικονόμησης πόρων Παρατήρηση: αχρησιμοποίητη μνήμη. Έστω
Διαβάστε περισσότεραΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Επαναληπτικές Ασκήσεις Χειµερινό Εξάµηνο 2014
ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό Επαναληπτικές Ασκήσεις Χειµερινό Εξάµηνο 2014 Λίστες όρισµα 2 λίστες και θα επιστρέφει το γινόµενo των 2 «µεσαίων» στοιχείων τους. Π.χ. L1 = [5,1,3,2,4], L2 = [9,2,1,8,0]
Διαβάστε περισσότεραΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Έλεγχος Ροής - Παραδείγµατα Χειµερινό Εξάµηνο 2014
ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό Έλεγχος Ροής - Παραδείγµατα Χειµερινό Εξάµηνο 2014 Δίσεκτο έτος Ένα έτος είναι δίσεκτο αν διαιρείται ακριβώς µε το 400 ή διαιρείται ακριβώς µε το 4 και δεν διαιρείται
Διαβάστε περισσότεραΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Αναζήτηση και Ταξινόµηση Χειµερινό Εξάµηνο 2014
ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό Αναζήτηση και Ταξινόµηση Χειµερινό Εξάµηνο 2014 Αναζήτηση και Ταξινόµηση Βασικές λειτουργίες σε προγράµµατα Αναζήτηση (searching): Βρες ένα ζητούµενο στοιχείο σε µια
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας Αυτό-αξιολόγηση 1η: 08/02/2006 1
Διαβάστε περισσότεραΣτοιχεία Αλγορίθµων και Πολυπλοκότητας
Στοιχεία Αλγορίθµων και Πολυπλοκότητας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Πολυπλοκότητα 1 / 16 «Ζέσταµα» Να γράψετε τις συναρτήσεις
Διαβάστε περισσότεραIMPLICIT NONE INTEGER :: a, b, c
Βρόχοι Επανάληψης (i) Εντολή DO DO Εντολή 1 Εντολή 2... Εντολή n υνητικά ατέρµονος βρόχος, απαραίτητη η χρήση EXIT 1 Εντολές ΕΧΙΤ και CYCLE Με την εντολή ΕΧΙΤδιακόπτεται η εκτέλεση του βρόχου και η εκτέλεση
Διαβάστε περισσότεραΣτη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:
Εργαστήριο 6: 6.1 Δομές Επανάληψης Βρόγχοι (Loops) Όταν θέλουμε να επαναληφθεί μια ομάδα εντολών τη βάζουμε μέσα σε ένα βρόχο επανάληψης. Το αν θα (ξανα)επαναληφθεί η εκτέλεση της ομάδας εντολών καθορίζεται
Διαβάστε περισσότεραΒ. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript
Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β.1 Τύποι Δεδομένων Όλες οι γλώσσες προγραμματισμού (πρέπει να) υποστηρίζουν πέντε (5) πρωταρχικούς τύπους δεδομένων: char (character) int (integer)
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 3: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΗΥ101: Εισαγωγή στην Πληροφορική
Δρ. Χρήστος Ηλιούδης Τι είναι η ; Η διαδικασία του προγραμματισμού είναι μία πολύπλοκη διαδικασία που συχνά οδηγεί σε λάθη (πραγματοποιείται από ανθρώπους!!!). Τα προγραμματιστικά λάθη λέγονται bugs και
Διαβάστε περισσότεραΑνάλυση Αλγορίθµων. Σύντοµη επανάληψη (ΕΠΛ 035).
Ανάλυση Αλγορίθµων Σύντοµη επανάληψη (ΕΠΛ 035). Περίληψη Ανάλυση αλγορίθµων Ο, Θ, Ω Ανάλυση µη αναδροµικών αλγόριθµων Ανάλυση αναδροµικών αλγόριθµων Εµπειρική Ανάλυση Visualization Απόδοση Αλγορίθµων Απόδοση
Διαβάστε περισσότεραΔείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8
Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 1000 1001 1002 1003 1004 1005 12 9.8 9976 3 1010 26 1006 1007 1008 1009 1010 1011 16 125 1299 a 13 1298 Δήλωση Δήλωση Τύπος
Διαβάστε περισσότεραΔιάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής
Διάλεξη 1 Πράξεις Τελεστές Έλεγχος Ροής Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 Αριθμητικοί Τελεστές- Αριθμητικές Πράξεις 2 Internal use only Αριθμητικοί
Διαβάστε περισσότεραfor for for for( . */
Εισαγωγή Στον Προγραµµατισµό «C» Βρόχοι Επανάληψης Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Ο βρόχος for Η εντολή for χρησιµοποιείται
Διαβάστε περισσότεραΜΥΥ105: Εισαγωγή στον Προγραμματισμό. Αναζήτηση και Ταξινόμηση Χειμερινό Εξάμηνο 2016
ΜΥΥ105: Εισαγωγή στον Προγραμματισμό Αναζήτηση και Ταξινόμηση Χειμερινό Εξάμηνο 2016 Αναζήτηση και Ταξινόμηση Βασικές λειτουργίες σε προγράμματα Αναζήτηση (searching): Βρες ένα ζητούμενο στοιχείο σε μια
Διαβάστε περισσότεραΔιορθώσεις σελ
Διορθώσεις σελ. 73-74 # Τώρα ο άνθρωπος σκέφτεται έναν αριθμό από 1 έως 1000 Ν = 1000 print Σκέψου έναν αριθμό από το 1 έως το, Ν guesses = 0 found = False first = 1 last = N while not found and guesses
Διαβάστε περισσότεραΒασικές Ασκήσεις από τα Εργαστήρια της PYTHON (εβδομάδα 6 & 7) Πέμπτη ΠΚ2 11:15, 13:15, 15:15, 17:15 και 19:15
Βασικές Ασκήσεις από τα Εργαστήρια της PYTHON (εβδομάδα 6 & 7) Πέμπτη ΠΚ2 11:15, 13:15, 15:15, 17:15 και 19:15 Στο προηγούμενο εργαστήριο είδαμε πως δηλώνουμε και πως καλούμε συναρτήσεις στην Python. Οι
Διαβάστε περισσότεραΘέματα Προγραμματισμού Η/Υ
Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 1: Εισαγωγή Θεματική Ενότητα: Εισαγωγή στον Προγραμματισμό ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική
Διαβάστε περισσότεραSheet2. - Άσκηση 1 οκ - Άσκηση 2 οκ. Σκέψου πώς θα µπορούσες να την
AEM ΒΑΘΜΟΣ ΣΧΟΛΙΑ 1413. Σκέψου πώς θα µπορούσες να την 1417 κάνεις χωρίς χρήση της βοηθητικής µεταβλητής curr - Πρώτη άσκηση οκ - Στη δεύτερη άσκηση το free(head) δεν έπρεπε να είναι στο else, αλλά να
Διαβάστε περισσότεραΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,
Εφαρµογές στοιβών Στην ενότητα αυτή θα µελετηθεί η χρήση στοιβών στις εξής εφαρµογές: Αναδροµικές συναρτήσεις Ισοζυγισµός Παρενθέσεων Αντίστροφος Πολωνικός Συµβολισµός ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι
Διαβάστε περισσότερα11/23/2014. Στόχοι. Λογισμικό Υπολογιστή
ονάδα Δικτύων και Επικοινωνιών ΗΥ Τομέας Πληροφορικής, αθηματικών και Στατιστικής ΓΕΩΠΟΙΚΟ ΠΑΕΠΙΣΤΗΙΟ ΑΘΗΩ Εισαγωγή στην Επιστήμη των ΗΥ άθημα-4 url: http://openeclass.aua.gr (AOA0) Λογισμικό Υπολογιστή
Διαβάστε περισσότεραΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή
ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή Στο εργαστήριο αυτό θα μάθουμε για τη χρήση συναρτήσεων με σκοπό την κατασκευή αυτόνομων τμημάτων προγραμμάτων που υλοποιούν μία συγκεκριμένη διαδικασία, τα οποία
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ 1. Ποιες από τις παρακάτω εντολές είναι σωστές; α) if A + B
Διαβάστε περισσότεραΕισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής
Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής email: dzavanti@cs.uoi.gr Περιεχόμενα Ορισμοί Λογικοί τελεστές f0r loops while loops if else
Διαβάστε περισσότεραΟρισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:
Συµβολισµός Ω( ) Τάξη των Συναρτήσεων () Εκτίµηση Πολυπλοκότητας Αλγορίθµων Ορέστης Τελέλης telelis@unipi.gr Ορισµός. Εστω συναρτήσεις: f : N R και g : N R η f(n) είναι Ω( g(n) ) αν υπάρχουν σταθερές C
Διαβάστε περισσότεραΗ βασική λειτουργία σε όλες αυτές τις συναρτήσεις είναι η εκτύπωση γραµµών.
draw_tric(4, $ ); $$$$ $$$ $$ $ draw_trid(5, a ); aaaaa aaaa aaa aa a Άρθρωση Η βασική λειτουργία σε όλες αυτές τις συναρτήσεις είναι η εκτύπωση γραµµών. /* Συνάρτηση για την εκτύπωση γραµµής δεδοµένου
Διαβάστε περισσότεραΠ. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7
Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ❶ Προετοιµασία για το 1 ο Εργαστήριο
Διαβάστε περισσότερα2 Αποδείξεις. 2.1 Εξαντλητική µέθοδος. Εκδοση 2005/03/22. Υπάρχουν πολλών ειδών αποδείξεις. Εδώ ϑα δούµε τις πιο κοινές:
2 Αποδείξεις Υπάρχουν πολλών ειδών αποδείξεις. Εδώ ϑα δούµε τις πιο κοινές: Εκδοση 2005/03/22 Εξαντλητική µέθοδος ή µέθοδος επισκόπησης. Οταν το πρόβληµα έχει πεπερασµένες αριθµό περιπτώσεων τις εξετάζουµε
Διαβάστε περισσότεραΟρθότητα Χωρική αποδοτικότητα. Βελτιστότητα. Θεωρητική ανάλυση Εμπειρική ανάλυση. Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1
Ανάλυση Αλγορίθμων Θέματα Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα Προσεγγίσεις: Θεωρητική ανάλυση Εμπειρική ανάλυση Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Θεωρητική
Διαβάστε περισσότεραΠ. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7
Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη Έννοια της
Διαβάστε περισσότεραΔυναμικός προγραμματισμός για δέντρα
ΘΕ5 Ιδιότητες Δέντρων και Αναδρομή για Δέντρα Δυναμικός προγραμματισμός για δέντρα Έστω ότι, για k=1,..., m, το γράφημα Γ k = (V k, E k ) είναι δέντρο. Έστω w V 1... V m, z k V k, για k=1,..., m. Συμβολίζουμε
Διαβάστε περισσότεραΕΠΛ 231 Δομές Δεδομένων και Αλγόριθμοι 4-1
Εφαρμογές στοιβών Στην ενότητα αυτή θα μελετηθεί η χρήση στοιβών στις εξής εφαρμογές: Αναδρομικές συναρτήσεις Ισοζυγισμός Παρενθέσεων Αντίστροφος Πολωνικός Συμβολισμός ΕΠΛ 231 Δομές Δεδομένων και Αλγόριθμοι
Διαβάστε περισσότεραΜια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L. να αναγνωρίζει (ηµιαποφασίζει) µια γλώσσα L. 1. Η TM «εκτελεί» τον απαριθµητή, E.
Οι γλώσσες των Μηχανών Turing Αποφασισιµότητα / Αναγνωρισιµότητα Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L Αποδέχεται όταν (η είσοδος στην TM) w L. Ορέστης Τελέλης telelis@unipi.gr Τµήµα
Διαβάστε περισσότεραΠ. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7
Έβδοµη ιάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
Διαβάστε περισσότεραΠ. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7
Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη Προτάσεις,
Διαβάστε περισσότεραΑνάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)
Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Οργάνωση Προγράµµατος Header Files Μετάφραση και σύνδεση αρχείων προγράµµατος ΕΠΛ 132 Αρχές Προγραµµατισµού
Διαβάστε περισσότεραΑ. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Β Περιόδου 2015 (8/9/2015) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................
Διαβάστε περισσότεραΓραφικά υπολογιστών Εργαστήριο 1 Εισαγωγή στην Python
Γραφικά υπολογιστών Εργαστήριο 1 Εισαγωγή στην Python Σκοπός της 1ης άσκησης είναι η εξοικείωση με τη γλώσσα προγραμματισμού Python, την οποία και θα χρησιμοποιήσουμε και στις υπόλοιπες εργαστηριακές ασκήσεις.
Διαβάστε περισσότεραΕνότητα 1: Εισαγωγή Ασκήσεις και Λύσεις
Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις Άσκηση 1 Αποδείξτε τη µεταβατική και τη συµµετρική ιδιότητα του Θ. Λύση Μεταβατική Ιδιότητα (ορισµός): Αν f(n) = Θ(g(n)) και g(n) = Θ(h(n)) τότε f(n)=θ(h(n)). Για
Διαβάστε περισσότεραΘέματα Προγραμματισμού Η/Υ
Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 8: Θεματική Ενότητα: Συναρτήσεις ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική Ενότητα 8 Συναρτήσεις Πληροφορική
Διαβάστε περισσότεραΑνάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Συναρτήσεις της C Τα Λοιπά Στοίβα και μηχανισμός κλήσης Αναδρομικές συναρτήσεις Στατικές μεταβλητές Άλλα θέματα Μηχανισμός
Διαβάστε περισσότεραΆσκηση 1. Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του Z στα παρακάτω κομμάτια κώδικα FORTRAN:
Άσκηση 1 Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του J στα παρακάτω κομμάτια κώδικα FORTRAN: INTEGER J J = 5 J = J + 1 J = J + 1 INTEGER X, Y, J X = 2 Y =
Διαβάστε περισσότεραΕισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 3-4: Προγραμματισμός MIPS. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής
Γιώργος Δημητρίου Μάθημα 3-4: Προγραμματισμός MIPS Προγραμματισμός σε Συμβολική Γλώσσα Η συμβολική γλώσσα: δεν έχει τύπους, δεν έχει δηλώσεις μεταβλητών, δεν έχει δομές ελέγχου, δεν έχει εντολές βρόχων,
Διαβάστε περισσότεραΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2 Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Εµπειρική ανάλυση αλγορίθµων Μαθηµατική ανάλυση αλγορίθµων Αύξηση συναρτήσεων Συµβολισµός µεγάλου όµικρον Παραδείγµατα
Διαβάστε περισσότεραΠρογραµµατισµός στην Basic
Προγραµµατισµός στην Basic 1. εντολή εισόδου Χρησιµοποιείται η εντολή INPUT, η οποία µπορεί να συνταχθεί : α. INPUT X, αν το δεδοµένο που ζητάει είναι αριθµητικό ή β. INPUT X$, αν το δεδοµένο που ζητάει
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ενδεικτικές Απαντήσεις Εξετάσεων Α' Περιόδου Θέµα 1. (α') 2 - ii 3 - iii 4 - iv
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ενδεικτικές Απαντήσεις Εξετάσεων Α' Περιόδου 2011 Θέµα 1 (α') 1 - i 2 - ii 3 - iii 4 - iv 5 - v 6 - vi 7 - vii 8 - viii 9 - ix 10 - x Το αποτέλεσµα είναι η αντιστοιχία των
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι
ΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι 5.1 Η έννοια του αλγορίθµου 5.2 Αναπαράσταση αλγορίθµων 5.3 Επινόηση αλγορίθµων 5.4 Δοµές επανάληψης 5.5 Αναδροµικές δοµές 1 Αλγόριθµος: Ορισµός Ένας αλγόριθµος είναι ένα διατεταγµένο
Διαβάστε περισσότεραΑναδρομή. ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 6. Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 6 Αναδρομή Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Υπολογισμός Παραγοντικού n! n! = 1*2..(n-1)*n = if n
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 9: Αναδρομή
ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 9: Αναδρομή Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών Αναδροµή 24 Αναδροµή Πληροφορική Ι Μ. ρακόπουλος 24 Αναδροµικές µέθοδοι Μια µέθοδος καλεί τον εαυτό της
Διαβάστε περισσότεραΑλγόριθµοι Τύπου Μείωσης Προβλήµατος
Αλγόριθµοι Τύπου Μείωσης Προβλήµατος Περίληψη Αλγόριθµοι Τύπου Μείωσης Προβλήµατος ( Decrease and Conquer ) Μείωση κατά µια σταθερά (decrease by a constant) Μείωση κατά ένα ποσοστό (decrease by a constant
Διαβάστε περισσότεραΣΤΗΛΗ Β ΑΠΟΤΕΛΕΣΜΑ 1. float(10) α pow(2,3) β abs(-10) γ int(5.6) δ. 10 ε. 5.6 Μονάδες 8 ΣΤΗΛΗ Α ΣΥΝΑΡΤΗΣΗ
ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ KAI ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ ΠΕΜΠΤΗ 26 ΣΕΠΤΕΜΒΡΙΟΥ 2019 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙ ΩΝ: ΕΠΤΑ (7)
Διαβάστε περισσότεραΣχεδίαση και Ανάλυση Αλγορίθμων
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4.0 Επιλογή Αλγόριθμοι Επιλογής Select και Quick-Select Σταύρος Δ. Νικολόπουλος 2016-17 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros
Διαβάστε περισσότεραΥπολογισμός - Εντολές Ελέγχου
Προγραμματισμός Η/Υ Ι Υπολογισμός - Εντολές Ελέγχου ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα συνεχίσουμε τη συζήτησή μας για τα βασικά στοιχεία
Διαβάστε περισσότεραΟρισμός Συναρτήσεων στην ΜL
Ορισμός Συναρτήσεων στην ΜL Ονόματα και δεσμεύσεις: ησυνάρτησηval Τα ονόματα σταθερών δεσμεύονται με τιμές σταθερών μέσω ορισμών της συνάρτησης val. val codeof0 = ord 0 val codeof9 = codeof0 + 9 Τα ονόματα
Διαβάστε περισσότεραΕυφυής Προγραμματισμός
Ευφυής Προγραμματισμός Ιωάννης Χατζηλυγερούδης Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Περιεχόμενα ενότητας Συναρτήσεις-Δομές Ελέγχου : 1. Συναρτήσεις Χρήστη 2. Έλεγχος Ροής Προγράμματος 3.
Διαβάστε περισσότεραΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β
ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β 1. (10 μον.) Απαντήστε σωστό ή λάθος στις παρακάτω ερωτήσεις (αʹ) _2togo είναι έγκυρο όνομα μεταβλητής (βʹ) Αν p είναι δείκτης στο πρώτο στοιχείο
Διαβάστε περισσότεραΠρογραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 17: Λύση Προβλημάτων με Αναδρομή Οι πύργοι του Hanoi Δίνεται ένα χώρος με τρεις θέσεις αποθήκευσης. Δίνεται μια στοίβα από Ν πλάκες σε φθίνον μέγεθος, σε μια από τις τρεις
Διαβάστε περισσότεραΑριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον
Τμήμα Μηχανικών Πληροφορικής Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Οκτώβριος 2014 Δρ. Δημήτρης Βαρσάμης Οκτώβριος 2014 1 / 42 Αριθμητικές Μέθοδοι
Διαβάστε περισσότεραΗ εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..
Επιλογή - Επανάληψη Η εντολή if-else Ο τελεστής παράστασης συνθήκης H εντολή switch Η εντολές for και while Η εντολή do-while Η εντολές break - continue - goto Μαθηματικές συναρτήσεις Λέξεις κλειδιά στη
Διαβάστε περισσότεραΚεφάλαιο 5ο: Εντολές Επανάληψης
Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 5ο: Εντολές Επανάληψης Η διαδικασία της επανάληψης είναι ιδιαίτερη συχνή, αφού πλήθος προβληµάτων µπορούν να επιλυθούν µε κατάλληλες
Διαβάστε περισσότεραΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)
ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ ΠΑΡΑΣΚΕΥΗ 22 ΣΕΠΤΕΜΒΡΙΟΥ 2017 ΘΕΜΑ Α ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ:
Διαβάστε περισσότεραΕισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python
Εισαγωγή στην Επιστήμη Υπολογιστών Εισαγωγή στην Python Β Μέρος Δομή Ελέγχου if-elif-else Επαναληπτική Δομή Ελέγχου while Επαναληπτική Δομή Ελέγχου for Αλληλεπίδραση χρήστη-προγράμματος Συναρτήσεις Η δομή
Διαβάστε περισσότεραΔιάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ
Διάλεξη 2 Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 2 Internal
Διαβάστε περισσότεραΔομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΚεφάλαιο 4. Δυναµικός Προγραµµατισµός (Dynamic Programming) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.
Κεφάλαιο 4 Δυναµικός Προγραµµατισµός (Dynamic Programming) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 Τεχνικές Σχεδίασης Αλγορίθµων Απληστία. Χτίζουµε µια λύση σταδιακά, βελτιστοποιώντας
Διαβάστε περισσότεραυναµικές οµές εδοµένων (συν.) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα:
υναµικές οµές εδοµένων (συν.) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ταξινοµηµένες Λίστες µε δυναµική δέσµευση µνήµης Αναδροµκές συναρτήσεις ΕΠΛ 12 Αρχές Προγραµµατισµού ΙΙ 1 Λίστες
Διαβάστε περισσότεραprint( x is positive ) Στο διερμηνευτή Python, προσοχή στη στοίχιση, διότι γίνεται από το χρήστη:
37 ΛΑΜΒΑΝΟΝΤΑΣ ΑΠΟΦΑΣΕΙΣ 1. Εκτέλεση υπό συνθήκη if x >0: print('x is positive') x > = 0 print( x is positive ) Σχήμα: Η λογική του if then Στο διερμηνευτή Python, προσοχή στη στοίχιση, διότι γίνεται από
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 4. Συναρτήσεις και εκτέλεση υπό συνθήκη. 4.1 Εισαγωγή
ΚΕΦΑΛΑΙΟ 4 Συναρτήσεις και εκτέλεση υπό συνθήκη Σύνοψη Στο κεφάλαιο αυτό εισάγουμε την έννοια της συνάρτησης και της εκτέλεσης υπό συνθήκη. Προαπαιτούμενη γνώση Κεφάλαια 1-3 του παρόντος συγγράμματος.
Διαβάστε περισσότεραΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής
ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράµµατα «γράφονται» χρησιµοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαµβάνει
Διαβάστε περισσότεραΠρογραµµατισµός Ι (ΗΥ120)
Προγραµµατισµός Ι (ΗΥ120) Διάλεξη 1: Εισαγωγή ΑΝΑΚΟΙΝΩΣΗ 2 Το αυριανό µάθηµα θα πραγµατοποιηθεί στο αµφιθέατρο Σαράτση Ποιος είµαι εγώ! 3 Ναύπλιο, 4/1976-9/1993 Πάτρα, 9/1993-6/2004 Williamsburg, VA, USA,
Διαβάστε περισσότεραΕπαγωγή και αναδρομή για άκυκλα συνεκτικά γραφήματα
ΘΕ4 Αναδρομή και Επαγωγή για Γραφήματα Επαγωγή και αναδρομή για άκυκλα συνεκτικά γραφήματα Επαγωγή για άκυκλα συνεκτικά γραφήματα (με αφαίρεση κορυφής) Η αρχή της επαγωγής, με αφαίρεση κορυφής, για δεδομένη
Διαβάστε περισσότεραΔιάλεξη 5η: Εντολές Επανάληψης
Διάλεξη 5η: Εντολές Επανάληψης Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Εντολές Επανάληψης CS100, 2015-2016
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 7: Διαχείριση Μνήμης,Δυναμικές Δομές Δεδομένων, Αναδρομή Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Δυναμικές Δομές Δεδομένων Γενικά - Δυναμική Δέσμευση/Αποδέσμευση
Διαβάστε περισσότεραπου θα δώσει αποτέλεσµα 48, λόγω της αριστερής προσεταιριστικότητας των τελεστών / και *, ενώ η επιθυµητή αντικατάσταση θα ήταν η
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ενδεικτικές Απαντήσεις Εξετάσεων Α' Περιόδου 2013 Θέµα 1 (α') Η απάντηση είναι λάθος. Αν χρησιµοποιήσουµε την µακροεντολή, για παράδειγµα, στην έκφραση 24/CUBE(2) η έκφραση
Διαβάστε περισσότεραΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)
1 ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004) ιάλεξη 1 1.1 ΕΙΣΑΓΩΓΗ ΣΤΗ FORTRAN 77 Ένα πρόγραµµα σε οποιαδήποτε γλώσσα προγραµµατισµού δεν τίποτα άλλο από µια σειρά εντολών που πρέπει
Διαβάστε περισσότεραlab14grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ
ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 00497 lab14grades - Σωστός έλεγχος του argc για όλες τις περιπτώσεις. - Θα έπρεπε να καλέσεις τη συνάρτηση strlen_r και στην περίπτωση του κενού string, strlen_r("\0"). - Σωστή χρήση
Διαβάστε περισσότεραΟι εντολές ελέγχου της ροής ενός προγράμματος.
Κεφάλαιο ΙΙI: Οι εντολές ελέγχου της ροής ενός προγράμματος 31 Εντολές ελέγχου της ροής Στο παρόν κεφάλαιο ασχολούμαστε με την σύνταξη των εντολών της C οι οποίες εισάγουν λογική και ελέγχουν την ροή εκτέλεσης
Διαβάστε περισσότεραΑλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1
Αλγόριθμοι Δυναμικός Προγραμματισμός http://delab.csd.auth.gr/courses/algorithms/ Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Δυναμικός προγραμματισμός Ο Δυναμικός Προγραμματισμός προτάθηκε από τον
Διαβάστε περισσότεραΔομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Δομές Δεδομένων
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python
ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής
Διαβάστε περισσότεραΠληρουορική Γ Γσμμασίοσ
Πληρουορική Γ Γσμμασίοσ Προγραμματισμός και Αλγόριθμοι Από το και τημ Χελώμα στημ Ευριπίδης Βραχνός http://evripides.mysch.gr/ 2014 2015 1 Προγραμματισμός Ζάννειο Πρότυπο Πειραματικό Γυμνάσιο Πειραιά Ενότητα:
Διαβάστε περισσότεραΔυναµικός Προγραµµατισµός (ΔΠ)
Δυναµικός Προγραµµατισµός (ΔΠ) Περίληψη Δυναµικός Προγραµµατισµός Αρχή του Βέλτιστου Παραδείγµατα Δυναµικός Προγραµµατισµός ΔΠ (Dynamic Programming DP) Μέθοδος σχεδιασµού αλγορίθµων Είναι µια γενική µεθοδολογία
Διαβάστε περισσότεραΣχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1
Σχεδίαση Αλγορίθμων Δυναμικός Προγραμματισμός http://delab.csd.auth.gr/~gounaris/courses/ad Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Δυναμικός προγραμματισμός Ο Δυναμικός Προγραμματισμός
Διαβάστε περισσότερα