Κεφάλαιο 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δεν έχει

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Ενότητα 4: Μεταβλητές, Εκφράσεις, Εντολές Καθ. Γιάννης Γαροφαλάκης Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ και Πληροφορικής Μεταβλητές (1) Μεταβλητή: Αφαιρετική

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

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

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

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

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

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

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

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράµµατα «γράφονται» χρησιµοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαµβάνει

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

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

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

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

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους

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

οµές Επιλογής Εντολές if και switch

οµές Επιλογής Εντολές if και switch οµές Επιλογής Εντολές if και switch οµή Ελέγχου Control Structure Ένας συνδυασµός ατοµικών εντολών σε µία λογική µονάδα, όπου υπάρχει µόνο ένα σηµείο εισόδου και ένα σηµείο εξόδου. οµή Ελέγχου για Επιλογή

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

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

Κεφάλαιο 6: Εµβέλεια και έσµευση Μνήµης. Γιάννης Γαροφαλάκης ΤΜΗΥΠ - Πανεπιστήµιο Πατρών Κεφάλαιο 6: Εµβέλεια και έσµευση Μνήµης Αρχές Γλωσσών Προγραµµατισµού και Μεταφραστών Ορισµοί (1) Εµβέλειαενός ονόµατος (Scope), είναι το τµήµα του προγράµµατος στο οποίο όλες οι χρήσειςτου ονόµατος είναι

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

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

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

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

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java

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

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή Στόχοι και αντικείμενο ενότητας Η έννοια του Τελεστή #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Εκφράσεις Προτεραιότητα Προσεταιριστικότητα Χρήση παρενθέσεων Μετατροπές Τύπων Υπονοούμενες και ρητές μετατροπές

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

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

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

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

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

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

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

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

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

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

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Εισαγωγή στον Προγραµµατισµό Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Hello World /* Αρχείο hello.c * Εµφανίζει στην οθόνη το * µήνυµα hello world */ #include

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

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

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

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

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2 Εισαγωγή στην C Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Σύνταξη και Σηµασιολογία της C Σχολιασµός Μεταβλητές / Σταθερές Τύποι εδοµένων και Τελεστές Βιβλίο µαθήµατος: Chapter 2,, Sec.

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

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

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

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

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

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

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

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

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

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

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor ΕισαγωγήστουςΗ/Υ PHP Hypertext Preprocessor ΤιείναιηPHP; PHP είναιµία server-based scripting language σχεδιασµένη ειδικά για το web. Σε µία html σελίδα µπορούµε να ενσωµατώσουµε php κώδικα που εκτελείται

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη Προτάσεις,

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

a = 10; a = k; int a,b,c; a = b = c = 10;

a = 10; a = k; int a,b,c; a = b = c = 10; C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 4 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.

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

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

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Νέο Πρόγραμμα

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

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής Προγραμματισμός Η/Υ Ενότητα 4: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Έλεγχος της ροής ενός προγράμματος

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ❶ Προετοιµασία για το 1 ο Εργαστήριο

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ 1. Ποιες από τις παρακάτω εντολές είναι σωστές; α) if A + B

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

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Ενότητα 6: Εμβέλεια, Δέσμευση Μνήμης Καθ. Γιάννης Γαροφαλάκης Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ και Πληροφορικής Ορισμοί (1) Εμβέλεια ενός ονόματος (Scope),

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

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

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

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

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

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

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

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών Λειτουργικά Αριστείδης Ηλίας Συστήματα Ι Φ ρ ο ν τ ι σ τ ή ρ ι ο Shell Scripting Εισαγωγή Ένα shell script είναι μια λίστα εντολών που εκτελούνται ακολουθιακά Εκτελούνται ανάλογα με το κέλυφος και για

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

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

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Τελεστές - Κατηγορίες Εκφράσεις - Κατηγορίες Υπολογισμός εκφράσεων Προτάσεις - Κατηγορίες

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

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

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Έλεγχος ροής Δομή επιλογής (if, switch) Δομές επανάληψης (while, do-while, for) Διακλάδωση

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

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

Στόχοι και αντικείμενο ενότητας. Βασικές κατασκευές ΓΠ. Έλεγχος ροής προγράμματος. #4.. Εντολές Επιλογής Στόχοι και αντικείμενο ενότητας Βασικές κατασκευές Γλωσσών Προγραμματισμού (ΓΠ) Δομές ελέγχου ροής προγράμματος #4.. ντολές πιλογής Προτάσεις διακλάδωσης υπό συνθήκη ντολές if, if Φωλιασμένα (nested) if

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

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο) Προγραμματισμός Η/Υ Ενότητα 2β: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Κατανόηση της έννοιας του Τελεστή

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

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

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

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

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 5 ο Έλεγχος Προγράµµατος Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Η εντολή if (Ι) Η εντολή if είναι µία από τις βασικότερες δοµές ελέγχου ροής στη C, αλλά και στις περισσότερες

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

Προγραμματισμός Η/Υ. Ενότητα 5: Εντολές Επανάληψης

Προγραμματισμός Η/Υ. Ενότητα 5: Εντολές Επανάληψης Προγραμματισμός Η/Υ Ενότητα 5: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Έλεγχος της ροής του προγράμματος

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

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

ιαδικαστικός Προγραμματισμός ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ιαδικαστικός Προγραμματισμός Α Εξάμηνο Μάθημα 2 ο : Εντολές ελέγχου > εντολές υπό συνθήκη Στόχοι μαθήματος Να κατανοήσετε τη σχέση μεταξύ εντολών και παραστάσεων. Να αναγνωρίζετε

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

Τεχνολογία Λογισµικού Ι Κεφάλαιο 5

Τεχνολογία Λογισµικού Ι Κεφάλαιο 5 ΕΛΛΗΝΙΚΟ ΑΝΟΙΧΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πρόγραµµα σπουδών "ΠΛΗΡΟΦΟΡΙΚΗ" - Θ.Ε. ΠΛΗ11 Τεχνολογία Λογισµικού Ι Κεφάλαιο 5 Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών v.vescoukis@cs.ntua.gr

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

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

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

for for for for( . */

for for for for( . */ Εισαγωγή Στον Προγραµµατισµό «C» Βρόχοι Επανάληψης Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Ο βρόχος for Η εντολή for χρησιµοποιείται

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 8 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 8 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Γιώργος Δημητρίου Μάθημα 8 ο Μετάφραση Οδηγούμενη από τη Σύνταξη Ο ΣΑ καλεί τις ρουτίνες που εκτελούν τη σημασιολογική ανάλυση και παράγουν τον ενδιάμεσο κώδικα Σημασιολογικές πληροφορίες μπορούν να μεταφέρονται

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

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος http://www.teiser.gr/icd/staff/lantzos lantzos@teiser.gr 1 Πώς δημιουργούμε πρόγραμμα Η/Υ; 1. Ανάλυση του προβλήματος 2. Επινόηση & Σχεδιασμός

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

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13) Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις Επανάληψη για την ενδιάμεση εξέταση (Διάλεξη 13) 13-1 Πρόβλημα 1 Γράψετε τον ορισμό μίας συνάρτησης η οποία υπολογίζει το μέγιστο 2 ακεραίων αριθμών και

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

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

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

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

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

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

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

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

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

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

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

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 4 η Τελεστές Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης

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

Προγραμματισμό για ΗΜΥ

Προγραμματισμό για ΗΜΥ ΕΠΛ 034: Εισαγωγή στον Προγραμματισμό για ΗΜΥ Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 3 Εισαγωγή στην C Θέματα ιάλεξης Σύνταξη και Σημασιολογία

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

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

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

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες

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

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

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

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

Προγραμματισμός Ι. Θεματική ενότητα 4: Έλεγχος ροής Προτάσεις υπό συνθήκη διακλάδωσης

Προγραμματισμός Ι. Θεματική ενότητα 4: Έλεγχος ροής Προτάσεις υπό συνθήκη διακλάδωσης Θεματική ενότητα 4: Έλεγχος ροής Προτάσεις υπό συνθήκη διακλάδωσης Προτάσεις ελέγχου ροής Ο πιο συνηθισμένος τρόπος εκτέλεσης είναι ο ακολουθιακός: δύο ή περισσότερες προτάσεις βρίσκονται διατεταγμένες

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

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 ΠΕΡΙΕΧΟΜΕΝΟ ΤΟΥ ΜΑΘΗΜΑΤΟΣ Αρχές

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

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

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

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

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

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

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

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

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός ΗΥ και Υπολογιστική Φυσική Χρήστος Γκουμόπουλος Προγραμματισμός

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

Εντολές επιλογής Επαναλήψεις (if, switch, while)

Εντολές επιλογής Επαναλήψεις (if, switch, while) Εντολές επιλογής Επαναλήψεις (if, switch, while) Οι σημειώσεις αυτές έχουν σαν στόχο την μάθηση εντολών επιλογής (if, switch, while) που ελέγχουν τη ροή εκτέλεσης ενός προγράμματος. Πρώτα όμως, είναι αναγκαίο

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL 8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to

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

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Οργάνωση Προγράµµατος Header Files Μετάφραση και σύνδεση αρχείων προγράµµατος ΕΠΛ 132 Αρχές Προγραµµατισµού

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

Μεταγλωττιστές. Σημασιολογική Ανάλυση. Εργαστήριο 9. Διδάσκοντες: Δρ. Γεώργιος Δημητρίου Δρ. Άχμεντ Μάχντι

Μεταγλωττιστές. Σημασιολογική Ανάλυση. Εργαστήριο 9. Διδάσκοντες: Δρ. Γεώργιος Δημητρίου Δρ. Άχμεντ Μάχντι Μεταγλωττιστές Εργαστήριο 9 Σημασιολογική Ανάλυση Διδάσκοντες: Δρ. Γεώργιος Δημητρίου Δρ. Άχμεντ Μάχντι 2016-2017 Σύνταξη και Σημασιολογία Σε οποιαδήποτε γλώσσα (προγραμματισμού ή μη) υπάρχουν δύο βασικές

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

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8) Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις (Διάλεξη 8) 8-1 Τι θα δούμε σήμερα Η εντολή if else Η εντολή if else ιf - -else H εντολή switch Λογικές παραστάσεις Σχεσιακοί

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

ικτυακά Πολυμέσα Ι (Β Έτος, 3ο εξ) ιάλεξη #8η: Javascript: Τεχνικές εντοπισμού/διόρθωσης λαθών, τελεστές, δομές ελέγχου, βρόχοι επανάληψης

ικτυακά Πολυμέσα Ι (Β Έτος, 3ο εξ) ιάλεξη #8η: Javascript: Τεχνικές εντοπισμού/διόρθωσης λαθών, τελεστές, δομές ελέγχου, βρόχοι επανάληψης Πανεπιστήμιο Αιγαίου Σχολή Κοινωνικών Επιστημών Τμήμα Πολιτισμικής Τεχνολογίας Και Επικοινωνίας ικτυακά Πολυμέσα Ι (Β Έτος, 3ο εξ) ιάλεξη #8η: Javascript: Τεχνικές εντοπισμού/διόρθωσης λαθών, τελεστές,

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

Η Γλώσσα C Μία Σφαιρική Ανασκόπηση

Η Γλώσσα C Μία Σφαιρική Ανασκόπηση Η Γλώσσα C Μία Σφαιρική Ανασκόπηση Η γλώσσα C αναπτύχθηκε το 1972 από τον Dennis Ritchie στα ΑΤ & Τ Laboratories. Οδηγίες προς τον προεπεξεργαστή Εισδοχή Βιβλιοθηκών #include #include

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

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

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

3. Εκφράσεις και έλεγχος ροής

3. Εκφράσεις και έλεγχος ροής 3. Εκφράσεις και έλεγχος ροής Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να διακρίνετε ανάμεσα σε μεταβλητές μέλη και αυτόματες μεταβλητές Να περιγράφετε την αρχικοποίηση των μεταβλητών μελών Να αναγνωρίζετε

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

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

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

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

Εγγραφές ραστηριοποίησης

Εγγραφές ραστηριοποίησης Εγγραφές ραστηριοποίησης Ερώτηση για δέσιµο Κατά την εκτέλεση του προγράµµατος, οι µεταβλητές δένονται (δυναµικά) µε τιµές Οι τιµές αυτές πρέπει να αποθηκευτούν κάπου Κατά συνέπεια, οι µεταβλητές πρέπει

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

ΕΠΛ 012. JavaScripts

ΕΠΛ 012. JavaScripts ΕΠΛ 012 JavaScripts Γλώσσα JavaScript (JS) ηµιουργεί δυναµικές ιστοσελίδες και αλληλεπιδράσεις µε το χρήστη εν είναι Java, αλλά είναι αντικειµενοστραφής (απλό µοντέλο υποκειµένων) Objects, properties (τιµές

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

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος 2012-13 Κων/νος Φλώρος Απλοί τύποι δεδομένων Οι τύποι δεδομένων προσδιορίζουν τον τρόπο παράστασης των

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

Ηλεκτρονικοί Υπολογιστές

Ηλεκτρονικοί Υπολογιστές ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 3: Μεταβλητές στη C++ Ζαχαρούλα Ανδρεοπούλου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος του συγγραφέα... 13 Πρόλογος του καθηγητή Τιμολέοντα Σελλή... 15 ΚΕΦΑΛΑΙΟ 1: Εργαλεία γλωσσών προγραμματισμού...17 1.1 Γλώσσες προγραμματισμού τρίτης γεννεάς... 18 τι είναι η γλώσσα

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων ΕΠΑΛ ΧΡΥΣΟΥΠΟΛΗΣ Γ Πληροφορική- 2015-2016 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων 1 Εισαγωγή Η εντολή Στο 4 ο κεφάλαιο γνωρίσαµε την δοµή πολλαπλής επιλογής στην οποία

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

Εγγραφές Δραστηριοποίησης. Jackson Pollock, The Key, 1946 (action painting)

Εγγραφές Δραστηριοποίησης. Jackson Pollock, The Key, 1946 (action painting) Εγγραφές Δραστηριοποίησης Jackson Pollock, The Key, 1946 (action painting) Κωστής Σαγώνας Ερώτηση για δέσιμο Κατά την εκτέλεση του προγράμματος, οι μεταβλητές δένονται (δυναμικά) με

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

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

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

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

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

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

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

Δομημένος Προγραμματισμός

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

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

Μεθόδων Επίλυσης Προβλημάτων

Μεθόδων Επίλυσης Προβλημάτων ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 7 ομές Επαναλήψεις Ο βρόχος While ομές Έλεγχου

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

Κεφάλαιο : Επαναλήψεις (oι βρόχος While) ( ιάλεξη 9) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο : Επαναλήψεις (oι βρόχος While) ( ιάλεξη 9) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 5.1-5.3: Επαναλήψεις (oι βρόχος While) ( ιάλεξη 9) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 9-1 οµές Έλεγχου Προγράµµατος Μέχρι τώρα είδαµε τις ακόλουθες δοµές έλεγχου (program control structure) ενός προγράµµατος

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

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

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

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

Εγγραφές Δραστηριοποίησης

Εγγραφές Δραστηριοποίησης Εγγραφές Δραστηριοποίησης Ερώτηση για δέσιμο Κατά την εκτέλεση του προγράμματος, οι μεταβλητές δένονται (δυναμικά) με τιμές Οι τιμές αυτές πρέπει να αποθηκευτούν κάπου Κατά συνέπεια, οι μεταβλητές πρέπει

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εντολές ελέγχου ροής προγράμματος (if-else & switch) Η εντολή if-else Η εντολή if-else υπάρχει σχεδόν σε όλες τις γλώσσες προγραμματισμού. Χρησιμοποιείται για τον έλεγχο της

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

Βασικές Αρχές Προγραμματισμού

Βασικές Αρχές Προγραμματισμού Βασικές Αρχές Προγραμματισμού Κεφάλαιο 2 ΗγλώσσαC Ιστορική Αναδρομή ΗανάπτυξητηςC ξεκίνησε το 1972 στα εργαστήρια Bell από τον Dennis Ritchie με σκοπό την ανάπτυξη ενός λειτουργικού συστήματος για τον

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

Εγγραφές Δραστηριοποίησης

Εγγραφές Δραστηριοποίησης Εγγραφές Δραστηριοποίησης Ερώτηση για δέσιμο Κατά την εκτέλεση του προγράμματος, οι μεταβλητές δένονται (δυναμικά) με τιμές Οι τιμές αυτές πρέπει να αποθηκευτούν κάπου Κατά συνέπεια, οι μεταβλητές πρέπει

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

Αντίρριο, 14/03/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές»

Αντίρριο, 14/03/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές» Αντίρριο, 14/03/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές» Η εργασία έχει ως στόχο τον σχεδιασμό και την υλοποίηση ενός μεταγλωττιστή για την γλώσσα Ciscal, χρησιμοποιώντας

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

Προγραμματισμός Ι. Θεματική ενότητα 3: Tελεστές. εκφράσεις

Προγραμματισμός Ι. Θεματική ενότητα 3: Tελεστές. εκφράσεις Θεματική ενότητα 3: Tελεστές εκφράσεις Τελεστές (operators) Εκφράσεις (expressions) Σύμβολα ή λέξεις που αναπαριστούν συγκεκριμένες διεργασίες, οι οποίες εκτελούνται πάνω σε ένα ή περισσότερα δεδομένα.

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

Επανάληψη για τις Τελικές εξετάσεις

Επανάληψη για τις Τελικές εξετάσεις Επανάληψη για τις Τελικές εξετάσεις ( ιάλεξη 21) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Εισαγωγή Το µάθηµα EPL032 έχει ως βασικό στόχο την επίλυση προβληµάτων πληροφορικής µε την χρήση της γλώσσας προγραµµατισµού

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

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (Programming in the large)

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (Programming in the large) Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (Programming in the large) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Συναρτήσεις Εξωτερικές µεταβλητές Κανόνες εµβέλειας ιάρκεια µεταβλητών Αρχικοποίηση

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

ιορθώσεις επί της 2 ης έκδοσης εκτύπωσης 2002

ιορθώσεις επί της 2 ης έκδοσης εκτύπωσης 2002 ιορθώσεις επί της 2 ης έκδοσης εκτύπωσης 2002 Καταγράφονται παρακάτω λάθη που αναφέρονται στην δεύτερη έκδοση του βιβλίου εκτύπωσης 2002. Τα λάθη εντοπίστηκαν πριν από την 03/01/2003. Γενική διόρθωση Αφορά

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

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε

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

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

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Συναρτήσεις της C Τα Λοιπά Στοίβα και μηχανισμός κλήσης Αναδρομικές συναρτήσεις Στατικές μεταβλητές Άλλα θέματα Μηχανισμός

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

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

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

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

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, Εφαρµογές στοιβών Στην ενότητα αυτή θα µελετηθεί η χρήση στοιβών στις εξής εφαρµογές: Αναδροµικές συναρτήσεις Ισοζυγισµός Παρενθέσεων Αντίστροφος Πολωνικός Συµβολισµός ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι

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

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

Κεφάλαιο 10 ο Υποπρογράµµατα Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,

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

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

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

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