Στοιχεία Προτασιακού Λογισμού Μαθηματικές Συναρτήσεις Λέξεις-Κλειδιά της C Πρότυπα Σύνολα Χαρακτήρων...

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

Download "Στοιχεία Προτασιακού Λογισμού... 1081 Μαθηματικές Συναρτήσεις... 1093 Λέξεις-Κλειδιά της C++... 1095 Πρότυπα Σύνολα Χαρακτήρων..."

Transcript

1 Παραρτήματα A. Στοιχεία Προτασιακού Λογισμού B. Μαθηματικές Συναρτήσεις C. Λέξεις-Κλειδιά της C D. Πρότυπα Σύνολα Χαρακτήρων E. Η Προτεραιότητα των Πράξεων

2

3 παράρτημα A Στοιχεία Προτασιακού Λογισμού Ο στόχος μας σε αυτό το παράρτημα: Τα παρακάτω έχουν στόχο να σου υπενθυμίσουν μερικές βασικές λογικές πράξεις που χρησιμοποιούμε. Περιεχόμενα: Α.1 Συντακτικά Α.2 Νοηματικά Α.2.1 Λογική Σύζευξη && Α.2.2 Λογική Διάζευξη Α.2.3 Η Λογική Άρνηση! Α.2.4 Συνεπαγωγή Α.2.5 Διπλή Συνεπαγωγή Α.2.6 Άλλοι Σύνδεσμοι Α Ο Σύνδεσμος του Sheffer Α Η Άρνηση της : Α Αποκλειστική Διάζευξη v Α.2.7 Τιμή Παράστασης Α.3 Ταυτολογίες και Ισοδυναμία Α.4 Αποδείξεις Α.5 Κατηγορηματικός Λογισμός Α.6 Ισότητα Α.7 Οι Δικές μας Αποδείξεις Ασκήσεις Εισαγωγικές Παρατηρήσεις: Θα πρέπει να τονίσουμε ότι τα περιεχόμενα του παραρτήματος δεν αποτελούν κάλυψη του Προτασιακού Λογισμού, ο Προτασιακός Λογισμός δεν είναι αρκετός για πλήρεις τυπικές αποδείξεις ορθότητας προγραμμάτων. Στην Α.5 υπάρχει και μια παρουσίαση των ποσοδεικτών και της ισότητας: «γεύση» από τον Κατηγορηματικό Λογισμό. Αν θέλεις να διαβάσεις περισσότερα για τη Μαθηματική Λογική δες τη βιβλιογραφία στο τέλος του βιβλίου. Α.1 Συντακτικά Το αλφάβητο που θα χρησιμοποιήσουμε είναι: { P, Q, R, P0, Q0, R0, P1, Q1, R1,..., F, &&,,,,!, (, ) } Τα P, Q, R με δείκτη ή χωρίς είναι τα προτασιακά σύμβολα (propositional symbols). Με αυτά θα παριστάνουμε τις ατομικές προτάσεις. 1081

4 1082 Παράρτημα Α Η F είναι μια προτασιακή σταθερά (constant) αλλού θα τη δεις και ως. Τα &&,,,,! είναι τα σύμβολα των συνδέσμων (connectives) οι τέσσερις πρώτοι ονομάζονται διμελείς (binary, 2-place) σύνδεσμοι ενώ ο! είναι μονομελής (unary, 1-place) σύνδεσμος. Μπορούμε να θεωρήσουμε τη σταθερά F και ως σύνδεσμο χωρίς μέλη (0-place connective). Οι προτάσεις της γλώσσας ονομάζονται προτάσεις και σχηματίζονται σύμφωνα με τον εξής κανόνα: πρόταση = προτασιακό σύμβολο F "!", πρόταση "(", πρόταση, διμελής σύνδεσμος, πρόταση, ")" ; προτασιακό σύμβολο = "P" "Q" "R" "P0" "Q0" "R0" "P1" "Q1" "R1"... ; διμελής σύνδεσμος = "&&" " " " " " " ; Παράδειγμα Οι P, Q2, R4 είναι προτάσεις αφού είναι προτασιακά σύμβολα. Αφού οι P, Q2, R4 είναι προτάσεις και οι!p,!q2,!r4 είναι προτάσεις αφού έχουν τη μορφή "!", πρόταση. Αφού οι P, Q2, R4,!P,!Q2,!R4 είναι προτάσεις και οι (!P && R4), (Q2!Q2), (P!R4), (Q2 R4) είναι προτάσεις αφού έχουν τη μορφή "(", πρόταση, διμελής σύνδεσμος, πρόταση, ")". Αφού οι (!P && R4), (Q2!Q2), (P!R4), (Q2 R4) είναι προτάσεις και οι!(!p && R4),!(Q2!Q2),!(P!R4),!(Q2 R4) είναι προτάσεις αφού έχουν τη μορφή "!", πρόταση. Αφού οι (!P && R4),!R4, P, (Q2 R4),!Q2, (P!R4) είναι προτάσεις και οι ((!P && R4)!R4), (P && (Q2 R4)), ((P && (Q2 R4))!Q2), ((P!R4) (Q2 R4)) είναι προτάσεις αφού έχουν τη μορφή "(", πρόταση, διμελής σύνδεσμος, πρόταση, ")". Όπως βλέπεις και στο παράδειγμα, οι παρενθέσεις μπορεί να γίνουν ενοχλητικά πολλές. Δίνουμε λοιπόν τον παρακάτω συμπληρωματικό κανόνα: Από μια πρόταση μπορούμε να αφαιρούμε το εξώτερο ζεύγος παρενθέσεων Με βάση αυτόν τον κανόνα, μπορούμε να γράψουμε:!p && R4 αντί για (!P && R4), Q2!Q2 αντί για (Q2!Q2), P!R4 αντί για (P!R4), Q2 R4 αντί για (Q2 R4), (!P && R4)!R4 αντί για ((!P && R4)!R4), P && (Q2 R4) αντί για (P && (Q2 R4)), (P && (Q2 R4))!Q2 αντί για ((P && (Q2 R4))!Q2), (P!R4) (Q2 R4) αντί για ((P!R4) (Q2 R4)) Α.2 Νοηματικά Κάθε προτασιακό σύμβολο (P, P0, P1,... Q, Q0, Q1,... R, R0, R1,...) μπορεί να πάρει μια από τις λογικές τιμές false (ψέμα, δεν ισχύει) ή true (αλήθεια, ισχύει). Η σταθερά F παίρνει πάντοτε τιμή false.

5 Στοιχεία Προτασιακού Λογισμού 1083 Από τη στιγμή που καθορίζονται οι τιμές των προτασιακών συμβόλων μπορούμε να υπολογίσουμε τη (λογική) τιμή οποιασδήποτε πρότασης που περιέχει αυτά τα σύμβολα. Για να μπορέσουμε να κάνουμε κάτι τέτοιο, θα πρέπει να ξέρουμε τα αποτελέσματα των λογικών πράξεων που συμβολίζονται με τα &&,,!. Αυτά συνήθως δίνονται σε πίνακες, που λέγονται πίνακες αλήθειας ή αληθοπίνακες (truth tables). Α.2.1 Λογική Σύζευξη && Στον Πίν. Α-1 βλέπεις τον αληθοπίνακα της λογικής σύζευξης (conjunction) &&. Η πρώτη γραμμή λέει: Αν η πρόταση A έχει τιμή false και η πρόταση B έχει τιμή false τότε και η A && B και B && A έχουν τιμή false. Με τον ίδιο τρόπο διαβάζεις και τις υπόλοιπες γραμμές. A B A && B B && A false false false false false true false false true false false false true true true true Πίν. Α-1: Ο αληθοπίνακας της &&. Πρόσεξε ότι η πράξη && είναι αντιμεταθετική: Οι A && B και B && A έχουν πάντοτε την ίδια τιμή. Πώς μπορούμε να διατυπώσουμε στην καθομιλουμένη το αποτέλεσμα της πράξης && ; Αν η πρόταση A έχει τιμή true (είναι αληθής) και ταυτοχρόνως η πρόταση B έχει τιμή true τότε (και μόνον τότε) είναι αληθείς και οι προτάσεις A && B και B && A. Παράδειγμα Έστω ότι P είναι η πρόταση «η μεταβλητή x έχει τιμή μεγαλύτερη από 5» (x > 5) και Q η πρόταση «η μεταβλητή x έχει τιμή μικρότερη από 10» (x < 10). Η πρόταση «η μεταβλητή x έχει τιμή μεταξύ 5 και 10» (5 < x < 10) σημαίνει στην πραγματικότητα «η μεταβλητή x έχει τιμή μεγαλύτερη από 5» και «η μεταβλητή x έχει τιμή μικρότερη από 10» δηλαδή P && Q. Αν η x έχει τιμή 6, τότε η P και η Q είναι αληθείς, έχουν τιμή true. Από την τέταρτη γραμμή του αληθοπίνακα της && βλέπουμε ότι και η P && Q έχει τιμή true, δηλαδή είναι αληθής. Αν το x έχει τιμή 17, τότε η P είναι αληθής (τιμή true) και η Q είναι ψευδής (τιμή false). Από την τρίτη γραμμή του αληθοπίνακα της && βλέπουμε ότι και η P && Q έχει τιμή false, δηλαδή είναι ψευδής. Συχνά θα δεις αυτόν τον σύνδεσμο να γράφεται και ως:, και, and (στις γλώσσες προγραμματισμού Pascal, Basic και άλλες). Παρόμοιος είναι και ένας άλλος σύνδεσμος, ο cand αυτός έχει «οικονομικό» τρόπο υπολογισμού, δηλαδή: αν κατά τον υπολογισμό της A cand B η τιμή της A βρεθεί false (ψευδής), η τιμή ολόκληρης της σύνθετης πρότασης υπολογίζεται ως false χωρίς να υπολογισθεί η τιμή της B. Να θυμίσουμε ότι έτσι γίνεται ο υπολογισμός της πράξης && στη C++ ( 5.6). Α.2.2 Λογική Διάζευξη Στον Πίν. Α-2 βλέπεις τον αληθοπίνακα της λογικής διάζευξης (disjunction). Στην καθομιλουμένη το αποτέλεσμα της πράξης δίνεται με τον εξής κανόνα: Αν μια τουλάχιστον από τις προτάσεις A, B έχει τιμή true (είναι αληθής) τότε και οι προτάσεις A B και B A έχουν τιμή true (είναι αληθείς). Όπως βλέπεις, η μόνη περίπτωση που η A B παίρνει τιμή false είναι όταν και η A και η B έχουν τιμή false.

6 1084 Παράρτημα Α A B A B B A false false false false false true true true true false true true true true true true Πίν. Α-2: Ο αληθοπίνακας της. Και η είναι αντιμεταθετική: Οι A B και B A έχουν πάντοτε την ίδια τιμή. Παράδειγμα Έστω ότι x = 15 και θέλουμε να αποφανθούμε για την αλήθεια της πρότασης «το x είναι πολλαπλάσιο του 2 ή του 3». Ένας άλλος τρόπος να διατυπώσουμε την πρόταση είναι: «το x είναι πολλαπλάσιο του 2» ή «το x είναι πολλαπλάσιο του 3». Ας ονομάσουμε P την «το x είναι πολλαπλάσιο του 2» και Q την «το x είναι πολλαπλάσιο του 3». Η P έχει τιμή false, ενώ η Q έχει τιμή true. Σύμφωνα με την τρίτη γραμμή του πίνακά μας η P Q έχει τιμή true. Άλλες γραφές του συνδέσμου:, ή, or (στις γλώσσες προγραμματισμού Pascal, Basic και άλλες). Παρόμοιος είναι και ένας άλλος σύνδεσμος (αντίστοιχος του cand ), ο cor : αν κατά τον υπολογισμό της A cor B η τιμή της A βρεθεί true (αληθής), η τιμή ολόκληρης της σύνθετης πρότασης υπολογίζεται ως true χωρίς να υπολογισθεί η τιμή της B. Αν γυρίσεις στην 5.6 θα θυμηθείς ότι έτσι δουλεύει ο της C++. true false Πίν. Α-3: Ο αληθοπί- Α.2.3 Η Λογική Άρνηση! Στον Πίν. Α-3 βλέπεις τον αληθοπίνακα της λογικής άρνησης (negation)!, που μας λέει απλά: Αν η A έχει τιμή true, είναι αληθής, τότε η!a έχει τιμή false, είναι ψευδής, και αν η A έχει τιμή false, είναι ψευδής, τότε η!a έχει τιμή true, είναι αληθής. A false true νακας της!.!a Θα τον δεις γραμμένο ακόμη ως ή ως ~ ή ως όχι ή ως not (Pascal, Basic). A B A B B A false false true true false true true false true false false true true true true true Πίν. Α-4: Ο αληθοπίνακας της. Οι στήλες A B και B A είναι διαφορετικές. Α.2.4 Συνεπαγωγή Στον Πίν. Α-3 βλέπεις τον αληθοπίνακα της, που τη λέμε συνεπαγωγή (implication). Στην A B η A λέγεται ηγουμένη (antecedent) και η B επομένη (consequent) ή απόδοση (apodosis). Αλλού θα δεις την A B να γράφεται ως if A then B, δηλαδή αν (είναι αληθής η) A τότε (είναι αληθής η) B. 1 Θα γράψουμε τον αληθοπίνακα της συνεπαγωγής προσπαθώντας να καταλάβουμε ένα παράδειγμα με βάση την καθημερινή κοινή λογική. Πάρε ως P την πρόταση «ο Νίκος λέει πάντα ψέματα» και ως Q την «αυτό που είπε τώρα ο Νίκος είναι ψέμα». P Q είναι η πρόταση: «αν ο Νίκος λέει πάντα ψέματα τότε αυτό που είπε τώρα ο Νίκος είναι ψέμα». Θα δοκιμάσουμε όλες τις δυνατές τιμές αλήθειας για τις P, Q και στην κάθε περίπτωση θα βλέπουμε αν αυτό που προκύπτει συμφωνεί με την κοινή λογική. Ξεκινούμε από τα εύκολα: η P έχει τιμή true, το ίδιο και η Q (γραμμή 4 του Πίν. Α-3) έχουμε δηλαδή την πρόταση «αν ο Νίκος λέει πάντα ψέματα τότε αυτό που είπε τώρα ο Νίκος είναι ψέμα». Αυτή είναι αληθής, σύμφωνα με την κοινή λογική. Βάζουμε λοιπόν τιμή true στην P Q. 1 Όπως καταλαβαίνεις, αυτό το if... then δεν έχει σχέση με την αντίστοιχη προγραμματιστική δομή.

7 Στοιχεία Προτασιακού Λογισμού 1085 Πάμε τώρα στην περίπτωση που η P έχει τιμή true, αλλά η Q έχει τιμή false (γραμμή 3) τώρα η P Q σημαίνει: «αν ο Νίκος λέει πάντα ψέματα τότε αυτό που είπε τώρα ο Νίκος δεν είναι ψέμα». Αυτή η πρόταση όμως είναι ολοφάνερα ψευδής με βάση την κοινή λογική. Βάζουμε λοιπόν τιμή false στην P Q. Στη γραμμή 2 η ηγουμένη P έχει τιμή false και η Q τιμή true, λέμε δηλαδή «αν ο Νίκος δεν λέει πάντα ψέματα τότε αυτό που είπε τώρα ο Νίκος είναι ψέμα». Αυτή μπορεί να φαίνεται λίγο ασυνάρτητη ή παράλογη, αλλά το ερώτημα είναι: είναι αληθής; Πώς να απαντήσουμε μια τέτοια ερώτηση για μια ασυναρτησία ; Ας κάνουμε την άλλη ερώτηση: είναι ψευδής; Όχι! Αφού λοιπόν η πρόταση δεν είναι ψευδής (και η λογική μας είναι δίτιμη) δεν μπορεί παρά να είναι αληθής, δηλαδή η P Q έχει τιμή true. Τέλος, στη γραμμή 1, ηγουμένη και επομένη έχουν τιμή false. Έχουμε δηλαδή την ασυναρτησία «αν ο Νίκος δεν λέει πάντα ψέματα τότε αυτό που είπε τώρα ο Νίκος δεν είναι ψέμα». Και εδώ, με το σκεπτικό της προηγούμενης περίπτωσης, βάζουμε στην P Q τιμή true. Λίγο παράξενα τα δύο τελευταία... Υπάρχουν όμως και χειρότερα. Π.χ. οι παρακάτω προτάσεις είναι αληθείς: «αν ο ουρανός είναι γαλανός τότε οι λευκές αρκούδες ζουν πολύ βόρεια» «αν ο Ήλιος γυρίζει γύρω από τη Γη τότε εγώ είμαι αστροναύτης» Η πρώτη πρόταση είναι αληθής διότι οι δύο ατομικές προτάσεις που την αποτελούν είναι αληθείς, η δεύτερη είναι επίσης αληθής διότι η πρώτη ατομική πρόταση είναι ψευδής. Αλλά, και στις δύο περιπτώσεις, ηγούμενη και επόμενη είναι τελείως άσχετες. Εδώ το πρόβλημα είναι σοβαρό 2... Όπως είναι φυσικό, αυτή η λογική πράξη δεν είναι αντιμεταθετική. Άλλο το A B και άλλο το B A. Αλλού θα δεις την A B να γράφεται ως A B ή A B ή, όπως είπαμε, if A then B. Παρατήρηση: Αν δεις τον Πίν. A-4 και πάρεις υπόψη σου τη διάταξη false < true που έχουμε στη C++ καταλαβαίνεις γιατί η P Q υλοποιείται στη C++ ως P <= Q. Α.2.5 Διπλή Συνεπαγωγή Στον Πίν. Α-4 βλέπεις τον αληθοπίνακα της, που τη λέμε διπλή συνεπαγωγή ( implication). Τι μας λέει; Αν οι A και B έχουν την ίδια τιμή (και οι δύο true ή και οι δύο false) τότε η A B είναι α- ληθής (τιμή true), αλλιώς η A B είναι ψευδής (τιμή false). Όπως βλέπεις, οι A B και B A έχουν πάντοτε την ίδια τιμή η πράξη είναι αντιμεταθετική. Παράδειγμα Έστω ότι x = 17. Αν P είναι η πρόταση "x > 10" και Q η "x < 35", τότε η P Q είναι αληθής διότι και η P και η Q έχουν τιμή true. Αν P 1 είναι η πρόταση "x < 10" και Q 1 η "x > 35" τότε η P 1 Q 1 είναι αληθής διότι και η P 1 και η Q 1 έχουν τιμή false. Η P Q 1 είναι ψευδής διότι η P έχει τιμή true, ενώ η έχει Q 1 false. A B A B B A false false true true false true false false true false false false true true true true Πίν. Α-5: Ο αληθοπίνακας της. 2 Αυτή η συνεπαγωγή ονομάζεται και ουσιώδης συνεπαγωγή (material implication) σε αντιδιαστολή με μια άλλη πιο ακριβή συνεπαγωγή (strict implication) που εξετάζουν οι τροπικές λογικές (modal logics) βάζοντας τη συνεπαγωγή σε πιο "σωστή" βάση.

8 1086 Παράρτημα Α Αλλού θα δεις την A B να γράφεται ως A B ή A if and only if B. Θα τη δεις ακόμη ως A B αλλά εδώ προσοχή: όπως θα δεις στη συνέχεια, εμείς θα χρησιμοποιούμε το με άλλο νόημα. Παρατήρηση: Στη C++ η P Q υλοποιείται ως P == Q. Α.2.6 Άλλοι Σύνδεσμοι Όπως καταλαβαίνεις, μπορούμε να έχουμε 2 4 διμελείς συνδέσμους και 2 2 μονομελείς. Θα πρέπει να τους περιλάβουμε όλους στο σύστημά μας; Όχι! Αυτοί που έχουμε εδώ φτάνουν και περισσεύουν, όπως μπορεί να αποδειχθεί. Πάντως υπάρχουν τρεις που είναι χρήσιμοι και καλό είναι να τους δούμε. Θα δούμε στη συνέχεια ότι οι δύο πρώτοι από αυτούς, οι nand και nor έχουν μια ενδιαφέρουσα ιδιότητα: όλοι οι άλλοι σύνδεσμοι μπορεί να δοθούν με βάση έναν από αυτούς. Α Ο Σύνδεσμος του Sheffer Στον Πίν. Α-6 βλέπεις τον αληθοπίνακα του που λέγεται σύνδεσμος του Sheffer (Sheffer's stroke). Αν τον συγκρίνεις με τον Πίν. Α-1 βλέπεις ότι το A B είναι μια συντομογραφία του!(a && B). Θα τον δεις γραμμένο και ως ή ως nand (αφού είναι η άρνηση της and : not and). Α Η Άρνηση της : Όπως υπάρχει άρνηση της and υπάρχει και άρνηση της or. Συμβολίζεται με το και στον Πίν. Α-7 βλέπεις τον αληθοπίνακά του. Αν τον συγκρίνεις με τον Πίν. Α-2 βλέπεις ότι, πράγματι, το A B είναι μια συντομογραφία του!(a && B). Θα τον δεις γραμμένο και ως nor (not or). Α Αποκλειστική Διάζευξη v Η αποκλειστική διάζευξη (exclusive disjunction) αληθοπίνακας στον Πίν. Α-8 διαφέρει από την απλή διάζευξη (Πίν. Α-2) στην τελευταία γραμμή του αληθοπίνακα. Η A v B έχει τιμή true όταν μία και μόνο μία από τις A και B έχει τιμή true. Συγκρίνοντας με τον Πίν. Α- 4 βλέπεις ότι είναι το ίδιο πράγμα με το!(a B). Θα τον δεις γραμμένο και ως ή ως xor (Turbo Pascal). Α.2.7 Τιμή Παράστασης Στους αληθοπίνακες ορισμού των λογικών πράξεων χρησιμοποιήσαμε προτασιακά σύμβολα (P, Q). Οι πράξεις γίνονται με τον ίδιο τρόπο μεταξύ οποιωνδήποτε προτάσεων. Ας δούμε ένα Παράδειγμα Με βάση τους πίνακες, θα υπολογίσουμε την τιμή της παράστασης: A B A B false false true false true true true false true true true false Πίν. Α-6: Ο αληθοπίνακας της. ((P0 && P1) (P2 && P1)) && P3 A B A B false false True false true False true false False true true False Πίν. Α-7: Ο αληθοπίνακας της A B A v B False false false False true true True false true True true false Πίν. Α-8: Ο αληθοπίνακας της v.

9 Στοιχεία Προτασιακού Λογισμού 1087 αν έχουμε δώσει τιμές: true στην P0, false στην P1, true στην P2, false στην P3 Η P0 && P1 παίρνει τιμή false (&&, γρ. 3), η P2 && P1 παίρνει τιμή false (&&, γρ. 3), η (P0 && P1) (P2 && P1) παίρνει τιμή false (, γρ. 1) και η ((P0 && P1) (P2 && P1)) && P3 παίρνει τιμή false (&&, γρ. 1) 3. Α.3 Ταυτολογίες και Ισοδυναμία Ένα πολύ ενδιαφέρον υποσύνολο προτάσεων είναι οι ταυτολογίες. Ταυτολογία (tautology) είναι μια πρόταση που παίρνει τιμή true όποιες κι αν είναι οι τιμές των προτασιακών συμβόλων. Χαρακτηριστικά παραδείγματα ταυτολογιών:!f A (!A) (Α && (B C)) ((Α && B) (Α && C)) (Α (B && C)) ((Α B) && (Α C)) (!(Α B)) ((!Α) && (!B)) (!(Α && B)) ((!Α) (!B)) Αν η Α B είναι ταυτολογία τότε οι Α και B λέγονται ισοδύναμες (equivalent). Στην περίπτωση αυτήν γράφουμε Α Β. Από τα τελευταία παραδείγματα που δώσαμε πιο πάνω έχουμε: (Α && (B C)) ((Α && B) (Α && C)) (Α (B && C)) ((Α B) && (Α C)) (!(Α B)) ((!Α) && (!B)) (!(Α && B)) ((!Α) (!B)) Αν δεν σε βολεύει να δουλεύεις με την, μπορείς να χρησιμοποιείς την ισοδυναμία (Άσκ. 1α): (Α B) ((!Α) B) Συχνά χρησιμοποιούμε τις ταυτολογίες (Άσκ. 1β): Α (Α B) και B (Α B) όπως και τις: (A && B) A και (A && B) B Είναι φανερό ότι ισχύουν οι παρακάτω ισοδυναμίες (Άσκ. 2): (Α v B) ((Α B) && (!(Α && B))) (Α v B) ((Α && (!B)) ((!Α) && B)) Α.4 Αποδείξεις Ας προσπαθήσουμε να αποδείξουμε ότι η Α (!Α) είναι ταυτολογία. Ένας τρόπος είναι να εξετάσουμε όλες τις δυνατές τιμές της Α. Αυτό το βλέπεις στον Πίν. Α-9. Ό- πως βλέπεις, η τελευταία στήλη του πίνακα έχει σ' όλες τις γραμμές την τιμή true. Να δούμε άλλο ένα A!A A (!A) false true true true false true Πίν. Α-9: Αληθοπίνακας για την απόδειξη της ταυτολογίας A (!A). 3 Βέβαια, αν είμαστε λίγο προσεκτικοί, αποφαινόμαστε αμέσως ότι πρότασή μας παίρνει τιμή false, αφού είναι της μορφής Α && P 3 και η P 3 έχει τιμή false (&&, γρ. 1, 3).

10 1088 Παράρτημα Α Παράδειγμα Θα αποδείξουμε ότι η (P && Q) P είναι ταυτολογία. Θα χρειαστούμε έναν αληθοπίνακα με στήλες για τις P, Q, P && Q, (P && Q) P. Θα πρέπει να εξετάσουμε όλους τους συνδυασμούς τιμών των P, Q άρα ο πίνακας θα έχει 4 (= 2 2) γραμμές. Τον βλέπεις στον Πίν. Α-10. Φυσικά, δεν αποδεικνύουμε μόνον ταυτολογίες. Μπορεί να χρειαστεί να αποδείξουμε και κάτι σαν: Αν ισχύει η Α τότε ισχύει και η B. Παράδειγμα Απόδειξε ότι: Αν ισχύει η Α && B τότε ισχύει η Α B. Και στην περίπτωση αυτήν μπορούμε να κάνουμε τον αληθοπίνακα, αλλά τώρα συγκρίνουμε μόνον τις γραμμές στις οποίες η υπόθεση (Α && B) έχει τιμή true. 4 Αυτό συμβαίνει μόνο στην 4η γραμμή. Από αυτήν μπορούμε να πούμε ότι: αφού όποτε η υπόθεση παίρνει τιμή true και το συμπέρασμα παίρνει τιμή true, αποφαινόμαστε ότι: Αν ισχύει η Α && B τότε ισχύει η A B. Όπως βλέπεις, ο πρώτος πίνακας (Α-9) έχει 2 γραμμές, ενώ οι επόμενοι (Α-10, Α-11) έχουν 4 γραμμές. Γενικά, αν προσπαθήσεις να αποδείξεις μια πρόταση με Ν προτασιακά σύμβολα θα χρειαστείς πίνακα με 2 Ν γραμμές. Καταλαβαίνεις λοιπόν ότι αυτός ο τρόπος δεν είναι ικανοποιητικός. Ένας άλλος τρόπος, προτιμότερος, είναι να βάλεις αξιώματα και συμπερασματικούς κανόνες και να αποδεικνύεις αυτό που θέλεις χωρίς να εξετάζεις όλες τις δυνατές τιμές των προτασιακών συμβόλων. Ας δούμε, για παράδειγμα, μερικούς συμπερασματικούς κανόνες του προτασιακού λογισμού: A,B ( 1) Α & & Β A,B ( 2) B & & A A& & B ( 3) A A& & B ( 4) B Ο πρώτος κανόνας λέει: "Αν ισχύουν οι Α και Β τότε μπορείς να βγάλεις το συμπέρασμα ότι ισχύει και η Α && Β". Ο τρίτος κανόνας λέει: "Αν ισχύει η Α && Β τότε μπορείς να βγάλεις το συμπέρασμα ότι ισχύει η Α". Όπως καταλαβαίνεις, οι τέσσερις αυτοί κανόνες εκφράζουν αυτό που γράψαμε για την πράξη && : Αν ισχύει η πρόταση Α και ταυτόχρονα ισχύει η πρόταση Β τότε και μόνον τότε ισχύουν και οι προτάσεις Α && Β και Β && Α. Οι συμπερασματικοί κανόνες της είναι οι εξής: A ( 5) A B P Q P && Q (P && Q) P false false false true false true false true true false false true true true true true Πίν. Α-10: Πίνακας αλήθειας για την απόδειξη της (P && Q) P. B ( 6) A B A B A && B A B false false false false false true false true true false false true true true true true Πίν. Α-11: Πίνακας αλήθειας για την απόδειξη του θεωρήματος: αν ισχύει η A && B τότε ισχύει και η A B. Αν διαβάσεις αυτούς τους δύο κανόνες όπως είπαμε παραπάνω θα δεις ότι δεν λένε τίποτε περισσότερο από αυτό που είπαμε πιο πριν: Αν ισχύει η πρόταση Α ή η πρόταση Β ή και οι δύο τότε ισχύει και η πρόταση Α Β. 4 Φυσικά, το ότι «αν ισχύει η Α && Β τότε ισχύει η Α Β» έχει σχέση με το ότι η (Α && Β) (Α Β) είναι ταυτολογία δες αυτά που λέμε στο τέλος της παραγράφου.

11 Στοιχεία Προτασιακού Λογισμού 1089 Ας δούμε τώρα, με ένα παράδειγμα, πώς γίνεται η απόδειξη με αυτούς τους κανόνες, χωρίς να καταφύγουμε σε αληθοπίνακες. Ας πούμε ότι έχουμε να αποδείξουμε ότι: Αν ισχύει η Α && Β τότε ισχύει η Α Β. 1. Α && Β υπόθεση. 2. Α από το βήμα (1) και τον κανόνα (3). 3. Α Β από το βήμα (2) και τον κανόνα (5). Όπως βλέπεις, η απόδειξη στηρίζεται στη γραφή της πρότασης και όχι στις τιμές των Α και Β. Αυτό που αποδείξαμε ήταν ένα θεώρημα. Το «Αν ισχύει η Α && Β τότε ισχύει η Α Β» γράφεται συμβολικώς ως εξής: (Α && Β) E (Α Β) Αν η απόδειξη γίνει με αληθοπίνακες γράφουμε: (Α && Β) e (Α Β). Πάντως αποδεικνύεται ότι: S E T αν και μόνο αν S e T. Και κάτι άλλο, ενδιαφέρον αποδεικνύεται ότι: S E T αν και μόνον αν η S T είναι ταυτολογία. Α.5 Κατηγορηματικός Λογισμός Ο Προτασιακός Λογισμός έχει πολύ περιορισμένες δυνατότητες. Π.χ. δεν μπορούμε να ασχοληθούμε με προτάσεις όπως: «για κάθε πραγματικό x έχουμε x 2 0». Ο Κατηγορηματικός Λογισμός (Κ.Λ. predicate calculus) επιτρέπει τη διαχείριση τύπων που περιέχουν σταθερές και μεταβλητές (που παίρνουν τιμές) από κάποιο σύνολο τιμών (π.χ. το Z, το R κλπ). Έτσι, το παραπάνω παράδειγμα μπορεί να διατυπωθεί συμβολικά ως εξής: x x 2 0 Το σύμβολο " " σημαίνει "για κάθε" και ονομάζεται καθολικός ποσοδείκτης (universal quantifier). Το x είναι μια μεταβλητή και το x 2 0 είναι ένα κατηγόρημα (predicate) μιας θέσης (μεταβλητής). Μια άλλη κατηγορία προτάσεων είναι οι υπαρξιακές (existential), π.χ.: «υπάρχει μια τουλάχιστον τιμή της οποίας το τετράγωνο είναι μηδέν». Αυτή διατυπώνεται συμβολικώς ως εξής: x x 2 == 0 Το σύμβολο " " σημαίνει "υπάρχει" και ονομάζεται υπαρξιακός ποσοδείκτης (existential quantifier). Το "==" σημαίνει "είναι ίσο": 5 Στους δύο τύπους που γράψαμε παραπάνω μπορούμε να αλλάξουμε χωρίς κανένα πρόβλημα όνομα της μεταβλητής, π.χ.: y y 2 0 ή t t 2 == 0 Λέμε ότι οι μεταβλητές αυτές είναι δεσμευμένες (bound) από τον ποσοδείκτη. Κοίταξε όμως τον τύπο: x x + f(x, y) > 0 Εδώ η x είναι δεσμευμένη, δηλαδή μπορούμε να γράψουμε: u u + f(u,y) > 0 αλλά δεν συμβαίνει το ίδιο με τη y: η y είναι μια ελεύθερη (free) μεταβλητή. Μετά το " " μπορεί να ακολουθεί, όχι μόνον κατηγόρημα, αλλά τύπος του Κ.Λ., π.χ.: y ( x x + y == 0) που σημαίνει: για κάθε y υπάρχει x τέτοιο ώστε x + y == 0. Για τον τύπο x x + y == 0 η x είναι δεσμευμένη μεταβλητή και θα μπορούσαμε να της αλλάξουμε όνομα, π.χ.: z z + y == 0 ενώ η y είναι ελεύθερη. Για τον αρχικό τύπο η y είναι δεσμευμένη και μπορούμε να 5 Γιατί "==" και όχι "="; Διότι το "=" στη C++ έχει διαφορετικό νόημα. Το "==" είναι ο τελεστής σύγκρισης για ισότητα της C++.

12 1090 Παράρτημα Α της αλλάξουμε όνομα. Θα μπορούσαμε να την ονομάσουμε x; Βεβαίως, αλλά δεν θα ήταν και πολύ έξυπνο διότι τότε ο τύπος σου θα γίνει: x ( x x + x == 0) και άντε να βγάλεις άκρη! Παρ' όλο που οι συντακτικοί κανόνες του Κ.Λ. επιτρέπουν τέτοιους τύπους, αυτοί δεν είναι δεκτοί. Πολύ συχνά έχουμε τύπους όπως: x ((x > 0 ) (-x < 0)). Αυτός γράφεται και ως εξής: x (x > 0) (-x < 0)) ή ακόμη: x > 0 (-x < 0)) και λέμε ότι στην περίπτωση αυτή έχουμε φραγμένο ποσοδείκτη. Γενικώς, στον Κ.Λ. δεν είναι δυνατόν να κάνουμε αποδείξεις με πίνακες, αφού θα πρέπει να εξετάσουμε όλες τις δυνατές τιμές των μεταβλητών μας (εκτός από την περίπτωση που το σύνολο τιμών των μεταβλητών μας είναι πολύ μικρό). Θα πρέπει λοιπόν οι αποδείξεις να γίνονται με βάση αξιώματα και συμπερασματικούς κανόνες. Για τον καθολικό ποσοδείκτη υπάρχουν οι εξής κανόνες: x P(x) P(a) (για τυχαίο a) και (για τυχαίο a) P(a) x P(x) Ο πρώτος μας λέει: αν (έχω αποδείξει ότι) για κάθε x ισχύει η P(x) τότε για οποιοδήποτε (τυχαίο) a ισχύει η P(a). Και ο δεύτερος: αν (έχω αποδείξει ότι) για κάποιο τυχαίο (χωρίς ιδιαίτερα χαρακτηριστικά) a ισχύει η P(a) τότε μπορώ να συμπεράνω ότι για κάθε x ισχύει η P(x). Για τον υπαρξιακό ποσοδείκτη: x P(x) P(q) και P(q) x P(x) Ο πρώτος μας λέει: αν (έχω αποδείξει ότι) υπάρχει ένα τουλάχιστον x ώστε να ισχύει η P(x) τότε ισχύει P(q), όπου q κάποια από τις συγκεκριμένες τιμές. Και ο δεύτερος: αν (έχω αποδείξει ότι) για κάποιο q ισχύει η P(q) τότε μπορώ να συμπεράνω ότι υπάρχει τουλάχιστον ένα x ώστε να έχω P(x). Α.6 Ισότητα Έστω ότι σε ένα σύνολο τιμών έχουμε ορίσει την ισότητα (==). Στο σύνολο αυτό: 1. ορίζεται και η ανισότητα ( ) ως εξής: με την a b εννοούμε!(a == b) 2. θα ισχύει το αξίωμα της ανακλαστικότητας: x x == x 3. και ακόμη οι συμπερασματικοί κανόνες της αντικατάστασης: Αν S(n) είναι ένας τύπος που περιέχει το n αλλά όχι ως δεσμευμένη μεταβλητή και m == n, τότε, μπορείς να αντικαταστήσεις το n με το m και να πάρεις έναν τύπο S[m/n]: m n,s(n) n m,s(n) (A1) και (A2) S[m/ n] S[m/ n] Για παράδειγμα, αν S(y) είναι η x x 2 + y == 0 και έχουμε αποδείξει ότι ισχύει και z == y τότε ισχύει και η: x x 2 + z == 0 Όταν λέμε «μπορείς να αντικαταστήσεις το n με το m» δεν εννούμε όλες υποχρεωτικά τις περιπτώσεις που εμφανίζεται το n, αλλά μόνον όσες μας ενδιαφέρουν. Παράδειγμα 1 Ας δούμε πώς μπορούμε να αποδείξουμε τη συμμετρικότητα της ισότητας, δηλαδή: αν ισχύει η: x == y τότε ισχύει και η: y == x 1. x == y υπόθεση 2. x == x αξίωμα της ανακλαστικότητας

13 Στοιχεία Προτασιακού Λογισμού 1091 Έχουμε ότι x == y (από το 1.) και θεωρούμε ως S(x) την x == x του 2. Σύμφωνα με τον κανόνα (Α2) αν αντικαταστήσουμε μόνον το πρώτο x με y θα πάρουμε μια πρόταση που ισχύει: 3. y == x. ό.έ.δ. Παράδειγμα 2 Απόδειξε ότι: αν ισχύει η: (!(k N))&& ((y == 2k+1) && (x == (k+1) 2 )) τότε ισχύει και η: (k == N)) && ((y == 2N+1) && (x == (N+1) 2 )) 1. (!(k N))&&((y == 2k+1)&&(x == (k+1) 2 )) υπόθεση 2.!( k N) 1. και σ.κ. (3) της Α.4 3.!(!(k == N)) 2. και ορισμός της 4. k == N 3. και Α (!(!Α)) Α.3 5. (y == 2k+1) && (x == (k+1) 2 ) 1. και σ.κ. (4) της Α.4 6. (y == 2N+1) && (x == (N+1) 2 ) 4.,5. και σ.κ. (A2) 7. (k == N) && ((y == 2N+1) && (x == (N+1) 2 ) 4.,6. και σ.κ. (1) της Α.4 ό.έ.δ. Α.7 Οι Δικές μας Αποδείξεις Στις αποδείξεις ορθότητας των προγραμμάτων δεν θα είμαστε και τόσο αυστηροί (αν και στο Παρ. 2, της προηγούμενης παραγράφου, στο βήμα 4 τα πράγματα δεν είναι και τόσο αυστηρά). Θα ασχολούμαστε κατά κανόνα με τύπους του Κ.Λ. και οι μεταβλητές μας θα παίρνουν τιμές στα σύνολα int (υποσύνολο του Z) και (υποσύνολο του R). Συχνά θα μας χρειάζονται οι ισοδυναμίες: (a == b) (!(a b)) (a b) (!(a == b)) ((a < b) (a > b)) (!(a < b)) (a b) ((a > b) (a == b)) (!(a > b)) (a b) ((a < b) (a == b)) ((a b) && (a b)) (a == b) ((a b) (a < b)) true και ((a > b) (a b)) true [(Α (!A)) true] ((a b) && (a < b)) false και ((a > b) && (a b)) false [(Α && (!A)) false] (Α && (Β C)) ((Α && Β) (Α && C)) (Α (Β && C)) ((Α Β) && (Α C)) (!(Α Β)) ((!Α) && (!Β)) (!(Α && Β)) ((!Α) (!Β)) και οι συμπερασματικοί κανόνες (1)-(6) της A.4. Ασκήσεις Α-1 Απόδειξε ότι: α) (A B) ((! A) B) β) A (A B) και B (A B) Α-2 Απόδειξε ότι: α) (Α xor Β) ((Α Β) && (!(Α && Β))) β) (Α xor Β) ((Α && (!Β)) ((!Α) && Β)) γ) (Α xor Β) (!(Α Β))

14 1092 Παράρτημα Α

15 παράρτημα B Μαθηματικές Συναρτήσεις Βάζοντας στο πρόγραμμά σου την οδηγία #include <cmath> μπορείς να χρησιμοποιήσεις τις μαθηματικές συναρτήσεις που σου δίνει η C++ και τις έχει κληρονομήσει από τη C. Στον πίνακα, στις επόμενες δύο σελίδες, αντιγράψαμε τα χαρακτηριστικά αυτών των συναρτήσεων. Όπως θα δεις, όλες σχεδόν οι συναρτήσεις υπάρχουν σε δύο μορφές: μια για τον τύπο και μια για τον τύπο long. Η abs() για την απόλυτη τιμή υπάρχει σε τέσσερις διαφορετικούς τύπους: abs() (int), labs() (long), fabs() (), fabsl() (long ). Να πώς θα διαβάζεις τον πίνακα: Στη στήλη 1 (Τι δίνει) βλέπεις την τιμή της συνάρτησης, π.χ. «τόξο εφαπτομένης». Στη στήλη 2 βλέπεις το ίδιο πράγμα συμβολικά, π.χ.. Στη στήλη 3 βλέπεις το πλήθος ορισμάτων, π.χ. «2». Αν το πλήθος είναι 1, στη στήλη 2 το όρισμα παριστάνεται ως a. Αν το πλήθος είναι 2, τότε το πρώτο όρισμα παριστάνεται ως a1 και το δεύτερο ως a2. Στις επόμενες τρεις στήλες, για το παράδειγμά μας βλέπεις τα εξής: Υπάρχει μια συνάρτηση με όνομα atan2 (στ. 4), που παίρνει δύο ορίσματα τύπου (στ. 5) και επιστρέφει τιμή τύπου (στ. 6). Ακόμη: Υπάρχει μια συνάρτηση με όνομα atan2l (στ. 4), που παίρνει δύο ορίσματα τύπου long (στ. 5) και επιστρέφει τιμή τύπου long (στ. 6). 1093

16 1094 Παράρτημα B Αριθμητικές Συναρτήσεις της C++ Επικεφαλίδες στο cmath Τι δίνει Ορισμός Πλ. Όνομα Τύπος Ορίσματος Τύπος Συνάρτησης Ορισ απόλυτη τιμή a 1 abs labs int long int long fabs long long fabsl στρογγ. στον a 1 floor πλησ. μικρότ. floorl long long ακέραιο στρογγ. στον a 1 ceil πλησ. μεγαλ. ceill long long ακέραιο. υπόλοιπο a 1 mod a 2 2 fmod fmodl τετραγ. ρίζα 1 sqrt sqrtl υποτείνουσα 2 hypotl hypotl ημίτονο ημa 1 sin sinl συνημίτονο συνa 1 cos cosl εφαπτομένη εφa 1 tan tanl τόξο ημιτόνου τοξημa 1 asin asinl τόξο τοξσυνa 1 acos συνημιτόνου acosl τόξο τοξεφa 1 atan εφαπτομένης atanl τόξο 2 atan2 εφαπτομένης atan2l εκθετική 1 exp expl υπερβολικό sinha 1 sinh ημίτονο sinhl υπερβολικό cosha 1 cosh συνημίτονο coshl υπερβολική tanha 1 tanh εφαπτομένη tanhl φυσικός lna 1 log λογάριθμος logl δεκαδικός λογa 1 log10 λογάριθμος log10l δύναμη 2 pow powl δύναμη του a 1 pow10 pow10l long long long long long long long long long long long long long long long long long int int long long long long long long long long long long long long long long long long long long

17 παράρτημα C Λέξεις-Κλειδιά της C++ Στον Πίν. C-1, παρακάτω, βλέπεις τις λέξεις-κλειδιά της C++ (που δεν επιτρέπεται να χρησιμοποιηθούν ως ονόματα) όπως δίνονται στο (ISO 2011). Οι λέξεις που σημειώνονται με αστερίσκο δεν υπήρχαν στο (ISO 2003). Πίν. C-1: Λέξεις-κλειδιά της C++ alignas * continue friend register true alignof * decltype * goto reinterpret_cast try asm default if return typedef auto delete inline short typeid bool do int signed typename break long sizeof union case dynamic_cast mutable static unsigned catch else namespace static_assert * using char enum new static_cast virtual char16_t * explicit noexcept * struct void char32_t * export nullptr * switch volatile class extern operator template wchar_t const false private this while constexpr * float protected thread_local * const_cast for public throw Στον επόμενο Πίν. C-2 δίνουμε λέξεις-κλειδιά της C++, που δεν υπήρχαν στη C και έ- χουν σχέση με λογικές πράξεις και ψηφιοπράξεις. Είναι πολύ πιθανόν ο μεταγλωττιστής που χρησιμοποιείς να μην αναγνωρίζει αυτές τις λέξεις. Η δυνατότητα παράστασης των τελεστών με λέξεις δόθηκε διότι σε ορισμένα εθνικά σύνολα χαρακτήρων, μερικά σύμβολα τελεστών έχουν αντικατασταθεί από γράμματα. Πίν. C-2: Εναλλακτικά Λεξικά Σύμβολα της C++ εναλλακτικό αρχικό εναλλακτικό αρχικό εναλλακτικό αρχικό <% { and && and_eq &= %> } bitor or_eq = <: [ or xor_eq ˆ= :> ] xor ˆ not! %: # compl not_eq!= %:%: ## bitand & Όπως βλέπεις όμως, στην πρώτη στήλη η εναλλακτική παράσταση δεν γίνεται με λέξεις αλλά με ζεύγη χαρακτήρων. Υπάρχουν και εναλλακτικές παραστάσεις με τριάδες χαρακτήρων. Τις βλέπεις στον πίνακα που ακολουθεί. Πίν. C-3: Παράσταση Λεξικών Συμβόλων με 2 ή 3 Χαρακτήρες 2 χαρακτ 3 χαρακτ αρχικό 2 χαρακτ 3 χαρακτ αρχικό 2 χαρακτ 3 χαρακτ αρχικό %:??=??/ # \ <: :>??(??) [ ] <% %>??<??> { }?? ˆ??!??- 1095

18 1096 Παράρτημα C

19 παράρτημα D Πρότυπα Σύνολα Χαρακτήρων Περιεχόμενα: D.1 ISO 646 (ASCII) D.2 Πρότυπο ΕΛΟΤ D.3 Πρότυπο ΕΛΟΤ D.1 ISO 646 (ASCII) Το γνωστό ASCII (American Standard Code for Information Interchange) είναι μια εθνική εκδοχή του διεθνούς προτύπου ISO 646. Αποτελείται από 128 χαρακτήρες που αριθμούνται από το 0 μέχρι το 127. Οι πρώτοι 32 χαρακτήρες (0.. 31) και ο τελευταίος (127) δεν είναι εκτυπώσιμοι (Πίν. Δ-1). Στις θέσεις 48 μέχρι 57 βρίσκονται τα ψηφία του δεκαδικού συστήματος, κατ' αύξουσα τάξη: static_cast<char>(48)='0' και static_cast<char>(57)='9' Στις θέσεις 65 μέχρι 90 βρίσκονται τα κεφαλαία γράμματα του λατινικού αλφαβήτου σε αλφαβητική διάταξη. Στις θέσεις 97 μέχρι 122 βρίσκονται τα πεζά γράμματα του λατινικού αλφαβήτου. Η θέση ενός κεφαλαίου γράμματος από το αντίστοιχο πεζό διαφέρει κατά 32: static_cast<int>(κεφαλαίο) == static_cast<int>(πεζό)-32 Οι χαρακτήρες των θέσεων 0 μέχρι 31 δίνονται από το πληκτρολόγιο ως εξής: με πιεσμένο το πλήκτρο <Ctrl> πιέζουμε τον χαρακτήρα που βρίσκεται στο σύνολο μετά από 64 θέσεις. Π.χ. αν θέλουμε να δώσουμε τον χαρακτήρα <ETX> = static_cast<char>(3), με πιεσμένο το πλήκτρο <Ctrl> πιέζουμε το πλήκτρο <C> ('C' = static_cast<char>(67)). Αυτή η πληκτρολόγηση συμβολίζεται και ως <Ctrl-C> ή "^C". Το τι θα πετύχεις με μια τέτοια πληκτρολόγηση δεν καθορίζεται από κανένα πρότυπο, αλλά εξαρτάται από το πρόγραμμα που θα δεχτεί την πληκτρολόγηση. Αν προσπαθήσεις να «γράψεις» μερικούς από αυτούς τους χαρακτήρες, δεν θα δεις κάποιο σύμβολο να εμφανίζεται στην οθόνη σου αλλά θα κάποια άλλη λειτουργία. Π.χ. συνηθέστατα γράψιμο των παρακάτω χαρακτήρων έχουν τα εξής αποτελέσματα: BEL (static_cast<char>(7)): «Γράφοντας» αυτόν τον χαρακτήρα cout<<static_cast<char>(7) ή cout << '\a' στην οθόνη του τερματικού μας, μάλλον δεν θα δούμε κάτι αλλά θα το ακούσουμε: θα ηχήσει το μεγάφωνό του (alert). BS (static_cast<char>(8)): «Γράψιμο» αυτού του χαρακτήρα cout<<static_cast<char>(8) ή cout << '\b' έχει ως αποτέλεσμα να σβηστεί ο προηγούμενος χαρακτήρας που είχε γραφεί (Back Space). 1097

20 1098 Παράρτημα D 0 NUL 16 DLE 32 SP P 96 ` 112 p 1 SOH 17 DC1 33! A 81 Q 97 a 113 q 2 STX 18 DC2 34 " B 82 R 98 b 114 r 3 ETX 19 DC3 35 # C 83 S 99 c 115 s 4 EOT 20 DC4 36 $ D 84 T 100 d 116 t 5 ENQ 21 NAK 37 % E 85 U 101 e 117 u 6 ACK 22 SYN 38 & F 86 V 102 f 118 v 7 BEL 23 ETB 39 ' G 87 W 103 g 119 w 8 BS 24 CAN 40 ( H 88 X 104 h 120 x 9 HT 25 EM 41 ) I 89 Y 105 i 121 y 10 LF 26 SUB 42 * 58 : 74 J 90 Z 106 j 122 z 11 VT 27 ESC ; 75 K 91 [ 107 k 123 { 12 FF 28 FS 44, 60 < 76 L 92 \ 108 l CR 29 GS = 77 M 93 ] 109 m 125 } 14 SO 30 RS > 78 N 94 ^ 110 n 126 ~ 15 SI 31 US 47 / 63? 79 O 95 _ 111 o 127 DEL Πίν. Δ-1 Πρότυπο Σύνολο Χαρακτήρων ISO 646 (ASCII). HT (static_cast<char>(9)): Με cout<<static_cast<char>(9) ή cout << '\t' συνεχίζεις το γράψιμο από τον επόμενο οριζόντιο στηλοθέτη (Horizontal Tab). LF (static_cast<char>(10)): Με cout<<static_cast<char>(10) ή cout << '\n' κατεβάζεις τον οθονοδείκτη στην επόμενη γραμμή (Line Feed). VT (static_cast<char>(11)): Με cout<<static_cast<char>(11) ή cout << '\v' συνεχίζεις το γράψιμο από τον επόμενο κατακόρυφο στηλοθέτη (Vertical Tab). FF (static_cast<char>(12)): Με cout<<static_cast<char>(12) ή cout << '\f' καθαρίζεις την οθόνη (στον εκτυπωτή αλλάζεις σελίδα) (Form Feed). CR (static_cast<char>(13)): Με cout << static_cast<char>(13) ή cout << '\r' φέρνεις τον οθονοδείκτη στην αρχή της γραμμής (Carriage Return). DEL (static_cast<char>(127)): Σβήνει τη γραμμή που βρίσκεται (DElete Line). Ο static_cast<char>(26) (<Ctrl>Ζ), στο MS DOS, σημειώνει το τέλος ενός αρχείου text. Σε άλλα συστήματα το ίδιο πράγμα γίνεται με τον <ETX> (static_cast<char>(3) = ^C - End of TeXt). Τα συμβολικά ονόματα των χαρακτήρων ελέγχου ξεκινούν από τη λειτουργία τους στις επικοινωνίες. D.2 Πρότυπο ΕΛΟΤ 928 Το Πρότυπο ΕΛΟΤ 928 (Πίν. Δ-3), βγήκε από τη Τεχνική Επιτροπή 48 που λειτουργεί με ευθύνη των ΕΛΟΤ και ΕΛΚΕΠΑ. Στις θέσεις και δεν υπάρχουν εκτυπώσιμοι χαρακτήρες, σύμφωνα με τους κανόνες του ISO και με τα πρότυπα της σειράς ISO Θα τονίσουμε την παρουσία δυο χαρακτήρων: NBSP (static_cast<char>(160)): No-Break SPace = Διάστημα Χωρίς Διακοπή. "Γράφεται" όπως το διάστημα. Η παρουσία του δείχνει σε προγράμματα μορφοποίησης κειμένων (text formatters) ότι στο σημείο αυτό δεν θα πρέπει να γίνει διακοπή του κειμένου με αλλαγή γραμμής. SHY (static_cast<char>(173)): Soft HYphen = Μη-Σταθερό Ενωτικό. Γράφεται όπως η παύλα (static_cast<char>(45)). Η παρουσία του δείχνει σε προγράμματα μορφοποίησης

21 Πρότυπα Σύνολα Χαρακτήρων NUL 32 SP 96 ` NBSP 192 ΐ 224 ΰ 1 SOH 33! 65 A 97 a Α 225 α 2 STX 34 " 66 B 98 b Β 226 β 3 ETX 35 # 67 C 99 c Γ 227 γ 4 EOT 36 $ 68 D 100 d Δ 228 δ 5 ENQ 37 % 69 E 101 e Ε 229 ε 6 ACK 38 & 70 F 102 f Ζ 230 ζ 7 BEL 39 ' 71 G 103 g Η 231 η 8 BS 40 ( 72 H 104 h Θ 232 θ 9 HT 41 ) 73 I 105 i Ι 233 ι 10 LF 42 * 74 J 106 j Κ 234 κ 11 VT K 107 k «203 Λ 235 λ 12 FF 44, 76 L 108 l Μ 236 μ 13 CR M 109 m SHY 205 Ν 237 ν 14 SO N 110 n Ξ 238 ξ 15 SI 47 / 79 O 111 o Ο 239 ο 16 DLE P 112 p Π 240 π 17 DC Q 113 q ± 209 Ρ 241 ρ 18 DC R 114 r ² 242 ς 19 DC S 115 s ³ 211 Σ 243 σ 20 DC T 116 t Τ 244 τ 21 NAK U 117 u Υ 245 υ 22 SYN V 118 v Ά 214 Φ 246 φ 23 ETB W 119 w Χ 247 χ 24 CAN X 120 x Έ 216 Ψ 248 ψ 25 EM Y 121 y Ή 217 Ω 249 ω 26 SUB 58 : 90 Z 122 z Ί 218 Ϊ 250 ϊ 27 ESC 59 ; 91 [ 123 { » 219 Ϋ 251 ϋ 28 FS 60 < 92 \ Ό 220 ά 252 ό 29 GS 61 = 93 ] 125 } ½ 221 έ 253 ύ 30 RS 62 > 94 ^ 126 ~ Ύ 222 ή 254 ώ 31 US 63? 95 _ 127 DEL Ώ 223 ί 255 Πίν. Δ-2 Πρότυπο Σύνολο Χαρακτήρων ΕΛΟΤ 928. κειμένων ότι στο σημείο αυτό μπορεί να εισαχθεί ή να αφαιρεθεί μια παύλα χωρισμού λέξης (τέλος συλλαβής). Στο περιβάλλον MS Windows χρησιμοποιείται σύνολο χαρακτήρων που είναι παραλλαγή του ΕΛΟΤ 928 (Πίν. Δ-4). Οι διαφορές βρίσκονται κυρίως στη θέση του 'Ά' και στο ότι στις «απαγορευμένες θέσεις» υπάρχουν εκτυπώσιμοι χαρακτήρες. Στο περιβάλλον Windows χρησιμοποιούνται πολυγλωσσικοί πίνακες χαρακτήρων (με βάση τα πρότυπα ISO 8859 και τις ταυτότητες των συμβόλων) και η προσαρμογή τους σε συγκεκριμένη γλώσσα γίνεται με κατάλληλα προγράμματα. D.3 Πρότυπο ΕΛΟΤ 927 Το Πρότυπο ΕΛΟΤ 927 έγινε για να καλύψει τις ανάγκες παλιών ΗΥ και εκτυπωτών που έχουν σύνολο 128 χαρακτήρων και πρέπει να έχουν δυνατότητα εκτύπωσης (τουλάχιστον κεφαλαίων) ελληνικών και λατινικών χαρακτήρων. Πρακτικά έχει πια αχρηστευθεί.

22 1100 Παράρτημα D

23 παράρτημα E Η Προτεραιότητα των Πράξεων Στον πίνακα, που δίνεται στις επόμενες σελίδες, βλέπεις τα χαρακτηριστικά των πράξεων που έχουμε μάθει μέχρι τώρα. Οι πράξεις δίνονται κατά τη σειρά προτεραιότητας. Δεν βλέπεις την προσεταιριστικότητα των πράξεων, αλλά γι' αυτήν ο κανόνας είναι απλός: η προσεταιριστικότητα των δυϊκών πράξεων, εκτός από την εκχώρηση, είναι από τα αριστερά προς τα δεξιά, η προσεταιριστικότητα των ενικών πράξεων και της εκχώρησης είναι από τα δεξιά προς τα αριστερά. Για παράδειγμα: η a + b + c υπολογίζεται ως (a + b) + c, ενώ η a = b = c υπολογίζεται ως a = (b = c). Αλλά προσοχή! Αν έχουμε a*b + c/d + f(e) ο παραπάνω κανόνας μας λέει μόνον ότι ο υπολογισμός θα γίνει ως εξής: (a*b + c/d) + f(e). Δεν μας εγγυάται ότι πρώτα θα υπολογιστεί η (a*b + c/d) και μετά η f(e). Δεν μας εγγυάται ότι πρώτα θα υπολογιστεί η a*b και μετά η c/d. Κάθε υλοποίηση της C++ θα κάνει τους υπολογισμούς με τη σειρά που "θέλει". Αν θέλεις να επιβάλεις συγκεκριμένη σειρά εκτέλεσης των πράξεων θα πρέπει να σπάσεις την παράσταση σε μικρότερες και να τις γράψεις με την κατάλληλη σειρά. Όταν υπολογίζεται μια αριθμητική παράσταση γίνονται και ορισμένες μετατροπές τύπων, που θα τις ονομάζουμε Συνήθεις Αριθμητικές Μετατροπές (ΣΑΜ). Ας πούμε ότι έχουμε κάποια πράξη a θ b. Τότε: 1. Αν κάποια από τις τιμές a, b είναι τύπου long, τότε μετατρέπεται στον τύπο long και η άλλη τιμή. 2. Αλλιώς, αν κάποια από τις τιμές a, b είναι τύπου, τότε μετατρέπεται στον τύπο και η άλλη τιμή. 3. Αλλιώς, αν κάποια από τις τιμές a, b είναι τύπου float, τότε μετατρέπεται στον τύπο float και η άλλη τιμή. 4. Αλλιώς, τα a και b (είναι ακέραιου τύπου) υφίστανται ακέραιη προαγωγή (integral promotion), δηλαδή: αν κάποια (ή και οι δύο) από τις τιμές a, b είναι "μικρού ακέραιου τύπου" (char, short int, signed ή unsigned), αυτή μετατρέπεται σε τύπο int ή unsigned int (αν δεν μπορεί να παρασταθεί στον int) και στη συνέχεια αν κάποια από τις τιμές a, b είναι τύπου unsigned long, τότε μετατρέπεται στον τύπο unsigned long και η άλλη τιμή. 1101

24 1102 Παράρτημα E Προτ ερ. Πράξεις και Προτεραιότητες Τελεστής Σύμβολα 0 Παράστ. σε παρενθέσεις (παράσταση) 1 Επίλυση Εμβέλειας Καθολικό όνομα κλάσης::μέλος όνομα ονοματοχώρου::μέλος ::αναγνωριστικό 2 Επιλογή μέλους Στοιχείο Πίνακα (δείκτης) Κλήση Συνάρτησης Κατασκευή τιμής Μεταθεματικές Παραστάσεις Χαρακτηριστικά Τύπου Ελεγχ. μετατρ. τύπου (εκτ) Μετατροπή τύπου (μετγλ.) Μη ελεγχ. μετατρ. τύπου(εκτ) Μετατροπή const 3 Μέγεθος Προθεματικές Παραστ. Συμπλήρωμα (ψηφιοπρ.) Λογική Άρνηση Πρόσημα Διεύθυνση Αποπαραπομπή Δημιουργία Δυν. Μετ. Δημ Δυν. Μετ. με αρχ. τιμή Δημιουργία σε θέση Δημ. σε θέση με αρχ. τιμή Καταστροφή Καταστροφή πίνακα Τυποθεώρηση (C) 5. Αλλιώς, αν κάποια από τις τιμές a, b είναι τύπου long int και η άλλη unsigned int, τότε αν κάθε τιμή unsigned int μπορεί να παρασταθεί σε long int η τιμή unsigned int μετατρέπεται στον τύπο long int αλλιώς και οι δύο μετατρέπονται σε unsigned long int. 6. Αλλιώς, αν κάποια από τις τιμές a, b είναι τύπου long, τότε μετατρέπεται σε long και η άλλη τιμή. 7. Αλλιώς, αν κάποια από τις τιμές a, b είναι τύπου unsigned, τότε μετατρέπεται στον τύπο unsigned και η άλλη τιμή. 8. Αλλιώς και οι δυο τιμές είναι τύπου int. αντικείμενο.μέλος, βέλος->μέλος βέλος[] όνομα(λίστα παραστάσεων) τύπος(λίστα παραστάσεων) τιμή-l++ τιμή-l-- typeid(παράσταση), typeid(τύπος) dynamic_cast< τύπος>(παράσταση) static_cast< τύπος>(παράσταση) reinterpret_cast<τύπος>(παράσταση) const_cast<τύπος>(παράσταση) sizeof παράσταση, sizeof(τύπος) ++ τιμή-l, -- τιμή-l ~ παράσταση! παράσταση - παράσταση, + παράσταση & όνομα * παράσταση new τύπος new τύπος (παράσταση) new (παράσταση) τύπος new (παράσταση) τύπος (παράσταση) delete βέλος delete [] βέλος (όνομα) παράσταση 4 Επιλογή μέλους αντικείμενο.*βέλος προς μέλος βέλος->*βέλος προς μέλος 5 Πολλαπλασιασμός Διαίρεση Υπόλοιπο 6 Πρόσθεση Αφαίρεση παράσταση * παράσταση παράσταση / παράσταση παράσταση % παράσταση παράσταση + παράσταση παράσταση - παράσταση

25 Η Προτεραιότητα των Πράξεων 1103 Προτ ερ. 5 Πολλαπλασιασμός Διαίρεση Υπόλοιπο 6 Πρόσθεση Αφαίρεση 7 Ολίσθηση αριστερά Ολίσθηση δεξιά 8 Μικρότερο Μικρότερο ή ίσο Μεγαλύτερο Μεγαλύτερο ή ίσο 9 Ίσο Διάφορο Πράξεις και Προτεραιότητες (συνέχεια) Τελεστής Σύμβολα παράσταση * παράσταση παράσταση / παράσταση παράσταση % παράσταση παράσταση + παράσταση παράσταση - παράσταση παράσταση << παράσταση παράσταση >> παράσταση παράσταση < παράσταση παράσταση <= παράσταση παράσταση > παράσταση παράσταση >= παράσταση παράσταση == παράσταση παράσταση!= παράσταση 10 Ψηφιοπράξη and παράσταση & παράσταση 11 Ψηφιοπράξη xor παράσταση ^ παράσταση 12 Ψηφιοπράξη or παράσταση παράσταση 13 Λογικό and παράσταση && παράσταση 14 Λογικό or παράσταση παράσταση 15 Απλή εκχώρηση Πολλαπλασιαστική Εκχ. Διαιρετική Εκχώρηση Διαίρεση Υπολοίπου Προσθετική Εκχώρηση Αφαιρετική Εκχώρηση Εκχώρ. με αριστ. ολίσθηση Εκχώρ. με δεξιά ολίσθηση Εκχώρ. με ψηφιοπρ. and Εκχώρ. με ψηφιοπρ. or Εκχώρ. με ψηφιοπρ. xor τιμή-l = παράσταση τιμή-l *= παράσταση τιμή-l /= παράσταση τιμή-l %= παράσταση τιμή-l += παράσταση τιμή-l -= παράσταση τιμή-l <<= παράσταση τιμή-l >>= παράσταση τιμή-l &= παράσταση τιμή-l = παράσταση τιμή-l ^= παράσταση 16 Υπό Συνθήκη παράσταση? παράσταση : παράσταση 17 Εξαίρεση throw παράσταση 18 Ακολουθία Παραστάσεων παράσταση, παράσταση Οι ΣΑΜ εφαρμόζονται όταν γίνονται οι πράξεις +, -, *, / μεταξύ αριθμητικών τιμών και καθορίζουν τον τύπο του αποτελέσματος. Ακέραιη προαγωγή γίνεται και στις ενικές πράξεις +, - (πρόσημα). Ο τύπος του αποτελέσματος είναι αυτός που προκύπτει από την προώθηση.

26 1104 Παράρτημα E

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

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

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 5: Κυριολεκτικά Συνδυασμοί / Μετατροπές Τύπων Αριθμητική Χαρακτήρων Κυριολεκτικά (literals) 2 Κάποιες μεταβλητές του προγράμματος πρέπει συνήθως να αρχικοποιηθούν με συγκεκριμένη

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

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

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 5: H ΓΛΩΣΣΑ C++ Δομές Ελέγχου ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Δομές Ελέγχου Εισαγωγή Πριν

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

Προγραμματισμός Ι (HY120)

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY120) #4 κυριολεκτικά & μετατροπή τύπων 1 Σπύρος Λάλης Κυριολεκτικά (literals) Συχνά θέλουμε να αρχικοποιήσουμε μεταβλητές του προγράμματος με μια συγκεκριμένη τιμή υπάρχει επίσης η

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ 1 Τύποι δεδομένων Η γλώσσα προγραμματισμού C++ υποστηρίζει τους παρακάτω τύπους δεδομένων: 1) Ακέραιοι αριθμοί (int). 2) Πραγματικοί αριθμοί διπλής ακρίβειας

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

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

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

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

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

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

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Άδειες Χρήσης ΥΠΟΛΟΓΙΣΤΕΣ ΙI Τύποι δεδομένων, μεταβλητές, πράξεις Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης Το παρόν εκπαιδευτικό

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

Στοιχειώδης προγραμματισμός σε C++

Στοιχειώδης προγραμματισμός σε C++ Στοιχειώδης προγραμματισμός σε C++ Σύντομο Ιστορικό. Το πρόγραμμα Hello World. Ο τελεστής εξόδου. Μεταβλητές και δηλώσεις τους. Αντικείμενα, μεταβλητές, σταθερές. Ο τελεστής εισόδου. Θεμελιώδεις τύποι.

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

Κεφάλαιο 1. Συστήματα αρίθμησης και αναπαράστασης

Κεφάλαιο 1. Συστήματα αρίθμησης και αναπαράστασης Κεφάλαιο 1 Συστήματα αρίθμησης και αναπαράστασης 1.1 Εισαγωγή Οι υπολογιστές αναπαριστούν όλα τα είδη πληροφορίας ως δυαδικά δεδομένα. Έτσι, για την ευκολότερη και ταχύτερη επεξεργασία των διαφόρων πληροφοριών,

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

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 23 ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μάθημα 2ο Τμήμα Διοίκησης Επιχειρήσεων α εξάμηνο Β. Φερεντίνος I/O 24 Βασική βιβλιοθήκη συναρτήσεων εισόδου/εξόδου #include Η συνάρτηση εξόδου printf printf("συμβολοσειρά

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής

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

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

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

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

Ψηφιακά Συστήματα. 2. Κώδικες

Ψηφιακά Συστήματα. 2. Κώδικες Ψηφιακά Συστήματα 2. Κώδικες Βιβλιογραφία 1. Φανουράκης Κ., Πάτσης Γ., Τσακιρίδης Ο., Θεωρία και Ασκήσεις Ψηφιακών Ηλεκτρονικών, ΜΑΡΙΑ ΠΑΡΙΚΟΥ & ΣΙΑ ΕΠΕ, 2016. [59382199] 2. Floyd Thomas L., Ψηφιακά ηλεκτρονικά,

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

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting) Εργαστήριο 3: 3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting) Η C++, όπως όλες οι γλώσσες προγραμματισμού, χρησιμοποιεί τελεστές για να εκτελέσει τις αριθμητικές και λογικές λειτουργίες.

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

4. Ο,τιδήποτε δεν ορίζεται με βάση τα (1) (3) δεν είναι προτασιακός τύπος.

4. Ο,τιδήποτε δεν ορίζεται με βάση τα (1) (3) δεν είναι προτασιακός τύπος. Κεφάλαιο 10 Μαθηματική Λογική 10.1 Προτασιακή Λογική Η γλώσσα της μαθηματικής λογικής στηρίζεται βασικά στις εργασίες του Boole και του Frege. Ο Προτασιακός Λογισμός περιλαμβάνει στο αλφάβητό του, εκτός

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

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

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

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

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

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

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

Γλώσσα Προγραμματισμού C

Γλώσσα Προγραμματισμού C Προγραμματισμός ΗΥ: Γλώσσα Προγραμματισμού C Δρ. Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I. Θεσσαλίας Email: savvas@teilar.gr URL: http://teilar.academia.edu/iliassavvas

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

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16

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

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

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

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

K15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων

K15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων K15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Στοιχεία προτασιακής λογικής Περιεχόμενα

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

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΣΤΑΘΕΡΕΣ είναι τα μεγέθη που δεν μεταβάλλονται κατά την εκτέλεση ενός αλγόριθμου. Εκτός από τις αριθμητικές σταθερές (7, 4, 3.5, 100 κλπ), τις λογικές σταθερές (αληθής και ψευδής)

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

Πρόβλημα 29 / σελίδα 28

Πρόβλημα 29 / σελίδα 28 Πρόβλημα 29 / σελίδα 28 Πρόβλημα 30 / σελίδα 28 Αντιμετάθεση / σελίδα 10 Να γράψετε αλγόριθμο, οποίος θα διαβάζει τα περιεχόμενα δύο μεταβλητών Α και Β, στη συνέχεια να αντιμεταθέτει τα περιεχόμενά τους

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

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

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

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

Εισαγωγή στο προγραμματισμό Η/Υ C++ (Orwell Dev-C++)

Εισαγωγή στο προγραμματισμό Η/Υ C++  (Orwell Dev-C++) Εισαγωγή στο προγραμματισμό Η/Υ C++ http://users.auth.gr/~ppi/cpp (Orwell Dev-C++) http://orwelldevcpp.blogspot.gr Ηλεκτρονικός Υπολογιστής Hardware Software (Λογισμικό) Λογισμικό Συστήματος Λογισμικό

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

επιµέλεια Θοδωρής Πιερράτος

επιµέλεια Θοδωρής Πιερράτος Βασικές έννοιες προγραµµατισµού Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως,

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

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

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

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

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

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ ) Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ. 147 159) Για τις γλώσσες προγραμματισμού πρέπει να έχουμε υπόψη ότι: Κάθε γλώσσα προγραμματισμού σχεδιάζεται για συγκεκριμένο σκοπό, δίνοντας ιδιαίτερη

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

Περιεχόμενα 1 Πρωτοβάθμια Λογική Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων ) / 60

Περιεχόμενα 1 Πρωτοβάθμια Λογική Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων ) / 60 Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

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

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

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

Εισαγωγή στη γλώσσα προγραμματισμού C++

Εισαγωγή στη γλώσσα προγραμματισμού C++ Εισαγωγή στη γλώσσα προγραμματισμού C++ Περιβάλλον Εργασίας 2 Περιβάλλον Εργασίας 1. Χρήση απλού κειμενογράφου και Μεταγλωττιστή 2. Ολοκληρωμένα Περιβάλλοντα Εργασίας (Integrated Development Environments)

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

Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο. Τι θα τυπωθεί στον παρακάτω κώδικα;

Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο. Τι θα τυπωθεί στον παρακάτω κώδικα; Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο Τι θα τυπωθεί στον παρακάτω κώδικα; Ρητή μετατροπή αριθμητικής τιμής σε άλλο τύπο Τι θα τυπωθεί στον παρακάτω κώδικα; Χωρίς να αλλάξουμε τον τύπο των a,b,

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

K15 Ψηφιακή Λογική Σχεδίαση 4+5: Άλγεβρα Boole

K15 Ψηφιακή Λογική Σχεδίαση 4+5: Άλγεβρα Boole K15 Ψηφιακή Λογική Σχεδίαση 4+5: Άλγεβρα Boole Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Ορισμός της δίτιμης άλγεβρας Boole Περιεχόμενα 1 Ορισμός της

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

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

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

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

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ Λογικός τύπος ( ) Ο τύπος είναι κατάλληλoς για την αναπαράσταση ποσοτήτων που μπορούν να πάρουν δύο μόνο τιμές (π.χ. ναι/όχι, αληθές/ψευδές, ). Τιμές ή Δήλωση Εκχώρηση Ισοδυναμία με ακέραιους

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

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

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

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

Κατηγορηματικός Λογισμός (ΗR Κεφάλαιο 2.1-2.5)

Κατηγορηματικός Λογισμός (ΗR Κεφάλαιο 2.1-2.5) Κατηγορηματικός Λογισμός (ΗR Κεφάλαιο 2.1-2.5) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στον Κατηγορηματικό Λογισμό Σύνταξη Κανόνες Συμπερασμού Σημασιολογία ΕΠΛ 412 Λογική στην

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

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 2:Στοιχεία Μαθηματικής Λογικής Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

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

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 4: Τελεστές Τελεστές: Τελεστής Ανάθεσης 2 Το σύμβολο της ανάθεσης είναι το = Προσοχή: το σύμβολο ελέγχου ισότητας είναι το ==. Η μορφή των προτάσεων ανάθεσης είναι:

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

HY118-Διακριτά Μαθηματικά. Προτασιακός Λογισμός. Προηγούμενη φορά. Βάσεις της Μαθηματικής Λογικής. 02 Προτασιακός Λογισμός

HY118-Διακριτά Μαθηματικά. Προτασιακός Λογισμός. Προηγούμενη φορά. Βάσεις της Μαθηματικής Λογικής. 02 Προτασιακός Λογισμός HY118-Διακριτά Μαθηματικά Πέμπτη, 08/02/2018 Το υλικό των Αντώνης διαφανειών Α. Αργυρός έχει βασιστεί σε διαφάνειες του e-mail: Kees argyros@csd.uoc.gr van Deemter, από το University of Aberdeen Προηγούμενη

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

HY118-Διακριτά Μαθηματικά

HY118-Διακριτά Μαθηματικά HY118-Διακριτά Μαθηματικά Πέμπτη, 08/02/2018 Το υλικό των Αντώνης διαφανειών Α. Αργυρός έχει βασιστεί σε διαφάνειες του e-mail: Kees argyros@csd.uoc.gr van Deemter, από το University of Aberdeen 08-Feb-18

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

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 4: Τελεστές Τελεστές: Τελεστής Ανάθεσης 2 Το σύμβολο της ανάθεσης είναι το = Προσοχή: το σύμβολο ελέγχου ισότητας είναι το ==. Η μορφή των προτάσεων ανάθεσης είναι:

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

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 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.

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

Κεφάλαιο 1. Τι θα μάθουμε σήμερα: -AND, OR, NOT. -Ενσωματωμένες συναρτήσεις. -Μαθηματικοί τελεστές -ΤΕΛΕΣΤΕΣ DIV ΚΑΙ MOD. -Προτεραιότητα πράξεων

Κεφάλαιο 1. Τι θα μάθουμε σήμερα: -AND, OR, NOT. -Ενσωματωμένες συναρτήσεις. -Μαθηματικοί τελεστές -ΤΕΛΕΣΤΕΣ DIV ΚΑΙ MOD. -Προτεραιότητα πράξεων Κεφάλαιο 1 Αρχή ήμισυ παντός. Πλάτων, 427-347 π.χ., Φιλόσοφος Τι θα μάθουμε σήμερα: -AND, OR, NOT -Ενσωματωμένες συναρτήσεις -Μαθηματικοί τελεστές -ΤΕΛΕΣΤΕΣ DIV ΚΑΙ MOD -Προτεραιότητα πράξεων 1 Λογικές

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

Μαθηματική Λογική και Λογικός Προγραμματισμός

Μαθηματική Λογική και Λογικός Προγραμματισμός Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων- Σημειώσεις έτους 2007-2008 Καθηγητής Γεώργιος Βούρος Μαθηματική Λογική και Λογικός Προγραμματισμός Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών

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

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

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

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

3 η Διάλεξη C++ - Βασικοί τύποι δεδομένων. Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ

3 η Διάλεξη C++ - Βασικοί τύποι δεδομένων. Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ 3 η Διάλεξη C++ - Βασικοί τύποι δεδομένων Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ Ο τύπος int Ο τύπος δεδομένων τύπου int αναφέρεται στα ακέραια μεγέθη. Σταθερές, μεταβλητές, παραστάσεις και

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

Εισαγωγή στην πληροφορική

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

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

Προγραμματισμός Ι (HY120)

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY120) #3 τελεστές 1 Σπύρος Λάλης Τελεστής ανάθεσης Το σύμβολο της ανάθεσης είναι το = προσοχή: το σύμβολο ελέγχου ισότητας είναι το == Η μορφή των προτάσεων = 1. Αποτιμάται

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

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

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

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

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

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

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

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

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

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

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

ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΑΘΕΡΕΣ ΜΕΤΑΒΛΗΤΕΣ ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ Κεφαλαία και μικρά γράμματα ελληνικού αλφαβήτου: Α Ω και α ω Κεφαλαία και μικρά γράμματα λατινικού αλφαβήτου: A Z και a z Αριθμητικά ψηφία: 0 9 Ειδικοί χαρακτήρες: + - * / =. ( ),! & κενός

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

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

Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον Γ Λυκείου Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον ΜΕΡΟΣ I. ΑΛΓΟΡΙΘΜΟΣ ΦΥΣΙΚΕΣ & ΤΕΧΝΗΤΕΣ ΓΛΩΣΣΕΣ ΑΚΟΛΟΥΘΙΑ Περιεχόμενα Κεφάλαιο 2: 2.1-2.3 2.4.1 Κεφάλαιο6: 6.3 Κεφάλαιο 7: όλο Κατηφόρης Παναγιώτης

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

HY118-Διακριτά Μαθηματικά

HY118-Διακριτά Μαθηματικά HY118-Διακριτά Μαθηματικά Πέμπτη, 15/02/2018 Το υλικό των διαφανειών έχει βασιστεί σε Αντώνης διαφάνειες Α. Αργυρός του Kees van e-mail: argyros@csd.uoc.gr Deemter, από το University of Aberdeen 15-Feb-18

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

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Σύντομες εισαγωγικές σημειώσεις για την. Matlab Σύντομες εισαγωγικές σημειώσεις για την Matlab Δήλωση Μεταβλητών Για να εισάγει κανείς δεδομένα στη Matlab υπάρχουν πολλοί τρόποι. Ο πιο απλός είναι στη γραμμή εντολών να εισάγουμε αυτό που θέλουμε και

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

! Δεν μπορούν να λυθούν όλα τα προβλήματα κάνοντας χρήση του παρ/λου προγ/σμου ΑΡΧΗ ΝΑΙ Διάβα σε a Εκτύπ ωσε a > a 0 ΟΧΙ ΤΕΛΟΣ Σύμβολα διαγράμματος ροής 1 Ακέραιος τύπος 14 0-67 2 Πραγματικός τύπος

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

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

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

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

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

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

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

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

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

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

Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου

Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου Εργαστήριο 2: Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας Προγραμματισμού

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

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

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

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

Εισαγωγή στην πληροφορική

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

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

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

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

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

Κεφάλαιο 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 Λογικές παραστάσεις Σχεσιακοί

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Δεύτερη Διάλεξη Βασικά στοιχεία της γλώσσας προγραμματισμού C Μία γλώσσα προγραμματισμού όπως και μια ανθρώπινη γλώσσα μπορεί να μελετηθεί ως προς το αλφάβητό της,

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

1. Τι ονομάζουμε αλγόριθμο; Δώστε παράδειγμα.

1. Τι ονομάζουμε αλγόριθμο; Δώστε παράδειγμα. 1. Τι ονομάζουμε αλγόριθμο; Δώστε παράδειγμα. ΑΠΑΝΤΗΣΗ Ορισμός: Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός

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

p p 0 1 1 0 p q p q p q 0 0 0 0 1 0 1 0 0 1 1 1 p q

p p 0 1 1 0 p q p q p q 0 0 0 0 1 0 1 0 0 1 1 1 p q Σημειώσεις του Μαθήματος Μ2422 Λογική Κώστας Σκανδάλης ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ 2010 Εισαγωγή Η Λογική ασχολείται με τους νόμους ορθού συλλογισμού και μελετά τους κανόνες βάσει των οποίων

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ 1 Πράξεις με μπιτ 2 ΑριθμητικέςΠράξειςσεΑκέραιους Πρόσθεση, Αφαίρεση, Πολλαπλασιασμός, Διαίρεση Ο πολλαπλασιασμός

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

Σημειώσεις Λογικής I. Εαρινό Εξάμηνο Καθηγητής: Λ. Κυρούσης

Σημειώσεις Λογικής I. Εαρινό Εξάμηνο Καθηγητής: Λ. Κυρούσης Σημειώσεις Λογικής I Εαρινό Εξάμηνο 2011-2012 Καθηγητής: Λ. Κυρούσης 2 Τελευταία ενημέρωση 28/3/2012, στις 01:37. Περιεχόμενα 1 Εισαγωγή 5 2 Προτασιακή Λογική 7 2.1 Αναδρομικοί Ορισμοί - Επαγωγικές Αποδείξεις...................

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

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΡΑΞΕΙΣ. Παράδειγμα #1. Πράξεις μεταξύ ακεραίων αριθμών

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΡΑΞΕΙΣ. Παράδειγμα #1. Πράξεις μεταξύ ακεραίων αριθμών ΥΠΟΛΟΓΙΣΤΕΣ Ι ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΡΑΞΕΙΣ Τύποι δεδομένων Οι παρακάτω τύποι δεδομένων υποστηρίζονται από τη γλώσσα προγραμματισμού Fortran: 1) Ακέραιοι αριθμοί (INTEGER). 2) Πραγματικοί αριθμοί απλής ακρίβειας

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 2ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΣΦΑΛΜΑΤΑ ΜΕΤΑΓΛΩΤΤΙΣΗΣ Η γλώσσα C κάνει αυστηρή διάκριση μεταξύ πεζών

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ 1 Πράξεις με μπιτ 2 Αριθμητικές Πράξεις σε Ακέραιους Πρόσθεση, Αφαίρεση, Πολλαπλασιασμός, Διαίρεση Ο πολλαπλασιασμός

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα. ΚΕΦΑΛΑΙΟ 7 ο 1. Επιλογή της κατάλληλης γλώσσας προγραµµατισµού Εκατοντάδες γλώσσες προγραµµατισµού χρησιµοποιούνται όπως αναφέρθηκε σήµερα για την επίλυση των προβληµάτων µε τον υπολογιστή, τη δηµιουργία

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

Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών

Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών TINΑ ΒΡΕΝΤΖΟΥ www.ma8eno.gr www.ma8eno.gr Σελίδα 1 Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών Στους πραγματικούς αριθμούς ορίστηκαν οι

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

Κεφάλαιο 4. Λογική Σχεδίαση

Κεφάλαιο 4. Λογική Σχεδίαση Κεφάλαιο 4 Λογική Σχεδίαση 4.1 Εισαγωγή Λογικές συναρτήσεις ονομάζουμε εκείνες για τις οποίες μπορούμε να αποφασίσουμε αν είναι αληθείς ή όχι. Χειριζόμαστε τις λογικές προτάσεις στην συγγραφή λογισμικού

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

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

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

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

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής Διάλεξη 1 Πράξεις Τελεστές Έλεγχος Ροής Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 Αριθμητικοί Τελεστές- Αριθμητικές Πράξεις 2 Internal use only Αριθμητικοί

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

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

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

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

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

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

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

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης Γ7.1 Επανάληψη ύλης Β Λυκείου Γ Λυκείου Κατεύθυνσης Απλά προγράμματα Ένα πρόγραμμα στη C++ που υπολογίζει το άθροισμα 2 ακέραιων αριθμών. // simple program #include using namespace std; int main(){

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Εκχώρηση Τιμών Εκχώρηση Τιμών 1. Σύνταξη Με την εντολή εκχώρησης: α) Ονομάζουμε μια θέση μνήμης, και β) προσδιορίζουμε το περιεχόμενό της Η σύνταξη της εντολής εκχώρησης είναι: ή

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

Μεταβλητές τύπου χαρακτήρα

Μεταβλητές τύπου χαρακτήρα Μεταβλητές τύπου χαρακτήρα 31 Μαρτίου 014 1 Μεταβλητές τύπου char Για χειρισμό χαρακτήρων η C διαθέτει τον τύπο char. Ο τύπος είναι βαθμωτός δηλαδή ακέραιης αναπαράστασης. Τυπικά έχει μέγεθος ενός byte

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

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

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

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

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

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

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

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

Προγραμματισμός Υπολογιστών με C++

Προγραμματισμός Υπολογιστών με C++ Προγραμματισμός Υπολογιστών με C++ ( 2012-13 ) 2η διάλεξη Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Τι θα ακούσετε σήμερα Βασικοί αριθμητικοί τύποι, μετατροπές τύπων και σταθερές. Πίνακες. Πίνακες

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ 1 Πράξεις με μπιτ 2 Αριθμητικές Πράξεις σε Ακέραιους Πρόσθεση, Αφαίρεση, Πολλαπλασιασμός, Διαίρεση Ο πολλαπλασιασμός

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

Υποθετικές προτάσεις και λογική αλήθεια

Υποθετικές προτάσεις και λογική αλήθεια Υποθετικές προτάσεις και λογική αλήθεια Δρ. Παναγιώτης Λ. Θεοδωρόπουλος Σχολικός Σύμβουλος κλάδου ΠΕ03 www.p-theodoropoulos.gr Περίληψη Στην εργασία αυτή επιχειρείται μια ερμηνεία της λογικής αλήθειας

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

7.1 Αλφάβητο. 7.2 Τύποι δεδομένων. 7.3 Σταθερές. 7.4 Μεταβλητές. 7.5 Αριθμητικοί τελεστές. 7.6 Συναρτήσεις. 7.7 Αριθμητικές εκφράσεις. 7.

7.1 Αλφάβητο. 7.2 Τύποι δεδομένων. 7.3 Σταθερές. 7.4 Μεταβλητές. 7.5 Αριθμητικοί τελεστές. 7.6 Συναρτήσεις. 7.7 Αριθμητικές εκφράσεις. 7. 7.1 Αλφάβητο. 7.2 Τύποι δεδομένων. 7.3 Σταθερές. 7.4 Μεταβλητές. 7.5 Αριθμητικοί τελεστές. 7.6 Συναρτήσεις. 7.7 Αριθμητικές εκφράσεις. 7.8 Εντολή εκχώρησης. 7.1 7.9 Εντολές εισόδου εξόδου. 7.10 Δομή προγράμματος.

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

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

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

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

Φυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος

Φυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος Φυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος Ενότητες βιβλίου: 6.3, 7.1-7.6, 7.10, 8.1 Ώρες διδασκαλίας: 2 Φυσικές

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

Κεφάλαιο 2 Η έννοια και η παράσταση της πληροφορίας στον ΗΥ. Εφ. Πληροφορικής Κεφ. 2 Καραμαούνας Πολύκαρπος 1

Κεφάλαιο 2 Η έννοια και η παράσταση της πληροφορίας στον ΗΥ. Εφ. Πληροφορικής Κεφ. 2 Καραμαούνας Πολύκαρπος 1 Κεφάλαιο 2 Η έννοια και η παράσταση της πληροφορίας στον ΗΥ Καραμαούνας Πολύκαρπος 1 2.1Η έννοια της πληροφορίας Δεδομένα Πληροφορία Καραμαούνας Πολύκαρπος 2 2.2 ΗΥ Το βασικό εργαλείο επεξεργασίας και

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

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS.

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS. Εισαγωγή στη JAVA Σύντομο Ιστορικό Η Java και το διαδίκτυο Το πρώτο απλό πρόγραμμα σε JAVA Μεταβλητές και σταθερές Παραστάσεις και εντολές Οι βασικοί τύποι δεδομένων στη Java Οι βασικοί Τελεστές στη Java

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