ΕΠΛ131 Αρχές Προγραμματισμού
|
|
- Άκανθα Νικολάκος
- 6 χρόνια πριν
- Προβολές:
Transcript
1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ131 Αρχές Προγραμματισμού Ακαδημαϊκό Έτος 2016/17 Εαρινό Εξάμηνο ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ ΕΞΑΜΗΝΟΥ ΗΜΕΡΟΜΗΝΙΑ: 8 Μαΐου 2017 ΔΙΑΡΚΕΙΑ: 12:30μμ 3:00μμ ΑΙΘΟΥΣΑ: Κτήριο ΧΩΔ01, Αίθουσα 108 ΔΙΔΑΣΚΟΥΣΑ: Ελπίδα Κεραυνού-Παπαηλιού Απαντήστε και τις τρεις ερωτήσεις Κάθε ερώτηση λαμβάνει 33 μονάδες. Ερώτηση 1 (α) Κατασκευάστε το πρόγραμμα ThreeDigits.java, το οποίο λαμβάνει από τη γραμμή εντολής τρία δεκαδικά ψηφία και στη συνέχεια παρουσιάζει το μικρότερο (min) και μεγαλύτερο (max) φυσικό αριθμό που μπορεί να δημιουργηθεί από τα εν λόγω τρία ψηφία καθώς και όλους τους φυσικούς αριθμούς από το σύνολο {min,., max που είναι παλινδρομικοί αριθμοί δηλαδή διαβάζονται το ίδιο και από τα αριστερά, και από τα δεξιά. Τους παλινδρομικούς αριθμούς τους παρουσιάζει ανά δέκα σε κάθε γραμμή. Πιο κάτω δίνονται κάποια παραδείγματα χρήσης του προγράμματος. $ java ThreeDigits Min = 123 Max = 321 The numbers that are palindromes are:
2 $ java ThreeDigits Min = 8 Max = 800 The numbers that are palindromes are: (β) Κατασκευάστε το πρόγραμμα FiveFSS.java το οποίο λαμβάνει από τη γραμμή εντολής ένα έτος καθώς και την πρώτη μέρα του εν λόγω έτους (1 για Δευτέρα, 2 για Τρίτη,, 7 για Κυριακή) και παρουσιάζει τους μήνες του συγκεκριμένου έτους που έχουν πέντε Παρασκευές, πέντε Σάββατα και πέντε Κυριακές. Ουσιαστικά ένας μήνας δεδομένου έτους για να ικανοποιεί την πιο πάνω συνθήκη πρέπει να αρχίζει Παρασκευή και να έχει 31 μέρες. Οι μήνες Απρίλιος, Ιούνιος, Σεπτέμβριος και Νοέμβριος έχουν 30 μέρες, ο δε Φεβρουάριος έχει 28 μέρες αν το έτος δεν είναι δίσεκτο, διαφορετικά έχει 29 μέρες, όπου ένα έτος είναι δίσεκτο εάν διαιρείται ακριβώς με το 4 και σε περίπτωση που διαιρείται ακριβώς με το 100, πρέπει να διαιρείται ακριβώς και με το 400. Οι υπόλοιποι μήνες έχουν 31 μέρες. Πιο κάτω δίνονται κάποια παραδείγματα χρήσης του προγράμματος: $ java FiveFSS Months in year 1993 with five Fri, Sat and Sun: January October $ java FiveFSS Months in year 2017 with five Fri, Sat and Sun: December $ java FiveFSS Months in year 2020 with five Fri, Sat and Sun: May (γ) Κατασκευάστε το πρόγραμμα Ariadne.java το οποίο λαμβάνει δύο φυσικούς αριθμούς από τη γραμμή εντολής, έστω x και y, όπου x > 99, y > 99 και x < y, και παρουσιάζει, ανά δέκα σε κάθε γραμμή, τους αριθμούς από το σύνολο {x,.., y των οποίων το άθροισμα του πρώτου και τελευταίου τους ψηφίου, ισούται με το άθροισμα των υπολοίπων (δηλαδή των ενδιάμεσων) ψηφίων τους. Πιο κάτω δίνονται κάποια παραδείγματα χρήσης του προγράμματος: $ java Ariadne The ariadne nos from 1000 to 1030 are: $ java Ariadne The ariadne nos from 100 to 500 are:
3 $ java Ariadne The ariadne nos from 1000 to 1500 are: $ java Ariadne The ariadne nos from to are: $ java Ariadne Wrong Input.. program terminates $ java Ariadne Wrong Input.. program terminates Ερώτηση 2 Η δεύτερη ερώτηση αφορά την ανάπτυξη ενός αντικειμενοστραφούς συστήματος σε Java για την κατανομή θέσεων σε προπτυχιακά προγράμματα σπουδών (EntranceSystem.java). Τα εμπλεκόμενα αντικείμενα είναι ο υποψήφιος (Candidate) και το πρόγραμμα σπουδών (Program) οι κλάσεις των οποίων ορίζονται μερικώς πιο κάτω: public class Candidate { // Η κλάση αντικειμένου Candidate private String id; // η ταυτότητα του υποψηφίου private double score; // ο βαθμός κατάταξής του private String[] preferences; // οι προτιμήσεις του υποψηφίου // για πέντε προγράμματα σπουδών, σε φθίνουσα σειρά προτίμησης // η κάθε προτίμηση είναι ο κωδικός του σχετικού // προγράμματος σπουδών private boolean[] activeprefs = // ποιες προτιμήσεις του // υποψηφίου είναι ενεργές {true, true, true, true, true; // αρχικά είναι όλες ενεργές private boolean allocationmade = false; // αρχικά δεν του έχει // δοθεί καμία θέση φοίτησης private String studyplace; // όταν πάρει θέση φοίτησης, // καταχωρείται και ο κωδικός του συγκεκριμένου προγράμματος public Candidate(String identity, double s, String[] ps){ id = identity; score = s; preferences = ps; public String getid(){ return id; public double getscore(){ return score; 3
4 public boolean hasallocation() { return allocationmade; // Κατανομή θέσης στον υποψήφιο στο πρόγραμμα με κωδικό prog public void makeallocation (String prog){ allocationmade = true; studyplace = prog; public String getpreference (int n) { // η n-οστή προτίμηση return preferences[n-1]; // Μετατροπή προτιμήσεων σε εκτυπώσιμη μορφή public String tostringprefs (){ String s = "\ncandidate " + id + " has the following preferences:\n"; for (int i = 0; i < preferences.length; i++){ s = s + "\t>> Program " + preferences[i] + " is choice " + (i+1) + "\n"; return s; // Μετατροπή υποψηφίου σε εκτυπώσιμη μορφή ΝΑ ΟΡΙΣΘΕΙ public String tostring(){ // Καταχώρηση υποψηφίου στον κατάλογο υποψηφίων (μέσω της // μεθόδου αναφοράς insertcandidate του αντικειμένου Program) // για κάθε πρόγραμμα το οποίο συνιστά μια από τις πέντε // προτιμήσεις του υποψηφίου. Το σύνολο των προγραμμάτων // δίνεται στην παράμετρο ps ΝΑ ΟΡΙΣΘΕΙ public void insertprefs (Program[] ps){ // Το πρόγραμμα με κωδικό prog αποτελεί μια από τις // προτιμήσεις του υποψηφίου για την οποία εξασφαλίζει θέση. // Η εν λόγω θέση μπορεί μόνο να βελτιωθεί. Συνεπώς ο // υποψήφιος απενεργοποιεί την όποια ενεργή, χαμηλότερη, // προτίμησή του και αφαιρεί τον εαυτό του από τους // καταλόγους ενδιαφερόμενων υποψηφίων των σχετικών // προγραμμάτων (μέσω της μεθόδου removecandidate του αντικειμένου // Program). Το σύνολο των προγραμμάτων δίνεται στην παράμετρο ps. // Αν γίνει τουλάχιστο μια τέτοια «αφαίρεση» του εν λόγω υποψηφίου // η μέθοδος επιστρέφει true, διαφορετικά επιστρέφει false // ΝΑ ΟΡΙΣΘΕΙ public boolean releaseprefsbelow(string prog, Program[] ps){ // Η main() δεν χρησιμοποιείται public static void main (String[] args){ 4
5 public class Program { // Η κλάση αντικειμένου Program private String code; // ο κωδικός του προγράμματος σπουδών private int places; // ο αριθμός θέσεων φοίτησης στο πρόγραμμα private int count = 0; // το πλήθος των ενδιαφερόμενων υποψηφίων // αρχικά 0 private Candidate[] cands; // ο κατάλογος των ενδιαφερόμενων // υποψηφίων για το πρόγραμμα ουσιαστικά οι θυρίδες από το // 0 μέχρι το count-1, ταξινομημένες σε φθίνουσα σειρά των // βαθμών κατάταξης των εν λόγω ενδιαφερόμενων υποψηφίων private int freeplaces; // πόσες θέσεις του προγράμματος σπουδών // παραμένουν ελεύθερες μετά την ολοκλήρωση της // κατανομής θέσεων σε όλα τα προγράμματα σπουδών public Program(String c, int ps, int cs){ code = c; places = ps; freeplaces = ps; cands = new Candidate[cs]; public String getcode(){return code; public int getplaces(){return places; public int getcount(){return count; public Candidate[] getcands(){return cands; public int getfreeplaces(){return freeplaces; private static int min(int x, int y){ if (x < y) return x; else return y; // Μετατροπή καταλόγου υποψηφίων σε εκτυπώσιμη μορφή public String tostringcands(){ String s = "The ranked list of candidates is"; for (int i = 0; i < count; i++){ s = s + "\n>> " + cands[i]; return s; // Μετατροπή της κατανομής ενδιαφερόμενων υποψηφίων που πήραν θέση // στο πρόγραμμα σε εκτυπώσιμη μορφή public String tostringallocations(){ String s = "The following candidates get a place on the programme"; for (int i = 0; i < min(places,count); i++){ s = s + "\n>> " + cands[i].getid() + " " + cands[i].getscore(); s = s + "\nthe programme has " + freeplaces + " free places"; return s; 5
6 // Μετατροπή προγράμματος σε εκτυπώσιμη μορφή, όπου παρουσιάζονται // ο αριθμός των θέσεών του, οι υποψήφιοι που πήραν θέση στο // πρόγραμμα και πόσες ελεύθερες θέσεις έχουν μείνει ΝΑ ΟΡΙΣΘΕΙ public String tostring(){ // Η μέθοδος allocateplaces κατανέμει τις θέσεις του προγράμματος // στους πρώτους σε σειρά ενδιαφερόμενους υποψηφίους (μέσω της // μεθόδου makeallocation του αντικειμένου Candidate) ΝΑ ΟΡΙΣΘΕΙ public void allocateplaces(){ // Καταχώρηση υποψηφίου c στον κατάλογο των ενδιαφερόμενων υποψηφίων // του προγράμματος, έτσι ώστε ο κατάλογος να είναι ταξινομημένος // σε φθίνουσα σειρά των βαθμών κατάταξης των ενδιαφερόμενων // υποψηφίων - ΝΑ ΟΡΙΣΘΕΙ public void insertcandidate(candidate c){ // Διαγραφή του υποψηφίου με ταυτότητα identity από τον κατάλογο των // ενδιαφερόμενων υποψηφίων του προγράμματος ΝΑ ΟΡΙΣΘΕΙ public void removecandidate(string identity){ // Το πρόγραμμα σπουδών ζητεί από τον κάθε υποψήφιο στον οποίο // διασφαλίζεται θέση φοίτησης στο εν λόγω πρόγραμμα (δηλαδή οι // ενδιαφερόμενοι υποψήφιοι που καταλαμβάνουν πρώτοι σε σειρά το // σχετικό αριθμό θέσεων φοίτησης) να «απελευθερώσει» (μέσω της // μεθόδου releaseprefsbelow του αντικειμένου Candidate)τυχόν θέσεις // χαμηλότερης προτίμησης που κρατεί σε άλλα προγράμματα σπουδών. Το // σύνολο των προγραμμάτων δίνεται στην παράμετρο ps. Η τιμή εξόδου // της μεθόδου επισημαίνει κατά πόσο έχει γίνει τουλάχιστο μια // «απελευθέρωση» θέσης ΝΑ ΟΡΙΣΘΕΙ public boolean requestprefsrelease(program[] ps){ public static void main(string[] args){ Ορίστε τις μεθόδους αναφοράς που υποδεικνύονται πιο πάνω, δηλαδή για το αντικείμενο Candidate τις μεθόδους αναφοράς tostring, insertprefs και releaseprefsbelow, και για το αντικείμενο Program τις μεθόδους αναφοράς tostring, allocateplaces, insertcandidate, removecandidate και requestprefsrelease. 6
7 Για καλύτερη κατανόηση του όλου συστήματος σας δίνετε στη συνέχεια πλήρως ορισμένη η client κλάση EntranceSystem, μαζί με το αποτέλεσμα της εκτέλεσης του προγράμματος σε σχέση με τα στοιχεία που δίνονται στο αρχείο κειμένου Cands.txt, το περιεχόμενο του οποίου επίσης σας δίνετε. Δώστε μια συνοπτική περιγραφή της λειτουργίας του προγράμματος EntranceSystem καθώς και της «δομής» του αρχείου κειμένου από το οποίο, μέσω file redirection, αντλεί τα στοιχεία του το πρόγραμμα. Αρχείο Cands.txt 7 31 P1 5 P2 4 P3 5 P4 4 P5 5 P6 5 P7 5 C P2 P5 P1 P6 P7 C P4 P5 P2 P7 P6 C P2 P5 P1 P4 P7 C P3 P4 P5 P1 P6 C P5 P2 P1 P3 P6 C P1 P2 P3 P4 P5 C P3 P1 P5 P2 P6 C P4 P5 P3 P7 P1 C P1 P3 P5 P7 P6 C P1 P3 P5 P4 P7 C P1 P2 P3 P4 P5 C P3 P2 P4 P5 P1 C P5 P4 P1 P3 P7 C P3 P2 P4 P1 P6 C P1 P5 P3 P4 P7 C P1 P4 P2 P7 P6 C P6 P3 P5 P1 P4 C P7 P5 P2 P3 P1 C P5 P4 P6 P1 P2 C P5 P1 P2 P4 P3 C P4 P3 P2 P1 P6 C P4 P3 P6 P5 P1 C P5 P4 P2 P7 P1 C P3 P4 P2 P1 P5 C P6 P5 P7 P4 P1 C P4 P6 P5 P7 P1 C P4 P3 P5 P2 P1 C P5 P4 P3 P6 P2 C P2 P4 P1 P5 P7 C P1 P3 P5 P4 P6 C P1 P2 P3 P4 P5 7
8 public class EntranceSystem { //Client class EntranceSystem public static void displaycandallocations (Candidate[] cands){ System.out.print("\n\nCANDIDATE ALLOCATIONS\n"); for (int i = 0; i < cands.length; i++) System.out.println(cands[i]); System.out.print("\n\n"); public static void displayprogallocations (Program[] progs){ System.out.print("\n\nPROGRAM ALLOCATIONS\n"); for (int i = 0; i < progs.length; i++) System.out.println(progs[i]); System.out.print("\n\n"); public static void main(string[] args){ int P = StdIn.readInt(); int C = StdIn.readInt(); Program[] progs = new Program[P]; Candidate[] cands = new Candidate[C]; for (int i = 0; i < P; i++){ String code = StdIn.readString(); int places = StdIn.readInt(); progs[i] = new Program(code, places, C); for (int i = 0; i < C; i++){ String Id = StdIn.readString(); double score = StdIn.readDouble(); String[] prefs = new String[5]; for (int j = 0; j < 5; j++) prefs[j] = StdIn.readString(); cands[i] = new Candidate(Id, score, prefs); for (int i = 0; i < C; i++){ cands[i].insertprefs(progs); boolean releasemade; do { releasemade = false; for (int i = 0; i < P; i++) { boolean res = progs[i].requestprefsrelease(progs); releasemade = releasemade res; while(releasemade); for (int i = 0; i < P; i++) progs[i].allocateplaces(); displaycandallocations(cands); displayprogallocations(progs); 8
9 Παράδειγμα εκτέλεσης προγράμματος $ java EntranceSystem < Cands.txt CANDIDATE ALLOCATIONS C1 with score has been allocated a place on P2 C2 with score 20.0 has been allocated a place on P4 C3 with score has been allocated a place on P2 C4 with score has been allocated a place on P3 C5 with score has been allocated a place on P5 C6 with score has been allocated a place on P2 C7 with score has been allocated a place on P1 C8 with score 17.5 has been allocated a place on P4 C9 with score has been allocated a place on P1 C10 with score has been allocated a place on P1 C11 with score has been allocated a place on P1 C12 with score has been allocated a place on P3 C13 with score has been allocated a place on P5 C14 with score has been allocated a place on P3 C15 with score 12.8 has been allocated a place on P5 C16 with score has been allocated a place on P7 C17 with score has been allocated a place on P6 C18 with score has been allocated a place on P7 C19 with score 10.5 has been allocated a place on P6 C20 with score has been allocated a place on P5 C21 with score has been allocated a place on P4 C22 with score has been allocated a place on P3 C23 with score has been allocated a place on P7 C24 with score has been allocated a place on P3 C25 with score has been allocated a place on P6 C26 with score has been allocated a place on P6 C27 with score has been allocated a place on P4 C28 with score has been allocated a place on P5 C29 with score has been allocated a place on P2 C30 with score 19.3 has been allocated a place on P1 C31 with score has not been allocated a place PROGRAM ALLOCATIONS Program P1 has 5 places The following candidates get a place on the programme >> C >> C >> C >> C >> C The programme has 0 free places Program P2 has 4 places The following candidates get a place on the programme >> C >> C >> C >> C The programme has 0 free places Program P3 has 5 places The following candidates get a place on the programme 9
10 >> C >> C >> C >> C >> C The programme has 0 free places Program P4 has 4 places The following candidates get a place on the programme >> C >> C >> C >> C The programme has 0 free places Program P5 has 5 places The following candidates get a place on the programme >> C >> C >> C >> C >> C The programme has 0 free places Program P6 has 5 places The following candidates get a place on the programme >> C >> C >> C >> C The programme has 1 free places Program P7 has 5 places The following candidates get a place on the programme >> C >> C >> C The programme has 2 free places Ερώτηση 3 Απαντήστε είτε το μέρος (α) είτε το μέρος (β) της ερώτησης. (α) Κατασκευάστε το πρόγραμμα Format.java το οποίο επεξεργάζεται αρχεία κειμένου, για παράδειγμα αρχεία όπως το ακόλουθο cs.txt: Computer programming (often shortened to programming) is a process that leads from an original formulation of a computing problem to executable computer programs. Programming involves activities such as analysis, developing understanding, generating algorithms, verification of requirements of algorithms including their correctness and resources consumption, and implementation (commonly referred to as coding[1][2]) of algorithms in a target programming language. Source code is written in one or more programming languages. The purpose of programming is to find a sequence of instructions that will automate performing a specific task or solving a given problem. The process of programming thus often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms, and formal logic. 10
11 Η επεξεργασία που κάνει το πρόγραμμα διαφαίνεται μέσω των ακόλουθων τριών παραδειγμάτων χρήσης του. Στο ακόλουθο πρώτο παράδειγμα, οι λέξεις τοποθετούνται σε γραμμές, το μήκος των οποίων δεν υπερβαίνει τους 40 χαρακτήρες (δεύτερο όρισμα στη γραμμή εντολής), ενώ η ευθυγράμμιση είναι μόνο από τα αριστερά (πρώτο όρισμα στη γραμμή εντολής, l): $ java Format -l 40 < cs.txt Computer programming (often shortened to programming) is a process that leads from an original formulation of a computing problem to executable computer programs. Programming involves activities such as analysis, developing understanding, generating algorithms, verification of requirements of algorithms including their correctness and resources consumption, and implementation (commonly referred to as coding[1][2]) of algorithms in a target programming language. Source code is written in one or more programming languages. The purpose of programming is to find a sequence of instructions that will automate performing a specific task or solving a given problem. The process of programming thus often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms, and formal logic. Στο ακόλουθο δεύτερο παράδειγμα, οι λέξεις τοποθετούνται σε γραμμές, το μήκος των οποίων δεν υπερβαίνει τους 60 χαρακτήρες (δεύτερο όρισμα στη γραμμή εντολής), και επιπρόσθετα υπάρχει ευθυγράμμιση και από τα δεξιά (πρώτο όρισμα στη γραμμή εντολής, r) πλην της τελευταίας γραμμής: $ java Format -r 60 < cs.txt Computer programming (often shortened to programming) is a process that leads from an original formulation of a computing problem to executable computer programs. Programming involves activities such as analysis, developing understanding, generating algorithms, verification of requirements of algorithms including their correctness and resources consumption, and implementation (commonly referred to as coding[1][2]) of algorithms in a target programming language. Source code is written in one or more programming languages. The purpose of programming is to find a sequence of instructions that will automate 11
12 performing a specific task or solving a given problem. The process of programming thus often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms, and formal logic. Στο ακόλουθο τρίτο παράδειγμα, οι λέξεις τοποθετούνται σε γραμμές, το μήκος των οποίων δεν υπερβαίνει τους 50 χαρακτήρες (δεύτερο όρισμα στη γραμμή εντολής), και επιπρόσθετα παρουσιάζονται centralized (πρώτο όρισμα στη γραμμή εντολής, c) σε σχέση με ένα μήκος 65 χαρακτήρων (τρίτο όρισμα στη γραμμή εντολής): $ java Format -c < cs.txt Computer programming (often shortened to programming) is a process that leads from an original formulation of a computing problem to executable computer programs. Programming involves activities such as analysis, developing understanding, generating algorithms, verification of requirements of algorithms including their correctness and resources consumption, and implementation (commonly referred to as coding[1][2]) of algorithms in a target programming language. Source code is written in one or more programming languages. The purpose of programming is to find a sequence of instructions that will automate performing a specific task or solving a given problem. The process of programming thus often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms, and formal logic. Συνεπώς, υπάρχουν τρεις διαφορετικές επεξεργασίες που μπορούν να γίνουν σε δεδομένα αρχεία κειμένου. Το ποια επεξεργασία θα γίνει προσδιορίζεται ως πρώτο όρισμα στη γραμμή εντολής ( l, r, ή c). Στην περίπτωση των επεξεργασιών l και r ακολουθεί μόνο ένα δεύτερο όρισμα που αντίστοιχα δίνει το μέγιστο μήκος, και το μήκος, των γραμμών. Στην περίπτωση της επεξεργασίας c ακολουθούν δύο άλλα ορίσματα που προσδιορίζουν το μέγιστο μήκος των γραμμών, και το μήκος του πλαισίου ως προς το centralization. Ορίστε το πρόγραμμα Format.java, βάσει των πιο πάνω προδιαγραφών, και επίσης απλοποιείστε τις ακόλουθες εντολές: $ java Format -r 60 < cs.txt java Format -r 45 $ java Format -c < cs.txt java Format -l 40 java Format -c
13 (β) Κατασκευάστε το πρόγραμμα Grep.java το οποίο ανακτά τις γραμμές δεδομένου αρχείου κειμένου, οι οποίες περιλαμβάνουν (συζευκτικά ή διαζευκτικά) ή δεν περιλαμβάνουν, συγκεκριμένες ακολουθίες χαρακτήρων (strings). Τα ορίσματα της σχετικής αναζήτησης προσδιορίζονται στη γραμμή εντολής, όπως δεικνύεται μέσω των ακόλουθων παραδειγμάτων χρήσης του προγράμματος, σε σχέση και πάλι με το αρχείο cs.txt, το οποίο δίνεται και πάλι πιο κάτω: Computer programming (often shortened to programming) is a process that leads from an original formulation of a computing problem to executable computer programs. Programming involves activities such as analysis, developing understanding, generating algorithms, verification of requirements of algorithms including their correctness and resources consumption, and implementation (commonly referred to as coding[1][2]) of algorithms in a target programming language. Source code is written in one or more programming languages. The purpose of programming is to find a sequence of instructions that will automate performing a specific task or solving a given problem. The process of programming thus often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms, and formal logic. Στο ακόλουθο πρώτο παράδειγμα, ο χρήστης ζητά τις γραμμές του αρχείου που περιλαμβάνουν είτε τη λέξη programming, είτε τη λέξη language (μπορεί και τις δύο), καθώς και τη λέξη process. Μόνο δύο γραμμές του αρχείου cs.txt ικανοποιούν την εν λόγω εντολή αναζήτησης, οι οποίες παρουσιάζονται: $ java Grep -o programming language -a process < cs.txt Computer programming (often shortened to programming) is a process that leads task or solving a given problem. The process of programming thus often requires Στο ακόλουθο δεύτερο παράδειγμα, ο χρήστης ζητά τις γραμμές του αρχείου που περιλαμβάνουν τη λέξη algorithms, αλλά δεν περιλαμβάνουν τις λέξεις coding ή code. Τρεις γραμμές του αρχείου cs.txt ικανοποιούν την εν λόγω εντολή αναζήτησης, οι οποίες παρουσιάζονται: $ java Grep -a algorithms -n coding code < cs.txt understanding, generating algorithms, verification of requirements of algorithms including their correctness and resources consumption, and implementation specialized algorithms, and formal logic. Στο ακόλουθο τρίτο παράδειγμα, ο χρήστης ζητά τις γραμμές του αρχείου που περιλαμβάνουν είτε τη λέξη knowledge, είτε τη λέξη programming (μπορεί και τις δύο). Οι γραμμές του αρχείου cs.txt που ικανοποιούν την εν λόγω εντολή αναζήτησης παρουσιάζονται: $ java Grep -o knowledge programming < cs.txt Computer programming (often shortened to programming) is a process that leads (commonly referred to as coding[1][2]) of algorithms in a target programming language. Source code is written in one or more programming languages. The purpose of programming task or solving a given problem. The process of programming thus often requires expertise in many different subjects, including knowledge of the application domain, Συνεπώς, η εντολή αναζήτησης προσδιορίζεται στη γραμμή εντολής μέσω των flags a, o, και n, που αντίστοιχα υποδηλώνουν «και» (and), «ή» (or) και «όχι» (not). Οι λέξεις (μία ή περισσότερες) που ακολουθούν το flag a πρέπει να εμφανίζονται όλες στην κάθε γραμμή που ανακτάται, οι λέξεις που ακολουθούν το flag n (μία ή περισσότερες) δεν πρέπει να εμφανίζονται στις γραμμές που ανακτώνται, ενώ από τις λέξεις που ακολουθούν το flag o (δύο ή περισσότερες), τουλάχιστο μία πρέπει να 13
14 εμφανίζεται στις γραμμές που ανακτώνται. Σε κάποια εντολή αναζήτησης, μπορεί να χρησιμοποιείται οποιοσδήποτε συνδυασμός flags. Αν δεν δοθεί κανένα flag, ουσιαστικά παρουσιάζεται πίσω αυτούσιο το αρχείο κειμένου όπως φαίνεται στο ακόλουθο παράδειγμα: $ java Grep < cs.txt Computer programming (often shortened to programming) is a process that leads from an original formulation of a computing problem to executable computer programs. Programming involves activities such as analysis, developing understanding, generating algorithms, verification of requirements of algorithms including their correctness and resources consumption, and implementation (commonly referred to as coding[1][2]) of algorithms in a target programming language. Source code is written in one or more programming languages. The purpose of programming is to find a sequence of instructions that will automate performing a specific task or solving a given problem. The process of programming thus often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms, and formal logic. Σημειώνεται ότι η αναφορά σε «λέξεις» πιο πάνω σημαίνει «γραμματοσειρές» (strings). Ορίστε το πρόγραμμα Grep.java και επίσης απλοποιείστε τις ακόλουθες εντολές: $ java Grep -o algorithms programming < cs.txt java Grep -n code $ java Grep n search < cs.txt java Grep n computer java Grep a problem ΤΕΛΟΣ ΕΡΩΤΗΣΕΩN 14
15 ΧΩΡΟΣ ΑΠΑΝΤΗΣΕΩΝ Ονοματεπώνυμο Φοιτητή: Ταυτότητα: Υπογραφή: Ερωτήσεις Μονάδες Ερώτηση 1 Ερώτηση 2 Ερώτηση 3 Σύνολο Μονάδων Παρατηρήσεις Διδάσκοντα 15
16 Απάντηση στην Ερώτηση 1 16
17 (τυχόν συνέχεια στην απάντηση της Ερώτησης 1) 17
18 (τυχόν συνέχεια στην απάντηση της Ερώτησης 1) 18
19 Απάντηση στην Ερώτηση 2 19
20 (τυχόν συνέχεια στην απάντηση της Ερώτησης 2) 20
21 (τυχόν συνέχεια στην απάντηση της Ερώτησης 2) 21
22 Απάντηση στην Ερώτηση 3 22
23 (τυχόν συνέχεια στην απάντηση της Ερώτησης 3) 23
24 (τυχόν συνέχεια στην απάντηση της Ερώτησης 3) 24
25 Επιπρόσθετο φύλλο (για συμπλήρωση απάντησης ή πρόχειρο) 25
26 Επιπρόσθετο φύλλο (για συμπλήρωση απάντησης ή πρόχειρο) 26
27 Επιπρόσθετο φύλλο (για συμπλήρωση απάντησης ή πρόχειρο) 27
28 Επιπρόσθετο φύλλο (για συμπλήρωση απάντησης ή πρόχειρο) ΤΕΛΟΣ ΕΞΕΤΑΣΤΙΚΟΥ ΔΟΚΙΜΙΟΥ 28
ΕΡΓΑΣΙΑ 4 - Αντικειμενοστραφής Υλοποίηση του Συστήματος Κατανομής Θέσεων σε Προγράμματα Σπουδών
ΕΡΓΑΣΙΑ 4 - Αντικειμενοστραφής Υλοποίηση του Συστήματος Κατανομής Θέσεων σε Προγράμματα Σπουδών Ημερομηνία Ανάθεσης: 16/11/2017 Ημερομηνία Παράδοσης: 30/11/2017 (14 ημέρες) Τελευταία Ώρα Παράδοσης: 9:00
Διαβάστε περισσότεραΕΠΛ131 Αρχές Προγραμματισμού
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ131 Αρχές Προγραμματισμού Ακαδημαϊκό Έτος 2016/17 Εαρινό Εξάμηνο ΕΝΔΙΑΜΕΣΗ ΕΞΕΤΑΣΗ ΗΜΕΡΟΜΗΝΙΑ: 15 Μαρτίου 2017 ΔΙΑΡΚΕΙΑ: 4:00μμ 6:30μμ ΑΙΘΟΥΣΕΣ: Κτήριο ΧΩΔ01,
Διαβάστε περισσότεραΕΠΛ131 Αρχές Προγραμματισμού
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ131 Αρχές Προγραμματισμού Ακαδημαϊκό Έτος 2016/17 Χειμερινό Εξάμηνο ΕΝΔΙΑΜΕΣΗ ΕΞΕΤΑΣΗ ΗΜΕΡΟΜΗΝΙΑ: 29 Οκτωβρίου 2016 ΔΙΑΡΚΕΙΑ: 10:00πμ 12:30μμ ΑΙΘΟΥΣΕΣ: Κτήριο
Διαβάστε περισσότεραΕΠΛ131 Αρχές Προγραμματισμού Ι
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ131 Αρχές Προγραμματισμού Ι Ακαδημαϊκό Έτος 2015/16 Εαρινό Εξάμηνο ΕΝΔΙΑΜΕΣΗ ΕΞΕΤΑΣΗ ΗΜΕΡΟΜΗΝΙΑ: 16 Μαρτίου 2016 ΔΙΑΡΚΕΙΑ: 9:00πμ 11:30πμ ΑΙΘΟΥΣΑ: Κτήριο ΘΕΕ01,
Διαβάστε περισσότεραΕΡΓΑΣΙΑ 4. Εκλογικό Σύστημα με Μεταφορά και Συσσώρευση Ψήφων. Ημερομηνία Ανάρτησης: 16/04/2018 Ημερομηνία Παράδοσης: 04/05/2018, 09:00
1. Εισαγωγή ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΙΑ 4 Εκλογικό Σύστημα με Μεταφορά και Συσσώρευση Ψήφων Ημερομηνία Ανάρτησης: 16/04/2018 Ημερομηνία Παράδοσης: 04/05/2018, 09:00 Για την τελευταία
Διαβάστε περισσότεραΕΠΛ131 Αρχές Προγραμματισμού
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ131 Αρχές Προγραμματισμού Ακαδημαϊκό Έτος 2016/17 Χειμερινό Εξάμηνο ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ ΕΞΑΜΗΝΟΥ ΗΜΕΡΟΜΗΝΙΑ: 12 Δεκεμβρίου 2016 ΔΙΑΡΚΕΙΑ: 8:30πμ 11:00πμ ΑΙΘΟΥΣΕΣ: Κτήριο
Διαβάστε περισσότεραΕΠΛ131 Αρχές Προγραμματισμού
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ131 Αρχές Προγραμματισμού Ακαδημαϊκό Έτος 2017/18 Χειμερινό Εξάμηνο ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ ΕΞΑΜΗΝΟΥ ΗΜΕΡΟΜΗΝΙΑ: 11 Δεκεμβρίου 2017 ΔΙΑΡΚΕΙΑ: 12:30μμ 3:30μμ ΑΙΘΟΥΣΑ: Κτήριο
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι 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
Διαβάστε περισσότεραΕΠΛ131 Αρχές Προγραμματισμού Ι
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ131 Αρχές Προγραμματισμού Ι Ακαδημαϊκό Έτος 2015/16 Εαρινό Εξάμηνο ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ ΕΞΑΜΗΝΟΥ ΗΜΕΡΟΜΗΝΙΑ: 9 Μαΐου 2016 ΔΙΑΡΚΕΙΑ: 8:30πμ 11:00μμ ΑΙΘΟΥΣΑ: Κτήριο ΘΕΕ,
Διαβάστε περισσότεραI (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.
I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο input
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 13/12/07
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 13/12/07 Ένα απλό παράδειγμα μιας κλάσης εφαρμογής με δύο μεθόδους (κλήση μεθόδου μέσα στην ίδια κλάση): import java.util.*; public class Example
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.
Διαβάστε περισσότεραI (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.
I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)
Διαβάστε περισσότεραΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α
ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩN ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ: ΙΟΥΝΙΟΣ 2015 (10/7/2015) ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α 1. (3.5 μονάδες)
Διαβάστε περισσότεραΕΡΓΑΣΙΑ 2. Κατασκευάζοντας Ημερολόγια. Ημερομηνία Ανάρτησης: 23/02/2018 Ημερομηνία Παράδοσης: 13/03/2018, 09:00
ΕΡΓΑΣΙΑ 2 Κατασκευάζοντας Ημερολόγια Ημερομηνία Ανάρτησης: 23/02/2018 Ημερομηνία Παράδοσης: 13/03/2018, 09:00 Εισαγωγή Σκοπός της παρούσας άσκησης είναι η απόκτηση εμπειρίας στη χρήση πινάκων (πολλαπλών
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργία Κλάσεων και Αντικειμένων Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων με κοινά χαρακτηριστικά και κοινή συμπεριφορά. Ένα καλούπι/πρότυπο
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το
Διαβάστε περισσότεραΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 2007 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες.
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 2007 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες. Θέμα 1. α) Δημιουργήστε μια κλάση αντικειμένων Tetragono η οποία
Διαβάστε περισσότεραΕαρινό. Ύλη εργαστηρίου, Ασκήσεις Java
Εξάμηνο Μάθημα Τίτλος 2017 2018 Εαρινό Αντικειμενοστραφής Προγραμματισμός Ι Ύλη εργαστηρίου, Ασκήσεις Java Ημερομηνία Εργαστήριο 5 ο Α. Ύλη εργαστηρίου 5.1 Έννοιες αντικειμενοστραφούς προγραμματισμού,
Διαβάστε περισσότερα2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων
2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008 - Παράδειγμα με switch (το οποίο δείχνει επίσης πότε σε μια άσκηση χρησιμοποιούμε user-input και System.out.println() για έξοδο και πότε χρησιμοποιούμε είσοδο σε μέθοδο
Διαβάστε περισσότεραΔιάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ Κων. Κόκκινος Μεταβλητές-1 Οι μεταβλητές αποτελούν θέσεις μνήμης στις οποίες αποθηκεύονται τιμές αντίστοιχες
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.
Διαβάστε περισσότεραΤμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, :00-10:00 π.μ.
Πανεπιστήμιο Κύπρου Πολυτεχνική Σχολή Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016 Ακαδημαϊκό Έτος 2018-19, Χειμερινό Εξάμηνο 1 η Ενδιάμεση
Διαβάστε περισσότερα9:00-10:00 π.μ. (60 λεπτά) Παρασκευή, 14 Οκτωβρίου, 2016
Πανεπιστήμιο Κύπρου Πολυτεχνική Σχολή Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016 Ακαδημαϊκό Έτος 2016-17, Χειμερινό Εξάμηνο 1 η Ενδιάμεση
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors, equals, tostring Constructors (Δημιουργοί) O Constructor είναι μια «μέθοδος» η οποία καλείται όταν δημιουργούμε το αντικείμενο
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας Στην άσκηση αυτή θα υλοποιήσετε μια κλάση Geometric η οποία διαχειρίζεται μια γεωμετρική ακολουθία ακεραίων
Διαβάστε περισσότεραMεταβλητές (variables) και Σταθερές (constants)
Mεταβλητές (variables) και Σταθερές (constants) Οι μεταβλητές είναι οι θέσεις μνήμης στις οποίες ένα πρόγραμμα τοποθετεί τα δεδομένα του κατά τη διάρκεια της λειτουργίας του. θα μάθουμε: πως δηλώνουμε
Διαβάστε περισσότεραAPI: Applications Programming Interface
ÒØ Ñ ÒÓ ØÖ ÔÖÓ» Ñ ÒØ Ñ ÒÓ ØÖ ÔÖÓ Ö ÑÑ Ø Ñ ½ Ö Ø Ò Ô Ö Ø ÒØ Ñ ÒÛÒ ÒÒÓ ôòøóù ÔÖ Ñ Ø Ó ÑÓÙ Ì ÔÓ ÓÑ ÒÛÒ Ì µ (i) ÒÓÐÓØ ÑôÒ (ii)ôö Ü º Ð ØÖ Ò Ò ÖÛÔÓ ØÖ ÔÐ Ò Ø Ó Ó Ù Ø Ñ Ø ººº ½ºÈÖÛØ ÓÒØ Ø ÔÓ int double char
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Ισότητα Strings class StringTest public static void main(string args[]) String x1 = "java"; String y1 = "java"; System.out.println("1.
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Έλεγχος ισότητας για Strings: Διαβάζουμε το String option και θέλουμε ένα loop να συνεχίσει
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα ως ορίσματα Αντικείμενα ως ορίσματα Μπορούμε να περνάμε αντικείμενα ως ορίσματα σε μία μέθοδο όπως οποιαδήποτε άλλη μεταβλητή Οποιαδήποτε κλάση
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΔΙΚΕΣ ΜΑΣ ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΑ Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων με
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07
Πρώτοι αριθμοί ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07 Ένας ακέραιος μεγαλύτερος του 1 είναι πρώτος αν έχει ακριβώς δύο διαιρέτες (τη μονάδα και τον εαυτό του). Πρόβλημα: έλεγχος
Διαβάστε περισσότεραΚαλές επιτυχίες παιδιά στα υπόλοιπα μαθήματά σας και καλές γιορτές!!!!
Πανεπιστήμιο Κύπρου Πολυτεχνική Σχολή Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016 Ακαδημαϊκό Έτος 2016-17, Χειμερινό Εξάμηνο Τελική Εξέταση
Διαβάστε περισσότεραCSD Univ. of Crete Φθινόπωρο Άσκηση 1 Εκφώνηση
Άσκηση 1 Εκφώνηση Αναπτύξτε ένα πρόγραμμα σε Java σύμφωνα με το οποίο το σύστημα θα προσθέτει τους αριθμούς 12.0 και 24.0 και θα δίνει στην κύρια έξοδο το αποτέλεσμα της άθροισης Να χρησιμοποιήσετε αντί
Διαβάστε περισσότεραΚατασκευαστές. Μέθοδοι Κατασκευής (Constructors).
Κατασκευαστές Μέθοδοι Κατασκευής (Constructors). Οι κατασκευαστές (constructors) είναι μέθοδοι που εκτελούνται όταν κατασκευάζεται ένα αντικείμενο. Μια τάξη μπορεί να έχει αρκετούς κατασκευαστές, οι οποίοι
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Σύγκριση JAVA-C ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΣΥΓΚΡΙΣΗ JAVA - C ΤΥΠΟΙ
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται πάνω σε μία ευθεία πάντα
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου Μεγάλο παράδειγμα Θέλουμε να δημιουργήσουμε ένα λογισμικό για ένα τμήμα πανεπιστημίου. Το τμήμα έχει 4
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΑ Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων
Διαβάστε περισσότεραΑνάλυση Πληροφοριακών Συστημάτων. Εαρινό Εξάμηνο Lec08 09/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής
Ανάλυση Πληροφοριακών Συστημάτων Εαρινό Εξάμηνο 2018-2019 Lec08 09/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Διαγράμματα Κλάσεων Τα βασικά στοιχεία Διαλέξεις παρουσιάσεις Το υλικό του μαθήματος στηρίζεται
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές Μαθήματα από το lab Υπενθύμιση: Η άσκηση ζητούσε να υλοποιήσετε μία κλάση vector που να διαχειρίζεται διανύσματα οποιουδήποτε
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται πάνω σε μία ευθεία πάντα
Διαβάστε περισσότεραΣχηματίζοντας Γραφικές Παραστάσεις για Ημίτονο και Συνημίτονο και Ελέγχοντας Περιορισμούς σε Συστάδες Καρτών Τόμπολας
ΕΡΓΑΣΙΑ 2 Σχηματίζοντας Γραφικές Παραστάσεις για Ημίτονο και Συνημίτονο και Ελέγχοντας Περιορισμούς σε Συστάδες Καρτών Τόμπολας Εισαγωγή Ημερομηνία Ανάρτησης: 16/02/2017 Ημερομηνία Παράδοσης: 06/03/2017,
Διαβάστε περισσότεραΔιάλεξη 20: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου
1 Διάλεξη 20: Αναδρομή (Recursion) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Η έννοια της αναδρομής - Μη-αναδρομικός / Αναδρομικός Ορισμός Συναρτήσεων - Παραδείγματα Ανάδρομης - Αφαίρεση
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 3/4/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Γιατί έλεγχος πρόσβασης? Προστασία ιδιωτικής πληροφορίας
Διαβάστε περισσότεραΑντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων
Αντικείµενα ηµιουργία και χρησιµοποίηση αντικειµένων ηµιουργία αντικειµένων Για να δηµιουργήσω ένα νέο αντικείµενο χρησιµοποιώ τον τελεστή new µε τοόνοµατηςκλάσηςαπότηνοποίαθέλωναδηµιουργήσωένααντικείµενο,
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Έλεγχος ισότητας String Interning Αποαναφοροποίηση - dereferencing
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Έλεγχος ισότητας String Interning Αποαναφοροποίηση - dereferencing ΕΛΕΓΧΟΣ ΙΣΟΤΗΤΑΣ Έλεγχος ισότητας Έχουμε πει ότι όταν ελέγχουμε ισότητα μεταξύ αντικειμένων
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 3: Αλληλεπίδραση Αντικειμένων Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων Constructors
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργία Κλάσεων και Αντικειμένων Constructors Κλάσεις και αντικείμενα Ορισμός κλάσης: class
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Constructors Υπερφόρτωση Αντικείμενα ως παράμετροι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Constructors Υπερφόρτωση Αντικείμενα ως παράμετροι Μαθήματα από το lab Boolean μεταβλητές: Συνήθως τα ονόματα που δίνουμε στις boolean μεταβλητές περιγράφουν
Διαβάστε περισσότεραΔιάλεξη 08: Λίστες ΙΙ Κυκλικές Λίστες
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 08: Λίστες ΙΙ Κυκλικές Λίστες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Κυκλικές Απλά Συνδεδεμένες Λίστες - Κυκλικές Διπλά Συνδεδεμένες
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες
Διαβάστε περισσότεραΕαρινό. Ύλη εργαστηρίου, Ασκήσεις Java
Εξάμηνο Μάθημα Τίτλος 2017 2018 Εαρινό Αντικειμενοστραφής Προγραμματισμός Ι Ύλη εργαστηρίου, Ασκήσεις Java Ημερομηνία Εργαστήριο 8 ο Α. Ύλη εργαστηρίου 8.1 Αντικειμενοστραφής προγραμματισμός 8.2 Κλάσεις
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας Ένα ιστόγραμμα τιμών μετράει για ένα σύνολο από τιμές πόσες φορές εμφανίστηκε η κάθε τιμή. Για παράδειγμα
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπερφόρτωση Αντικείμενα σαν ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπερφόρτωση Αντικείμενα σαν ορίσματα ΥΠΕΡΦΟΡΤΩΣΗ H κλάση Car Μια κλάση που κρατάει την θέση ενός αυτοκινήτου. Μέθοδος move(): μετακινεί το αυτοκίνητο κατά μία
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II Strings Η κλάση String είναι προκαθορισμένη κλάση της Java που μας επιτρέπει να χειριζόμαστε αλφαριθμητικά. Ο τελεστής + μας επιτρέπει
Διαβάστε περισσότεραΕισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών
Εισαγωγή στη γλώσσα προγραμματισμού JAVA Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Το πρώτο φλιτζάνι Java Λίστα με τα απαραίτητα Το πρώτο μου πρόγραμμα(hello World) Συνεχίζοντας
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Το if-else statement Το if-else statement δουλεύει καλά όταν στο condition θέλουμε να περιγράψουμε μια επιλογή με δύο πιθανά ενδεχόμενα.
Διαβάστε περισσότεραΒασικές Έννοιες Δοµών Δεδοµένων
Δοµές Δεδοµένων Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλήµατος του ευσταθούς ταιριάσµατος Βασικές Έννοιες
Διαβάστε περισσότεραΤύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )
Τύποι Δεδομένων και Απλές Δομές Δεδομένων Παύλος Εφραιμίδης V1.0 (2014-01-13) Απλές Δομές Δεδομένων Στην ενότητα αυτή θα γνωρίσουμε ορισμένες απλές Δομές Δεδομένων και θα τις χρησιμοποιήσουμε για την αποδοτική
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Είσοδος Χρησιμοποιούμε την κλάση Scanner της Java import java.util.scanner; Αρχικοποιείται με το ρεύμα εισόδου: Scanner in = new Scanner(System.in);
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις Στατικές μέθοδοι Τι σημαίνει το keyword static στον ορισμό της main μεθόδου? Τι είναι μια στατική μέθοδος?
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Βρόγχοι Το if-then Statement Στην Java το if-then statement έχει το εξής συντακτικό Η παρένθεση είναι απαραίτητη if (condition) if-code block
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08 Constructors (Κατασκευαστές) Ειδικός τύπος μεθόδων που δημιουργούν αντικείμενα μιας κλάσης και: Εκτελούνται κατά την αρχικοποίηση των αντικειμένων
Διαβάστε περισσότεραΠρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής
Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Να γραφεί πρόγραμμα το οποίο δέχεται ως είσοδο μια ακολουθία S από n (n 40) ακέραιους αριθμούς και επιστρέφει ως έξοδο δύο ακολουθίες από θετικούς ακέραιους
Διαβάστε περισσότεραΠρογραμματισμός 2 Σημειώσεις εργαστηρίου
Προγραμματισμός 2 Σημειώσεις εργαστηρίου 02-Java, Τύποι Δεδομένων ως Αντικείμενα Νεβράντζας Βάιος-Γερμανός Λάρισα, Μάρτιος 2013 02-iProgramminginJava, Τυ ποι δεδομε νων ως Αντικει μενα, σελίδα 1 Περίληψη
Διαβάστε περισσότεραΤο πρόγραμμα 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 υποστηρίζει
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος
ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 3 ΕΛΕΓΧΟΣ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Ι. Ελεγκτές συνθηκών ή περιπτώσεων:
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα ΑΝΑΦΟΡΕΣ new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Μεγάλο παράδειγμα Θέλουμε να δημιουργήσουμε ένα λογισμικό για ένα τμήμα πανεπιστημίου. Το τμήμα έχει 4 φοιτητές οπού ο καθένας έχει ένα
Διαβάστε περισσότεραΔοκιμή και Αποσφαλμάτωση Testing and Debugging
Δοκιμή και Αποσφαλμάτωση Testing and Debugging XVI-1 Ο μεταγλωττιστής εντοπίζει τα συντακτικά λάθη ενός προγράμματος. Δεν είναι όμως σε θέση να εντοπίσει λάθη στη λογική του προγράμματος. δεδομένα πρόγραμμα
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η
Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις 2 Ανατομία ενός προγράμματος
Διαβάστε περισσότεραΣτόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή
Στόχοι και αντικείμενο ενότητας Η έννοια του Τελεστή #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Εκφράσεις Προτεραιότητα Προσεταιριστικότητα Χρήση παρενθέσεων Μετατροπές Τύπων Υπονοούμενες και ρητές μετατροπές
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Αντικείμενα ως ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Αντικείμενα ως ορίσματα Η μνήμη του υπολογιστή Η κύρια μνήμη (main memory - RAM) του υπολογιστή κρατάει τα δεδομένα για την εκτέλεση των προγραμμάτων.
Διαβάστε περισσότεραΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007
Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Αν κάπου κάνετε κάποιες υποθέσεις να αναφερθούν στη σχετική ερώτηση. Όλα τα αρχεία που αναφέρονται στα προβλήματα βρίσκονται στον ίδιο φάκελο με το εκτελέσιμο
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 2 ΛΥΣΕΙΣ Γραμμικές Δομές Δεδομένων, Ταξινόμηση
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2013 ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 2 ΛΥΣΕΙΣ Γραμμικές Δομές Δεδομένων, Ταξινόμηση Διδάσκων Καθηγητής: Παναγιώτης Ανδρέου
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Constructors, equals, tostring Αντικείμενα ως παράμετροι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Constructors, equals, tostring Αντικείμενα ως παράμετροι Constructors (Δημιουργοί) O Constructor είναι μια «μέθοδος» η οποία καλείται όταν δημιουργούμε το αντικείμενο
Διαβάστε περισσότεραΜάθημα 1 [3/11/2015].
Μάθημα 1 [3/11/2015]. Στην πρώτη διάλεξη πραγματοποιήθηκε επανάληψη της γλώσσας Java και ως εξάσκηση επιλύθηκαν οι ασκήσεις της Εξεταστικής Περιόδου 2015 οι οποίες κοινοποιούνται μαζί με ενδεικτική λύση
Διαβάστε περισσότεραΕισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python
Εισαγωγή στην Επιστήμη Υπολογιστών Εισαγωγή στην Python Β Μέρος Δομή Ελέγχου if-elif-else Επαναληπτική Δομή Ελέγχου while Επαναληπτική Δομή Ελέγχου for Αλληλεπίδραση χρήστη-προγράμματος Συναρτήσεις Η δομή
Διαβάστε περισσότεραΒασικά της γλώσσας JAVA
17 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
Διαβάστε περισσότερα3 Αλληλεπίδραση Αντικειμένων
Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή
Διαβάστε περισσότεραΕΠΛ Φροντιστήριο 3
ΕΠΛ 131 - Φροντιστήριο 3 Ας δημιουργήσουμε τη δική μας Βιβλιοθήκη μεθόδων για το σχηματισμό κύκλων διαφόρων μορφών CircleDefs public class CircleDefs void line_circle (double x, double y, double r, double
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων ΠΑΡΑΔΕΙΓΜΑ ΣΥΝΘΕΣΗΣ Μεγάλο παράδειγμα Θέλουμε να δημιουργήσουμε ένα λογισμικό για ένα τμήμα πανεπιστημίου. Το τμήμα έχει 4 φοιτητές οπού
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 6 : ΠΙΝΑΚΕΣ
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 6 : ΠΙΝΑΚΕΣ Κων. Κόκκινος ΠΙΝΑΚΕΣ (ARRAYS) Είναι χώροι της μνήμης για προσωρινή αποθήκευση δεδομένων του ίδιου τύπου. Οι πίνακες είναι δομές δεδομένων που τις
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός
Αντικειμενοστραφής Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ενότητα 3: Έλεγχος ροής και επαναλήψεις. Δρ. Χαράλαμπος Ζ. Πατρικάκης Τμήμα Ηλεκτρονικών Μηχανικών
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εξαιρέσεις
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εξαιρέσεις Εξαιρέσεις Στα προγράμματα μας θα πρέπει να μπορούμε να χειριστούμε περιπτώσεις που το πρόγραμμα δεν εξελίσσεται όπως το είχαμε προβλέψει Π.χ., κάνουμε
Διαβάστε περισσότεραΑπλές Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες απλές Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλή
Απλές Δοµές Δεδοµένων Απλές Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες απλές Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλήµατος του ευσταθούς ταιριάσµατος
Διαβάστε περισσότεραΔομές ελέγχου ροής προγράμματος
Δομές ελέγχου ροής προγράμματος Υπάρχουν δύο είδη δομών ελέγχου ροής (control flow): Οι δομές επιλογής και Οι δομές επανάληψης Δομές ελέγχου ροής προγράμματος Είδος δομής Δομές επιλογής Δομή ελέγχου ροής
Διαβάστε περισσότεραpublic void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);
Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Περιεχόμενα Java Classes Java Objects Java
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008 Τμήμα θεωρίας: Κάθε Τρίτη, 11πμ-2μμ, ΑΜΦ22. Διδάσκων: Ντίνος Φερεντίνος email: kpf3@cornell.edu Μάθημα: Θεωρία + προαιρετικό εργαστήριο (5-6 2ωρα εργαστήρια το εξάμηνο,
Διαβάστε περισσότεραΟΡΓΑΝΙΣΜΟΣ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΔΙΟΚΤΗΣΙΑΣ
ΟΡΓΑΝΙΣΜΟΣ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΔΙΟΚΤΗΣΙΑΣ Ο Οργανισμός Βιομηχανικής Ιδιοκτησίας (Ο.Β.Ι.) ιδρύθηκε το 1987 (Ν.1733/1987), είναι νομικό πρόσωπο ιδιωτικού δικαίου, οικονομικά ανεξάρτητο και διοικητικά αυτοτελές.
Διαβάστε περισσότεραΔομές Δεδομένων. Δημήτρης Μιχαήλ. Υλοποίηση Δυαδικού Σωρού σε γλώσσα Java. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Δομές Δεδομένων Υλοποίηση Δυαδικού Σωρού σε γλώσσα Java Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Σωρός Μεγίστου ως ΑΤΔ Ένας σωρός μεγίστου (max heap) είναι ένας ΑΤΔ που
Διαβάστε περισσότεραΓράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών
Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 1 2 3 4 5 πλήθος κορυφών πλήθος ακμών Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από
Διαβάστε περισσότερα