Απλές εντολές: έκφραση + ;

Σχετικά έγγραφα
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

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

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

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

API: Applications Programming Interface

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

ÈÖÓ Ö ÑÑ Ò ÑÓÖ Û ÈÖÓÔØÙÕ ÛÒ ËÔÓÙ ÛÒ ÌÑ Ñ ØÓ Å Ñ Ø ÛÒ È Ò Ô Ø Ñ Ó È ØÖÛÒ Å Ñ Û Ø Ò Ô Ø Ñ ØÛÒ ÍÔÓÐÓ ØôÒ

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

Είναι μια αλληλουχία κατάλληλων οδηγιών(εντολών) που εκτελεί ο υπολογιστής για την επίλυση ενός προβλήματος.

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

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

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

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

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

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

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

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

½ Τετραγωνίζω=κατασκευάζωκάτιίσουεμβαδούμεδοθέντετράγωνο. Δείτεκαιτην υποσημείωσηστηνπρότασηβ 14. ¾

Προσομοίωση Δημιουργία τυχαίων αριθμών

p din,j = p tot,j p stat = ρ 2 v2 j,

M 2. T = 1 + κ 1. p = 1 + κ 1 ] κ. ρ = 1 + κ 1 ] 1. 2 κ + 1

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

Εισαγωγή στις Φυσικές Επιστήμες (ΦΥΕ14) Περίοδος ΕΡΓΑΣΙΑ 1 η. Τότε r r b c. και ( )

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

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

Τεχνικές βασισμένες στα Δίκτυα Αναμονής Εισαγωγικά Επιχειρησιακοί νόμοι

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

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

Δυαδικά Συστήματα. URL:

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

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

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

ØÖÓÒÓÑ ÈÖ Ø ÙÑ Ù Ò Ö Ò Ë Ð ØÛ ØØ Ö¹ ØÖÓÒÓÑ Íº Ù ÍÒ Ú Ö ØØ Ù ÙÖ ¹ Ò Ö ËÓÒÒ ÒÐ Ù Ñ Î ÖÐ Ù Ò Â Ö Ð ÙÒ ½ Û ÙÒ Ö ËÓÒÒ Ö Ò À ÑÑ Ð ÞÙ Ï ÒØ Ö Ò Ò Ö Ð Ò Ò Ò ÙÒ

Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Επίδοση Υπολογιστικών Συστημάτων. Α.-Γ. Σταφυλοπάτης.

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

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

ÈÖÓ Ö ÑÑ Ò ÑÓÖ Û ÈÖÓÔØÙÕ ÛÒ ËÔÓÙ ÛÒ ÌÑ Ñ ØÓ Å Ñ Ø ÛÒ È Ò Ô Ø Ñ Ó È ØÖÛÒ Å Ñ Û Ø Ò Ô Ø Ñ ØÛÒ ÍÔÓÐÓ ØôÒ

Τμήμα Μαθηματικών, ΕΚΠΑ. Ακαδ. έτος

Προγραμματισ μόςσ ε» ΙωάννηςΓºΤσ ούλος

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

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

Εισαγωγικά. URL:

Ηυλοποίησ ητηςπαραπάνωκατηγορίαςβρίσ κεταισ τοναλγόριθμο º¾ºΗγραμμή

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

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

Mεταβλητές (variables) και Σταθερές (constants)

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

S i L L I OUT. i IN =i S. i C. i D + V V OUT

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 2: Εντολές ελέγχου και επανάληψης

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

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

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

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

Z L L L N b d g 5 * " # $ % $ ' $ % % % ) * + *, - %. / / + 3 / / / / + * 4 / / 1 " 5 % / 6, 7 # * $ 8 2. / / % 1 9 ; < ; = ; ; >? 8 3 " #

Συνεδριο Δημιουργων ΕΛ/ΛΑΚ 2009

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

Διάλεξη 15: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου

a x = x a x. Ηθετικήλύσητηςεξίσωσηςαυτής(για a = 1)είναιοαριθμόςτου Fibonacci 5 1 φ =. 2 ΟΑριστοτέληςδενχρησιμοποιείτονόρο,αλλάπροτιμάτοκάθετος.


ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές

Γιατηνδήλωσ ητωνδομώνχρησ ιμοποιείταιοπροσ διορισ τής ØÖÙØ όπωςσ την σ υνέχεια

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

Å Ñ ¾ º½ ÈÓÖ Ñ Ð Ø º º º º º º º º º º º º º º º º º º º º º º º º º º º º ¾ º¾ ÈÙÖ Ò Ò Ñ Ö ÑÑ Ô Ò º º º º º º º º º º º ½ º ÈÒ Ñ Ö ÑÑ Ô Ò º º º º º º

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

Αλγόριθμοι Δικτύων και Πολυπλοκότητα Προσεγγιστικοί Αλγόριθμοι. Άρης Παγουρτζής

Εισαγωγή στον αντικειμενοστραφή προγραμματισμό με τη Java

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

Στοκεφάλαιοαυτόθαμιλήσ ουμεγιατααρχείασ τηνγλώσ σ α ºΘαχρησ ιμοποιηθούνσ υναρτήσ ειςαπότηνκαθιερωμένηβιβλιοθήκηεισ όδου»εξόδου

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

v[m/s] U[mV] 2,2 3,8 6,2 8,1 9,7 12,0 13,8 14,2 14,6 14,9

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


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

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

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

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

v w = v = pr w v = v cos(v,w) = v w

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

º º½ Destination-Sequenced Distance-Vector (DSDV) º º º º. º º Temporally Ordered Routing Algorithm (TORA) º º º

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ψηφιακή Επεξεργασία Εικόνων. Ενότητα: Σχηματισμός και αντίληψη εικόνων. Καθηγητής Γεώργιος Τζιρίτας

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

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

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

Διάλεξη 20: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ψηφιακή Επεξεργασία Εικόνων. Ενότητα: Μαθηματική μορφολογία. Καθηγητής Γεώργιος Τζιρίτας

arxiv: v1 [math.dg] 3 Sep 2007

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

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

Κατασκευαστές. Μέθοδοι Κατασκευής (Constructors).

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός μνήμης Αντικείμενα παράμετροι String Interning

N i. D i (x) = 1 N i. D(x, x ik ). (3, 1), (3, 0.9), (3, 0.8), (3, 0.8) (4, 0), (4, 0.1), (4, 0.2). k=1. j=1

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

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

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

Ö ØÓØ Ð Ó È Ò Ô Ø Ñ Ó ÈÓÐÙØ ÕÒ ËÕÓÐ Ò ÌÑ Ñ Ö Ñ Ø Ò ÐÙ Ä ÛÒ È Ø Ó Ð Â ÐÓÒ ¾¼¼

Transcript:

ÒØÓÐ ÒØÓÐ Ø Java Απλές εντολές: έκφραση + ; έκφραση; Σύνθετες(block)εντολές: nεντολέςμέσασε {,n 0. { εντολή_1 εντολή_2... εντολή_n Οι σύνθετες εντολές είναι συντακτικά ισοδύναμες με τις απλές. Κάποιες από τις εντολές i μπορεί να είναι σύνθετες.

È Ö Ø Ö Ø ÒØÓÐ Ò Οι αντίστοιχες εκφράσεις στις εντολές ανάθεσης σχηματίζονται με χρήση του δυαδικού τελεστή ανάθεσης = Η έκφραση ανάθεσης παίρνει την τιμή του δεξιού μέλους. Η σύνθετη έκφραση: (x = 6) + (y = 7) αναθέτειτιμέςστιςμτβ x, yκαιταυτόχροναέχειτηντιμή13. Δυνατότητα για πολλαπλές αναθέσεις: n1 = n2 = n3 = 0; Ο τελεστής ανάθεσης υπολογίζεται απο δεξιά προς αριστερά. Ó Ó» ÜÓ Ó Είσοδος: η μετακίνηση δεδομένων από μονάδες εισόδου στη μνήμη. Εξοδος: η μετακίνηση δεδομένων από τη μνήμη σε μονάδες εξόδου. standard input ΠΡΟΓΡΑΜΜΑ standard output Standard input: το πληκτρολόγιο(στη Java: System.in) Standard output: η οθόνη(στη Java: System.out)

Standard output Εκτύπωση με δυο τρόπους: System.out.println(έκφραση) System.out.print(έκφραση) Παράδειγμα: System.out.print("Hell"); System.out.print("o, "); System.out.println("world"); ισοδ. System.out.println("Hello, world"); ¼ Standard input Ñ ÓÙÖ Ø ÖÕ Ò Scanner Ñ ÒÓÑ ØÛ input ÔÓÙ ÙÒ Ø Ñ ØÓ System.in Ô Ü Ö Þ Ø Ø ÓÑ Ò ÓÙ Scanner input = new Scanner(System.in); À Ò ÒÛ ÓÑ ÒÛÒ Ü ÖØ Ø Ô ØÓÒ Ø ÔÓ ØÓÙ Ò Ø Ñ Ø ÐÐ Ð Ñ ÓÙº Ⱥպ int i = input.nextint(); double x = input.nextdouble(); String s = input.nextline(); ÈÐ ÖÓ ÓÖ Õ Ø Ñ ØÓÒ Scanner Ø Ñ ÓÙ ØÓÙ ÙÔ ÖÕÓÙÒ Ø ÐÐ Ð Ð Ó ÔÓÙ ÔÖ Ô Ò ÙÑÔ Ö Ð Ó Ò Ø Ò ÖÕ ØÓÙ ÖÕ ÓÙ Ñ Ø Ò Ð ØÓÙ ÔÖÓ Ö ÑÑ ØÓº import java.util.*; public class ClassName { //...

Λεπτά σε ώρες import java.util.*; public class Min2Hours { public static void main(string args[]) { Scanner input = new Scanner(System.in); System.out.print("ÉÖ ÒÓ Ð ÔØ? "); int totalminutes = input. nextint(); int hours, minutes; hours = totalminutes / 60; minutes = totalminutes % 60; System.out.print(totalMinutes); System.out.println("min Ò " + hours + "hr " + minutes + "min"); ¾ Ó Ó» ÜÓ Ó String import java.util.*; public class Greetings { public static void main(string args[]) { Scanner input = new Scanner(System.in); System.out.println("Πως σε λένε?"); String user = input.nextline(); System.out.println("Γειά σου " + user);

ÈÖÓ Ö ÑÑ Ø Ø ôñ Ø 1. Ανάγνωση από standard είσοδο System. out. printl(μήνυμα εισόδου); μεταβλητή = input. nextint(); 2. Εκτέλεση πράξης και ανάθεση ήισοδύναμα 3.Αύξησηκατά1 μεταβλητή = μεταβλητή έκφραση μεταβλητή = έκφραση x++;ισοδ. ++x;ισοδ. x += 1;ισοδ. x = x + 1; 4.Μείωσηκατά1 y--;ισοδ. --y;ισοδ. y -= 1;ισοδ. y = y - 1; È Ö Ñ public class Confusion { public static void main(string[] args) { int j, i = 10; System.out.println("i = " + i); //10 j = i++; System.out.println("(j = i++) = " + j); //10 System.out.println("i = " + i); // 11 j = ++i; System.out.println("(j = ++i) = " + j); //12 System.out.println("i = " + i); //12

ÈÖÓØ Ö Ø Ø Ö ÙÔÓÐÓ ÑÓ Παρενθέσεις Μονομελείςτελεστές,π.χ. ++ -- + -!κ.λ.π. Αριθμητικοί τελεστές, πρώτα * / % και μετά +, - Τελεστές σύγκρισης, πρώτα > < >= <= και μετά ==!= Λογικοί τελεστές, πρώτα η σύζευξη και μετά η διάζευξη. Τελεστέςανάθεσης,π.χ. = += *=κ.λ.π. Σε φθίνουσα σειρά προτεραιότητας. Συσχετίζονταιαπόαρίστεραπρόςδεξιά(ΕΚΤΟΣ: ) ÒØÓÐ Ð ÕÓÙ Αλλάζουν τη ροή εκτέλεσης των εντολών προγράμματος. Χωρίς τη χρήση εντολών ελέγχου, η εκτέλεση είναι σειριακή από την αρχή προς το τέλος του προγράμματος. Οι εντολές ελέγχου επιτρέπουν: Εκτέλεση υπό συνθήκη: if Επαναληπτική εκτέλεση: while, for.

Ø Ð ÙÔ ÙÒ ÒØÓÐ if-else true ΣΥΝΘΗΚΗ false if (λογική συνθήκη) εντολή S1 else εντολή S2 S1 S2 Οι εντολή S1 εκτελείται όταν αληθεύει η λογική συνθήκη. Στην αντίθετη περίπτωση ε- κτελείταιηεντολή S2. Οι S1, S2 μπορείναείναιαπλές ή σύνθετες(block) εντολές. Ø Ð ÙÔ ÙÒ ÒØÓÐ if ΣΥΝΘΗΚΗ true S false Οταν δεν υπάρχει κλάδος S2, παίρνει τη μορφή: if (λογική συνθήκη) εντολή S

È Ö Ñ Πρόβλημα: Υπολόγισε την απόλυτη τιμή x του x και αποθήκευσε το αποτέλεσμα στη μεταβλητή abs. Τρείς ισοδύναμες λύσεις ΛύσηΑ ΛύσηΒ ΛύσηΓ if (x >=0) { abs = x; if (x < 0) { abs = -x; abs = x; if (x < 0) { abs = -x; if (x >=0) { abs = x; else { abs = -x; ¼ Ø Ü Ö ÑôÒ Πρόβλημα Διάβασε3αριθμούς a, bκαι cκαιδιάταξέτουςέτσιώστε a b c. Ανάλυση Ενας μη προφανής(αλλά κομψός) αλγόριθμος: 1.Εναλλαγήτων aκαι b,ανχρειάζεται,έτσιώστε a b. 2.Εναλλαγήτων bκαι c,ανχρειάζεται,έτσιώστε b c.(τώραη μεταβλητή c έχει την μεγαλύτερη τιμή, αλλά τα a, b δεν είναι κατ ανάγκη διατεταγμένα). 3.Εναλλαγήτων aκαι b,ανχρειάζεται,έτσιώστε a b. Παράδειγμα:Τισυμβαίνειγια a = 3, b = 2, c = 1?

Ø Ü Ö ÑôÒ ÙÒ Õºµ Εναλλαγήτιμώντωνμτβ x, yμεχρήσητηςβοηθητικήςμτβ temp 3. x = temp temp 1. temp = y x y 2. y = x ¾ Ø Ü Ö ÑôÒ ÙÒ Õºµ import java.util.*; public class Sort3 { public static void main(string args[]) { Scanner input = new Scanner(System.in); int a = input.nextint(); int b = input.nextint(); int c = input.nextint(); if (b < a) {int temp = b; b = a; a = temp; if (c < b) {int temp = c; c = b; b = temp; if (b < a) {int temp = b; b = a; a = temp; System.out.println(a + " " + b + " " + c);

³ Ð ÕÓ ØÓÙ ØÓÙ //... System.out.print("Dwse etos? "); int year = input.nextint(); boolean isleapyear = ( year%4==0)&&( year%100!=0) ( year%400==0); System.out.print("To " + year + " "); if (isleapyear) System.out.print("einai"); else System.out.print("den einai"); System.out.println(" disekto"); //... ³ Ð ÕÓ ØÓÙ ØÓÙ Και μ ένα διαφορετικό if //... System.out.print("Dwse etos? "); int year = input.nextint(); boolean isleapyear = ( year%4==0)&&( year%100!=0) ( year%400==0); System.out.print("To " + year + " "); if (!isleapyear) System.out.print("den"); System.out.println("einai disekto"); //...

ÈÖÓ Ö ÑÑ Ø Ø ôñ Ø Ñ ÐÓ Ö Για boolean isleapyear, iseven και int n αντί της if (isleapyear == true)... προτιμάται η if (isleapyear)... αντί της if (n%2 == 0) iseven = true; else iseven = false; προτιμάται η iseven = (n%2 == 0); Ë Ò Ø if if (συνθήκη1) εντολή 1 else if (συνθήκη2) εντολή 2 else if (συνθήκη3) εντολή 3... else εντολή e συνθήκη i: boolean έκφραση. εντολή i:εκτελείταιότανησυνθήκη iείναι true. εντολή e: εκτελείται όταν δεν αληθεύει καμμία συνθήκη i.

Ë Ò Ø if ÙÒ Õºµ import java.util.*; public class Sign { public static void main(string args[]) { Scanner input = new Scanner(System.in); int n = input.nextint(); if (n > 0) System.out.println("+"); else if (n == 0) System.out.println(0); else System.out.println("-"); Ç ÙÔÓ Ø Ø Ð Ø?: Χρήσιμη συντομογραφία ο τριμελής υποθετικός τελεστής συνθήκη? έκφραση1 : έκφραση2 ισοδύναμαητιμήτηςέκφρασης?:θαδινότανστημτβ value: if (συνθήκη) value = έκφραση1; else value = έκφραση2; Παραδείγματα: max = (x > y)? x : y; System.out.println(" Õ "+n+" Ñ"+(n==1?" ":"Ó "));

À ÒØÓÐ while while (λογική συνθήκη) εντολή S false ΣΥΝΘΗΚΗ S true À Ø Ð ØÛÒ ÒØÓÐôÒ S Ô Ò Ð Ñ Ò ¹ Ø Ó Ð ÄË ÐÓ ÙÒ µº À Ø Ñ Ð Ý Ù µ Ø ÄË ÔÖ Ô Ò Ò ÑÔÓÖ Ò ÙÔÓÐÓ Ø ÔÖ Ò Ø Ò Ø Ð Ø while к ÄË Ò Ò ÓÖ Ñ Ò µ Ò Ñ Ø ÐÐ Ø Ñ ÔÓ Ô Ø Ò¹ ØÓÐ S ÓÖ Ø Ð Ø ÄË Ò ÐÐ Ü º ½¼¼ ÖÓ Ñ Ý ÛÒ Ö ÓÙ Γιατονακέραιο n: Εύρεση τελευταίου ψηφίου: n%10(π.χ. 1985%10 5). Αποκοπή τελευταίου ψηφίου: n/10(π.χ. 1985/10 198). int n = input.nextint(); int dsum = 0; while (n > 0) { dsum += n % 10; n /= 10; System.out.println(dsum);

Ø ÖÑÓÒ Ô Ò Ð Ý Υπάρχει περίπτωση μια επαναληπτική εντολή να μην τερματίζει. Παράδειγμα: while (n >= 0) { dsum += n%10; n /= 10; Οτανεξαντληθούνόλαταψηφία,το nθαπαίρνειδιαρκώςτηντιμή 0 και η παραπάνω while δεν τερματίζει. 102 Å Ø ØÖÓÔ Ó Ù I import java.util.*; /* Μετατροπή δεκαδικού σε δυαδικό (1ος τρόπος) */ public class DecToBin { public static void main(string args[]) { Scanner input = new Scanner(System.in); System.out.print("Δεκαδικός ακέραιος? "); int N = input.nextint(); /* μέγιστη δύναμη του 2 <= N */ int p = 1; while (p <= N/2) p *= 2;

/* δυαδικά ψηφία */ while (p > 0) { if (N < p) { System.out.print(0); else { System.out.print(1); N = N - p; p /= 2; System.out.println(); ½¼ Å Ø ØÖÓÔ Ó Ù II import java.util.*; public class DecToBin2 { public static void main(string args[]) { Scanner input = new Scanner(System.in); System.out.print("Δεκαδικός ακέραιος? "); int N = input.nextint(); String s = ""; while (N > 0) { s = (N % 2) + s; N /= 2; System.out.println(s);

ÒØ ØÖÓ Ý ÛÒ Ö ÓÙ import java.util.*; public class DigitReverser { public static void main(string args[]) { Scanner input = new Scanner(System.in); System.out.print("N? "); int N = input.nextint(); // αντιστροφή με αριθμητική int m = 0; while (N!= 0) { m = (10 * m) + (N % 10); N = N / 10; ½¼ System.out.println(m); // αντιστροφή με strings String s = ""; while (m!= 0) { int digit = m % 10; s = s + digit; m = m / 10; System.out.println(s);

À ÒØÓÐ for ΑΡΧΙΚΟΠΟΙΗΣΗ for (αρχικοποίηση;συνθήκη;ενημέρωση) εντολή S false ΣΥΝΘΗΚΗ true S ΕΝΗΜΕΡΩΣΗ Οι εντολές αρχικοποίησης εκτελούνται μια φορά. Ηεντολή S εκτελείταιόσοαληθεύει η λογική συνθήκη. Οι εντολές ενημέρωσης εκτελούνται στο τέλος κάθε επανάληψης και συνήθως επηρεάζουν την τιμή της συνθήκης. Η Sμπορείναείναιαπλήήσύνθετη (block) εντολή. ½¼ È Ö Ñ Ø for for (int i = 1; i <= 10; i++) System.out.println(i); for (int odd = 1; odd <= 100; odd += 2) System.out.println(odd); for (int alot = 100; alot >= 10; alot++) System.out.println(alot); for (int nothing = 100; nothing < 10; nothing -= 5) System.out.println(nothing); for (int countdown = 10; countdown >= 0; --countdown) System.out.println(countdown);

Ø ÔÛ Ö ÑôÒ Ò Ö ÑÑ Εκτύπωσητωνακεραίωναπότο1000εωςτο2000,5ανάγραμμή: public class FivePerLine { public static void main(string[] args) { int i; for (i = 1000; i <= 2000; i++) { System.out.print(i + " "); if (i % 5 == 4) System.out.println(); if (i % 5!= 0) System.out.println(); 110 Ö ÑÓ Fibonacci Ηακολουθία1,2,3,5,8,13,... f n = f n 1 + f n 2, n > 2 με f 1 = 1, f 2 = 2. import java.util.*; /* N πρώτοι αριθμοί Fibonacci */ public class Fibonacci { public static void main(string args[]) { Scanner input = new Scanner(System.in); System.out.print("N αριθμοι Fibonacci? "); int N = input.nextint();

int g = 1, f = 2; System.out.println(g); System.out.println(f); for (int i = 3; i <= N; i++) { f = f + g; g = f - g; System.out.println(f); ½½¾ ËÕ for while for (αρχικοποίηση;συνθήκη;ενημέρωση) { εντολές; ισοδ. αρχικοποίηση; while (συνθήκη) { εντολές; ενημέρωση; Η for προτιμάται όταν ο αριθμός των επαναλήψεων είναι γνωστός.

while ÒØ for ÉÖ Ò ÔÐ Ñ Ð ÓÙ ½¼¼¼ Ñ Ø Ó ± Ø Û? public class DoubleCapital { public static void main(string args[]) { double mymoney = 1000.0; int years = 0; while (mymoney < 2000.0) { mymoney *= 1.05; years ++; System.out.print("Διπλ/σμός κεφαλαίου σε "); System.out.println(years + " χρόνια"); ½½ for Ñ for Εκτύπωση κύκλου ακτίνας R. Παράδειγμαγια R = 5:..... *....... * * * * * * *... * * * * * * * * *.. * * * * * * * * *.. * * * * * * * * *. * * * * * * * * * * *. * * * * * * * * *.. * * * * * * * * *.. * * * * * * * * *... * * * * * * *....... *..... Εκτύπωση του N N πίνακα. Παράδειγμαγια N = 11 * * * * * * * * * * *. * * * * * * * * * *.. * * * * * * * * *... * * * * * * * *.... * * * * * * *..... * * * * * *...... * * * * *....... * * * *........ * * *......... * *.......... *

Circle.java //... int R = input.nextint(); for (int i = -R; i <= R; i++) { for (int j = -R; j <= R; j++) { if (i*i + j*j <= R*R) System.out.print("* "); else System.out.print(". "); System.out.println(); //... ½½ Triangle.java //... int N = input.nextint(); for (int i = 0; i < N; i++) { for (int j = 0; j < i; j++) System.out.print(". "); for (int j = 0; j < N-i; j++) System.out.print("* "); System.out.println(); //...

ÉÖ Ø for Ñ ÔÖ Ñ Ø ÓÑ Ò for (double x = 1.0; x <= 2.0; x += 0.1) δίνει System.out.print(x + " "); 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 Αιτία: Μερικοί πραγματικοί δεν έχουν ακριβή αναπαράσταση στο δυαδικόσύστημα.ετσιο0.1δενείναιακριβώςίσοςμε 1/10.Το σφάλμα συσσωρεύεται με διαδοχικές αθροίσεις του x καταλήγοντας στηντιμή,π.χ. 2.00001 > 2.0. ½½ ÉÖ Ø for Ñ ÔÖ Ñ Ø ÓÑ Ò ÙÒ Õºµ Λύση: Χρήση ακέραιων μετρητών. double x; for (int i = 10; i <= 20; i++) { x = i / 10.0; System.out.print(x + " ");