Μονοδιάστατοι πίνακες Πολυδιάστατοι πίνακες Μέθοδοι Μέθοδοι Recursive Overloading

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

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

διανύσματα - Πίνακες - Struct Στατικό διάνυσμα Είσοδος Έξοδος δεδομένων Συναρτήσεις Χειρισμός σφαλμάτων ΤΕΤΑΡΤΗ ΔΙΑΛΕΞΗ

Κεφάλαιο ΙV : Εργαστηριακές ασκήσεις που αφορούν πίνακες και µεθόδους στη Java.

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

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

Δηµοσθένης Σταµάτης Τµήµα Πληροφορικής T.E.I. ΘΕΣΣΑΛΟΝΙΚΗΣ

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

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

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

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

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

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

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

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

Τεχνολογία και Προγραμματισμός Υπολογιστών. Η γλώσσα προγραμματισμού C

είκτες και Πίνακες (2)

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

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

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 6 : ΠΙΝΑΚΕΣ

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

Μπορείτε να δηλώσετε πίνακα οποιουδήποτε τύπου είτε βασικού είτε κλάσης:

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

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

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

Επανάληψη για τις Τελικές εξετάσεις

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

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

Κλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

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

Προγραμματισμός Υπολογιστών με C++

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι

2 ΓΡΑΜΜΙΚΕΣ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 8/4/2008. Πίνακες (Arrays)

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Στοιχειώδεις Δοµές Δεδοµένων Δοµικά Στοιχεία και Πίνακες Κεφάλαιο 3 (3.1 και 3.2) Ε. Μαρκάκης Επικ. Καθηγητής

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΚΑΙ ΠΙΝΑΚΕΣ

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

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

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

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

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα. Η δομή Επιλογής στη PASCAL. H δομή Επανάληψης στη PASCAL. Η εντολή επανάληψης for

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

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

Πίνακες. Χρησιμοποιούνται για αποθήκευση συνόλου δεδομένων του ίδιου τύπου. Γραμμική Διάταξη Δήλωση Τύπος Δεδομένων ΌνομαΠίνακα[ length ]

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

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

Διδάσκων: Παναγιώτης Ανδρέου

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

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

Γ7.8 Εγγραφές (Structures) Γ Λυκείου Κατεύθυνσης

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

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

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

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

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

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β

Προγραμματισμός I (Θ)

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

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 7: Πίνακες (Arrays)

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

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

Προβλήματα που αφορούν δομές και ενώσεις.

Στοιχειώδεις Δομές Δεδομένων

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

ΑΣΚΗΣΗ 7: ΑΛΦΑΡΙΘΜΗΤΙΚΑ

Οι δείκτες στη γλώσσα C

Δοµές Δεδοµένων. 3η Διάλεξη Στοιχειώδεις Δοµές Δεδοµένων: Πίνακες. Ε. Μαρκάκης

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

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

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

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

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

ιαφάνειες παρουσίασης #3

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

Εργαστήρια Αριθμητικής Ανάλυσης Ι. 4 ο Εργαστήριο. Διανύσματα-Πίνακες 1 ο Μέρος

Δείκτες & Πίνακες Δείκτες, Πίνακες

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

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

Δομημένος Προγραμματισμός (ΤΛ1006)

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

HY-252 Αντικειµενοστραφής Προγραµµατισµός. Χειµερινό Εξάµηνο 2010 ιδάσκων: Χριστοφίδης Βασίλης. Ηµεροµηνία Παράδοσης: 15/10/2010

Κεφάλαιο V : Εργαστηριακές ασκήσεις που αφορούν δηµιουργία κλάσεων στη Java.

Δομές Δεδομένων & Αλγόριθμοι

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

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές

Εισαγωγή στον Προγραµµατισµό - Εβδοµάδα 7

10 η Διάλεξη C++ - Πίνακες. Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ

Transcript:

Μονοδιάστατοι πίνακες Πολυδιάστατοι πίνακες Μέθοδοι Μέθοδοι Recursive Overloading Μονοδιάστατοι πίνακες Οι πίνακες είναι µεταβλητές που έχουν οµαδοποιηθεί µε ένα κοινό όνοµα. ηµιουργία πινάκων µετηδήλωσηnew : int[] a = new int[10]; // Πίνακας 10 ακεραίων αριθµών double[] x = new double[20]; // Πίνακας 20 πραγµατικών αριθµών char[] c = new char[15]; // Πίνακας 15 χαρακτήρων boolean[] b = new boolean[5]; // Πίνακας boolean 5 στοιχείων String[] s = new String[8]; // Πίνακας 8 συµβολοσειρών Προσοχή στην αρίθµηση στοιχείων! int[] a = new int[10]; String[] s = new String[8]; a[0], a[1], a[2].. a[9] s[0], s[1], s[2].. s[7]

Μονοδιάστατοι πίνακες Τιµές στοιχείων πινάκων κατά την αρχικοποίηση: Αριθµητικοί πίνακες 0 Πίνακες char \0 Πίνακες boolean false Πίνακες String null Απόδοση τιµών κατά την αρχικοποίηση String[] names = { Panos, Giorgos, Giannis, Maria, Nikos }; αντιστοιχεί σε String[] names = new String[5]; names[0]= Panos ; names[1]= Giorgos ; names[2]= Giannis ; names[3]= Maria ; names[4]= Nikos ; Πολυδιάστατοι πίνακες Στη Java υπάρχει η δυνατότητα ορισµού πινάκων πολλών διαστάσεων. Για παράδειγµαοπίνακας: int[][] table={{1,2,3,4}, {5,6,7,8}, {9,10,11,12} }; αντιστοιχεί στον 1 2 3 4 5 6 7 8 9 10 11 12 δηλαδή table[0][0]=1; table[1][2]=7; table[0][1]=2; table[1][3]=8; table[0][2]=3; table[2][0]=9; table[0][3]=4; table[2][1]=10; table[1][0]=5; table[2][2]=11; table[1][1]=6; table[2][3]=12;

Παράδειγµα 1µε πίνακα Γράψτε ένα πρόγραµµα στο οποίο να δηµιουργήσετε δέκα τυχαίους αριθµούς διπλής ακρίβειας και να τους αποθηκεύσετε σε κατάλληλο πίνακα. Στη συνέχεια χρησιµοποιείστε τον πίνακα για να τους εκτυπώσετε. Εκτυπώστε επίσης τον συνολικό αριθµό των στοιχείων του πίνακα που δηµιουργήσατε χρησιµοποιώντας την µεταβλητή length. (Άσκηση 4.1.1) Παράδειγµα 1µε πίνακα

Παράδειγµα 1µε πίνακα Παράδειγµα 2µε πίνακα Γράψτε ένα πρόγραµµα στο οποίο να δηµιουργήσετε τον κατάλληλο διδιάστατο πίνακα ακεραίων αριθµών και αποθηκεύσετε σε αυτόν τα παρακάτω δεδοµένα: A = 15 56 82 22 98 65 43 34 19 10 43 39 Εκτυπώστε τον αριθµό των στηλών και των γραµµών του (χρησιµοποιείστε την µεταβλητή length). Εκτυπώστε τα στοιχεία του υπό µορφή στηλών-γραµµών. (Ασκηση 4.1.4)

Παράδειγµα 2µε πίνακα Παράδειγµα 2µε πίνακα

Μέθοδοι Μια µέθοδος είναι µια ακολουθία δηλώσεων και εντολών συγκεντρωµένων σαν να αποτελούν ένα µίνι πρόγραµµα. Ηχρήσηµεθόδων δίνει δοµή στα προγράµµατά µας, κάνοντάς τα περισσότερο ευκολοδιάβαστα. Γράψτε µια µέθοδο η οποία να υπολογίζει την τιµή της συνάρτησης : 2 f ( n) = 3n + 2n + 4 Χρησιµοποιείστε την µέθοδο σε ένα πρόγραµµα για να τυπώσετε την τιµήτης συνάρτησης για n=1, 2, 3.10. (Άσκηση 4.1.5) Παράδειγµα 1µε Μέθοδο

Παράδειγµα 1µε Μέθοδο Μέθοδοι Recursive Μια µέθοδος ονοµάζεται Recursive όταν καλεί τον εαυτό της. Παράδειγµα υπολογισµού παραγοντικού n=1 2 3 4 n static double paragontiko(int n) { if(n<2) return 1.; return n*paragontiko(n-1); }

Overloading Στη Java είναι δυνατόν να έχουµε µεθόδους µε τον ίδιο όνοµα αλλά µε διαφορετικό αριθµό ορισµάτων. Αυτό ονοµάζεται Overloading. Παράδειγµα υπολογισµού µεγίστου δύο και τριών αριθµών: static double max( double x, double y ) {. } static double max( double x, double y, double z ) {. } Παράδειγµα 2µε Μέθοδο Γράψτε µια µέθοδο η οποία να υπολογίζει την τιµή της συνάρτησης του παραγοντικού n! = 1 2 3 4 5 (n-1) n µε 0!=1 Χρησιµοποιείστε την µέθοδο σε ένα πρόγραµµα για να τυπώσετε την τιµήτης συνάρτησης για n=1, 2, 3...8. Παρακάτω δίνονται τρεις διαφορετικές λύσεις στο πρόβληµα. Στην πρώτη µέθοδο f1() χρησιµοποιείται η εντολή for ενώ στη δεύτερη µέθοδο f2() η εντολή while. Ενδιαφέρον παρουσιάζει η τρίτη λύση µετηνµέθοδο f3() η οποία για να υπολογίσει το παραγοντικό καλεί τον εαυτό της. Όταν µία µέθοδος καλεί τον εαυτό της ονοµάζεται Recursive.

Παράδειγµα 2µε Μέθοδο Παράδειγµα 2µε Μέθοδο

Παράδειγµα 2µε Μέθοδο