Τύποι δεδομένων και τελεστές,

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΘΕΩΡΙΑ ΔΙΑΛΕΞΗ 4 Αριθμητικές εκφράσεις και πράξεις Εντολές ανάθεσης
Advertisements

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 9: Διανύσματα και λίστες.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΙΑΔΙΚΑΣΤΙΚΟ ΠΡΟΓΡΑΜMΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ – ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ.
Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 3: Υλοποίηση μεθόδων.
Εντολες Επιλογης (Selection)
Εισαγωγή στο MATLAB.
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Φροντιστήρια Εισηγητής: Σπύρος Αργυρόπουλος Μέλος ΕΤΕΠ Εργαστήριο Προγραμματισμού & Τεχνολογίας Ευφυών Συστημάτων.
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
ΗΥ-150 Προγραμματισμός Εντολές Ελέγχου Ροής.
Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 1 Week 6: Java Collections Εβδομάδα 6: Συλλογές δεδομένων στην Java.
Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 1 Week 4: Exceptions Εβδομάδα 4: Εξαιρέσεις [Exceptions]
Τελεστές ανάθεσης (assignment)
Προγραμματισμός στο ΜatLab
Εισαγωγή στον Προγραμματισμό (στη γλώσσα Java)
Αντικείμενα, Κλάσεις και Μέθοδοι
Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 7: Συμβολοσειρές.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΛΕΣΤΕΣ - ΕΚΦΡΑΣΕΙΣ ΜΑΘΗΜΑ 4.
ΦΡΟΝΤΙΣΤΗΡΙΟ 1-β.
ΕΠΑΝΑΛΗΨΗΕΠΑΝΑΛΗΨΗ ΠΡΟΓΡΑΜΜΑΤΑ. ΠΡΟΓΡΑΜΜΑ 1 ΕΞΗΓΗΣΤΕ ΤΙ ΕΞΟΔΟ ΠΑΡΑΓΕΙ ΤΟ ΠΑΡΑΚΑΤΩ ΠΡΟΓΡΑΜΜΑ #include int main() { char ch; int i; float fl; printf("dose.
ΤΕΛΕΣΤΕΣ II ΜΑΘΗΜΑ 5.
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
1 Ολυμπιάδα Πληροφορικής Μάθημα 2. 2 Στόχοι μαθήματος Αριθμητικοί– Λογικοί Τελεστές Η εντολή IF.
Microsoft Excel 4.4 Τύποι και Συναρτήσεις
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II.
ΓΕΝΙΚΕΣ ΟΔΗΓΙΕΣ ΔΙΔΑΣΚΑΛΙΑΣ & ΕΝΔΕΙΚΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΛΗΣ
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΙΑΔΙΚΑΣΤΙΚΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ – ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ.
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης.
Προγραμματισμός ΙΙ Διάλεξη #5: Εντολές Ανάθεσης Εντολές Συνθήκης Δρ. Νικ. Λιόλιος.
Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 11: Εκτέλεση Java χωρίς το BlueJ.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές.
Δηλαδή οι σημαντικοί δεν ασχολούνται με μικροπράγματα.
Αντικειμενοστραφής Προγραμματισμός & JAVA
Δρ. Μαρία Ι. Ανδρέου Εισαγωγή στον Αντικειμενόστρεφη Προγραμματισμό (Object-Oriented Programming) Data Types, Variables, and Arithmetic.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΟΣΣ Δεκεμβρίου 2004 Σχεδιασμός Λογισμικού Γλώσσες Προγραμματισμού ΙΙ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ.
ΜΑΘ 3122/106 – Γλώσσα Προγραμματισμού Ξενοφών Ζαμπούλης ΜΑΘ-3122/106 Γλώσσα Προγραμματισμού Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
Τμήμα Πληροφορικής και Τηλεπικοινωνιών
Διαφάνειες παρουσίασης #2
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές.
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Βασικά στοιχεία της Java
Κεφάλαιο 3 Τύποι Δεδομένων - Τελεστές. Πρωτογενείς τύποι δεδομένων: int, float, double, chars ΤύποςΌνομαΜέγεθος byte 8-bit signed, short 16-bit.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Προτάσεις, εκφράσεις, τελεστές Βασικά στοιχεία ελέγχου προγράμματος
Εισαγωγή στον Προγ/μό Η/Υ
Δεδομένα, μεταβλητές, υπολογισμοί
Αντικειμενοστραφής Προγραμματισμός ΙΙ
ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Ενότητα 1: Εισαγωγή στην Αρχιτεκτονική -Ι Ιωάννης Έλληνας Τμήμα Η/ΥΣ
Τύποι Μεταβλητών.
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
Τεχνολογία και Προγραμματισμός Υπολογιστών
Προτασιακή λογική.
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
Η ΑΡΙΘΜΙΤΙΚΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
Μανασσάκης Βασίλης Καθηγητής Πληροφορικής
Εισαγωγή στον Προγ/μό Υπολογιστών
Τελεστές και ή όχι Για την εκτέλεση αριθμητικών πράξεων
Πρωτογενείς τύποι δεδομένων
3.2 Μεταβλητές και τύποι δεδομένων
Ειδικά Θέματα στον προγραμματισμό Υπολογιστών
Εισαγωγή στον Προγραμματισμό με Python, ΑΠΘ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Εισαγωγή στον Προγραμματισμό με Python Εβδομάδα 1: Βασικά στοιχεία.
Διάλεξη #7: Συμβολοσειρές.
Τύποι δεδομένων και τελεστές,
Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου
Μεταγράφημα παρουσίασης:

Τύποι δεδομένων και τελεστές, Εβδομάδα 4: Τύποι δεδομένων και τελεστές, εντολές επιλογής

Απλοί τύποι σε αντιπαράθεση με αντικείμενα Η Java παρέχει τύπους αντικειμένων και τύπους βασικών δεδομένων [primitive data types] Οι βασικοί τύποι δεδομένων είναι: Τυποι αντικειμένων: Ολοι οι αλλοι! (περιλαμβανομένων των Strings!) int, short, long, float, double, boolean, char, byte

Βασικοί τύποι δεδομένων τύπος μέγεθος (σε bit) ενδεικτικές τιμές Ακέραιοι [integral numbers]: byte 8 28 short 16 28 int 32 28, 034, 0x1C long 64 28L Αριθμοί κινητής υποδιαστολής [floating point numbers]: float 32 1.234f double 64 1.234, 1.34e3 Λογικές τιμές [boolean values]: boolean 8 true, false Χαρακτήρες [characters]: char 16 'c', '\u4567'

Τυποι ακεραίων αριθμών int age = 35; short shoeSize = 8; int a; long b; b = a; // ok: coercion (widening conversion) «Μικρότεροι» αριθμητικοί τύποι δεδομένων μπορούν να καταχωρηθούν σε μεγαλύτερους. char c; a = c; // ok! Οι χαρακτήρες θεωρούνται αριθμητικά δεδομένα! Έχουν αριθμητική τιμή και μπορεί να καταχωρηθούν σε ακέραιες μεταβλητές.

Τύποι κινητής υποδιαστολής (Floating point) float f = 3.1415f; double x = 42.0; int i; float f; f = i; // ok: coercion (widening conversion) f = f + i; // ok: i will be promoted to float i = i + f; // error: f will not be narrowed //(automatically) to an int

Λογικές τιμές (Boolean) boolean done = false; boolean isWeekend = true; isWeekend = (dayIndex == 6) || (dayIndex == 7); (Η ερμηνεία της έκφρασης θα δοθεί σε λίγο...)

Ο τύπος χαρακτήρων char ch; ch = 'm'; // note: single quotes! ch = '\u2456'; // unicode ch = '\u0008'; // backspace; unicode is superset //of ASCII int code = ch; // this is legal! Οι χαρακτήρες αποθηκεύονται μέσω του αριθμητικού τους κώδικα. Αποθηκεύονται όπως οι ακέραιοι αριθμοί και μπορεί να χρησιμοποιηθούν (σχεδόν) σαν αριθμοί.

Τελεστές (Operators) Ενός έντελου [unary] ++ -- + - ! ~ () Αριθμητικοί * / % + - Ολίσθησης [shift] << >> >>> Συγκρισης [comparison] < <= > >= == != Bit προς bit [bitwise binary] & ^ | Λογικοί [logical] && || (short-circuit) Τριαδικοί [ternary] ?: Καταχώρησης [assignment] = op=

Τελεστές σε επίπεδο bit ! Αντιστροφή, άρνηση ~ bit προς bit αντιστροφή & bitwise AND | bitwise OR ^ bitwise XOR << ολίσθηση προς τα αριστερά >> ολίσθηση προς τα δεξιά >>> ολίσθηση προς τα δεξιά χωρίς επέκταση πρόσημου Δεν θα ασχοληθούμε άλλο με τους τελεστές σε επίπεδο bit

Αριθμητικοί τελεστές + πρόσθεση - αφαίρεση * πολλαπλασιασμός + πρόσθεση - αφαίρεση * πολλαπλασιασμός / διαίρεση % υπόλοιπο a = b + 32; n = (a + 1) * (b + 1); share = amount / people; remains = amount % people;

Αύξηση / μείωση μίας μονάδας n++ εκ των υστέρων αύξηση n-- εκ των υστέρων μείωση ++n εκ των προτέρων αύξηση --n εκ των προτέρων μείωση x++; // increment x by one x--; // decrement x by one y = 8; x = y++; x = ++y;

Τελεστές σύγκρισης > Μεγαλύτερο από < Μικρότερο από > Μεγαλύτερο από < Μικρότερο από >= Μεγαλύτερο από ή ίσο με <= Μικρότερο από ή ίσο με == Ίσο με != Όχι ίσο με Οι τελεστές σύγκρισης επιστρέφουν μια λογική (boolean) τιμή. boolean isHD = (mark >= 80); return (number == 0);

Λήψη αποφάσεων Παράδειγμα: System.out.println("Your mark is: " + mark); if (mark > 70) System.out.println("well done!"); System.out.println("Talk to your tutor for details");

Λήψη αποφάσεων (2) Άλλο ένα παράδειγμα: System.out.println("Your mark is: " + mark); if(mark >= 50) System.out.println("You have passed."); else System.out.println("Please try again."); System.out.println("Talk to your tutor for details");

Η εντολή επιλογής if if(συνθήκη) εντολή; else if(συνθήκη) { εντολή; ... } else

Τμήματα κώδικα (blocks) Τα άγκιστρα { } ομαδοποιούν το σύνολο των εντολών που περικλείουν. Το σύνολο των εντολών αυτών καλείται «τμήμα κώδικα». Τα τμήματα κώδικα αντιμετωπίζονται σαν μια απλή εντολή από τις δομές έλεγχου ροής. { εντολή; ... }

Παραδείγματα άσχημο καλύτερο if(value >= 1 && value <= 10) { ... } else if((value >= 1) && (value <= 10)) { ... } άσχημο if(processFinished == true) { ... } καλύτερο if(processFinished) { ... }

Τιμές βασικών τύπων και αναφορές Τα δεδομένα βασικών τύπων αποθηκεύονται κατ’ αξία [by value], ενώ τα αντικείμενα αποθηκεύονται κατ’ αναφορά [by reference] age = 42; father = new Person(); name = "Fred"; 42 Person "Fred"

Η εντολή καταχώρησης (για 2η φορά) Η εντολή καταχώρησης (για 2η φορά) Η καταχώρηση γίνεται κατ’ αξία για τους βασικούς τύπους δεδομένων και κατ’ αναφορά για τύπους αντικειμένων age = 42; myAge = age; p1 = new Person(); p2 = p1; 42 42 age myAge Person p1 p2