που συγχρηµατοδοτείται από την Ευρωπαϊκή Ένωση/Ευρωπαϊκό Κοινωνικό Ταµείο

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

Download "που συγχρηµατοδοτείται από την Ευρωπαϊκή Ένωση/Ευρωπαϊκό Κοινωνικό Ταµείο"

Transcript

1

2 Το παρόν εκπονήθηκε στο πλαίσιο του Υποέργου 13 «Προσαρµογή Λογισµικού-Φάση ΙΙΙ» της Πράξης «Επαγγελµατικό λογισµικό στην ΤΕΕ: επιµόρφωση και εφαρµογή» (Γ ΚΠΣ, ΕΠΕΑΕΚ, Μέτρο 2.3, Ενέργεια 2.3.2) που συγχρηµατοδοτείται από την Ευρωπαϊκή Ένωση/Ευρωπαϊκό Κοινωνικό Ταµείο 2

3 ΕΙΣΑΓΩΓΗ ιαδικασία εκκίνησης της Java και το NetBeans IDE. Για να µπορέσουµε να γράψουµε προγράµµατα σε Java, χρειάζεται να διαθέτουµε το ειδικό πακέτο ανάπτυξης εφαρµογών ( Java development kit ή JDK). To JDK είναι µία γλώσσα προγραµµατισµού. Συγχρόνως περιέχει µεταγλωττιστή, διερµηνευτή, αποσφαλµατωτή (debugger), αποσυµβολοµεταφραστή (disassembler). Αρχικά θα πρέπει να κατεβάσουµε από τη σελίδα της Sun Microsystems το κατάλληλο JDK, το οποίο θα πρέπει να είναι έκδοσης JDK 1.5.5_0 ή µεταγενέστερο, γιατί το NetBeans το απαιτεί. Η διαδικασία που θα ακολουθηθεί είναι : Πηγαίνετε στη σελίδα της Sun µετά στη επιλογή downloads και από τη συγκεκριµένη σελίδα επιλέξτε να κατεβάσετε το JDK 6. Αφού ολοκληρωθεί το κατέβασµα, τότε εγκαταστήστε το JDK 6 στο υπολογιστή σας, ακολουθώντας βήµα - βήµα τη διαδικασία που προσδιορίζετε από τις οθόνες εγκατάστασης. Αφού ολοκληρωθεί η εγκατάσταση του JDK 6, το επόµενο βήµα είναι να εγκαταστήσετε το NetBeans IDE που σας παρέχεται. Το περιβάλλον του NetBeans IDE φαίνεται παρακάτω : 3

4 ηµιουργία µιας εφαρµογής Java Για να δηµιουργηθεί µια εφαρµογή Java πρέπει να ακολουθηθούν τα εξής βήµατα : Αρχικά πρέπει να δηµιουργηθεί ένα project το οποίο θα περιέχει όλα τα αρχεία (εφαρµογές) του project. Για τη δηµιουργία του project κάνετε τα εξής : File new project στη καρτέλα categories επιλέγεις Java στη καρτέλα projects επιλέγεις Java Applications κλικ Next. Στη επόµενη καρτέλα που ανοίγει επιλέγεις : Project Name, Project Location, Project Folder. Απενεργοποιείς τις επιλογές Create Main Class και Set as Main Project κλικ στο Finish. 4

5 Αµέσως µετά πρέπει να δηµιουργηθεί αρχείο της εφαρµογής µέσα στο project, το οποίο από µόνο του θα έχει προέκταση.java. Για να δηµιουργηθεί κάνεις τα εξής : File new File στη καρτέλα που ανοίγει, στο project επιλέγεις το project στο οποίο θα καταχωρηθεί το αρχείο, στη επιλογή categories επιλέγεις Java, και στη καρτέλα file types επιλέγεις Java main Class. κλικ Next. Στη επόµενη καρτέλα επιλέγεις όνοµα για τη κλάση και µετά κλικ στο Finish. Αφού ολοκληρωθεί επιτυχώς η παραπάνω διαδικασία, έχετε τη παρακάτω οθόνη : Βλέπετε αριστερά το project firstclass που δηµιουργήθηκε, καθώς και τη εφαρµογή First.java. 5

6 Βλέπετε αριστερά το αρχείο First.java, στο οποίο είµαστε έτοιµοι να πληκτρολογήσουµε τον κώδικα του προγράµµατος. Πληκτρολογούµε τη εντολή που ακολουθεί στο αρχείο First.java. System.out.println ( Hello World!!!!!!! ); Πρέπει να δώσουµε προσοχή στη πληκτρολόγηση γιατί στη Java έχουν διαφορά τα κεφαλαία από τα πεζά. Επίσης, κάθε εντολή στη Java ολοκληρώνεται µε το ερωτηµατικό (;). Οπότε το αρχείο First.java διαµορφώνεται ως εξής : 6

7 Στο σηµείο αυτό είναι απαραίτητο να εξηγήσουµε ότι βλέπουµε στο ορισµό του προγράµµατος. Class First Ορισµός της κλάσης First. Ο ορισµός περιλαµβάνει µόνο µία µέθοδο, τη main(). Οι αγκύλες πηγαίνουν ανά ζεύγη και περικλείουν αυτόνοµα κοµµάτια κώδικα. Public Η λέξη public δηλώνει ότι η µέθοδος είναι προσπελάσιµη από παντού. static Η λέξη static δηλώνει ότι η µέθοδος είναι προσπελάσιµη ακόµη και αν δεν έχουν δηµιουργηθεί αντικείµενα της κλάσης. Void σηµαίνει ότι δεν επιστρέφει καµιά τιµή. Main () Η βασική µέθοδος. Μέσα στη Main() υπάρχει η εντολή : System.out.println( Hello World!! ); System Είναι το όνοµα µίας βασικής κλάσης, η οποία περιλαµβάνει αντικείµενα και µεταβλητές, για υποστήριξη εισαγωγής δεδοµένων από το 7

8 πληκτρολόγιο. Επίσης χρησιµοποιείται και για την έξοδο χαρακτήρων στην οθόνη. out Το αντικείµενο out δηλώνει σαν τυπική έξοδο την οθόνη και είναι µέλος της κλάσης System. println () Είναι µέθοδος του αντικειµένου out και τυπώνει στην οθόνη την φράση που βρίσκεται µέσα στην παρένθεση. Προσοχή στο ερωτηµατικό (;), το οποίο πρέπει να είναι στο τέλος κάθε εντολής. Μεταγλώττιση ενός προγράµµατος Τρόπος Α Χρησιµοποιώντας το NetBeans µεταγλωττίζουµε ένα πρόγραµµα µε τη ακόλουθη διαδικασία : Στη γραµµή µενού κλικ στη επιλογή Build κλικ στη επιλογή Compile First.java. Αν η διαδικασία είναι επιτυχής, δηλαδή δεν υπάρχουν συντακτικά λάθη, τότε στη οθόνη του NetBeans στη περιοχή output, στο κάτω µέρος της οθόνης, παίρνεις το µήνυµα BUILD SUCCESSFUL. Αν υπάρχουν λάθη, τότε στη περιοχή του output εµφανίζεται ο συνολικός αριθµός των λαθών και συγχρόνως στη περιοχή του προγράµµατος υπογραµµίζονται µε κόκκινο χρώµα τα λάθη τα οποία εντοπίστηκαν. Η παραπάνω διαδικασία φαίνεται στις παρακάτω οθόνες : 8

9 ιαδικασία επιτυχούς µεταγλώττισης του προγράµµατος First.java. ιαδικασία µεταγλώττισης µε λάθη στο κώδικα του προγράµµατος 9

10 Αν η διαδικασία µεταγλώττισης είναι επιτυχής τότε δηµιουργείται το First.class αρχείο, που είναι ένα αρχείο που περιέχει κώδικα Byte. Που βρίσκονται τα αρχεία First.java και First.class ; Αν υποθέσουµε ότι σαν όνοµα project δώσαµε firstclass, και σαν project Location δώσαµε το δίσκο (c:), τότε µετά τη µεταγλώττιση στο c: δηµιουργήθηκε φάκελος µε το όνοµα του project δηλαδή firstclass. To First.java βρίσκεται στο path c:\firstclass\src. Το First.class βρίσκεται στο Path c:\firstclass\built\classes. Τρόπος Β Μπορούµε να τρέξουµε το πρόγραµµα µας από τη γραµµή εντολών του MS-DOS. Ανοίγουµε ένα τέτοιο παράθυρο µε το εξής τρόπο : Έναρξη Προγράµµατα βοηθήµατα Γραµµή Εντολών. Το αρχείο µας First.java πρέπει να έχει σωθεί στο φάκελο bin του JDK, δηλαδή στο path : c:\program files\java\jdk1.6.0_10\bin. Η εντολή µεταγλώττισης ενός προγράµµατος είναι : Javac First.java Αν δεν υπάρχουν συντακτικά λάθη τότε εµφανίζεται η παρακάτω οθόνη: 10

11 Αν υπάρχουν συντακτικά λάθη, τότε στη οθόνη της γραµµής εντολών εµφανίζονται τα λάθη όπως φαίνονται στη οθόνη που ακολουθεί : Εκτέλεση ενός προγράµµατος Τρόπος Α Για να εκτελέσετε ένα πρόγραµµα από το NetBeans πρέπει : Run Run File Run First.java. Παρακάτω φαίνεται η διαδικασία εκτέλεσης, και το αποτέλεσµα στη περιοχή του output. 11

12 Επιτυχής εκτέλεσης του προγράµµατος Τρόπος Β Από το περιβάλλον του MS-DOS, για να εκτελέσουµε το First.class αρχείο, γράφουµε στο σηµείο των εντολών την εξής εντολή : Java First ( εν χρειάζεται να γράψουµε τη προέκταση του αρχείου First.class). Το αποτέλεσµα φαίνεται στη οθόνη που ακολουθεί : 12

13 Εκτέλεση προγράµµατος όπου απαιτείται εισαγωγή στοιχείων από το πληκτρολόγιο. Ενδέχεται να χρειαστεί να εισάγουµε δεδοµένα από το πληκτρολόγιο, κατά το χρόνο εκτέλεσης ενός προγράµµατος. Αυτό γίνεται προσθέτοντας παραµέτρους στη εντολή του διερµηνευτή java, δηλαδή Java όνοµα προγράµµατος όρισµα1 όρισµα2 όρισµα3.. Η Java αποθηκεύει αυτά τα ορίσµατα σε ένα πίνακα µε το όνοµα args. Το πρώτο όρισµα αντιστοιχεί στο στοιχείο args[0], το δεύτερο στο στοιχείο args[1] κλπ. Αν ο κώδικας του προγράµµατος είναι ο παρακάτω, στη οθόνη που ακολουθεί, φαίνεται η διαδικασία µεταγλώττισης και εκτέλεσης. public class second public static void main (String [] args) int x1; double x2; x1= Integer.valueOf (args [0]).intValue (); x1 = x1* x1; 13

14 NNEETTBBEEAANNSS JJAAVVAA CCRREEAATTOORR x2= Double.valueOf (args[1]).doublevalue (); x2=math.pow(x2,2); System.out.println ("x1 * x1 = " + x1); System.out.println ("x2 * x2 = " + x2); 14

15 ΕΝΟΤΗΤΑ 1 Προσδοκώµενα αποτελέσµατα Μετά τη υλοποίηση των δραστηριοτήτων αυτής της ενότητας θα πρέπει να είστε σε θέση : 1) Να µπορέσουν οι µαθητές να διακρίνουν ποια θα είναι τα στοιχεία εισόδου, ποια η επεξεργασία και ποια η έξοδος ενός προγράµµατος. 2) Πως θα δηλώσουν µία µεταβλητή και τι τύπο θα ορίσουν για κάθε µεταβλητή µέσα στο πρόγραµµα τους. 3) Να καταλάβουν, ότι για να δηλώσουν µία µεταβλητή, πρέπει πρώτα να υπάρχει ο τύπος της µεταβλητής και µετά το όνοµα της. 4) Να συνειδητοποιήσουν, τι τύπο θα προσδιορίσουν για κάθε µεταβλητή, γιατί αφενός έχει σηµασία η ταχύτητα εκτέλεσης του προγράµµατος και αφετέρου να µη χάνονται σηµαντικά ψηφία (significant digits) κατά τη επεξεργασία. Πχ αν θα δηλώσουν int ή float µία µεταβλητή. 5) Να ορίζουν µία µεταβλητή σύµφωνα µε τους κανόνες που απαιτεί η Java και κυρίως να µη χρησιµοποιούν δεσµευµένες λέξεις. 6) Να καταλάβουν πότε θα χρησιµοποιούν τους τύπους δεδοµένων byte, short, int, long, float και double. 7) Να καταλάβουν τη διαφορά χαρακτήρα και αλφαριθµητικού, καθώς και τη χρήση της λογικής µεταβλητής boolean. ΡΑΣΤΗΡΙΟΤΗΤΕΣ Άσκηση 1 Ποια από τις παρακάτω είναι µία έγκυρη τιµή για µια µεταβλητή boolean; A) false B) false C) 10 D) int number; 15

16 Άσκηση 2 Ποια από τις παρακάτω δεν είναι µια σύµβαση ονοµατοδοσίας µεταβλητών στη Java; A) Μετά από τη πρώτη λέξη στο όνοµα της µεταβλητής, κάθε επόµενη λέξη αρχίζει µε κεφαλαίο γράµµα. B) Το πρώτο γράµµα του ονόµατος της µεταβλητής είναι πεζό. C) Όλα τα γράµµατα είναι κεφαλαία. Άσκηση 3 Ποιος από τους παρακάτω τύπους δεδοµένων περιέχει τιµές από έως 32768; Α) char B) short C) byte D) float. Άσκηση 4 Ποια από τις παρακάτω µεταβλητές δεν είναι έγκυρη; Α) diameter B) _var C) $local D) 7var Άσκηση 5 Μετά από τις δηλώσεις των παρακάτω µεταβλητών, ποια θα είναι η τιµή της µεταβλητής num1; Int num, num1, num2 = 100; A) 0 B) 49 C) 50 D) δεν είναι ορισµένη. Άσκηση 6 Ποια η διαφορά των τύπων µεταβλητών byte και int; Ποια η διαφορά ενός χαρακτήρα και ενός αλφαριθµητικού; Για ποιο σκοπό χρησιµοποιούµε τη boolean δήλωση µεταβλητής; 16

17 ΕΝΟΤΗΤΑ 2 Προσδοκώµενα αποτελέσµατα Μετά τη υλοποίηση των δραστηριοτήτων αυτής της ενότητας θα πρέπει να είστε σε θέση : 1. ηλώνετε τις µεταβλητές του προγράµµατος και το κάθε τύπο. 2. Να χρησιµοποιείτε τους τελεστές αριθµητικών πράξεων. 3. Να χρησιµοποιείτε τους µοναδιαίους τελεστές αύξησης και µείωσης. 4. Να καταχωρείτε τιµή σε µεταβλητή. 5. Να χρησιµοποιείτε τους τελεστές σύγκρισης καθώς και τους λογικούς τελεστές. 6. Να καταλάβετε τη διαφορά µεταξύ ενός χαρακτήρα και ενός αλφαριθµητικού. 7. Να κάνετε µετατροπή από ένα τύπο δεδοµένων σε άλλο. 8. Να µετατρέπετε αλφαριθµητικά σε αριθµούς. 9. Να χρησιµοποιείτε τις συναρτήσεις της κλάσης Math. 10. Να εισάγετε δεδοµένα από το πληκτρολόγιο. 11. Να κατασκευάζετε τα δικά σας προγράµµατα. ΡΑΣΤΗΡΙΟΤΗΤΕΣ Άσκηση 1 Ποια θα είναι η τιµή της µεταβλητής z µετά τη εκτέλεση του παρακάτω κώδικα; Int z=100; ++z; a) 100 b) 99 c) 101 d) αόριστη Άσκηση 2 Ποιο το αποτέλεσµα της πράξης : 14%5; a) 4 b) 2 c) 14 d) 0 Άσκηση 3 Ποιο το αποτέλεσµα των παρακάτω πράξεων ; a) (10 = = 6+4) && (5<7) b) (5<7) (10 = = 11) (3!=3) c) (4!=5) && ((5 = = 3+2) (5<5+2)); 17

18 Άσκηση 4 Να δηµιουργηθεί πρόγραµµα, που να δίνονται τιµές σε δύο ακέραιες µεταβλητές και στη συνέχεια να υπολογίζεται και να τυπώνεται το άθροισµα, η διαφορά, το γινόµενο, το ακέραιο πηλίκο και το πηλίκο. Για όλα τα αποτελέσµατα να χρησιµοποιηθούν ακέραιες µεταβλητές, ενώ για το πηλίκο µεταβλητές τύπου double. Άσκηση 5 Nα υπολογισθεί το εµβαδόν και το µήκος της περιφέρειας κύκλου, όταν δίνεται η ακτίνα του. Άσκηση 6 Να γραφεί πρόγραµµα το οποίο να δέχεται από το πληκτρολόγιο ένα ποσό µάζας m και να βρίσκει το ισοδύναµο ποσό ενέργειας Ε, µε βάση τον τύπο της φυσικής E = m c 2 όπου c η ταχύτητα του φωτός (c = km/sec). Άσκηση 7 Ο ολική αντίσταση Rολ δύο αντιστάσεων R1 & R2 που συνδέονται σε σειρά, είναι Rολ = R1 + R2. Να γράψετε πρόγραµµα το οποίο να δέχεται σαν εισόδους τις τιµές των R1 & R2 και να βρίσκει και να τυπώνει την συνολική αντίσταση Rολ. Άσκηση 8 Να φτιαχτεί πρόγραµµα που να υπολογίζει τις πραγµατικές ρίζες µίας εξίσωσης ευτέρου Βαθµού της µορφής : ax 2 + bx + c = 0 Άσκηση 9 Να δηµιουργηθεί πρόγραµµα που να δίνονται δύο αριθµοί από το πληκτρολόγιο και στην συνέχεια ο πρώτος να µετατρέπεται σε δεδοµένο τύπου int, ενώ ο δεύτερος σε double. Στην συνέχεια το πρόγραµµα να βρίσκει και να τυπώνει τα τετράγωνά τους 18

19 ΕΝΟΤΗΤΑ 3 Προσδοκώµενα αποτελέσµατα Μετά τη υλοποίηση των δραστηριοτήτων αυτής της ενότητας θα πρέπει να είστε σε θέση : 1. καταλάβετε τη χρήση της δοµής if else. 2. Χρησιµοποιείτε τα ένθετα (nested) if. 3. Να χρησιµοποιείτε το τελεστή? : 4. Χρησιµοποιείτε τη εντολή switch. 5. Να εξασκηθείτε επαρκώς στη υλοποίηση προγραµµάτων. ΡΑΣΤΗΡΙΟΤΗΤΕΣ Άσκηση 1 Στο παρακάτω κοµµάτι προγράµµατος η µεταβλητή selection έχει τη τιµή 10. θα εκτελεστεί η δεύτερη γραµµή του προγράµµατος; If (selection = = 3) Number = selection; Άσκηση 2 Να ερµηνεύσετε τη λειτουργία του παρακάτω προγράµµατος : Switch (x) Case 1 : Case 2 : Y = 1; Break; Case 3 : Y = 2; Break; Default : Y = 5; Άσκηση 3 Να δηµιουργηθεί πρόγραµµα που να διαβάζει τρεις διαφορετικούς ακεραίους x,y,z. Να τοποθετηθούν σε φθίνουσα σειρά. 19

20 Άσκηση 4 Να γραφεί πρόγραµµα που να βρίσκει ένα τυχαίο αριθµό από το 1 µέχρι το 7 και ανάλογα να τυπώνει τη αντίστοιχη µέρα της εβδοµάδας. Άσκηση 5 ίνεται ότι: Public class cases Public static void main (String [] args) Float x = 9; Float y = 5; Int z = (int) (x / y); Switch (z) Case 1: X = x + 2; Case 2: X = x + 3; Default: X = x + 1; System.out.println ( value of x : + x ); Ποια θα είναι η τιµή της χ όταν εκτελεστεί το παραπάνω κοµµάτι προγράµµατος; Α) 9.0 Β) 11.0 Γ) 15.0 ) δεν θα µεταγλωττιστεί. Άσκηση 6 Να γραφεί πρόγραµµα το οποίο να διαβάζει από το πληκτρολόγιο ένα γράµµα. Αν ο χρήστης πάτησε το γράµµα Ε τότε το πρόγραµµα να υπολογίζει το εµβαδόν ενός κύκλου. Αν πάτησε οποιοδήποτε άλλο πλήκτρο τότε το πρόγραµµα να υπολογίζει τη περίµετρο του κύκλου. Άσκηση 7 Να διαβαστούν δύο αριθµοί και σε περίπτωση που ο πρώτος αριθµός, είναι µικρότερος του δεύτερου, να υπολογιστεί και να εκτυπωθεί το άθροισµά τους. ιαφορετικά να υπολογιστεί και να εκτυπωθεί, το γινόµενο τους. 20

21 Άσκηση 8 Να εισαχθεί ένας ακέραιος που αντιστοιχεί σε µία ηλικία και να βρεθεί σε ποια όρια, εντάσσεται η δεδοµένη ηλικία, εµφανίζοντας σχετικό µήνυµα. Άσκηση 9 Να διαβάζονται δύο αριθµοί που αντιστοιχούν στο ύψος και στο βάρος ενός άντρα. Να εκτυπώνεται ότι ό άντρας είναι «ελαφρύς» αν το βάρος του είναι κάτω από 80 κιλά, ή να εκτυπώνεται «βαρύς» στην αντίθετη περίπτωση. Επίσης να εκτυπώνεται «κοντός» αν το ύψος του είναι κάτω από 1,70, αλλιώς να εκτυπώνεται «ψηλός». Άσκηση 10 Στο λογαριασµό της ΕΗ η κατανάλωση υπολογίζεται από την διαφορά µεταξύ της προηγούµενης και της τελευταίας ένδειξης. Η αξία του λογαριασµού προκύπτει ως εξής : Υπάρχει πάγια χρέωση 15 ευρώ Για κατανάλωση µέχρι 800 KWH υπάρχει χρέωση 1,20 ευρώ/ kwh Για κατανάλωση από 801 khw έως khw, υπάρχει χρέωση 1,70 euro/khw. Για κατανάλωση από khw έως kwh, υπάρχει χρέωση 2,5 euro/khw. Για κατανάλωση πάνω από khw, υπάρχει χρέωση 3,00 euro/khw. Να γίνει πρόγραµµα που να ζητά την τελευταία και την προηγούµενη ένδειξη και να υπολογίζει την αξία του λογαριασµού. 21

22 ΕΝΟΤΗΤΑ 4 Προσδοκώµενα αποτελέσµατα Μετά τη υλοποίηση των δραστηριοτήτων αυτής της ενότητας θα πρέπει να είστε σε θέση : 1. Να καταλάβετε το σκοπό ύπαρξης των βρόχων. 2. Να δείτε πως δουλεύει ο βρόχος for, while, και do while. 3. Να συνειδητοποιήσετε πότε θα χρησιµοποιείτε το κάθε βρόχο. 4. Να µπορείτε να µετατρέπετε τη δοµή ενός προγράµµατος από τον ένα βρόχο στο άλλο βρόχο. 5. Να καταλάβετε τη βασική διαφορά ανάµεσα στους βρόχους while και do-while. 6. Να καταλάβετε γιατί χρησιµοποιούµε το ατέρµονο βρόχο. 7. Να µπορείτε να χρησιµοποιείτε τους ένθετους βρόχους. 8. Να χρησιµοποιείτε το continue και το continue µε label. 9. Να χρησιµοποιείτε το break και το break µε label. ΡΑΣΤΗΡΙΟΤΗΤΕΣ Άσκηση 1 Πότε χρησιµοποιούµε το βρόγχο for και πότε while ή do-while; Ποια η διαφορά χρήσης του while και του do-while; Πότε ένας βρόχος while παύει να εκτελείται; Πότε συµβαίνει το ίδιο σε ένα βρόχο for; Άσκηση 2 Γράψτε ένα βρόχο while ο οποίος να εκτελείται 10 φορές. Πώς µπορούµε να γράψουµε τον ίδιο βρόχο χρησιµοποιώντας το for; Άσκηση 3 Πόσες φορές θα εκτελεστεί ο παρακάτω βρόχος : For (int i=3; i< 15; i += 3) ++count; 22

23 Άσκηση 4 Τι κάνει το παρακάτω κοµµάτι προγράµµατος : For (int i=1; i<10; i++) For (int j=1; j<10; j++) System.out.println ( * ); System.out.println (); Άσκηση 5 Να γραφεί πρόγραµµα το οποίο να τυπώνει πίνακα αντιστοιχιών θερµοκρασίας Κελσίου και Φαρενάιτ από 0 µέχρι 50 Φαρενάιτ. Ο τύπος µετατροπής είναι : C = 5 / 9 (F 32). Άσκηση 6 Να δηµιουργηθεί πρόγραµµα το οποίο να παράγει ένα τυχαίο αριθµό µεταξύ του 1 και του 100 και στη συνέχεια να εξετάζει αν ο αριθµός αυτός είναι περιττός ή άρτιος. Σε κάθε περίπτωση να τυπώνει και το αντίστοιχο µήνυµα. Άσκηση 7 Να δηµιουργηθεί πρόγραµµα που να διαβάζει τρεις διαφορετικούς ακεραίους x,y,z. Να τοποθετηθούν σε φθίνουσα σειρά. Άσκηση 8 Να γίνει πρόγραµµα στο οποίο να δίνεται ένας ακέραιος αριθµός και στη συνέχεια να υπολογίζεται το άθροισµα όλων των αριθµών. Να γίνει η συγκεκριµένη άσκηση και µε τους τρεις βρόχους. Άσκηση 9 Να δηµιουργηθεί πρόγραµµα το οποίο να δίνει σε µία µεταβλητή y τη τιµή τύπου float Στη συνέχεια η µεταβλητή αυτή να υποδιπλασιάζεται µέχρι να γίνει µικρότερη από τη τιµή

24 Άσκηση 10 Χρησιµοποιώντας ένθετους βρόχους, να γίνει πρόγραµµα που να κατασκευάζει τη προπαίδεια του 1,2,3,4,5,6,7,8,9,10. Άσκηση 11 Να γραφεί πρόγραµµα που να βρίσκει ένα τυχαίο αριθµό από το 1 µέχρι το 7 και ανάλογα να τυπώνει τη αντίστοιχη µέρα της εβδοµάδας Άσκηση 12 Να γραφεί πρόγραµµα που να υπολογίζει το άθροισµα των περιττών και των άρτιων αριθµών που είναι µικρότεροι από το 100. Άσκηση 13 Να γραφεί πρόγραµµα το οποίο να παράγει 50 τυχαίους αριθµούς από το 1 µέχρι το 100 και να υπολογίζει το άθροισµα και το µέσο όρος τους. Άσκηση 14 Στο λογαριασµό της ΕΗ η κατανάλωση υπολογίζεται από την διαφορά µεταξύ της προηγούµενης και της τελευταίας ένδειξης. Η αξία του λογαριασµού προκύπτει ως εξής : Υπάρχει πάγια χρέωση 15 ευρώ Για κατανάλωση µέχρι 800 KWH υπάρχει χρέωση 1,20 ευρώ/ kwh Για κατανάλωση από 801 khw έως khw, υπάρχει χρέωση 1,70 euro/khw. Για κατανάλωση από khw έως kwh, υπάρχει χρέωση 2,5 euro/khw. Για κατανάλωση πάνω από khw, υπάρχει χρέωση 3,00 euro/khw. Να γίνει πρόγραµµα που να ζητά την τελευταία και την προηγούµενη ένδειξη καθώς και το αριθµό µετρητή του ρολογιού της ΕΗ. Να υπολογίζει την αξία του λογαριασµού για Ν συνδροµητές και το πρόγραµµα να σταµατά τη εκτέλεση του, όταν σαν αριθµό µετρητή πατήσουµε το 0. 24

25 ΕΝΟΤΗΤΑ 5 Προσδοκώµενα αποτελέσµατα Μετά τη υλοποίηση των δραστηριοτήτων αυτής της ενότητας θα πρέπει να είστε σε θέση : 1) Να ορίσετε πίνακα µιας διάστασης, να καταχωρήσετε τιµές στο πίνακα και να τον επεξεργαστείτε. 2) Να καταλάβετε το λόγο ύπαρξης των πινάκων πολλαπλών διαστάσεων και την επεξεργασία τους. 3) Να κατανοήσετε τις δύο µορφές ταξινόµησης. Ασκήσεις µε λυµένα παραδείγµατα για εµπέδωση της ύλης Άσκηση 1 Το παράδειγµα που ακολουθεί είναι ένα παράδειγµα ενός βρόχου while που αντιγράφει τα στοιχεία ενός πίνακα ακεραίων σε ένα πίνακα αριθµών Float, αλλάζοντας τον τύπο κάθε στοιχείου σε Float. class Copying public static void main (String [] arguments) int [] array1 = 7, 4, 8, 1, 4, 1, 4 ; float [] array2 = new float [array1.length]; System.out.print ("array1: [ "); for (int i = 0; i < array1.length; i++) System.out.print (array1 [i] + " "); System.out.println ("]"); System.out.print ("array2: [ "); int count = 0; while (count < array1.length && array1 [count]!= 1) array2 [count] = (float) array1 [count]; System.out.print (array2 [count++] + " "); System.out.println("]"); 25

26 Άσκηση 2 Το παρακάτω πρόγραµµα δηµιουργεί, αρχικοποιεί, τροποποιεί και εξετάζει τα µέρη ενός πίνακα. class half public static void main (String [] arguments) int [] denver = , , ; int [] philadelphia = new int [denver.length]; int [] total = new int [denver.length]; int average; philadelphia [0] = ; philadelphia [1] = ; philadelphia [2] = ; total [0] = denver [0] + philadelphia [0]; total [1] = denver [1] + philadelphia [1]; total [2] = denver [2] + philadelphia [2]; average = (total [0] + total [1] + total [2]) / 3; System.out.println ("1993 production: " + total [0]); System.out.println ("1994 production: " + total [1]); System.out.println ("1995 production: " + total [2]); System.out.println ("Average production: "+ average); Άσκηση 3 Η παραπάνω άσκηση 2,τροποποιηµένη χρησιµοποιώντας βρόχους for, για να εξαλειφθεί ο επαναλαµβανόµενος κώδικας. class half public static void main (String [] arguments) int [] denver = , , ; int [] philadelphia = , , ; int [] total = new int [denver.length]; int sum = 0; for (int i = 0; i < denver.length; i++) total [i] = denver [i] + philadelphia [i]; System.out.println ((i ) + " production: " + total [i]); 26

27 sum += total [i]; System.out.println ("Average production: " + (sum / denver.length)); ΡΑΣΤΗΡΙΟΤΗΤΕΣ Άσκηση 1 Με ποιο τρόπο δηλώνουµε ένα πίνακα 30 θέσεων; Πώς θα αναφερθούµε σε συγκεκριµένο στοιχεί του πίνακα; Ποια η µεγαλύτερη τιµή του δείκτη; Τι θα συµβεί αν προσπαθήσουµε να προσπελάσουµε ένα στοιχείο έξω από τα όρια του πίνακα; Άσκηση 2 ηλώστε ένα πίνακα δύο διαστάσεων µε 5 γραµµές και 4 στήλες. Γράψτε το διπλό for που απαιτείται για να ορίσετε τον πίνακα, να αλλάξετε τη τιµή κάποιου στοιχείου του και να τον εκτυπώσετε. Άσκηση 3 Να δηµιουργηθεί ένας πίνακας δέκα θέσεων και να καταχωρηθούν σε αυτόν τυχαίες τιµές. Να γίνει πρόγραµµα πού να σχηµατίζει το πίνακα και να υπολογισθούν : Α) το άθροισµα όλων των στοιχείων του πίνακα. Β) το µεγαλύτερο στοιχείο του πίνακα και σε ποια θέση εµφανίζεται. Γ) αν το µεγαλύτερο στοιχείο του πίνακα υπάρχει σε περισσότερες από µία θέσεις να αντικατασταθεί η τιµή αυτή µε το µηδέν. ) Να ταξινοµηθεί ο τροποποιηµένος πίνακας. Άσκηση 4 Να δηµιουργηθεί ένας πίνακας δύο διαστάσεων µε τρεις γραµµές και τρεις στήλες. Να γίνει πρόγραµµα που να σχηµατίζει το πίνακα αυτό και να υπολογίζει : Α) τον αντίστροφο του σε ένα άλλο πίνακα. Β) να δηµιουργηθούν δύο άλλοι πίνακες που θα προκύψουν από τη πρόσθεση και τη αφαίρεση του βασικού και του αντίστροφου. 27

28 Γ) για το βασικό πίνακα να βρίσκει το άθροισµα όλων των στοιχείων του. ) για το βασικό πίνακα να βρίσκει το άθροισµα της κάθε στήλης. Ε) για το βασικό πίνακα να βρίσκει το µεγαλύτερο της κάθε γραµµής. Ζ) για το αντίστροφο πίνακα να βρίσκει το άθροισµα της κυρίας διαγώνιου. 28

29 ΕΝΟΤΗΤΑ 6 Προσδοκώµενα αποτελέσµατα Μετά τη υλοποίηση των δραστηριοτήτων αυτής της ενότητας θα πρέπει να είστε σε θέση : 1. Να καταλάβετε τι είναι µέθοδος (function). 1. Να καταλάβετε πως δηλώνετε µία µέθοδος. 2. Να καταλάβετε πώς θα επιστρέψει τιµή µία µέθοδος. 3. Να δείτε το τρόπο πως θα καλέσετε µία µέθοδο. 4. Να καταλάβετε τη χρησιµότητα µιας αναδροµικής µεθόδου. Ασκήσεις µε λυµένα παραδείγµατα για εµπέδωση της ύλης Άσκηση 1 Το παρακάτω πρόγραµµα παίρνει δύο ορίσµατα, ένα µήνα και ένα έτος, και εµφανίζει τον αριθµό των ηµερών µέσα στο µήνα. class Day public static void main (String [] arguments) int yearin = 2002; int monthin = 12; if (arguments.length > 0) monthin = Integer.parseInt (arguments [0]); if (arguments.length > 1) yearin = Integer.parseInt (arguments [1]); System.out.println (monthin + "/" + yearin + " has " + countdays (monthin, yearin) + " days."); static int countdays (int month, int year) int count = -1; switch (month) case 1: case 3: case 5: case 7: case 8: case 10: 29

30 NNEETTBBEEAANNSS JJAAVVAA CCRREEAATTOORR case 12: count = 31; break; case 4: case 6: case 9: case 11: count = 30; break; case 2: if (year % 4 == 0) count = 29; else count = 28; if ((year % 100 == 0) & (year % 400!= 0)) count = 28; return count; Άσκηση 2 ηµιουργήστε µία εφαρµογή που εµφανίζει κάθε ηµεροµηνία µέσα σε ένα δεδοµένο έτος σε µία λίστα από την 1 Ιανουαρίου µέχρι τη 31 εκεµβρίου. class Year public static void main (String [] arguments) int year = 2000; if (arguments.length > 0) year = Integer.parseInt (arguments [0]); for (int month = 1; month < 13; month++) for (int day = 1; day <= countdays (month, year); day++) System.out.println (month + "/" + day + "/" + year); static int countdays (int month, int year) int count = -1; switch (month) case 1: case 3: case 5: 30

31 NNEETTBBEEAANNSS JJAAVVAA CCRREEAATTOORR case 7: case 8: case 10: case 12: count = 31; break; case 4: case 6: case 9: case 11: count = 30; break; case 2: if (year % 4 == 0) count = 29; else count = 28; if ((year % 100 == 0) & (year % 400!= 0)) count = 28; return count; ΡΑΣΤΗΡΙΟΤΗΤΕΣ Άσκηση 1 Να δηµιουργηθεί πρόγραµµα και µέσα σε αυτό να δηµιουργηθεί η µέθοδος tetragon(), η οποία να βρίσκει το τετράγωνο ενός ακεραίου αριθµού. Το κυρίως πρόγραµµα να καλεί είκοσι φορές τη µέθοδο tetragon() για να βρίσκει και να τυπώνει τα τετράγωνα των αριθµών από 0 έως 19 Άσκηση 2 Να δηµιουργηθεί πίνακας 10 στοιχείων µε τυχαίους αριθµούς από το 0 µέχρι το 49. Να γίνει πρόγραµµα µε συναρτήσεις (µεθόδους) που να : Α) η συνάρτηση να επιστρέφει στο κυρίως πρόγραµµα το άθροισµα όλων των στοιχείων του πίνακα. Β) άλλη συνάρτηση να επιστρέφει στο κυρίως πρόγραµµα το µεγαλύτερο στοιχείο του πίνακα. 31

32 ΕΝΟΤΗΤΑ 7 Προσδοκώµενα αποτελέσµατα Μετά τη υλοποίηση των δραστηριοτήτων αυτής της ενότητας θα πρέπει να είστε σε θέση : 1. Μία µεταβλητή αλφαριθµητικού τύπου είναι ένα αντικείµενο της κλάσης String. Με τον όρο αλφαριθµητικά (string) εννοούµε µία σειρά από χαρακτήρες πχ ένα όνοµα 2. Για συνένωση δύο ή περισσοτέρων αλφαριθµητικών χρησιµοποιούµε τον τελεστή +. Για έλεγχο ισότητας δύο αλφαριθµητικών χρησιµοποιείται η µέθοδος equals. Η κλάση String περιέχει µεθόδους µε τις οποίες µπορούµε να µετατρέψουµε τα κεφαλαία γράµµατα σε πεζά και αντίστροφα. Αν θέλουµε να µη λαµβάνεται κατά τη σύγκριση υπ όψη το αν οι χαρακτήρες είναι κεφαλαίο ή πεζοί, τότε χρησιµοποιούµε τη µέθοδο equalsignorecase() αντί για τη equals. 3. Με τον όρο υπααλφαριθµητικό (substring) εννοούµε ένα αλφαριθµητικό, το οποίο βρίσκεται µέσα σε ένα αλφαριθµητικό µεγαλύτερο ή ίσο από αυτό. Για τη εξαγωγή ενός αλφαριθµητικού από ένα άλλο χρησιµοποιούµε τη µέθοδο substring(). Η σύνταξη της είναι : String substring (int αρχή, int τέλος) 3. Πολλές φορές χρειαζόµαστε να πάρουµε µεµονωµένους χαρακτήρες από ένα αλφαριθµητικό. Χρησιµοποιούµε µια µεταβλητή τύπου int για να προσδιορίσουµε τη θέση του χαρακτήρα σε συνδυασµό µε τη µέθοδο charat() 3. Η µέθοδος length(), µία χρήσιµη µέθοδος, για να µπορέσουµε να βρούµε το µήκος του αλφαριθµητικού. 3. Η µέθοδος replace() χρησιµοποιείται για να αντικατασταθούν κάποιοι χαρακτήρες ενός αλφαριθµητικού µε άλλους. Η µέθοδος replace() δέχεται δύο παραµέτρους. Ο πρώτος είναι ο χαρακτήρας που πρόκειται να αντικατασταθεί, και ο δεύτερος ο χαρακτήρας που θα πάρει τη θέση του. 3. Οι µέθοδοι indexof() και lastindexof() είναι δύο µέθοδοι που χρησιµοποιούνται για τον εντοπισµό χαρακτήρων µέσα σε ένα αλφαριθµητικό. 32

33 3. Στη Java έχουµε τη δυνατότητα να µετατρέψουµε διάφορους τύπους δεδοµένων σε αλφαριθµητικά µε τη µέθοδο valueof(). 3. Η µέθοδος parseint() διαβάζει το περιεχόµενο του αλφαριθµητικού, το µετατρέπει σε ακέραιο, και στη συνέχεια το καταχωρεί σε κάποια µεταβλητή. Ασκήσεις µε λυµένα παραδείγµατα για εµπέδωση της ύλης Παράδειγµα 1 Παράδειγµα ελέγχου ισότητας δύο αλφαριθµητικών public class b7 public static void main (String [] args) String string1 = "George"; String string2 = "george"; String string3 = "George"; System.out.println (string1 + "\n" + string2 + "\n" + string3); if (string1.equals (string3)) System.out.println ("string1 is equal to string3"); else System.out.println ("string1 is not equal to string3"); if (string2.equals (string3)) System.out.println ("string2 is equal to string3"); else System.out.println ("string2 is not equal to string3"); Παράδειγµα 2 Παράδειγµα ορισµού του υποαλφαριθµητικού (substring) public class b9 public static void main (String [] args) 33

34 String str1 = "Athens is the capital of Greece"; System.out.println (str1); String str2 = str1.substring (14,21); System.out.println (str2); String str3 = str1.substring (25,31); System.out.println (str3); NNEETTBBEEAANNSS JJAAVVAA CCRREEAATTOORR Παράδειγµα 3 Εύρεση του µήκους ενός αλφαριθµητικού και προσπέλαση µεµονωµένων χαρακτήρων. public class b10 public static void main (String [] args) String str1 = "Athens is the capital of Greece"; System.out.println ("the character at index 4 = " + str1.charat (4)); System.out.println ("the string contains = " + str1.length() + " characters"); Παράδειγµα 4 Παράδειγµα εντοπισµού χαρακτήρων µέσε σε ένα αλφαριθµητικό. public class b12 public static void main (String [] args) String str1 = "Athens is the Capital of Greece."; System.out.println (str1); int i = 0; int j = 0; int k = 0; i = str1.indexof ('e'); System.out.println ("the first index of 'e' = " + i); j = str1.indexof ('e', i+1); System.out.println ("the next index of 'e' = " + j); k = str1.lastindexof ('e'); 34

35 System.out.println ("the last index of 'e' = " + k); System.out.println (str1.substring (i)); Παράδειγµα 5 Παράδειγµα χρήσης της substring(). class Birthday public static void main (String [] arguments) String birthday = "08/23/2002"; String month = birthday.substring (0, 2); String day = birthday.substring (3, 5); String year = birthday.substring (6, 10); System.out.println ("Birthday: " + birthday); System.out.println ("Month: " + month); System.out.println ("Day: " + day); System.out.println ("Year: " + year); Παράδειγµα 6 Παράδειγµα χρήσης των µεθόδων length(), charat(), indexof() class CheckString public static void main (String [] arguments) String str = "Nobody ever went broke by buying IBM"; System.out.println ("The string is: " + str); System.out.println ("Length of this string: " + str.length ()); System.out.println ("The character at position 5: " + str.charat (5)); System.out.println ("The substring from 26 to 32: " + str.substring (26, 32)); System.out.println ("The index of the character v: " + str.indexof ('v')); System.out.println ("The index of the beginning of the " + "substring \"IBM\": " + str.indexof ("IBM")); System.out.println ("The string in upper case: " + str.touppercase ()); 35

36 Παράδειγµα 7 ηµιουργείστε µια κλάση µε µεταβλητές τα height, weight, depth, κάνοντας κάθε µεταβλητή ακέραιο. ηµιουργείστε µία εφαρµογή που χρησιµοποιεί τη παραπάνω κλάση, θέτει κάθε µια από τις τιµές σε ένα αντικείµενο και εµφανίζει τις τιµές. class Sample int height; int weight; int depth; class UseSample public static void main (String [] arguments) Sample thing = new Sample (); thing.height = 72; thing.weight = 1000; thing.depth = 420; System.out.println ("Height: " + thing.height); System.out.println ("Weight: " + thing.weight); System.out.println ("Depth: " + thing.depth); ΡΑΣΤΗΡΙΟΤΗΤΕΣ Άσκηση 1 Σε ένα string, να µετρηθεί ο αριθµός των λέξεων «the» που υπάρχουν µέσα σε µια δεδοµένη φράση. Άσκηση 2 Γράψτε ένα πρόγραµµα το οποίο να δέχεται τη ηµεροµηνία σε µορφή «ηη/µµ/εε» και να τη µετατρέπει σε µορφή «ηη/µµ/20εε» δηλαδή την ηµεροµηνία 15/07/08 να την µετατρέψει σε 15/07/

37 Άσκηση 3 ηµιουργήστε ένα πρόγραµµα που δέχεται λέξεις για τους δέκα πρώτους αριθµούς (ένα έως δέκα) και να τις µετατρέπει σε ένα ακέραιο long. Χρησιµοποιείστε µια πρόταση switch για τη µετατροπή και ορίσµατα γραµµής εντολών για τις λέξεις. Άσκηση 4 ηµιουργείστε ένα πρόγραµµα που να ελέγχει αν δύο αντικείµενα τύπου String έχουν τις ίδιες τιµές. Άσκηση 5 Γράψτε πρόγραµµα που να µετατρέπει µία ηµεροµηνία γέννησης της µορφής ΜΜ/ΗΗ/ΕΕΕΕ σε τρία διαφορετικά strings. 37

38 ΕΝΟΤΗΤΑ 8 Προσδοκώµενα αποτελέσµατα Μετά τη υλοποίηση των δραστηριοτήτων αυτής της ενότητας θα πρέπει να είστε σε θέση : 1. Σε ένα αντικείµενο της κλάσης String δεν µπορούµε να αλλάξουµε ένα αλφαριθµητικό µέσα στο ίδιο το αντικείµενο. Η κλάση StringBuffer χρησιµοποιείται για αλφαριθµητικά που µεταβάλλονται. 2. Βασικές µέθοδοι της κλάσης StringBuffer είναι : Length () µας δίνει το χρησιµοποιούµενο µήκος Capacity () µας δίνει τη συνολική χωρητικότητα του String. Append () προσθέτουµε χαρακτήρες στο αντικείµενο 3. Οι µέθοδοι setcharat() και insert() χρησιµοποιούνται για να κάνουµε προσθήκες στο αλφαριθµητικό περιεχόµενο ενός αντικειµένου τύπου StringBuffer. 4. Eνδέχεται ένα αντικείµενο της κλάσης StringBuffer να θέλουµε να µετατραπεί σε αλφαριθµητικό, για αυτό χρησιµοποιούµε τη µέθοδο tostring (). 5. Η µέθοδος reverse() της κλάσης StringBuffer, χρησιµοποιείται για να γίνει αντιστροφή ενός αλφαριθµητικού τύπου StringBuffer. Ασκήσεις µε λυµένα παραδείγµατα για εµπέδωση της ύλης Παράδειγµα 1 Χρήση των συναρτήσεων append(), capacity(), length() σε ένα αντικείµενο της κλάσης StringBuffer. public class b16 public static void main (String [] args) StringBuffer sbf = new StringBuffer (40); System.out.println ("sbf = " + sbf); System.out.println ("sbf.lenght () = " + sbf.length ()); 38

39 System.out.println ("sbf.capacity () = " + sbf.capacity ()); sbf.append ("Athens is "); System.out.println (" "); System.out.println ("sbf = "+ sbf); System.out.println ("sbf.lenght () = " + sbf.length ()); System.out.println ("sbf.capacity () = " + sbf.capacity ()); sbf.append ("the capital of Greece "); System.out.println (" "); System.out.println ("sbf = " + sbf); System.out.println ("sbf.lenght () = " + sbf.length ()); System.out.println ("sbf.capacity () = " + sbf.capacity ()); Παράδειγµα 2 Μετατροπή αντικειµένου StringBuffer σε αλφαριθµητικό. public class b18 public static void main (String [] args) StringBuffer sbf = new StringBuffer ("my name is george"); System.out.println ("sbf = " + sbf); String str = sbf.tostring (); System.out.println ("str = " + sbf); ΡΑΣΤΗΡΙΟΤΗΤΕΣ Άσκηση 1 Έχουµε το αλφαριθµητικό str1 = Athens is my favorite city. Ποιο τµήµα του επιστρέφεται µε την κλήση της µεθόδου str1.substring(3,6); Εάν δώσουµε str1.substring(4,12), πόσο είναι το µήκος του τµήµατος που επιστρέφεται; Άσκηση 2 Ποια η κυριότερη διαφορά µεταξύ της κλάσης String και StringBuffer; Με ποιες µεθόδους προσθέτουµε χαρακτήρες στο ήδη 39

40 υπάρχον αντικείµενο, βλέπουµε τη συνολική χωρητικότητα και τυπώνουµε το χρησιµοποιούµενο µήκος του αντικειµένου; Άσκηση 3 Να γίνει πρόγραµµα, όπου για ένα αντικείµενο της κλάσης StringBuffer, να αλλάξετε κάποιους χαρακτήρες του. Άσκηση 4 Να γίνει πρόγραµµα, όπου για ένα αντικείµενο της κλάσης StringBuffer που περιέχει ένα αλφαριθµητικό, να αντιστρέψετε τους χαρακτήρες του. 40

41 ΕΝΟΤΗΤΑ 9 Προσδοκώµενα αποτελέσµατα Μετά τη υλοποίηση των δραστηριοτήτων αυτής της ενότητας θα πρέπει να είστε σε θέση : 1) Τι είναι η κλάση και τι τα αντικείµενα. 2) Ποιος ο σκοπός ύπαρξης των µεταβλητών και των µεθόδων στο ορισµό της κλάσης. 3) Τι είναι οι µεταβλητές κλάσης και τι µεταβλητές στιγµιότυπου. 4) Τι είναι οι µέθοδοι κλάσης και τι οι µέθοδοι στιγµιότυπου. 5) Ποιος ο σκοπός ύπαρξης της µεταβλητής this. 6) Τι είναι οι κατασκευαστές, πως ορίζονται, και πως χρησιµοποιούνται για κατασκευάσουµε ένα αντικείµενο. 7) Πώς θα χρησιµοποιηθεί η κλάση που κατασκευάσαµε. 8) Γιατί υπάρχουν πολλοί κατασκευαστές. 9) Τι είναι τα πακέτα, πως χρησιµοποιούµε µία µέθοδο ή µία κλάση ενός πακέτου και ποια τα τυπικά πακέτα της Java. 10) Πως µπορούµε να δηµιουργήσουµε δικά µας πακέτα, ώστε να βάλουµε µέσα στα πακέτα τις δικές µας κλάσεις. 11) Τι είναι η ενθυλάκωση. 12) Τι σηµαίνει αν οι µεταβλητές και οι µέθοδοι µιας κλάσης δηλωθούν public, private, protected. 13) Τι είναι ο πολυµορφισµός και τι κληρονοµικότητα. Ασκήσεις µε λυµένα παραδείγµατα για εµπέδωση της ύλης Άσκηση 1 - ηµιουργία κλάσης και κατασκευαστή // κλάσεις και κατασκευαστές class circle static double pi = 3.14; static int count = 0; double radius; double x; double y; 41

42 // δηµιουργία του κατασκευαστή. circle (double r1, double x1, double y1) radius = r1; x = x1; y = y1; ++count; double area () return pi * radius * radius; Άσκηση 2 Πώς θα χρησιµοποιήσουµε τη παραπάνω κλάση που δηµιουργήσαµε και πως θα δηµιουργηθούν τα αντικείµενα; Αφού µεταγλωττίσουµε τη παραπάνω κλάση δηµιουργείται το circle.class αρχείο. Στη συνέχεια γράφουµε ένα άλλο πρόγραµµα, αυτό που ακολουθεί, µε το οποίο θα δηµιουργήσουµε τα αντικείµενα. public class test public static void main (String [] args) System.out.println ("number of objects = " + circle.count); // δηµιουργία αντικειµένου // circle = troxos; // troxos = new circle (5.0,1.0,1.0); // οι δύο παραπάνω εντολές µε τη επόµενη είναι ίδιες. // ηµιουργούν αντικείµενο circle troxos = new circle(5.0, 1.0, 1.0); System.out.println ("number of objects = " + troxos.count); circle roda = new circle (4.0, 5.0, 5.0); 42

43 System.out.println ("number of objects = " + roda.count); // εκτύπωση κάθε αντικειµένου System.out.println ("area of troxos = " + troxos.area ()); System.out.println ("area of roda = " + roda.area ()); Άσκηση 3 Άσκηση µε πολλαπλούς κατασκευαστές. Στο παρακάτω πρόγραµµα θα δηµιουργήσουµε δύο διαφορετικά αντικείµενα, ένα αντικείµενο µε το ένα κατασκευαστή και το άλλο αντικείµενο µε τον άλλο κατασκευαστή. Και οι δύο κατασκευαστές έχουν το ίδιο όνοµα µε τη κλάση αλλά διαφορετικές παραµέτρους. // κλάσεις και κατασκευαστές. // πολλαπλοί κατασκευαστές class circle1 static double pi = 3.14; static int count = 0; double radius; double x; double y; // δηµιουργία του constructor1 circle1 (double r1, double x1, double y1) radius = r1; x = x1; y = y1; ++count; // δηµιουργία του costructor2 circle1 (double r2) 43

44 x = 0.0; y = 0.0; radius = r2; ++count; double area() return pi * radius * radius; Ακολουθεί το πρόγραµµα που καλεί τη παραπάνω κλάση και η δηµιουργία των αντικειµένων µέσω πολλαπλών κατασκευαστών public class test public static void main (String [] args) System.out.println ("number of objects = " + circle1.count); // δηµιουργία του αντικειµένου // circle = troxos; // troxos = new circle (5.0, 1.0, 1.0); // οι δύο παραπάνω εντολές και η ακόλουθη είναι ίδιες // καλώντας το πρώτο κατασκευαστή. circle1 troxos = new circle1 (5.0, 1.0, 1.0); System.out.println ("number of objects = " + troxos.count); // καλώντας το δεύτερο constructor circle1 roda = new circle1 (4.0); System.out.println ("number of objects = " + roda.count); // εκτύπωση του εµβαδού για κάθε αντικείµενο που δηµιουργήθηκε System.out.println ("area of troxos = " + troxos.area ()); System.out.println ("area of roda = " + roda.area ()); 44

45 Άσκηση 4 Έστω οι παρακάτω εντολές : Circle kiklos1; Kiklos1 = new Circle (5.0, 4.0, 5.0); Οι παραπάνω δηλώσεις δηµιουργούν στη µνήµη ένα αντικείµενο τύπου Circle µε τα χαρακτηριστικά που αναφέρονται και ρυθµίζει τη µεταβλητή kiklos1 ώστε να δείχνει σε αυτό. Μπορούµε επίσης να δηµιουργήσουµε και µία άλλη µεταβλητή kiklos2 ως εξής : Circle kiklos2 = kiklos1; Tο ερώτηµα το οποίο τίθεται είναι το εξής: ηµιουργήσαµε νέο αντικείµενο; Όχι, δηµιουργήθηκε µία µεταβλητή που δείχνει ακριβώς στο ίδιο αντικείµενο. Εάν κάνουµε µία αλλαγή σε ένα αντικείµενο µέσω µιας µεταβλητής τότε οι αλλαγές περνάνε και στο άλλο αντικείµενο. Αυτό φαίνεται στο πρόγραµµα που ακολουθεί : public class test1 public static void main (String [] args) circle kyklos1, kyklos2; kyklos1 = new circle (5.0, 4.0, 5.0); kyklos2 = kyklos1; System.out.println ("kyklos 1 start--> radius = " + kyklos1.radius); System.out.println ("kyklos 2 start--> radius = " + kyklos2.radius); System.out.println (" "); kyklos2 = kyklos1; kyklos1.radius = 20.0; System.out.println ("kyklos 1 --> radius = " + kyklos1.radius); System.out.println ("kyklos 2 --> radius = " + kyklos2.radius); System.out.println (" "); kyklos2.radius = 50.0; System.out.println ("kyklos 2 --> radius = " + kyklos2.radius); System.out.println ("kyklos 1 --> radius = " + kyklos1.radius); 45

46 Άσκηση 5 Άσκηση δηµιουργίας πακέτου Να δηµιουργηθεί πακέτο history. Στο πακέτο αυτό να προστεθεί η κλάση circle. Στη συνέχεια να δηµιουργηθεί ένα πρόγραµµα το οποίο να κάνει χρήση της κλάσης circle και να εισάγει µέσα στο πρόγραµµα το πακέτο history. ηµιουργούµε τη public κλάση circle.java και στη κλάση αυτή προσθέτουµε στη αρχή τη λέξη package µαζί µε το όνοµα του πακέτου. package history; public class circle double pi = 3.14; double radius; double x; double y; // δηµιουργία του πρώτου κατασκευαστή. public circle (double r1, double x1, double y1) // <--- public radius = r1; x = x1; y = y1; // δηµιουργία του δεύτερου κατασκευαστή. public circle (double r2) x = 0.0; y = 0.0; radius = r2; public double area() return pi * radius * radius; // <---- public // <--- public 46

47 Στη java δηµιουργούµε ένα φάκελο πχ. "classes" κάτω από το φάκελο c:\jdk1.5.0\jre. Έπειτα µεταγλωττίζουµε το αρχείο circle.java, έτσι ώστε ο φάκελος history να δηµιουργηθεί κάτω από c:\jdk1.5.0\jre και στο history υπάρχει circle.class. Command :---> javac -d c:\jdk1.5.0\jre\classes circle.java; Έπειτα δηµιουργούµε το πρόγραµµα test.java, το οποίο καλεί τη κλάση circle, από το πακέτο history και δηµιουργεί τα αντικείµενα troxos και roda της circle Αφού έχουµε τελειώσει τη µεταγλώττιση καλούµε τη κλάση µε τη λέξη import. ηµιουργούµε µετά το πρόγραµµα το οποίο καλεί τη κλάση από το πακέτο history και δηµιουργεί τα αντικείµενα. import history.circle; public class test public static void main (String [] args) circle troxos = new circle (5.0, 1.0, 1.0); circle roda = new circle (8.0); // printing the area of each circle System.out.println ("area of troxos = " + troxos.area ()); System.out.println ("area of roda = " + roda.area ()); Άσκηση 6 Παράδειγµα που επεξηγεί τη κληρονοµικότητα των κλάσεων. public class point protected double x; protected double y; 47

48 // ο πρώτος κατασκευαστής public point (double xcor, double ycor) x = xcor; y = ycor; // ο δεύτερος κατασκευαστής public point () x = 0.0; y = 0.0; // ο τρίτος κατασκευαστής public point (point point1) x = point1.x; y = point1.y; // µέθοδος για τη συντεταγµένη x public double getx() return x; // µέθοδος για τη συντεταγµένη y public double gety() return y; NNEETTBBEEAANNSS JJAAVVAA CCRREEAATTOORR // µέθοδος για τη µετατροπή της συντεταγµένης του point σε string public String tostring () return "(" + x + ", " + y + ")"; 48

49 Μεταγλωττίζουµε τη παραπάνω κλάση. Στη συνέχεια δηµιουργούµε τη επόµενη κλάση cycle ως υποκλάση της παραπάνω κλάσης point. Η κλάση cycle καλεί τη υπερκλάση point για να δηµιουργήσει ένα σηµείο στο κέντρο του κύκλου και στη συνέχεια σχεδιάζει τη ακτίνα του. Προσοχή θα πρέπει δοθεί στη δήλωση extends καθώς και στη χρήση της εντολής super. public class cycle extends point protected double radius; static double pi = 3.14; // ο πρώτος κατασκευαστής public cycle (double x1, double y1, double r1) // η εντολή super καλεί τα µέλη της super class. // super () --> καλεί το κατασκευαστή της super class // super.f() --> καλεί τη συνάρτηση f(), η οποία έχει οριστεί στη super class super (x1, y1); // καλεί το κατασκευαστή point της super class cycle radius = (r1>=0? r1:0.0); // και περνάµε το x1, y1 για να δώσει αρχικές στις µεταβλητές χ και y // δεύτερος κατασκευαστής public cycle () radius = 0.0; public double area () return pi * radius *radius; public String tostring () return "x = " + x + ", " + " y = " + y + ", " + " r = " + radius; 49

50 ηµιουργούµε µία ακόµη υποκλάση της cycle : public class colorcycle extends cycle protected String color; NNEETTBBEEAANNSS JJAAVVAA CCRREEAATTOORR public colorcycle (double x2, double y2, double r2, String c) super (x2,y2, r2); color = c; public String getcolor () return color; public String tostring() return "x = " + x + ", " + " y = " + y + ", " + " r = " + radius + ", " + " color = " + color; Αποθηκεύουµε και µεταγλωττίζουµε το παραπάνω πρόγραµµα. Για να δοκιµάσουµε όλα τα παραπάνω δηµιουργούµε το παρακάτω πρόγραµµα. public class show public static void main (String [] args) point p1; cycle c1; colorcycle colorc1; p1 = new point (50.5, 70.5); c1 = new cycle (40.0, 50.0, 70.5); colorc1 = new colorcycle (30.0, 40.0, 20.0,"red"); // συντεταγµένες του point σε string System.out.println ("the point: " + p1.tostring ()); 50

51 // συντεταγµένες του circle c1 και της ακτίνας χωρίς tostring () System.out.println ("the cycle = " + c1.tostring ()); // εµβαδόν της cycle µε τη χρήση της area() System.out.println ("the cycle area = " + c1.area ()); // χωρίς tostring() τα στοιχεία της colorc1 System.out.println ("the colorcycle = " + colorc1.tostring ()); // εµβαδόν της colorc1 χρήση της area() από super class System.out.println ("the colorcycle.area = "+ colorc1.area ()); // Το χρώµα της cycle µε τη χρήση της getcolor System.out.println ("the colorcycle color = " + colorc1.getcolor ()); Άσκηση 7 Να γίνει µία κλάση που να ορίζει µία µέθοδο Make. Η µέθοδος να δέχεται δύο ακεραίους, ένα κάτω όριο και ένα άνω όριο, και να δηµιουργεί ένα πίνακα που περιέχει όλους τους ακεραίους ανάµεσα στα δύο αυτά όρια. public class Range int [] make(int lower, int upper) int arr [] = new int[ (upper - lower) + 1 ]; for (int i = 0; i < arr.length; i++) arr [i] = lower++; return arr; public static void main (String [] arguments) int thearray []; Range therange = new Range (); thearray = therange.make (1, 10); System.out.print ("The array: [ "); for (int i = 0; i < thearray.length; i++) 51

52 System.out.print (thearray[i] + " "); System.out.println("]"); Άσκηση 8 Παράδειγµα που δείχνει πώς περνάµε παραµέτρους σε µεθόδους. public class PassByReference int onetozero (int arg []) int count = 0; for (int i = 0; i < arg.length; i++) if (arg[i] == 1) count++; arg[i] = 0; return count; public static void main (String[] arguments) int arr [] = 1, 3, 4, 5, 1, 1, 7 ; PassByReference test = new PassByReference (); int numones; System.out.print ("Values of the array: [ "); for (int i = 0; i < arr.length; i++) System.out.print (arr[i] + " "); System.out.println ("]"); numones = test.onetozero (arr); System.out.println ("Number of Ones = " + numones); System.out.print ("New values of the array: [ "); for (int i = 0; i < arr.length; i++) System.out.print (arr[i] + " "); System.out.println ("]"); 52

53 Άσκηση 9 Το παρακάτω παράδειγµα χρησιµοποιεί υπερφόρτωση constructors για να κατασκευάσει τετράγωνα µε συντεταγµένες. import java.awt.point; class MyRect2 int x1 = 0; int y1 = 0; int x2 = 0; int y2 = 0; MyRect2 (int x1, int y1, int x2, int y2) this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2; MyRect2 (Point topleft, Point bottomright) x1 = topleft.x; y1 = topleft.y; x2 = bottomright.x; y2 = bottomright.y; MyRect2 (Point topleft, int w, int h) x1 = topleft.x; y1 = topleft.y; x2 = (x1 + w); y2 = (y1 + h); void printrect () System.out.print ("MyRect: <" + x1 + ", " + y1); System.out.println (", " + x2 + ", " + y2 + ">"); public static void main (String [] arguments) MyRect2 rect; System.out.println ("Calling MyRect2 with coordinates 25,25 50,50:"); 53

54 rect = new MyRect2(25, 25, 50,50); rect.printrect (); System.out.println ("***"); NNEETTBBEEAANNSS JJAAVVAA CCRREEAATTOORR System.out.println ("Calling MyRect2 with points (10,10), (20,20):"); rect= new MyRect2 (new Point(10,10), new Point(20,20)); rect.printrect (); System.out.println ("***"); System.out.print ("Calling MyRect2 with 1 point (10,10)"); System.out.println (" width (50) and height (50):"); rect = new MyRect2 (new Point(10,10), 50, 50); rect.printrect (); System.out.println ("***"); ΡΑΣΤΗΡΙΟΤΗΤΕΣ Άσκηση 1 Συµπληρώστε τα κενά στις επόµενες προτάσεις : Α) Ένα αντικείµενο µιας κλάσης µπορεί να χρησιµοποιηθεί ως αντικείµενο της αντίστοιχης. Κλάσης Β) αν η κλάση Α κληρονοµεί από τη κλάση Β τότε η κλάση Α λέγεται και η κλάση Β λέγεται. Άσκηση 2 Τι είναι κληρονοµικότητα και ποια τα πλεονεκτήµατα της; Μπορεί µία κλάση να διαθέτει δύο µεθόδους µε το ίδιο όνοµα οι οποίες να επιστρέφουν διαφορετικούς τύπους δεδοµένων; Άσκηση 3 Τι είναι κλάση στη Java. Ποια είναι τα βασικά µέρη από τα οποία αποτελείται µία άδεια κλάση; Πως µπορούµε µε τη βοήθεια των κλάσεων να οργανώσουµε καλύτερα τα προγράµµατα µας ; 54

55 Άσκηση 4 Ποια είναι τα πλεονεκτήµατα του αντικειµενοστραφούς προγραµµατισµού; Με ποιόν τρόπο δηµιουργούµε ένα αντικείµενο µιας κλάσης; Πως δηµιουργούµε µια υποκλάση; Άσκηση 5 Οι κατασκευαστές µιας κλάσης ονοµάζονται Α) main β) extends γ) constructor d) object. Άσκηση 6 Ο τύπος δεδοµένων που επιστρέφει ο κατασκευαστής µιας κλάσης είναι : Α) τύπου float β) ίδιος µε τον τύπο της κλάσης γ) τύπου int δ) οι κατασκευαστές δεν επιστρέφουν κανένα τύπο. ηµιουργική Άσκηση Οι µαθητές, αφού χωριστούν σε οµάδες τριών ατόµων, να υλοποιήσουν την παρακάτω άσκηση που αφορά κλάσεις και κληρονοµικότητες. ηµιουργήστε µία κλάση µε το όνοµα Clock µε τα ακόλουθα χαρακτηριστικά : Ώρα Hour (ακέραιος από 1 12) Λεπτά Min (ακέραιος από 0 59) ευτ/τα Sec (ακέραιος από 0 59) Είναι Π.Μ. isam (Boolean) Η κλάση Clock υποστηρίζει τις παρακάτω µεθόδους : gethours() getminutes() getseconds() getlsam() Η κλάση θα έχει τους εξής κατασκευαστές : Έναν χωρίς καθόλου παραµέτρους, ο οποίος να θέτει το ρολόι στα µεσάνυκτα. Έναν µε παραµέτρους την ώρα και την ένδειξη ή όχι π.µ.. Έναν µε όλες τις παραµέτρους. Η κλάση Clock να υποστηρίζει επίσης µία µέθοδο settime(), η οποία να θέτει όλα τα χαρακτηριστικά σε προκαθορισµένες τιµές. 55

56 56

ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΗ...4 εδοµένα, µεταβλητές, τύποι δεδοµένων...21 Τελεστές, εκχωρήσεις, µετατροπές δεδοµένων...23 οµές διακλάδωσης...

ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΗ...4 εδοµένα, µεταβλητές, τύποι δεδοµένων...21 Τελεστές, εκχωρήσεις, µετατροπές δεδοµένων...23 οµές διακλάδωσης... ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΗ...4 Η Γλώσσα προγραµµατισµού JAVA...4 ιαδικασία εκκίνησης της Java και το NetBeans IDE...5 ηµιουργία µιας εφαρµογής Java...11 Μεταγλώττιση ενός προγράµµατος...14 Εκτέλεση ενός προγράµµατος...17

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

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων Αντικείµενα ηµιουργία και χρησιµοποίηση αντικειµένων ηµιουργία αντικειµένων Για να δηµιουργήσω ένα νέο αντικείµενο χρησιµοποιώ τον τελεστή new µε τοόνοµατηςκλάσηςαπότηνοποίαθέλωναδηµιουργήσωένααντικείµενο,

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

Προγραµµατισµός ΙΙ Java 2

Προγραµµατισµός ΙΙ Java 2 Προγραµµατισµός ΙΙ Java 2 ηµιουργική Εργασία µε Κλάσεις κι Αντικείµενα Τι Θα Μελετήσουµε οµή µιας κλάσης και των µεθόδων της Επιθεώρηση των κλάσεων και των µεθόδων τους Μέθοδοι και this Υπερφόρτωση µεθόδων

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

Μέθοδοι. Μέθοδοι ηµιουργοί, Υπερφόρτωση και Υπέρβαση Μεθόδων

Μέθοδοι. Μέθοδοι ηµιουργοί, Υπερφόρτωση και Υπέρβαση Μεθόδων Μέθοδοι Μέθοδοι ηµιουργοί, Υπερφόρτωση και Υπέρβαση Μεθόδων Μέθοδοι Οιµέθοδοικαθορίζουντηνσυµπεριφοράενόςαντικειµένου. Τα βασικά µέρη από τα οποία αποτελείται µία µέθοδος είναι τα εξής: Το όνοµα της µεθόδου

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

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

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

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

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

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

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

που συγχρηµατοδοτείται από την Ευρωπαϊκή Ένωση/Ευρωπαϊκό Κοινωνικό Ταµείο

που συγχρηµατοδοτείται από την Ευρωπαϊκή Ένωση/Ευρωπαϊκό Κοινωνικό Ταµείο Το παρόν εκπονήθηκε στο πλαίσιο του Υποέργου 13 «Προσαρµογή Λογισµικού-Φάση ΙΙΙ» της Πράξης «Επαγγελµατικό λογισµικό στην ΤΕΕ: επιµόρφωση και εφαρµογή» (Γ ΚΠΣ, ΕΠΕΑΕΚ, Μέτρο 2.3, Ενέργεια 2.3.2) που συγχρηµατοδοτείται

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

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Το if-else statement Το if-else statement δουλεύει καλά όταν στο condition θέλουμε να περιγράψουμε μια επιλογή με δύο πιθανά ενδεχόμενα.

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

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi ee.duth.

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth. Το πρόγραμμα HelloWorld.java Σχόλια στη Java HelloWorld Παύλος Εφραιμίδης pefraimi ee.duth.gr Java Το πρόγραμμα HelloWorld 1 Java Το πρόγραμμα HelloWorld 2 Σχόλια στη Java ΗγλώσσαJava υποστηρίζει

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

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

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

Εισαγωγή στον Προγ/μό Η/Υ Εισαγωγή στον Προγ/μό Η/Υ Ενότητα 7 2ο μέρος: Επιπλέον έννοιες σχετικά με αντικείμενα Διδάσκων: Μιχάλης Τίτσιας Περιεχόμενα Τι μπορεί να περιέχει μια τάξη Μέθοδοι τάξης και σταθερές τάξης Πολυμορφισμός

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

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

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

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

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

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

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

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

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Εισαγωγή στη γλώσσα προγραμματισμού JAVA Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Το πρώτο φλιτζάνι Java Λίστα με τα απαραίτητα Το πρώτο μου πρόγραμμα(hello World) Συνεχίζοντας

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

Αντικείμενα (Objects) στην Java. Αντικείμενα στη Java. Δημιουργία Αντικειμένων. Δηλώσεις Μεταβλητών (2) Ο τελεστής new (1)

Αντικείμενα (Objects) στην Java. Αντικείμενα στη Java. Δημιουργία Αντικειμένων. Δηλώσεις Μεταβλητών (2) Ο τελεστής new (1) Αντικείμενα (Objects) στην Java Αντικείμενα στη Java Παύλος Εφραιμίδης Ένα πρόγραμμα Java κατά την εκτέλεσή του δημιουργεί αντικείμενα τα αντικείμενα αλληλεπιδρούν, στέλνοντας μηνύματα το ένα στο άλλο

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

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

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράµµατα πρέπει να πάρουµε κάποια δεδοµένα και να δώσουµε

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

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

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

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

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

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

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

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008 Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει

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

public void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);

public void printstatement() { System.out.println(Employee:  + name +  with salary:  + salary); Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας

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

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο Τετάρτη, 30 Οκτωβρίου 2013 Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο Λύστε στο Visual Basic Express 2010 τις παρακάτω ασκήσεις: 1. Να δημιουργήσετε ένα νέο Project του είδους Console

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07 Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public

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

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

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

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος sfetsos@it.teithe.gr

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος sfetsos@it.teithe.gr ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr ΕΡΓΑΣΤΗΡΙΟ - 3 ΘΕΜΑΤΑ: Κλάσεις Αντικείμενα Δομητές/Κατασκευαστές - Μέθοδοι - Παράμετροι

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

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

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

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

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να αναπτύξουν ένα πρόγραμμα όπου θα επαναλάβουν τα βήματα ανάπτυξης μιας παραθυρικής εφαρμογής.

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

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

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Κλάσεις και Αντικείμενα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Κλάσεις Η γενική μορφή μιας κλάσης είναι η εξής: class class-name { private data and

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

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 12-1 Ανασκόπηση οµής Προγράµµατος µε Συναρτήσεις #include 1 void PrintMessage (); Πρότυπο ( ήλωση) Συνάρτησης (

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

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

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

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

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

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

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

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

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

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

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

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

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

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

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

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

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

Περιεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5

Περιεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5 Περιεχόµενα 1 Εισαγωγή στις οµές εδοµένων 3 2 Στοίβα (Stack) 5 i ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ ii Πληροφορίες Εργαστηρίου Σκοπός του εργαστηρίου Το εργαστήριο οµές εδοµένων αποσκοπεί στην εφαρµογή των τεχνολογιών

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

Η λέξη κλειδί this. Γαβαλάς Δαμιανός dgavalas@aegean.gr

Η λέξη κλειδί this. Γαβαλάς Δαμιανός dgavalas@aegean.gr Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #6 η : Η λέξη κλειδί this, υπερφόρτωση μεθόδων, κληρονομικότητα, πολυμορφισμός, υπερκάλυψη, επίπεδα προσπέλασης Γαβαλάς Δαμιανός dgavalas@aegean.gr

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

Προγραµµατισµός JAVA. ρ Γεώργιος Μαυροµµάτης Πειραιάς 2004

Προγραµµατισµός JAVA. ρ Γεώργιος Μαυροµµάτης Πειραιάς 2004 Προγραµµατισµός JAVA ρ Γεώργιος Μαυροµµάτης Πειραιάς 2004 Αλγόριθµος Ένας Αλγόριθµος είναι µία καλά ορισµένη υπολογιστική διαδικασία που δέχεται κάποιες τιµές σαν είσοδο και παράγει κάποιες τιµές σαν έξοδο.

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

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

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

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

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα ΝΗΜΑΤΑ ΣΤΗ JAVA (1) Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα πρόγραµµα. Αιτία Η δυνατότητα αποµόνωσης (ή αυτονόµησης) κάποιων

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Triggers, Stored procedures Γιώργος Μαρκοµανώλης Περιεχόµενα Triggers-Ενηµέρωση δεδοµένων άλλων πινάκων... 1 Ασφάλεια...

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον

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

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Σκοπός του μαθήματος Σκοπός του παρόντος μαθήματος είναι να μάθετε να κάνετε εισαγωγή δεδομένων σε πίνακες και περαιτέρω επεξεργασία

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

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

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Εντολές ελέγχου συγκρίσεων επιλογής ή διακλαδώσεων ( if switch) Μία από τις σημαντικότερες

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

class object Database Database Item Item [sub-typing and polymorphism] MusicCD Video MusicCD Video

class object Database Database Item Item [sub-typing and polymorphism] MusicCD Video MusicCD Video ιάγραµµα κλάσεων [Class diagram] Εβδοµάδα 2: Υπο-τύποι και πολυµορφισµός [sub-typing and polymorphism] Database Music Σχεδίαση-Ανάπτυξη Εφαρµογών Πληροφορικής Αντώνιος Συµβώνης, ΕΜΠ, Slide 1 Σχεδίαση-Ανάπτυξη

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

ΕΠΛ 012. JavaScripts

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

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

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή Στο εργαστήριο αυτό θα μάθουμε για τη χρήση συναρτήσεων με σκοπό την κατασκευή αυτόνομων τμημάτων προγραμμάτων που υλοποιούν μία συγκεκριμένη διαδικασία, τα οποία

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

Στοιχεία εξεταζόµενου Αριθµός Απάντησης Βαθµολογία. Σύνολο (Θέµα 4 ο )

Στοιχεία εξεταζόµενου Αριθµός Απάντησης Βαθµολογία. Σύνολο (Θέµα 4 ο ) Οικονοµικό Πανεπιστήµιο Αθηνών Τµήµα Πληροφορικής Εισαγωγή στον Προγραµµατισµό των Υπολογιστών Καθηγητής Ι. Κάβουρας Εξεταστική περίοδος Φεβρουαρίου 2004 Τετάρτη 10/3/2004, ώρα 8.00 Στοιχεία εξεταζόµενου

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές) ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές) Βρείτε τα λάθη Στο πρόγραμμα στην επόμενη διαφάνεια υπάρχουν διάφορα λάθη Ποια είναι? public abstract

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

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) 133 244 355 a= b= c= 3 read(d,e) 166 277 3888

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) 133 244 355 a= b= c= 3 read(d,e) 166 277 3888 ΕΡΩΤΗΣΕΙΣ 1. Να αναφέρετε μερικά από τα ιδιαίτερα χαρακτηριστικά της Pascal. 2. Ποιο είναι το αλφάβητο της Pascal; 3. Ποια είναι τα ονόματα-ταυτότητες και σε τι χρησιμεύουν; 4. Σε τι χρησιμεύει το συντακτικό

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

Πληρουορική Γ Γσμμασίοσ

Πληρουορική Γ Γσμμασίοσ Πληρουορική Γ Γσμμασίοσ Προγραμματισμός και Αλγόριθμοι Από το και τημ Χελώμα στημ Ευριπίδης Βραχνός http://evripides.mysch.gr/ 2014 2015 1 Προγραμματισμός Ζάννειο Πρότυπο Πειραματικό Γυμνάσιο Πειραιά Ενότητα:

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Αριθμητική Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Δεύτερο Πρόγραμμα 1 / * Second Simple Program : add 2 numbers * / 2

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

ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α

ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩN ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ: ΙΟΥΝΙΟΣ 2015 (10/7/2015) ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α 1. (3.5 μονάδες)

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

Βιοϊατρική τεχνολογία

Βιοϊατρική τεχνολογία Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Βιοϊατρική τεχνολογία Ενότητα 5: Οξύμετρο (OxyPro Project) Αν. καθηγητής Αγγελίδης Παντελής e-mail: paggelidis@uowm.gr ΕΕΔΙΠ Μπέλλου Σοφία e-mail: sbellou@uowm.gr

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

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

Εισαγωγή στην γλώσσα προγραμματισμού C Εισαγωγή στην γλώσσα προγραμματισμού C Χαρακτηριστικά της C Ιδιαίτερα δημοφιλής Έχει χρησιμοποιηθεί για τον προγραμματισμό ευρέος φάσματος συστημάτων και εφαρμογών Γλώσσα μετρίου επιπέδου Φιλοσοφία: Ο

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Τρίτη Διάλεξη Εντολές Επιλογής και Επανάληψης Εντολές επιλογής Εντολή if Η πιο απλή μορφή της if συντάσσεται ως εξής: if ( συνθήκη ) Οι εντολές μέσα στα άγκιστρα αποτελούν

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

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Nα κατασκευάσουν πίνακες από δεδομένα. Να κατασκευάσουν συναρτήσεις με πίνακες. Να κάνουν χρήση

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

Διάλεξη 16-17: Πολυμορφισμός (Polymorphism) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 16-17: Πολυμορφισμός (Polymorphism) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 16-17: Πολυμορφισμός (Polymorphism) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Υπερφόρτωση (Overloading), Μεθόδων (Method Overloading), Τελεστών (Operator Overloading (C++, C#))

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων

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

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?

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

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

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

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

Κ. ΒΑΣΙΛΑΚΗΣ Γ. ΛΕΠΟΥΡΑΣ

Κ. ΒΑΣΙΛΑΚΗΣ Γ. ΛΕΠΟΥΡΑΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΣΗΜΕΙΩΣΕΙΣ ΓΙΑ ΤΗ ΓΛΩΣΣΑ C Κ. ΒΑΣΙΛΑΚΗΣ Γ. ΛΕΠΟΥΡΑΣ - 1 - ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 1. ΣΥΓΓΡΑΦΗ ΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ C 1 2. ΤΙ ΕΙΝΑΙ ΕΝΑ ΠΡΟΓΡΑΜΜΑ

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

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις.

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις. 1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 5η Ιστοσελίδα του µαθήµατος 2 http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα

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

3. Σηµειώσεις Access. # Εισαγωγή ψηφίου ή κενού διαστήµατος. Επιτρέπονται τα ση-

3. Σηµειώσεις Access. # Εισαγωγή ψηφίου ή κενού διαστήµατος. Επιτρέπονται τα ση- Μάθηµα 3 Προχωρηµένες ιδιότητες πεδίων Μάσκες εισαγωγής Οι ιδιότητες Μορφή και Μάσκα εισαγωγής περιγράφονται µαζί γιατί έχουν κοινά χαρακτηριστικά που αφορούν την εµφάνιση. Με την ιδιότητα Μορφή καθορίζουµε

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

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

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Συναρτήσεις εισόδου/εξόδου, τελεστές Η συνάρτηση scanf() είσοδος δεδομένων Διαβάζει από το πληκτρολόγιο (stdin) μορφοποιημένες τιμές μεταβλητών. scanf (ΣΕΙΡΑ_ΕΛΕΓΧΟΥ, δείκτης_μεταβλητής-1,

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

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης Γλώσσες Προγραμματισμού Εργαστήριο 2ο Τύποι Δεδομένων - Είσοδος / Έξοδος Εργαστήριο 2ο Περίγραμμα Εργαστηριακής Άσκησης Εργαστήριο 2ο...1 Θεωρία εργαστηρίου...2 Τύποι δεδομένων...2 Η συνάρτηση printf()...3

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

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Δημιουργία Νέου αρχείου Από το μενού προγραμμάτων ανοίγετε το DEV C++ Επιλέγετε File-> New-> Source File (συντόμευση πληκτρολογίου Ctrl+N)

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

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

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

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

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

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

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

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2012 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2012 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ: ΚΑΤΕΥΘΥΝΣΗ: ΜΑΘΗΜΑ: ΘΕΜΑ Α Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ (2ος Κύκλος) ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ηµεροµηνία: Κυριακή 22 Απριλίου 2012 ΕΚΦΩΝΗΣΕΙΣ Α1. Να γράψετε στο τετράδιό

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου Μεγάλο παράδειγμα Θέλουμε να δημιουργήσουμε ένα λογισμικό για ένα τμήμα πανεπιστημίου. Το τμήμα έχει 4

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

1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++

1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++ Email: liliadis@fmenr.duth.gr 1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++ Τα προγράµµατα αποτελούνται από εντολές οι οποίες γράφονται σε έναν απλό επεξεργαστή που προσφέρει και το Περιβάλλον της Visual C++. Οι εντολές

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

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

Προγραμματισμός Διαδικτύου 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Προγραμματισμός Διαδικτύου Ενότητα 3 : Κατηγορίες και κληρονομικότητα Ιωάννης Τσούλος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Τμήμα Μηχανικών Πληροφορικής

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

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

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

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

Ενδεικτική περιγραφή μαθήματος

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

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

2.2.3 Η εντολή Εκτύπωσε

2.2.3 Η εντολή Εκτύπωσε 2.2.3 Η εντολή Εκτύπωσε Η εντολή Εκτύπωσε χρησιµοποιείται προκειµένου να εµφανίσουµε κάτι στην οθόνη του υπολογιστή. Για τον λόγο αυτό ονοµάζεται και εντολή εξόδου. Ισοδύναµα µπορεί να χρησιµοποιηθεί και

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

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19) Κεφάλαιο 8.7 Πολυδιάστατοι Πίνακες (Διάλεξη 19) Πολυδιάστατοι πίνακες Μέχρι τώρα μιλούσαμε για Μονοδιάστατους Πίνακες. ή π.χ. int age[5]= {31,28,31,30,31; για Παράλληλους πίνακες, π.χ. int id[5] = {1029,1132,1031,9991,1513;

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

12. ΑΛΦΑΡΙΘΜΗΤΙΚΑ. υο είδη αλφαριθµητικών Τα αλφαριθµητικά της C πίνακες τύπου char Ta αντικείµενα της κλάσης string

12. ΑΛΦΑΡΙΘΜΗΤΙΚΑ. υο είδη αλφαριθµητικών Τα αλφαριθµητικά της C πίνακες τύπου char Ta αντικείµενα της κλάσης string 12. ΑΛΦΑΡΙΘΜΗΤΙΚΑ υο είδη αλφαριθµητικών Τα αλφαριθµητικά της C πίνακες τύπου char Ta αντικείµενα της κλάσης string Aλφαριθµητικά της C int main() const int max=80; char str[max); //κάθε char δεσµεύει

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

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

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

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Υλοποίηση ΑΤΔ με Συνδεδεμένες Λίστες -

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

Εισαγωγή στον Προγραμματισμό Python Μάθημα 4: Συναρτήσεις (functions) και δομοστοιχεία (modules) στην Python

Εισαγωγή στον Προγραμματισμό Python Μάθημα 4: Συναρτήσεις (functions) και δομοστοιχεία (modules) στην Python Εισαγωγή στον Προγραμματισμό Python Μάθημα 4: Συναρτήσεις (functions) και δομοστοιχεία (modules) στην Python Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ. Δημητρακάκης Συναρτήσεις (Functions) Στον προγραμματισμό,

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

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

Διάλεξη 15: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 15: Αναδρομή (Recursion) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Η έννοια της αναδρομής Μη αναδρομικός / Αναδρομικός Ορισμός Συναρτήσεων Παραδείγματα Ανάδρομης Αφαίρεση της Αναδρομής

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

Υπολογιστικά Συστήματα

Υπολογιστικά Συστήματα Υπολογιστικά Συστήματα Ενότητα 6: Ασκήσεις στη Visual Basic for Applications (VBA) Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

Προγραμματισμός ΙΙ (Java) 1. Εισαγωγή

Προγραμματισμός ΙΙ (Java) 1. Εισαγωγή Προγραμματισμός ΙΙ (Java) 1. Εισαγωγή 1 Στόχοι Όσοι ολοκληρώνουν το μάθημα με επιτυχία να: Γνωρίζουν καλά τις βασικές αρχές του αντικειμενοστρεφούς προγραμματισμού: αντικείμενα, κλάσεις, γνωρίσματα, μεθόδους,

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

ΕΠΛ233 Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA

ΕΠΛ233 Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA 2 «Μονάδα Μετάφρασης» 2 «Μονάδα Μετάφρασης» Όταν δημιουργείται ένα αρχείο πηγαίου κώδικα στην Java, το αρχείο καλείται µονάδα µετάφρασης (compilation unit)

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

Οδηγίες Εργασίας 1 Facility-Game

Οδηγίες Εργασίας 1 Facility-Game ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ 2013-2014 Οδηγίες Εργασίας 1 Facility-Game Ανανεωμένος για την έκδοση v0.62 του FacilityGameProject Διδάσκων : Eπικ.Καθηγητής Παύλoς Εφραιμίδης Υπεύθυνος Φροντιστηρίου : Σωτήρης Γυφτόπουλος

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

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

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προχωρημένα Θέματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανακατεύθυνση Εισόδου/Εξόδου Συνήθως η τυπική είσοδος ενός προγράμματος (stdin) προέρχεται

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

ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΚΑΙ ΕΞΕΤΑΣΤΕΑ ΥΛΗ. ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Με τις Γλώσσες Προγραμματισμού Pascal, C, C++, Java

ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΚΑΙ ΕΞΕΤΑΣΤΕΑ ΥΛΗ. ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Με τις Γλώσσες Προγραμματισμού Pascal, C, C++, Java ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΚΑΙ ΕΞΕΤΑΣΤΕΑ ΥΛΗ ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Με τις Γλώσσες Προγραμματισμού Pascal, C, C++, Java 1 ο & 2 o ΕΠΙΠΕΔΟ Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 1/20 Απρίλιος 2011 Γλωσσών Προγραμματισμού

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

Διάλεξη 5: Κλάσεις και Αντικείμενα. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 5: Κλάσεις και Αντικείμενα. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 5: Κλάσεις και Αντικείμενα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Κλάσεις και Αντικείμενα - Κατασκευή, Πρόσβαση Αντικειμένων - Διαχείριση Μνήμης, Garbage

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

Ν!=1*2*3* *(N-1) * N => N! = (Ν-1)! * N έτσι 55! = 54! * 55

Ν!=1*2*3* *(N-1) * N => N! = (Ν-1)! * N έτσι 55! = 54! * 55 ΑΝΑ ΡΟΜΗ- ΑΣΚΗΣΕΙΣ Μια µέθοδος είναι αναδροµική όταν καλεί τον εαυτό της και έχει µια συνθήκη τερµατισµού π.χ. το παραγοντικό ενός αριθµού Ν, µπορεί να καλεί το παραγοντικό του αριθµού Ν-1 το παραγοντικό

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

Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΚΦΩΝΗΣΕΙΣ ÏÅÖÅ

Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΚΦΩΝΗΣΕΙΣ ÏÅÖÅ 1 Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 ο ΕΚΦΩΝΗΣΕΙΣ Α. Να γράψετε στην κόλλα σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1 5 και δίπλα τη λέξη

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

Κεφάλαιο Πέµπτο: Η Εξάσκηση

Κεφάλαιο Πέµπτο: Η Εξάσκηση Κεφάλαιο Πέµπτο: Η Εξάσκηση 1. Γενικά Η εξάσκηση στο Εργαστήριο προϋποθέτει τη γνώση των εντολών (τουλάχιστον) τις οποίες καλείται ο σπουδαστής κάθε φορά να εφαρµόσει. Αυτές παρέχονται µέσω της Θεωρίας

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

9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures):

9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures): 9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers Σκοπός της παρούσας εργαστηριακής άσκησης, είναι η εξοικείωση του σπουδαστή με τη δημιουργία αποθηκευμένων διαδικασιών (Stored Procedures) και σκανδάλης

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

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η 53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η ΠΑΓΚΡΑΤΙ: Φιλολάου & Εκφαντίδου 26 : 210/76.01.470 210/76.00.179 ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς

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

4 Συλλογές Αντικειμένων

4 Συλλογές Αντικειμένων 4 Συλλογές Αντικειμένων Πώς χειριζόμαστε αντικείμενα σε ομάδες με επανάληψη Η Απαίτηση Συλλογών Αντικειμένων Πολλές εφαρμογές χρειάζονται πλήθος αντικειμένων: Κατάλογος βιβλίων Φοιτητολόγιο Πελατολόγιο

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

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού Μάθημα 2ο Aντώνης Σπυρόπουλος v2_061015 Οροι που

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