ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 8/11/07

Σχετικά έγγραφα
ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 2: Βασικές εντολές

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 2

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 2: Έλεγχος συνθηκών

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07

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

Δομές ελέγχου ροής προγράμματος

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

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

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

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

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

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08

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

Πληροφορική ΙΙ Θεματική Ενότητα 5

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

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

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

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

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

Θα εμφανίσει την τιμή 232 αντί της ακριβούς

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

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

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

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

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

Οι εντολές ελέγχου της ροής ενός προγράμματος.

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

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

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

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

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 4 ο Πράξεις με bits. Δρ.

ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης)

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

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

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

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

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

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

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

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

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

2. ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ (Α' μέρος: if)

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

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Πληροφορική ΙΙ Θεματική Ενότητα 6

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

CSD Univ. of Crete Φθινόπωρο Άσκηση 1 Εκφώνηση

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

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

Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 1: Εισαγωγικές έννοιες

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 13/12/07

Θέματα Προγραμματισμού Η/Υ

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

Εισαγωγή στον Προγραμματισμό Python Μάθημα 1: Μεταβλητές, τελεστές, είσοδος/έξοδος προγράμματος, συνθήκη ελέγχου if Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ.

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

Δομές ελέγχου & επανάληψης

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

3 ο Εργαστήριο Μεταβλητές, Τελεστές

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

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

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

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

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

Παίρνοντας Αποφάσεις 1

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

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Γ2.1 Στοιχεία Αρχιτεκτονικής. Γ Λυκείου Κατεύθυνσης

Δοκιμή και Αποσφαλμάτωση Testing and Debugging

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

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

Βασικάχαρακτηριστικάτηςγλώσσας. Πίνακες, Έλεγχος Ροής και Βρόχοι

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

A2. Να γράψετε για κάθε περίπτωση τον αριθμό της πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

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

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

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

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

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

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι χρειάζεται η εντολή if ; Εντολή if. Παράδειγμα #1. Παράδειγμα #1

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 29/11/07

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

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

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

Transcript:

Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 8/11/07 Συμπλήρωμα προηγούμενης εβδομάδας: ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 8/11/07 Τι συμβαίνει όταν στην ίδια έκφραση υπάρχει πάνω από μία φορά ο τελεστής ++ (ή --) στην ίδια μεταβλητή (ή αν η μεταβλητή με τον εν λόγω τελεστή επανεμφανίζεται απλά μέσα στην έκφραση) πχ, int a = 5; int x = (a++) + (++a); // x = 5 + 7 = 12, a = 7 ------------------------- int a = 5; int x = (++a) + (a++); // x = 6 + 6 = 12, a = 7 Δηλαδή, στη περίπτωση του ++a η μεταβλητή πρώτα αυξάνεται κατά 1 και μετά παίρνει μέρος στην έκφραση, ενώ στην περίπτωση του a++ παίρνει μέρος στην έκφραση με την αρχική της τιμή και αμέσως μετά αυξάνεται κατά 1, οπότε αν υπάρχει και σε άλλο σημείο της έκφρασης, παίρνει μέρος με τη νέα της πλέον τιμή Η ΚΛΑΣΗ String Κάθε αλφαριθμητικό είναι αντικείμενο της κλάσης String και όχι μια μεταβλητή πρωτογενούς τύπου (όπως πχ η double, η int, κτλ) Δημιουργία: String str = Hello ; Τελεστής συνένωσης (δημιουργία νέων String): String s1 = Hello ; String s2 = there ; String s3 = s1 + s2; Systemoutprintln(s3); // Hellothere «Πρόσθεση» String με άλλους τύπους δεδομένων: Systemoutprintln(4+7); // Τυπώνει: 11 Systemoutprintln( The answer is: + 4 + 7); // Τυπώνει: The answer is 47 1

Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 8/11/07 Για να τυπωθεί το επιθυμητό 11, θα πρέπει να χρησιμοποιήσουμε παρένθεση στην πρόσθεση 4+7, ως εξής: Systemoutprintln( The answer is: + (4 + 7)); // Τυπώνει: The answer is 11 ΣΥΓΚΡΙΣΗ ΜΕΤΑΒΛΗΤΩΝ Η σύγκριση δύο μεταβλητών στη Java γίνεται με τους ακόλουθους τελεστές (δεξιά στήλη): Μαθηματικά Java = == < < <= > > >=!= Το αποτέλεσμα μιας σύγκρισης είναι boolean (true ή false) πχ, int a=5, b=5; boolean c, d; c = (a == b); // c=true d = (a > b); // d=false άλλο παράδειγμα: boolean isrefriglighton; boolean isrefrigdooropen; isrefriglightopen = (isrefrigdooropen == true); (το φως του ψυγείου είναι αναμμένο όταν η πόρτα του είναι ανοιχτή!) 2

Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 8/11/07 ΛΟΓΙΚΕΣ ΣΧΕΣΕΙΣ Σύζευξη (AND και): && Διάζευξη (OR ή): Άρνηση (NOT δεν):! Λογικές σχέσεις γίνονται μεταξύ boolean μεταβλητών (ή εκφράσεων που έχουν boolean αποτέλεσμα (τιμή)) Το αποτέλεσμά τους είναι κι αυτό boolean (true ή false) Πίνακας αληθείας: p q p&&q p q true true true true true false false true false true false true false false false false Ο υπολογισμός των λογικών σχέσεων σταματάει τη στιγμή που προσδιορίζεται η τιμή τους (υπάρχει τρόπος να μην γίνεται αυτό, με τα σύμβολα & και Θα τα δούμε στην «Πληροφορική ΙΙ») Δηλαδή, στο A&&B, αν το Α είναι false, τότε δεν ελέγχεται καν το Β, και το αποτέλεσμα του Α&&Β γίνεται false Αντίστοιχα, στο Α Β, αν το Α είναι true, το αποτέλεσμα γίνεται true χωρίς να ελεγχθεί το Β Άρα, η ακόλουθη έκφραση δεν δημιουργεί πρόβλημα: (3 == 7) && (2 == (3 / 0) ); βγάζει false (γιατί 3 == 7 είναι false και δεν μπαίνει ποτέ στο 3/0 του δεύτερου μέρους) Αντίθετα, αν ήταν: (7 == 7) && (2 == (3 / 0) ); θα έβγαζε σφάλμα (run-time error: division by zero) 3

Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 8/11/07 Συχνά λάθη: Το x δεν ισούται με 2 ή 3: Λάθος: x!=2 x!=3 // Είναι πάντα true! Σωστό: x!=2 && x!=3 // ή:!(x==2 x==3) Ισχύουν οι ιδιότητες: To:!(p q) ταυτίζεται με το:!p &&!q To:!(p && q) ταυτίζεται με το:!p!q Το: 0 x < 1 γράφεται: 0 <= x && x < 1 (δεν συγκρίνουμε πάνω από δύο μεταβλητές μαζί) Παράδειγμα: Λύση: Για δεδομένο έτος (year) να δοθεί τιμή στην boolean μεταβλητή isleapyear ανάλογα με το αν το έτος είναι δίσεκτο (true) ή όχι (false): Πότε ένα έτος είναι δίσεκτο; Δίσεκτα είναι τα έτη που διαιρούνται με το 4, εκτός από τα έτη των αιώνων (πχ, 1700, 1800, 1900, κτλ) Κατ εξαίρεση, είναι δίσεκτα τα έτη των αιώνων που διαιρούνται με το 400 (πχ, 1600, 2000, 2400, κτλ) Άρα, ένα έτος είναι δίσεκτο: α) αν διαιρείται με το 4 αλλά όχι με το 100 ή β) αν διαιρείται με το 400 Οπότε: int year; boolean isleapyear; isleapyear = ((year%4==0) && (year%100!=0)) (year%400==0); // ή καλύτερα, πρώτα η απλούστερη έκφραση (year%400==0) και μετά η σύζευξη: // isleapyear = (year%400==0) ((year%4==0) && (year%100!=0)); 4

Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 8/11/07 ΕΛΕΓΧΟΣ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Ι Ελεγκτές συνθηκών ή περιπτώσεων: i) if/ ii) switch II Επαναληπτικές διαδικασίες: i) for ii) while iii) do/while if/: Με επιλογές μιας μόνο εντολής: Με επιλογές πολλαπλών εντολών: if (<λογική_έκφραση>) if (<λογική_έκφραση>) <εντολή_1>; // if true { <εντολή_1>; <εντολή_2>; <εντολή_2>; // if false } { <εντολή_3>; <εντολή_4>; } λογική_έκφραση boolean, δηλαδή true ή false πχ int a=5, b=7, c; if (a>=b) c = a+b; c = a-b; Systemoutprintln(c); // -2 5

Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 8/11/07 Άλλο παράδειγμα: double temp; boolean israining, issnowing; // τιμές στις temp και israining if ((israining == true) && (temp <= 0)) issnowing = true; issnowing = false; Μπορεί να υπάρχει if χωρίς : if (<λογική_συνθήκη>) if (<λογική_συνθήκη>) <εντολή>; ή { <εντολές>; } Δηλαδή, πχ, if (test) <εντολή1>; <εντολή2>; <εντολή3>; Σε αυτό το παράδειγμα δεν υπάρχει Επομένως μόνο η <εντολή1> «ανήκει» στο if και εκτελείται μόνο εάν το test είναι true Η <εντολή2> και η <εντολή3> εκτελούνται ούτως ή άλλως, αφού βρίσκονται μετά το if Άρα: - Αν η test είναι true: <εντολή1>, <εντολή2>, <εντολή3> - Αν η test είναι false: <εντολή2>, <εντολή3> if (test) <εντολή1>; <εντολή2>; <εντολή3>; Σε αυτό το παράδειγμα η <εντολή2> «ανήκει» στην περίπτωση του if, άρα εκτελείται μόνο εάν το test είναι false Η <εντολή3> εκτελείται ούτως ή άλλως, αφού βρίσκεται μετά το if Άρα: - Αν η test είναι true: <εντολή1>, <εντολή3> - Αν η test είναι false: <εντολή2>, <εντολή3> 6

Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 8/11/07 Το προηγούμενο παράδειγμα (με τη θερμοκρασία, τη βροχή και το χιόνι), με if χωρίς θα μπορούσε να γραφεί ως εξής: double temp; boolean israining, issnowing = false; // κάνουμε δηλαδή αρχικοποίηση της issnowing σε false // τιμές στις temp και israining if ((israining == true) && (temp <= 0)) issnowing = true; // δηλαδή αλλάζουμε την τιμή της issnowing μόνο εάν χρειάζεται If μέσα σε άλλο if (nested) a) b) if () if () { { } if () if () { { } } if () { { } } } { { } } Παραδείγματα στο επόμενο μάθημα 7