Κεφάλαιο 4: Μεταβλητές, Εκφράσεις, Εντολές. Γιάννης Γαροφαλάκης ΤΜΗΥΠ - Πανεπιστήµιο Πατρών

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

Download "Κεφάλαιο 4: Μεταβλητές, Εκφράσεις, Εντολές. Γιάννης Γαροφαλάκης ΤΜΗΥΠ - Πανεπιστήµιο Πατρών"

Transcript

1 Κεφάλαιο 4: Μεταβλητές, Εκφράσεις, Εντολές Αρχές Γλωσσών Προγραµµατισµού και Μεταφραστών

2 Μεταβλητές (1) Μεταβλητή: Αφαιρετική αναπαράσταση διεύθυνσης µνήµης, ή συλλογής διευθύνσεων µνήµης του Η/Υ. Αναγνωριστικόή Όνοµα (id): Συνδυασµός από αλφαριθµητικούς χαρακτήρες. Είναι ένα µόνο από τα συστατικά µιας µεταβλητής. Χ = 2.5; «Χ είναι το όνοµα (id) µιας θέσης (ή θέσεων) µνήµης που περιέχει(-ουν) πλέον τον αριθµό 2.5» Και η πρόταση αυτή δεν είναι πλήρης Μία µεταβλητή Μ αποτελείται από 4 στοιχεία:

3 Μεταβλητές (2) Όνοµα ιεύθυνση(-σεις) µνήµης (αναφορά) Μ Τιµή Ιδιότητες Τύπος τιµών Χρόνος ζωής Εύρος Λειτουργίες Εµβέλεια Αναφορά (µνήµη) Όνοµα Ιδιότητες Τιµή

4 Μεταβλητές (3) Η σχέση ονόµατος διεύθυνσηςδεν είναι αµφιµονοσήµαντη. Α. Ίδιο όνοµα ιαφορετικές διευθύνσεις Σε ένα πρόγραµµα, σε κάθε µία από δύο συναρτήσεις f 1, f 2, µπορεί να ορίζεται µία µεταβλητή (τοπική) µε το όνοµα Χ. Όταν µία συνάρτηση fκαλείται αναδροµικά, κάθε κλήση της fορίζει διαφορετικές θέσεις µνήµης (και άρα µεταβλητές), για τα ονόµατα που είναι τοπικές µεταβλητές της f. Αν η συνάρτηση fµε τοπική µεταβλητή την Υ, κληθεί από τις συναρτήσεις f 1, f 2, η Υθα έχει συνδεθεί µε διαφορετικές µνήµες στις f 1, f 2

5 Μεταβλητές (4) Β. ιαφορετικά ονόµατα Ίδια διεύθυνση Ψευδωνυµία (κακό για αναγνωσιµότητα ) Μπορεί να δηµιουργηθεί µε διάφορους τρόπους: Άµεσα Στη FORTRAN µε την εντολή EQUIVALENCE Στις C, C++ µε union variables Έµµεσα Με την κλήση υποπρογραµµάτων (by reference) Με τη χρήση pointers

6 Μεταβλητές (5) Ψευδωνυµία X Y

7 Μεταβλητές (6) Μία µεταβλητή Χέχει 2 χρήσεις. Στην εντολή ανάθεσης: Χ = Χ + 1 l-value r-value l-value (left value): Αναφορά στη θέση µνήµης r-value (right value): Αποαναφοροποίηση για να πάρουµε την τιµή Ουσιαστικά ο τελεστής =της εντολής ανάθεσης, είναι ένας τελεστής που δέχεται 2 ορίσµατα: τιµή (r-value) και αναφορά (l-value)

8 Μεταβλητές (7) Αποαναφοροποίηση (dereferencing): Πρόσβαση στη θέση µνήµης, και λήψη της υπάρχουσας τιµής. Στις περισσότερες γλώσσες, ο r-valueρόλος µιας µεταβλητής, συνάγεται εµµέσωςαπό τη θέση της µεταβλητής, δηλαδή όταν βρίσκεται δεξιά από τον τελεστή ανάθεσης = Υπάρχουν γλώσσες, στις οποίες υπάρχει ρητή δήλωση του r-value ρόλου. Π.χ. στην BLISS: X :=.X + 1

9 έσµευση (1) έσµευση (Binding): Συσχέτιση δύο οντοτήτων. Π.χ. ιδιότητας µε µεταβλητή, operation µε σύµβολο. Χρόνος έσµευσης (Binding Time): Ο χρόνος που γίνεται η δέσµευση. Έχουµε τους εξής Χρόνους έσµευσης: 1) Χρόνος Σχεδιασµού της Γλώσσας 2) Χρόνος Υλοποίησης της Γλώσσας 3) Χρόνος Γραφής του Προγράµµατος 4) Χρόνος Μετάφρασης του Προγράµµατος 5) Χρόνος Σύνδεσης του Προγράµµατος 6) Χρόνος Φόρτωσης του Προγράµµατος 7) Χρόνος Εκτέλεσης του Προγράµµατος

10 έσµευση (2) ιάφορες οντότητες δεσµεύονται σε διάφορους χρόνους: Ένα σύµβολο (π.χ. *) µε µία operation, στο χρόνο (1) Ένας Τύπος εδοµένων (π.χ. int)µε εύρος τιµών, στο (2) Ένα όνοµα (π.χ. A) µε µία έννοια, στο (3) Μία µεταβλητή µε ένα Τύπο εδοµένων, στο (4) Μία Συνάρτηση βιβλιοθήκης µε τον κώδικα χρήστη, στο (5) Μία µεταβλητή µε θέση(-εις) µνήµης, στο (6) Μία µεταβλητήµε τιµή, στο (7)

11 έσµευση (3) Παράδειγµα: Στον κώδικα int count; count = count + 5; υπάρχουν (µεταξύ άλλων) οι δεσµεύσεις: Το σύνολο των πιθανών Τύπων εδοµένων του count, (1) Ο Τύπος εδοµένων του countστο πρόγραµµά µας, (4) Το σύνολο των πιθανών τιµών του count, (2) Η τιµή του countστο πρόγραµµά µας, (7) Το σύνολο των πιθανών εννοιών του +, (1) Η έννοια του +στο πρόγραµµά µας, (4) Η εσωτερική αναπαράσταση του 5, (2)

12 έσµευση (4) ιάρκεια Ζωής της δέσµευσης: Η χρονική περίοδος µεταξύ της δηµιουργίας και της καταστροφής µιας δέσµευσης (π.χ. ενός ονόµατος και µιας µεταβλητής) ιάρκεια Ζωής αντικειµένου: Η χρονική περίοδος µεταξύ της δηµιουργίας και της καταστροφής του αντικειµένου (π.χ. µεταβλητής) εν συµπίπτουν απαραίτητα: Ένα αντικείµενο µπορεί να έχει µεγαλύτερη διάρκεια από αυτήν της δέσµευσης. Π.χ. όταν µια µεταβλητή µεταβιβάζεται µε αναφορά σε µια υπορουτίνα, η δέσµευση του ονόµατος της παραµέτρου και της µεταβλητής έχει µικρότερη διάρκεια από αυτήν της µεταβλητής. Μία δέσµευση µπορεί να έχει µεγαλύτερη διάρκεια από αυτήν του αντικειµένου. Π.χ. αν ένα αντικείµενο που έχει δηµιουργηθεί µε new στην C++, µεταβιβαστεί ως παράµετρος µε &και µετά καταστραφεί µε deleteπριν επιστρέψει η υπορουτίνα, έχουµε αιωρούµενη αναφορά (dangling reference).

13 έσµευση (5) Στατική έσµευση: Όταν γίνεται πριν το χρόνο εκτέλεσης του προγράµµατος (6) και δεν αλλάζει κατά τη διάρκεια της εκτέλεσης. υναµική έσµευση: Αλλιώς. Α. έσµευση Μεταβλητής µε Τύπο εδοµένων (Τ ) Στατική έσµευση Με Ρητή (explicit) δήλωση Π.χ. στη C: int A; Με Έµµεση (implicit) δήλωση Π.χ. στη συναρτησιακή γλώσσα ML (Meta Language):

14 έσµευση (6) Οι Τ των εκφράσεων καθορίζονται από τις (τυχούσες) σταθερές: Στην εντολή fun circ(r) = 3.14 * r * r, το circ θεωρείται real Στην εντολή fun times(x) = 10 * x, το times θεωρείται integer Αν δεν συνάγεται ο Τ, συντακτικό λάθος. Π.χστο fun sq(x) = x * x χρειάζεται να γίνει ρητή δήλωση: fun sq(x): int = x * x ή fun sq(x: int) = x * x ή fun sq(x) = (x: int) * x Τώρα, όλες οι γλώσσες (εκτός ML, Perl) έχουν ρητή δήλωση. Perl: $a (βαθµωτός Τ (array Τ ), διαφορετικές µετ/τές. Ορισµένες αρχικές γλώσσες είχαν ένα είδος έµµεσης δήλωσης. Π.χ. στην FORTRANαν υπήρχε idπου δεν είχε δηλωθεί ρητά, συναγόταν έµµεσα ο Τ ως εξής: Αν το όνοµα αρχίζει από I, J, K, L, M, N είναι INTEGER Αλλιώς είναι REAL

15 έσµευση (7) υναµική έσµευση Η µεταβλητή δεσµεύεται µε Τ κάθε φορά που παίρνει τιµή, δηλαδή όταν είναι l-value. εσµεύεται µε τον Τ που έχει η τιµή της µεταβλητής r-value, ή της έκφρασης που είναι δεξιά του = Γλώσσες: APL, SNOBOL ΘΕΤΙΚΑ: Ευελιξία υνατότητα για generic συναρτήσεις ΑΡΝΗΤΙΚΑ: εν υπάρχει δυνατότητα εντοπισµού λαθών στη µετάφραση Μεγάλο κόστος για έλεγχο των Τ κατά την εκτέλεση

16 έσµευση (8) B. έσµευση Μεταβλητής µε ιεύθυνση(-εις) Μνήµης Εκχώρηση (allocation): Η διαδικασία δέσµευσης της µεταβλητής µε /νση Μνήµης από τις διαθέσιµες. Αποδέσµευση (de-allocation): Η διαδικασία αποδέσµευσης και επιστροφής της µνήµης στις διαθέσιµες. ιάρκεια Ζωής: Ο χρόνος κατά τον οποίο η µεταβλητή είναι δεσµευµένη µε διεύθυνση(-εις) µνήµης. ηλαδή: ιάρκεια Ζωής = (Χρόνος Αποδέσµευσης) (Χρόνος Εκχώρησης)

17 έσµευση (9) Με βάση τον τρόπο δέσµευσης και τους χρόνους εκχώρησης και αποδέσµευσης, έχουµε διαφορετικού τύπου µεταβλητές: Static Variables Η εκχώρηση γίνεται πριν την εκτέλεση του προγράµµατος και δεν αλλάζει στη διάρκειά της. Global µεταβλητές. Στις C, C++, Java µε static. Η Pascalόχι. Στις αρχικές FORTRAN (από Ιως και IV), όλες οι µεταβλητές static. Πολλές φορές είναι history sensitive. ΠΛΕΟΝΕΚΤΗΜΑ: Αποδοτικές (µικρό overhead) ΜΕΙΟΝΕΚΤΗΜΑ: Μικρή ευελιξία (όχι αναδροµικότητα)

18 έσµευση (10) Stack Dynamic Variables Η εκχώρηση γίνεται όταν «εκτελείται» η εντολή δήλωσης της µεταβλητής (ο Τ είναι στατικά συνδεδεµένος) Στη Cκαι στη C++ είναι τέτοιες οι µεταβλητές Στην αρχή εκτέλεσης του υποπρογράµµατος γίνεται εκχώρηση της τοπικής µεταβλητής, αποδέσµευση µόλις λήξει η εκτέλεση. Εκχώρηση από την run-time stack µνήµη (οργανωµένη) Εκχώρηση και Αποδέσµευση µε τρόπο Last-In First-Out (LIFO), συνήθως σε συνδυασµό µε κλήση υπ/τος. ΜΕΙΟΝΕΚΤΗΜΑ: εν µπορούν να είναι history sensitive. ΠΛΕΟΝΕΚΤΗΜΑ: Αναδροµή

19 έσµευση (11) Εκχώρηση Αποδέσµευση ΠΑΡΑ ΕΙΓΜΑ: Η run-time stack, αφούτο Mainέχει καλέσει τη συνάρτηση Α, η οποία µε τη σειρά της έχει καλέσει τη συνάρτηση Β Function B Function A Main Program

20 έσµευση (12) Explicit Heap Dynamic Variables Είναι ανώνυµα αντικείµενα των οποίων οι διευθύνσεις εκχωρούνται και αποδεσµεύονται µε εντολές που εκτελούνται κατά την εκτέλεση του προγράµµατος. Χρησιµοποιούν τη heap storage: Ανοργάνωτη συλλογή θέσεων µνήµης µε «απρόβλεπτη» χρήση. Οι µεταβλητές αυτές µπορούν να προσπελασθούν µόνο από pointers ή objects. Εκχώρηση και Αποδέσµευση σε οποιαδήποτε χρονική στιγµή. Στην Javaόλα τα objects είναι explicit heap dynamic variables

21 έσµευση (13) Implicit Heap Dynamic Variables Γίνεται εκχώρηση από την heap storage µόνο όταν η µεταβλητή παίρνει τιµή µε εντολή ανάθεσης (l-value). Μαζί δεσµεύονται µε τη µεταβλητή όλες οι ιδιότητες του Τ της τιµής (δυναµική δέσµευση της µεταβλητής µε Τ ) Ουσιαστικά είναι µόνο ονόµατα που δεσµεύονται µε ότι θέλουµε. APL, ALGOL-68 ΘΕΤΙΚΑ: Ευελιξία υνατότητα για generic συναρτήσεις ΑΡΝΗΤΙΚΑ: Μεγάλο κόστος για συντήρηση των δυναµικών ιδιοτήτων κατά την εκτέλεση

22 Σταθερές (1) Είναι «µεταβλητές» που δεσµεύονται µε τιµή, µόνο όταν δεσµεύονται µε µνήµη. Η τιµή δεν µπορεί να αλλάξει µε εντολή ανάθεσης. C, C++ : const int s = 100; Pascal : const s = 100; Η αρχική Cδεν είχε σταθερές. Όµως ο C preprocessor περιλαµβάνει macro: #define LEN 100 : αντικαθίστανται όλες οι εµφανίσεις του LEN µε το 100 (named literal)

23 Σταθερές (2) Οι σταθερές βοηθούν την αναγνωσιµότητα και την αξιοπιστία του προγράµµατος. Εύκολη αλλαγή µεγέθους arrays και άλλων δοµών. Στην Ada υπάρχει µεγάλη ευελιξία: MAX: constant integer := 2 * WIDTH + 1; (dynamic)

24 Αρχικές Τιµές Μεταβλητών Αρχικοποίηση: έσµευση µεταβλητής µε τιµή, τη στιγµή που δεσµεύεται µε µνήµη (όπως η σταθερά). ιαφορά από σταθερά: Η σταθερά δεν αλλάζει τιµή. FORTRAN: REAL PI, DATA PI / / C: int i = 0; float e = 1.0e-5; Pascal: Όχι Ada: SUM: integer := 0; (Σταθερά: SUM: constant integer := 0; ) ALGOL 68: int first := 10; (Σταθερά: int first = 10; ) Κακή αναγνωσιµότητα

25 Εκφράσεις (1) Βασικός τρόπος προσδιορισµού υπολογισµών σε µια ΓΠ Τρεις κατηγορίες Εκφράσεων: 1. Αριθµητικές 2. Σχεσιακές 3. Λογικές

26 Εκφράσεις (2) 1. Αριθµητικές Εκφράσεις Κατασκευές από: Τελεστές (operators) Τελεστέους (operands) Παρενθέσεις Κλήσεις Συναρτήσεων Π.χ. Α + (Β * C D) SYN(X) Τελεστές: Μοναδιαίοι (unary) π.χ. Χ υαδικοί (binary) π.χ. Χ + Υ Τριαδικοί (ternary) π.χ. Α? Β : C

27 Εκφράσεις (3) Η σειρά υπολογισµών σε µια αριθµητική έκφραση καθορίζεται από τα εξής: Α. Ιεραρχία Τελεστών FORTRAN Pascal C Ada ** * / div mod Postfix ** abs * / + - Prefix * / mod + - Unary - Unary + - * / % Binary + - Binary + -

28 Εκφράσεις (4) B. Associativity (Σειρά υπολογισµών στο ίδιο επίπεδο ιεραρχίας) ΓΕΝΙΚΑ: Από αριστερά προς τα δεξιά Εκτός από την ύψωση σε δύναµη: Α**Β**C FORTRAN: από δεξιά προς αριστερά Ada: δεν υπάρχει κανόνας, χρειάζονται παρενθέσεις

29 Εκφράσεις (5) FORTRAN Pascal C C++ Ada Αριστερά: * / + - εξιά: ** Αριστερά: Όλα Αριστερά: postfix (++ --) * / % binary (+ -) εξιά: prefix (++ --) unary - Αριστερά: * / % binary (+ -) εξιά: unary - Αριστερά: Όλα εκτός ** Χωρίς κανόνα: ** Γ. Παρενθέσεις Αλλάζουν τη σειρά υπολογισµού των Α και Β

30 Εκφράσεις (6) Εκφράσεις υπό συνθήκη Μπορούν να χρησιµοποιηθούν όπως κάθε έκφραση Π.χ. ο τριαδικός τελεστής των C, C++, Java: <έκφραση_1>? <έκφραση_2> : <έκφραση_3> (αν <έκφραση_1> = TRUE, τότε <έκφραση_2>, αλλιώς <έκφραση_3>) µπορεί να χρησιµοποιηθεί και σε εντολή ανάθεσης: if (c == 0) then av = 0 else av = sum/count av = (c==0)? 0 : sum/count

31 Εκφράσεις (7) Παράδειγµα: Μ = (Vg < Va)? Vg : Va B = (M < 5)? M : 0.7 * Vg * Va Ο βαθµός σας στο µάθηµα Vg = Βαθµός γραπτού Va = Βαθµός άσκησης B = (((Vg < Va)? Vg : Va) < 5)? ((Vg < Va)? Vg : Va ) : 0.7 * Vg * Va

32 Εκφράσεις (8) 2. Σχεσιακές Εκφράσεις (Relational Expressions) Αποτελούνται από: Σχεσιακούς Τελεστέους (Αριθµητικές ή Λογικές Εκφράσεις) Σχεσιακούς Τελεστές Η τιµή τους είναι Boolean (εκτός από τη C) Σχεσιακός Τελεστής: Συγκρίνει τις τιµές δύο τελεστέων.

33 Εκφράσεις (9) Σχεσιακοί Τελεστές Λειτουργία Pascal Ada C FORTRAN 77 Ίσο = = ==.EQ. Άνισο <> /=!=.NE. Μεγαλύτερο από > > >.GT. Μικρότερο από < < <.LT. Μεγαλύτερο ή ίσο >= >= >=.GE. Μικρότερο ή ίσο <= <= <=.LE.

34 Εκφράσεις (10) H FORTRANαρχικά χρησιµοποιούσε τα παραπάνω σύµβολα, διότι οι διατρητικές µηχανές δεν είχαν τα σύµβολα < > Από τη FORTRAN 90και µετά, χρησιµοποιεί τα σύµβολα της Pascal, µε ==για το «ίσο» Οι σχεσιακοί τελεστές έχουν χαµηλότερη προτεραιότητα από τους αριθµητικούς: Α + 1 > Β * 2 (Α + 1) > (Β * 2) Σειρά: 2 3 1

35 Εκφράσεις (11) 3. Λογικές Εκφράσεις (Boolean Expressions) Αποτελούνται από: Boolean Τελεστέους, δηλαδή: Boolean Μεταβλητές Boolean Σταθερές (π.χ. TRUE, FALSE) Σχεσιακές Εκφράσεις (έχουν Boolean τιµή) Boolean Τελεστές Η τιµή τους είναι Boolean (εκτός από τη C) Boolean Τελεστής: Εκτελεί Boolean πράξη (AND, OR, NOT) στις τιµές δύο Boolean τελεστέων.

36 Εκφράσεις (12) Ιεραρχία Boolean Τελεστών Pascal Ada C FORTRAN 77 NOT NOT!.NOT. AND AND, OR &&.AND. OR.OR. Οι αριθµητικές εκφράσεις είναι τελεστέοι σε σχεσιακές εκφράσεις, οι σχεσιακές εκφράσεις σε λογικές, και οι λογικές σε σχεσιακές. Συνεπώς χρειαζόµαστε ιεράρχηση όλων των τελεστών και των τριών τύπων εκφράσεων.

37 Εκφράσεις (13) Ιεραρχία όλων των Τελεστών FORTRAN 77 C Pascal **! NOT * / Postfix ++, -- * / div mod AND + - Prefix ++, OR.EQ..NE..GT..LT..LE..GE. Unary - = <> < <= > >=.NOT. * / %.AND. Binary + -.OR. < <= > >= ==!= &&

38 Εκφράσεις (14) Παράδειγµα στη FORTRAN 77: A+B.GT.2*C.AND.K.NE.0 Σειρά: [(A+B).GT.(2*C)].AND.(K.NE.0) Στην Pascal, οι Boolean τελεστές έχουν υψηλότερη προτεραιότητα από τους σχεσιακούς. Έτσι, η έκφραση Α > 5 OR A < 0 είναι απαράδεκτη. Πρέπει να γραφεί: (Α > 5) OR (A < 0)

39 Εκφράσεις (15) Boolean τιµές Στις περισσότερες γλώσσες: TRUE, FALSE Java: Οι booleanτιµές είναι 1 bit (αρκεί). εν συνδέεται µε int Τύπο εδοµένων C++ : Έχει Τύπο εδοµένων bool. Συνδέεται µε int. C : εν έχει Boolean Τύπο εδοµένων. Χρησιµοποιούνται αριθµητικές τιµές: 0 FALSE άλλο TRUE (παράγει το 1 για TRUE) Η έκφραση A > B > 4 είναι νόµιµη στις C, C++ 1 2

40 Εκφράσεις (16) Υπολογισµός Περιορισµένης Έκτασης (Short Circuit Evaluation) Υπολογισµός µιας έκφρασης, χωρίς να χρειάζεται να υπολογιστούν όλοι οι τελεστέοι. Α. Σε αριθµητικές εκφράσεις: (4 * Α) * (Β / 3-1) Τι επίπτωση υπάρχει εδώ; Αν Α = 0, δεν χρειάζεται να υπολογιστεί το (Β / 3-1). ύσκολο να εντοπιστεί Χρησιµοποιείται σπάνια

41 Εκφράσεις (17) Β. Σε λογικές εκφράσεις: (Α >= 0) AND (B < 10) Αν Α < 0, τότε (Α >= 0) = FALSE και δεν χρειάζεται να υπολογιστεί το (B < 10) Πιθανές Παράπλευρες Συνέπειες (Side Effects): (A > B) && (B++/2) Το B θα αλλάζει τιµή (Β++), µόνο όταν Α > Β C, C++, Javaχρησιµοποιούν υπολογισµό περιορισµένης έκτασης

42 Εντολές Ανάθεσης (1) Μηχανισµοί µε τους οποίους ο χρήστης αλλάζει δυναµικά τη σύνδεση µεταβλητών µε τιµές. 1. Απλή Ανάθεση Γενική σύνταξη: <µεταβλητή-στόχος> <τελεστής ανάθεσης> <έκφραση> Οι FORTRAN, BASIC, PL/1, C, C++χρησιµοποιούν ως τελεστή ανάθεσης το = Μπορεί να δηµιουργηθεί σύγχυση αν χρησιµοποιείται και ως σχεσιακός τελεστής (PL/1, BASIC). Π.χ. στην PL/1: A = B = C : Βάζει ως τιµή του Α, την Boolean τιµή της σχεσιακής έκφρασης Β = C

43 Εντολές Ανάθεσης (2) Η ALGOLκαι στη συνέχεια η Pascalχρησιµοποίησαν το := Οι FORTRAN, Pascal, Adaχρησιµοποιούν την εντολή ανάθεσης, µόνο ως κανονική εντολή ανάθεσης. Στις C, C++, Java, χρησιµοποιείται και ως δυαδικός τελεστής: Μπορεί να χρησιµοποιηθεί µέσα σε εκφράσεις. 2. Πολλαπλές µεταβλητές στόχος PL/1: SUM, TOTAL = 0 C, C++ : SUM = COUNT = 0 (πρώτα COUNT = 0, µετά SUM = COUNT)

44 Εντολές Ανάθεσης (3) 3. Μεταβλητές στόχος υπό συνθήκη C, C++ : FLAG? COUNT1 : COUNT2 = 0 ( if FLAG then COUNT1 = 0 else COUNT2 = 0) 4. Περιληπτικές εντολές ανάθεσης Πρώτη η ALGOL 68, ακολούθησε η C: A+=B A = A + B

45 Εντολές Ανάθεσης (4) 5. Μοναδιαίος τελεστής ανάθεσης SUM = ++COUNT COUNT = COUNT + 1 SUM = COUNT SUM = COUNT++ SUM = COUNT COUNT = COUNT + 1 COUNT++ COUNT = COUNT + 1 Όταν εφαρµόζονται δύο µοναδιαίοι τελεστές ανάθεσης στον ίδιο τελεστέο, η σειρά είναι από δεξιά προς αριστερά: -- COUNT++ -- (COUNT++)

46 Εντολές Ανάθεσης (5) 6. Εντολή ανάθεσης ως έκφραση (C, C++, Java) Η εντολή ανάθεσης δηµιουργεί ένα αποτέλεσµα (η τιµή που παίρνει η µεταβλητή στόχος). Συνεπώς, µπορεί να χρησιµοποιηθεί ως έκφραση, ή ως τελεστέος σε µια άλλη έκφραση. while (CH = getchar()!= EOF) { } Σύγκριση νέου χαρακτήρα µε EOF, και το αποτέλεσµα (0 ή 1) δίνεται ως τιµή στο CH. Ο τελεστής ανάθεσης είναι χαµηλότερης προτεραιότητας από σχεσιακούς τελεστές. Αλλιώς: while ((CH = getchar())!= EOF) { } Τώρα, πρώτα θα πάρει τιµή το CH, µετά θα συγκριθεί η τιµή αυτή µε το EOF.

47 Εντολές Ανάθεσης (6) Στη Cείναι αποδεκτές οι δύο παρακάτω εντολές; Τι αποτέλεσµα θα έχουν; 1. if (X == Y) then A = 1 else A = 0; 2. if (X = Y) then A = 1 else A = 0; Αποτέλεσµα: 1. Θα ελεγχθεί η ισότητα των X, Y.Αν Χ = Υ τότε Α=1. 2. Θα ελεγχθεί η τιµή που θα πάρει το X. Αν δεν είναι 0, τότε Α=1. Αν είναι 0, τότε Α=0. Η Javaεπιτρέπει µόνο Boolean εκφράσεις στην εντολή if, οπότε δεν επιτρέπεται η 2.

48 οµές και Εντολές Ελέγχου Ροής Προγράµµατος (1) Ο έλεγχος ροής προγράµµατος µπορεί να γίνει σε τρία διαφορετικά επίπεδα: Α. Μέσα σε µια έκφραση, µε βάση την ιεραρχία των τελεστών και τους κανόνες προτεραιότητας. Β. Μεταξύ εντολών. Γ. Μεταξύ των τµηµάτων του προγράµµατος Το Α (το έχουµε εξετάσει) είναι το «χαµηλότερο» επίπεδο. Τώρα θα δούµε το Β.

49 οµές και Εντολές Ελέγχου Ροής (2) Σε ένα πρόγραµµα, εκτός από: Υπολογισµό εκφράσεων Ανάθεση τιµών χρειάζονται: 1. Τρόποι επιλογής µεταξύ εναλλακτικών επιλογών 2. Τρόποι επαναληπτικής εκτέλεσης οµάδων εντολών Για τα 1, 2 χρειαζόµαστε Εντολές Ελέγχου ΟΜΗ ΕΛΕΓΧΟΥ: Εντολή Ελέγχου + Οµάδα εντολών που ελέγχει

50 οµές και Εντολές Ελέγχου Ροής (3) Έχει αποδειχθεί θεωρητικά, ότι µια Γλώσσα Προγραµµατισµού χρειάζεται µόνο: Είτε εντολή GOTO µε επιλογή Είτε εντολή επιλογής 1 από 2, και λογικά ελεγχόµενη εντολή επανάληψης A. ΣΥΝΘΕΤΕΣ ΕΝΤΟΛΕΣ ALGOL, Pascal: begin.. <εντολή_1> <εντολή_κ> end C, C++, Java: { <εντολή_1>.. <εντολή_κ> }

51 οµές και Εντολές Ελέγχου Ροής (4) B. ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ I. ύο Επιλογών Σχεδιαστικά Θέµατα: Μορφή και τύπος της έκφρασης που ελέγχει την επιλογή. Επιλογή απλής εντολής, ακολουθίας εντολών, ή σύνθετης εντολής; Τρόπος υλοποίησης φωλιασµένων (nested) επιλογών. Αρχικά στη FORTRAN: IF <Boolean expression> <εντολή> Για πολλαπλές εντολές: IF (FLAG.NE. 1) GO TO 20 I = 1 J = 2 20 CONTINUE (Αρνητική λογική, δύσκολη ανάγνωση)

52 οµές και Εντολές Ελέγχου Ροής (5) Στη συνέχεια, η ALGOL: if <Boolean expression> then <εντολή_1> else <εντολή_2> Οι <εντολή_1> και <εντολή_2> µπορούν να είναι και Σύνθετες Εντολές Όλες οι γλώσσες στη συνέχεια, ακολουθούν την ίδια λογική

53 οµές και Εντολές Ελέγχου Ροής (6) II. Πολλαπλών Επιλογών Μπορεί να κατασκευαστεί από 2 επιλογών, αλλά Βοηθάει αναγνωσιµότητα και ευκολία γραφής Αρχικά FORTRAN: IF <αριθµ_έκφραση> L1, L2, L3 αν <0 =0 >0 Η ALGOL-W εισήγαγε την εντολή case C, C++, Java: switch (<έκφραση_int>) { case <const_expres_int_1> : <εντολή_1> ; case <const_expres_int_n> : <εντολή_n> ; break; [default : <εντολή_n+1>] }

54 οµές και Εντολές Ελέγχου Ροής (7) C: switch (index) { case 1: case 3: d+=1; s+=index; break; case 2 : case 4: e+=1; v+=index; break; default: printf( Error ); } Pascal: case index of 1, 3: begin d:=d+1; s:=s+index end; 2, 4: begin e:=e+1; v:=v+index end else writeln( Error ) end

55 οµές και Εντολές Ελέγχου Ροής (8) C. ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ Βασική λειτουργία των γλωσσών προγ/σµού. Κάνουν µια εντολή (ή οµάδα εντολών) να εκτελεστεί 0, 1 ή περισσότερες φορές. Οι Συναρτησιακές γλώσσες χρησιµοποιούν την αναδροµή για επανάληψη. Οι βασικές κατηγορίες εντολών επανάληψης, καθορίστηκαν από τις απαντήσεις των σχεδιαστών σε δύο βασικά ερωτήµατα:

56 οµές και Εντολές Ελέγχου Ροής (9) Πως ελέγχεται η επανάληψη; Λογικά ελεγχόµενη (logically controlled) Με µέτρηση (counter controlled) Που θα εµφανίζεται ο µηχανισµός ελέγχου στο βρόχο; Στην αρχή (pre-test) Στο τέλος (post-test)

57 οµές και Εντολές Ελέγχου Ροής (10) I. Επανάληψη µε Μέτρηση Μεταβλητή Βρόχου (ΜΒ) : Συντηρεί την τιµή µέτρησης. Περιλαµβάνει επίσης: Αρχική Τιµή Τελική Τιµή Παράµετροι βρόχου (ΠΒ) ιαφορά ιαδοχικών Τιµών Σχεδιαστικά Θέµατα: Τύπος και εύρος τιµών της ΜΒ. Η τιµή της ΜΒ στο τέλος της επανάληψης. Μπορεί η ΜΒ και οι ΠΒ να αλλάξουν µέσα στο βρόχο, και πως επηρεάζεται ο έλεγχος; Οι ΠΒ υπολογίζονται 1 φορά, ή σε κάθε επανάληψη;

58 οµές και Εντολές Ελέγχου Ροής (11) C: Γενική µορφή: for (<έκφραση_1> ; <έκφραση_2> ; <έκφραση_3>) <Σώµα_Βρόχου> <έκφραση_1> : Ορίζεται η ΜΒ και η Αρχική τιµή της. Υπολογίζεται 1 φορά στην αρχή. <έκφραση_2> : Έλεγχος βρόχου. Υπολογίζεται πριν από κάθε εκτέλεση του βρόχου. Σχεσιακή έκφραση (αν = 0, τότε τέλος). <έκφραση_3> : ιαφορά διαδοχικών τιµών. Εκτελείται µετά από κάθε εκτέλεση. Αυξάνει τη Μεταβλητή Βρόχου. Π.χ. for (index=0; index<=10; index++) sum = sum + list[index];

59 οµές και Εντολές Ελέγχου Ροής (12) Οι <έκφραση_2>και <έκφραση_3>µπορούν να είναι εντολές, ή πολλαπλές εντολές (χωρίζονται µε,). Όλες οι <εκφράσεις> είναι προαιρετικές. Η default τιµή της <έκφραση_2> είναι TRUE (δηλαδή, 1). Των άλλων, τίποτα. Οι ΜΒ, ΠΒ µπορούν να αλλάξουν µέσα στο σώµα του βρόχου. Μπορεί να γίνει «είσοδος» στο σώµα του βρόχου. Ουσιαστικά είναι λογικά ελεγχόµενη επανάληψη. C++ : Η <έκφραση_2>µπορεί να είναι και Boolean.Η <έκφραση_1>µπορεί να περιλαµβάνει ορισµούς µεταβλητών [ π.χ. for (int count = 0 ; ) ], µε εµβέλεια το σώµα του βρόχου (σεπαλιότερες υλοποιήσεις της C++,η εµβέλεια ήταν ως το τέλος της περιβάλλουσας συνάρτησης). Java :Η <έκφραση_2>είναι µόνο Boolean. Η <έκφραση_1>µπορεί να περιλαµβάνει ορισµούς µεταβλητών, µε εµβέλεια το σώµα του βρόχου.

60 οµές και Εντολές Ελέγχου Ροής (13) II. Λογικά Ελεγχόµενη Επανάληψη Είναι πιο γενικές εντολές επανάληψης από τις εντολές επανάληψης µε µέτρηση. C, C++, Java:Έχουν και pre-testκαι post-testλογικά ελεγχόµενες επαναλήψεις: Pre-test: while (i >= 0) { } Post-test: do { } while (value > 0) ιαφορά: Η post-test θα εκτελεστεί τουλάχιστον 1 φορά. Java: Η έκφραση ελέγχου πρέπει να είναι Boolean. εν έχει goto, οπότε δεν γίνεται «είσοδος» στο σώµα του βρόχου.

61 οµές και Εντολές Ελέγχου Ροής (14) III. Μηχανισµοί Ελέγχου του Χρήστη Ορισµένες γλώσσες, όπως η Ada, έχουν βρόχους χωρίς έλεγχο της επανάληψης µε µέτρηση ή λογικό: loop if sum >= 100 then exit; (ή exit when sum >= 100) end loop Υπό-Συνθήκη (conditional), ή Χωρίς Συνθήκη (unconditional) exit: exit [<label>] [when <συνθήκη>]

62 οµές και Εντολές Ελέγχου Ροής (15) C, C++, Java: Unconditional unlabeled break C, C++, Java: Παράλειψη εντολών που ακολουθούν: continue Java: Unconditional labeled break και continue Παράδειγµα: while (sum < 1000) { getnext(value); if (value < 0) continue; sum += value; (αν value < 0, στην αρχή του βρόχου) break; (δεν εκτελείται ποτέ ) (αν value 0, έξοδος από το βρόχο) }

63 οµές και Εντολές Ελέγχου Ροής (16) D. ΙΑΚΛΑ ΩΣΗ ΧΩΡΙΣ ΣΥΝΘΗΚΗ (unconditional branching) Εντολή goto : Μεγάλη συζήτηση για τη χρησιµότητά της. Η Javaδεν έχει

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΗΥ340 ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΗΥ340 ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2010 Ι ΑΣΚΩΝ: ΑΝΤΩΝΙΟΣ ΣΑΒΒΙ ΗΣ ΒΑΣΙΚΗ ΕΡΓΑΣΙΑ ΦΑΣΗ 2η από 5 Ανάθεση: Πέµπτη 15 Απριλίου 2010, 11:00 (πρωί)

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

Κεφάλαιο 5ο: Εντολές Επανάληψης

Κεφάλαιο 5ο: Εντολές Επανάληψης Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 5ο: Εντολές Επανάληψης Η διαδικασία της επανάληψης είναι ιδιαίτερη συχνή, αφού πλήθος προβληµάτων µπορούν να επιλυθούν µε κατάλληλες

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

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

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

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

Runtime Checking (1/3) Runtime Checking (2/3) Runtime Checking (3/3) ΗΥ 340 Γλώσσες και Μεταφραστές Φροντιστήριο

Runtime Checking (1/3) Runtime Checking (2/3) Runtime Checking (3/3) ΗΥ 340 Γλώσσες και Μεταφραστές Φροντιστήριο ΗΥ 340 Γλώσσες και Μεταφραστές Φροντιστήριο Runtime Checking (1/3) Η γλώσσα alpha είναι μια dynamic typing γλώσσα (ο τύπος μιας μεταβλητής αλλάζει ακολουθώντας τον τύπο της τιμής που κάθε φορά αποθηκεύεται

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

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

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

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

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

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

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Κεφάλαιο 6ο Εισαγωγή στον Προγραµµατισµό Μέρος Πρώτο (6.1, 6.2 και 6.3) Α. Ερωτήσεις Σωστού Λάθους 1. Η γλώσσα µηχανής είναι µία γλώσσα υψηλού επιπέδου.

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΗΥ340 ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΗΥ340 ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2008 ΔΙΔΑΣΚΩΝ: ΑΝΤΩΝΙΟΣ ΣΑΒΒΙΔΗΣ ΒΑΣΙΚΗ ΕΡΓΑΣΙΑ ΦΑΣΗ 2η από 5 Παράδοση: Πέμπτη 10 Απριλίου 2008, 24:00 (μεσάνυχτα)

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

Κεφάλαιο 2.1-2.4: Εισαγωγή στην C. ( ιαλέξεις 3-4) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 2.1-2.4: Εισαγωγή στην C. ( ιαλέξεις 3-4) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 2.1-2.4: Εισαγωγή στην C ( ιαλέξεις 3-4) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Περιεχόµενα Εισαγωγή στην C: Σύνταξη και Σηµασιολογία σχόλια µεταβλητές και σταθερές τύποι δεδοµένων Μετά αυτές τις δυο διαλέξεις

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

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

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

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

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

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

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

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

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

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

Pascal Βασικοί τύποι δεδοµένων

Pascal Βασικοί τύποι δεδοµένων Pasal Βασικοί τύποι δεδοµένων «ΜΗ ΕΝ ΠΟΛΛΟΙΣ ΟΛΙΓΑ ΛΕΓΕ, ΑΛΛ ΕΝ ΟΛΙΓΟΙΣ ΠΟΛΛΑ» Σηµαίνει: "Μη λες πολλά χωρίς ουσία, αλλά λίγα που να αξίζουν πολλά" (Πυθαγόρας) Κουλλάς Χρίστος www.oullas.om oullas 2 Στόχοι

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

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

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

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος 2014-2015 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στην FORTRAN Δρ. Ιωάννης Λυχναρόπουλος 2014-2015 Fortran FORmula TRANslation: (Μία από τις πρώτες γλώσσες τρίτης γενιάς) Εκδόσεις FORTRAN (1957) FORTRAN II (1958) FORTRAN III

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

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

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

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

ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΘΕΜΑ 1 Α. ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΘΕΜΑ 1 Α. 1. Αν το Α έχει την τιµή 10 και το Β την τιµή 20 τότε η έκφραση (Α > 8 ΚΑΙ Β < 20) Ή (Α > 10 Ή Β = 10) είναι αληθής 2. Σε περίπτωση εµφωλευµένων βρόχων, ο εσωτερικός

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

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

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

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

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

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

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

Visual Basic Βασικές Έννοιες

Visual Basic Βασικές Έννοιες Visual Basi Βασικές Έννοιες «Είδα στον ύπνο µου ότι η ζωή είναι χαρά. Ξύπνησα και είδα ότι είναι χρέος. Αγωνίστηκα και είδα ότι τo χρέος είναι χαρά.» Ραµπριτανάθ Ταγκόρ Κουλλάς Χρίστος www.oullas.om oullas

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

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

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

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly Αρης Ευθυμίου Το σημερινό μάθημα! Σύνταξη εντολών! Θέματα σχετικά με τη προσπέλαση, οργάνωση μνήμης διευθύνση για κάθε byte διευθύνσεις λέξεων

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

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

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

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

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

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

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

1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++

1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++ Email: liliadis@fmenr.duth.gr 1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++ Τα προγράµµατα αποτελούνται από εντολές οι οποίες γράφονται σε έναν απλό επεξεργαστή που προσφέρει και το Περιβάλλον της Visual C++. Οι εντολές

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

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ-ΙΟΥΝΙΟΥ 2015

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ-ΙΟΥΝΙΟΥ 2015 ΛΥΚΕΙΟ ΑΡΧ. ΜΑΚΑΡΙΟΥ Γ - ΔΑΣΟΥΠΟΛΗ ΣΧΟΛΙΚΟ ΕΤΟΣ 2014-2015 ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ-ΙΟΥΝΙΟΥ 2015 ΜΑΘΗΜΑ: ΠΛΗΡΟΦΟΡΙΚΗ ΗΜΕΡΟΜΗΝΙΑ: 10 /6 / 2015 ΒΑΘΜΟΣ:... ΤΑΞΗ: Β ΧΡΟΝΟΣ: 2 ώρες ΥΠ. ΚΑΘΗΓΗΤΗ:...

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

7. Βασικά στοιχεία προγραμματισμού

7. Βασικά στοιχεία προγραμματισμού 7. Βασικά στοιχεία προγραμματισμού 146 Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον Εισαγωγή Κάθε γλώσσα προγραμματισμού, όπως αναφέρθηκε, έχει το δικό της λεξιλόγιο και τα προγράμματα της ακολουθούν

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β.

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β. ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β. Καβακλή Χειμερινό Εξάμηνο 2001 1 Σύνολο χαρακτήρων της Pascal Για

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

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

7. Βασικά στοιχεία προγραµµατισµού.

7. Βασικά στοιχεία προγραµµατισµού. 7. Βασικά στοιχεία προγραµµατισµού. ΗΜ01-Θ1Γ Δίνονται οι παρακάτω έννοιες: 1. Λογικός τύπος δεδοµένων 2. Επιλύσιµο 3. Ακέραιος τύπος δεδοµένων 4. Περατότητα 5. Μεταβλητή 6. Ηµιδοµηµένο 7. Πραγµατικός τύπος

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

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ ΜΑΘΗΜΑ : Πληροφορική Κατεύθυνσης ΤΑΞΗ : Β Αρ. σελίδων : 11 Ηµεροµηνία : 10/6/2008 Ώρα Έναρξης : 7:45 π.µ ιάρκεια : 2 ώρες Ονοµατεπώνυµο :...Τµήµα : Αριθµός :...Βαθµός

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 Μάθημα: ΠΛΗΡΟΦΟΡΙΚΗ Ημερομηνία και ώρα εξέτασης: Τρίτη, 6 Ιουνίου 2006 07:30 10:30

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝ/ΚΗΣ ΚΑΤ/ΝΣΗΣ (Πλ. & Υπ.) 2006 ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ 1 ο ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝ/ΚΗΣ ΚΑΤ/ΝΣΗΣ (Πλ. & Υπ.) 2006 ΕΚΦΩΝΗΣΕΙΣ Α. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1-5 και

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

ΦΥΣ 145 - Διαλ.03. Ø Εντολές ελέγχου και λογικής. Ø Εντολές µεταφοράς. Ø Βρόγχοι επανάληψης εντολών. Ø Βρόγχοι επανάληψης µε λογικές σχέσεις

ΦΥΣ 145 - Διαλ.03. Ø Εντολές ελέγχου και λογικής. Ø Εντολές µεταφοράς. Ø Βρόγχοι επανάληψης εντολών. Ø Βρόγχοι επανάληψης µε λογικές σχέσεις ΦΥΣ 145 - Διαλ.03 1 Ø Εντολές ελέγχου και λογικής Ø Εντολές µεταφοράς Ø Βρόγχοι επανάληψης εντολών Ø Βρόγχοι επανάληψης µε λογικές σχέσεις Εντολές Ελέγχου και Λογικής ΦΥΣ 145 - Διαλ.03 2 q Τα assignment

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

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

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

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

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

Μ Ε Ρ Ο Σ Γ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Μ Ε Ρ Ο Σ Γ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Γλώσσες Προγραμματισμού 6.1.1 Γλώσσες μηχανής (1 η γενιά) Η γλώσσα στην οποία ένας ηλεκτρονικός υπολογιστής καταλαβαίνει

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

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΒΑΙΚΕ ΕΝΝΟΙΕ ΑΓΟΡΙΘΜΩΝ ΕΡΩΤΗΕΙ ΑΞΙΟΟΓΗΗ ΕΡΩΤΗΕΙ ΩΤΟΥ ΑΘΟΥ 1. ηµειώστε το γράµµα αν η πρόταση είναι σωστή και το γράµµα αν είναι λάθος. 1. Ο αλγόριθµος πρέπει να τερµατίζεται µετά από εκτέλεση πεπερασµένου

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

Μεταφραστής (Compiler)

Μεταφραστής (Compiler) Windows Καθαρισµος οθονης cls Unix clear Τελεστες ανακατευθυνσης > > >> >> < < Εντολες σε αρχεια * * (wild card) del Α rm Α ιαγραφη type Α cat Α Εµφανιση copy Α Β cp Α Β Αντιγραφη ren Α Β mv Α Β Αλλαγη

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

Βάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr

Βάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Βάσεις δεδομένων (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Ευρετήρια Σκανδάλες PL/SQL Δείκτες/Δρομείς 2 Αποθήκευση δεδομένων Πρωτεύουσα αποθήκευση Κύρια μνήμη (main memory) ή κρυφή μνήμη

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράµµατα πρέπει να πάρουµε κάποια δεδοµένα και να δώσουµε

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C Ιανουάριος 2013 Τι είναι ένα πρόγραμμα; Πρόγραμμα είναι μία σειρά από οδηγίες που δίνουμε στον υπολογιστή προκειμένου αυτός να κάνει κάποια συγκεκριμένη εργασία Πώς

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

Υπερφόρτωση τελεστών (operator(

Υπερφόρτωση τελεστών (operator( Υπερφόρτωση τελεστών (operator( overloading) Η υπερφόρτωση τελεστών είναι ένα από τα πιο ενδιαφέροντα χαρακτηριστικά του αντικειμενοστραφούς προγραμματισμού. Αναφέρεται στην πρόσθετη χρήση των συνηθισμένων

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

Άσκηση 1 (α) Να διατυπώσετε την πιο κάτω λογική έκφραση στη Visual Basic κάνοντας χρήση μεταβλητών:

Άσκηση 1 (α) Να διατυπώσετε την πιο κάτω λογική έκφραση στη Visual Basic κάνοντας χρήση μεταβλητών: Άσκηση 1 (α) Να διατυπώσετε την πιο κάτω λογική έκφραση στη Visual Basic κάνοντας χρήση μεταβλητών: (Μον.2) Η ηλικία είναι μεταξύ των 15 και 18 συμπεριλαμβανομένων (β) Αν Χ= 4, Υ=2, Κ=2 να βρείτε το αποτέλεσμα

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

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

ΕΠΛ031 - Εισαγωγή στον Προγραμματισμό Εισαγωγή στην Fortran ΕΠΛ031 Εισαγωγή στον Προγραμματισμό Νέαρχος Πασπαλλής Επισκέπτης Ακαδημαϊκός (Λέκτορας) nearchos@cs.ucy.ac.cy Γραφείο #B120, Τηλ. ext. 2744 FORTRAN: Ιστορική Αναδρομή 1954 1957, πρώτος

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

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Αριθμός bit δίαυλου δεδομένων (Data Bus) Αριθμός bit δίαυλου διευθύνσεων (Address Bus) Μέγιστη συχνότητα λειτουργίας (Clock Frequency) Τύποι εντολών Αριθμητική

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

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

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

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

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

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

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

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

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

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

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

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

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

ΣΤΟΙΧΕΙΑ ΤΗΣ ΓΛΩΣΣΑΣ C++ Constructors, Destructors, Pointers IO Streams, File Streams

ΣΤΟΙΧΕΙΑ ΤΗΣ ΓΛΩΣΣΑΣ C++ Constructors, Destructors, Pointers IO Streams, File Streams ΣΤΟΙΧΕΙΑ ΤΗΣ ΓΛΩΣΣΑΣ C++ Constructors, Destructors, Pointers IO Streams, File Streams CONSTRUCTORS DESTRUCTORS Η κλάση mystring class mystring private: char s[100]; public: char *GetString(); void SetString(char

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

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

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

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

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

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

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

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Σκοπός του μαθήματος Σκοπός του παρόντος μαθήματος είναι να μάθετε να κάνετε εισαγωγή δεδομένων σε πίνακες και περαιτέρω επεξεργασία

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

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος ΑΛΓΟΡΙΘΜΟΙ Στο σηµείωµα αυτό αρχικά εξηγείται η έννοια αλγόριθµος και παραθέτονται τα σπουδαιότερα κριτήρια που πρέπει να πληρεί κάθε αλγόριθµος. Στη συνέχεια, η σπουδαιότητα των αλγορίθµων συνδυάζεται

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

ΕΝ ΕΙΚΤΙΚΑ ΣΧΕ ΙΑ ΛΥΣΕΩΝ - ΥΠΟ ΕΙΞΕΙΣ

ΕΝ ΕΙΚΤΙΚΑ ΣΧΕ ΙΑ ΛΥΣΕΩΝ - ΥΠΟ ΕΙΞΕΙΣ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΛΗ42 - ΕΙ ΙΚΑ ΘΕΜΑΤΑ ΤΕΧΝΟΛΟΓΙΑΣ ΛΟΓΙΣΜΙΚΟΥ 2η ΓΡΑΠΤΗ ΕΡΓΑΣΙΑ ΑΚΑ ΗΜΑΪΚΟΥ ΕΤΟΥΣ 2009-2010 2 oς Τόµος ΕΝ ΕΙΚΤΙΚΑ ΣΧΕ ΙΑ ΛΥΣΕΩΝ - ΥΠΟ ΕΙΞΕΙΣ ΕΡΓΑΣΙΑ 2 i. υναµική τεχνική επικύρωσης:

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

Αντικείμενα (Objects) στην Java. Αντικείμενα στη Java. Δημιουργία Αντικειμένων. Δηλώσεις Μεταβλητών (2) Ο τελεστής new (1)

Αντικείμενα (Objects) στην Java. Αντικείμενα στη Java. Δημιουργία Αντικειμένων. Δηλώσεις Μεταβλητών (2) Ο τελεστής new (1) Αντικείμενα (Objects) στην Java Αντικείμενα στη Java Παύλος Εφραιμίδης Ένα πρόγραμμα Java κατά την εκτέλεσή του δημιουργεί αντικείμενα τα αντικείμενα αλληλεπιδρούν, στέλνοντας μηνύματα το ένα στο άλλο

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

Παράλληλη Επεξεργασία

Παράλληλη Επεξεργασία Παράλληλη Επεξεργασία Φροντιστήριο: Εισαγωγή στο OpenMP Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed Systems Group Τι είναι το OpenMP Πρότυπο Επέκταση στη C/C++ και τη Fortran

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Μεταγλώτιση, σύνδεση

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Μεταγλώτιση, σύνδεση ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Μεταγλώτιση, σύνδεση Αρης Ευθυμίου Ανακοινώσεις! Βαθμοί: 1ης εργαστηριακής άσκησης Βαθμός 0 χωρίς σχόλια δεν έχω πάρει την άσκηση! ελέγξτε μήπως δεν το στέλνετε στο σωστό

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Triggers, Stored procedures Γιώργος Μαρκοµανώλης Περιεχόµενα Triggers-Ενηµέρωση δεδοµένων άλλων πινάκων... 1 Ασφάλεια...

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

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

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

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

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα Η ΓΛΩΣΣΑ C Η C είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου η οποία αναπτύχθηκε στις αρχές της δεκαετίας του 70 από τον Dennis Ritchie στα Bell Labs. Η σημερινή μορφή της γλώσσας ακολουθεί το πρότυπο

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

Εκτέλεση της εντολής1 και στη συνέχεια εκτέλεση της ΕΝΟΤΗΤΑΣ και της εντολής2 όσο η ΣΥΝΘΗΚΗ είναι αληθής.

Εκτέλεση της εντολής1 και στη συνέχεια εκτέλεση της ΕΝΟΤΗΤΑΣ και της εντολής2 όσο η ΣΥΝΘΗΚΗ είναι αληθής. ΟΙ 3 ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΔΟΜΕΣ ΣΤΗΝ ΓΛΩΣΣΑ C Η εντολή for: Η γενικευμένη σύνταξη της εντολής είναι: for (εντολή1; ; εντολή2) ΕΝΟΤΗΤΑ Η ΕΝΟΤΗΤΑ μπορεί να είναι μία ή περισσότερες εντολές (block) μέσα

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

Διάλεξη 20: Χαμηλού Επιπέδου Προγραμματισμός II

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

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

Quick Basic 1. ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ 1.1. ΣΥΝΟΛΟ ΧΑΡΑΚΤΗΡΩΝ. 1.2. ΣΤΑΘΕΡΕΣ 1.2.1 Αριθμητικές σταθερές. 1.2.2 Αλφαριθμητικές σταθερές.

Quick Basic 1. ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ 1.1. ΣΥΝΟΛΟ ΧΑΡΑΚΤΗΡΩΝ. 1.2. ΣΤΑΘΕΡΕΣ 1.2.1 Αριθμητικές σταθερές. 1.2.2 Αλφαριθμητικές σταθερές. Quick Basic 1. ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ 1.1. ΣΥΝΟΛΟ ΧΑΡΑΚΤΗΡΩΝ Το σύνολο των χαρακτήρων της QuickBASIC (QB) απαρτίζεται από τους αριθμητικούς χαρακτήρες (0 9), τους αλφαβητικούς, κεφαλαία (Α Ζ) και πεζά (a z),

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

Εκτέλεση πράξεων. Ψηφιακά Ηλεκτρονικά και Δυαδική Λογική. Πράξεις με δυαδικούς αριθμούς. Πράξεις με δυαδικούς αριθμούς

Εκτέλεση πράξεων. Ψηφιακά Ηλεκτρονικά και Δυαδική Λογική. Πράξεις με δυαδικούς αριθμούς. Πράξεις με δυαδικούς αριθμούς Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 24-5 Πράξεις με δυαδικούς αριθμούς (λογικές πράξεις) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης ; Ποιες κατηγορίες

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

ΚΕΦΑΛΑΙΑ. 3.1.1 Name, Caption, Backcolor. 3.2.1 Load, Unload, Activate

ΚΕΦΑΛΑΙΑ. 3.1.1 Name, Caption, Backcolor. 3.2.1 Load, Unload, Activate Vellum Object Oriented Programming Visual Basic Certificate Πιστοποιητικό ανάπτυξης εφαρµογών αντικειµενοστραφούς προγραµµατισµού µε την γλώσσα Visual Basic Vellum Global Educational Services Σελίδα 1

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

Κεφάλαιο 2: Μεταφραστές

Κεφάλαιο 2: Μεταφραστές Κεφάλαιο 2: Μεταφραστές Αρχές Γλωσσών και Προγραμματισμού Λειτουργία Μετάφρασης ΑΡΧΙΚΗ ΓΛΩΣΣΑ (Source) L A ΓΛΩΣΣΑ ΥΛΟΠΟΙΗΣΗΣ ΜΕΤΑΦΡΑΣΤΗ (Implementation) L Y ΤΕΛΙΚΗ ΓΛΩΣΣΑ (Target) L T Αρχικό Πρόγραμμα

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

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

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

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

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

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

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

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις.

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις. 1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 5η Ιστοσελίδα του µαθήµατος 2 http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα

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

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

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

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

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

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

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

Οργάνωση Η/Υ. Ο Επεξεργαστής TRN. Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου

Οργάνωση Η/Υ. Ο Επεξεργαστής TRN. Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου Οργάνωση Η/Υ Ο Επεξεργαστής TRN Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου ΚMΕ Κυριότεροι Καταχωρητές της ΚΜΕ του υπολογιστή TRN IR (20 bits) X (20 bits) I

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

Fortran και Αντικειμενοστραφής προγραμματισμός. www.corelab.ntua.gr/courses/fortran_naval/naval

Fortran και Αντικειμενοστραφής προγραμματισμός. www.corelab.ntua.gr/courses/fortran_naval/naval Fortran και Αντικειμενοστραφής προγραμματισμός Διδάσκοντες: www.corelab.ntua.gr/courses/fortran_naval/naval Άρης Παγουρτζής (pagour@cs.ntua.gr) (Επίκουρος Καθηγητής ΣΗΜΜΥ ) Δώρα Σούλιου (dsouliou@mail.ntua.gr)

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

ÏÅÖÅ. Β. Να αναφέρετε τις κυριότερες τυποποιηµένες τεχνικές σχεδίασης αλγορίθµων. ΜΟΝΑ ΕΣ 3

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

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

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30 ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 1.1 Τι είναι Πληροφορική;...11 1.1.1 Τι είναι η Πληροφορική;...12 1.1.2 Τι είναι ο Υπολογιστής;...14 1.1.3 Τι είναι το Υλικό και το

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

Παράδειγμα #1 ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ ΕΠΙΜΕΛΕΙΑ: Ι. Λυχναρόπουλος

Παράδειγμα #1 ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ ΕΠΙΜΕΛΕΙΑ: Ι. Λυχναρόπουλος Παράδειγμα #1 ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ ΕΠΙΜΕΛΕΙΑ: Ι. Λυχναρόπουλος 1. Πως ορίζεται και τι σημαίνει ο όρος flop στους επιστημονικούς υπολογισμούς. Απάντηση: Ο όρος flop σημαίνει floating point operation

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

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό.

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό. Ερωτήσεις θεωρίας MY Μέρος Α. Υλικό. 1. Η μνήμη ROM είναι συνδυαστικό ή ακολουθιακό κύκλωμα; 2. α) Να σχεδιαστεί μία μνήμη ROM που να δίνει στις εξόδους της το πλήθος των ημερών του μήνα, ο αριθμός του

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΣΚΗΣΕΙΣ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΩΤΗΣΕΙΣ ΣΩΣΤΟ ΛΑΘΟΣ Σημειώστε αν είναι σωστή ή

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

Δρ. Παναγιώτης Μ. Παπάζογλου Επίκουρος Καθηγητής ΤΕΙ Λαμίας. Διδακτικό βοήθημα γρήγορης μελέτης για τον προγραμματισμό του μικροεπεξεργαστή MIPS 32bit

Δρ. Παναγιώτης Μ. Παπάζογλου Επίκουρος Καθηγητής ΤΕΙ Λαμίας. Διδακτικό βοήθημα γρήγορης μελέτης για τον προγραμματισμό του μικροεπεξεργαστή MIPS 32bit Δρ. Παναγιώτης Μ. Παπάζογλου Επίκουρος Καθηγητής ΤΕΙ Λαμίας Διδακτικό βοήθημα γρήγορης μελέτης για τον προγραμματισμό του μικροεπεξεργαστή MIPS 32bit Το υλικό του οδηγού έχει αντικατασταθεί από το βιβλίο

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