ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΚΑΙ ΕΞΕΤΑΣΤΕΑ ΥΛΗ ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Με τις Γλώσσες Προγραμματισμού Pascal, C, C++, Java 1 ο & 2 o ΕΠΙΠΕΔΟ Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 1/20 Απρίλιος 2011 Γλωσσών Προγραμματισμού Éκδοση 1.0 Copyright Cyprus Computer Society
ΓΕΝΙΚΟΣ ΣΚΟΠΟΣ Το αναλυτικό πρόγραμμα έχει ως γενικό σκοπό να δώσει στους συμμετέχοντες τις απαιτούμενες γνωστικές, κριτικές και αναλυτικές δεξιότητες ώστε να είναι ικανοί να χρησιμοποιούν τους υπολογιστές για την επίλυση αλγοριθμικών διαθεματικών προβλημάτων. ΓΕΝΙΚΟΙ ΣΤΟΧΟΙ Οι συμμετέχοντες που θα ολοκληρώσουν το αναλυτικό πρόγραμμα θα: εμβαθύνουν τις γνώσεις τους στις βασικές έννοιες και αρχές της αλγοριθμικής μεθοδολογίας, εμβαθύνουν τις γνώσεις τους στις βασικές έννοιες και αρχές του δομημένου προγραμματισμού, θα γνωρίσουν το συντακτικό και θα κατανοήσουν τη σημασιολογία του δομημένου προγραμματισμού, όπως η ανάθεση, η επιλογή, η επανάληψη, θα ασκηθούν στη σχεδίαση και υλοποίηση ευανάγνωστων, τεκμηριωμένων και αποδοτικών προγραμμάτων, θα ελέγχουν την ορθότητα των προγραμμάτων και την καταλληλότητά τους σε σχέση με το πρόβλημα και το χρήστη, θα αναπτύξουν κριτικές και αναλυτικές δεξιότητες για την επίλυση αλγοριθμικών διαθεματικών προβλημάτων με τη χρήση ηλεκτρονικού υπολογιστή και μεταγγλωττιστή της δικής τους επιλογής Συνοπτικό Αναλυτικό Πρόγραμμα Το αναλυτικό πρόγραμμα των εξετάσεων περιλαμβάνει συνοπτικά τα ακόλουθα θέματα: Δομή Προγράμματος Βασικοί Τύποι Δεδομένων Διαδοχική Δομή Δομή Διακλάδωσης Επαναληπτική Δομή Τύποι δεδομένων οριζόμενοι από το χρήστη Υποπρογράμματα Πίνακες Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 2/20 Απρίλιος 2011 Γλωσσών Προγραμματισμού Éκδοση 1.0 Copyright Cyprus Computer Society
Ταξινόμηση Αναζήτηση Αρχεία Κειμένου Σφάλματα στον Προγραμματισμό και Διαχείριση τους Γλώσσες Προγραμματισμού Οι γλώσσες προγραμματισμού που υποστηρίζονται είναι Pascal, C, C++, JAVA. Οι υποψήφιοι θα μπορούν να χρησιμοποιήσουν μεταγλωττιστή της επιλογής τους. Επίπεδα Eξετάσεων Τα στοιχεία του αναλυτικού προγράμματος τα οποία παρουσιάζονται με πράσινο χρώμα αφορούν στο Επίπεδο 2. Τα υπόλοιπα στοιχεία του αναλυτικού προγράμματος αφορούν στο Επίπεδο 1. Νοείται ότι οι υποψήφιοι σε εξετάσεις Επιπέδου 2, σε οποιαδήποτε γλώσσα, γνωρίζουν και κατέχουν επίσης όλα τα στοιχεία του αναλυτικού προγράμματος του Επιπέδου 1. Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 3/20 Απρίλιος 2011 Γλωσσών Προγραμματισμού Éκδοση 1.0 Copyright Cyprus Computer Society
1. Εισαγωγή 1.1 Βασικές έννοιες 1.1.1 Να γνωρίζει και να κατανοεί τις έννοιες κωδικοποίηση, πρόγραμμα, αναγνωριστικά, δεσμευμένες λέξεις. 1.1.2 Να χρησιμοποιεί αναγνωριστικά και δεσμευμένες λέξεις. 2. Δομή Προγράμματο ς 2.1 Γενική μορφή προγράμματος 2.1.1 Να γνωρίζει και να κατανοεί τη γενική μορφή ενός προγράμματος: επικεφαλίδα, δηλωτικό τμήμα, εκτελέσιμο τμήμα. 2.1.2 Να χρησιμοποιεί τα μέρη της γενικής μορφής ενός προγράμματος (επικεφαλίδα, δηλωτικό τμήμα, εκτελέσιμο τμήμα). program identifier; Σταθερές (const); Μεταβλητές (var); begin... end. Βιβλιοθήκες (include) Σταθερές (define) Μεταβλητές int main() package identifier; Βιβλιοθήκες(import) Σταθερές (final) Μεταβλητές public static void main (String[] args){ { return 0; return 0; } } 3. Βασικοί Τύποι Δεδομένων 3.1 Βασικοί τύποι δεδομένων 3.1.1 Να γνωρίζει και να κατανοεί τους βασικούς τύπους δεδομένων: ακέραιος αριθμός, πραγματικός αριθμός, ένας χαρακτήρας, ακολουθία χαρακτήρων, λογικός. Integer, Real, Char, String, Boolean Βασικοί τύποι δεδομένων: C: Integer (Long, Short, Integer types: int, long, short Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 4/20 Απρίλιος 2011
Signed, Unsigned), 3.1.2 Να διακρίνει τις διαφορές μεταξύ των βασικών τύπων δεδομένων (ακέραιος αριθμός, πραγματικός αριθμός, ένας χαρακτήρας, ακολουθία χαρακτήρων, λογικός). 3.1.3 Να γράφει πρόγραμμα χρησιμοποιώντας βασικούς τύπους δεδομένων (ακέραιος αριθμός, πραγματικός αριθμός, ένας χαρακτήρας, ακολουθία χαρακτήρων, λογικός) για την επίλυση προβλήματος. Float, Double, Char C++: Προηγούμενα + String, Boolean Floating-Point types: double, float char boolean String object 4. Διαδοχική Δομή 4.1 Είσοδος / Έξοδος 4.2 Εντολή εκχώρησης 4.1.1 Να γνωρίζει, να κατανοεί και χρησιμοποιεί τις εντολές εισόδου δεδομένων σε ένα πρόγραμμα και τις εντολές εξόδου πληροφοριών. 4.1.2 Να χρησιμοποιεί τις εντολές εισόδου δεδομένων και τις εντολές εξόδου πληροφοριών (για τον έλεγχο της εκτύπωσης των δεδομένων σε συγκεκριμένη θέση σε γραμμή). read, readln write, writeln scanf, printf java.io.bufferedrea der java.util.scanner (not available before Java 5) System.out.println 4.2.1 Να χρησιμοποιεί την εντολή εκχώρησης τιμών σε μεταβλητές. := = = 4.3 Εκφράσεις και προτεραιότητα πράξεων 4.3.1 Να γνωρίζει και να κατανοεί τις αριθμητικές εκφράσεις και την προτεραιότητά τους. 4.3.2 Να χρησιμοποιεί αριθμητικές εκφράσεις και προτεραιότητα. 4.3.3 Να γνωρίζει και να κατανοεί τις λογικές εκφράσεις και την προτεραιότητά τους. NOT * / AND DIV MOD + - OR = <> > < <=! * / && % + -! * / % + - Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 5/20 Απρίλιος 2011
4.3.4 Να χρησιμοποιεί λογικές εκφράσεις και προτεραιότητα. >= ==!= > < <= >= < <= > >= ==!= && 4.3.5 Να γνωρίζει και να κατανοεί την έννοια εκφράσεις χαρακτήρων και την προτεραιότητα τους. 4.3.6 Να χρησιμοποιεί εκφράσεις χαρακτήρων και προτεραιότητα. + = <> > < <= >= + = <> > < <= >= + = <> > < <= >= 4.4 Ενσωματωμένες μαθηματικές συναρτήσεις 4.5 Ενσωματωμένες συναρτήσεις συμβολοσειρών 4.4.1 Να γνωρίζει και να κατανοεί την έννοια ενσωματωμένη συνάρτηση που αφορούν στα μαθηματικά. 4.4.2 Να χρησιμοποιεί ενσωματωμένες συναρτήσεις που αφορούν στα μαθηματικά. 4.5.1 Να γνωρίζει και να κατανοεί την έννοια ενσωματωμένη συνάρτηση που αφορούν σε συμβολοσειρές 4.5.2 Να χρησιμοποιεί ενσωματωμένες συναρτήσεις που αφορούν ABS, ARCTAN, CHR, COS, EXP, LN, ODD, ORD, PRED, ROUND, SIN, SQR, SQRT, SUCC, TRUNC, MOD, DIV length copy concat pos fabs, atan2, exp, cos, log, log10, sin, tan, modf, pow, sqrt, ceil, floor, fmod, %, / strlen, strcpy, strcat, strcmp,substr java.lang.math strlen, strcpy, strcat, strcmp,substr Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 6/20 Απρίλιος 2011
σε συμβολοσειρές 5. Δομή Διακλάδωσης 5.1 Βασικές έννοιες 5.1.1 Να χρησιμοποιεί αριθμητικούς τελεστές ή/και λογικούς τελεστές για τη δημιουργία συνθήκης. 5.2 Απλή μορφή δομής διακλάδωσης 5.3 Σύνθετη μορφή δομής διακλάδωσης 5.2.1 Να γνωρίζει και να κατανοεί την έννοια απλή μορφή δομής διακλάδωσης. 5.2.2 Να αναγνωρίζει την απλή μορφή της δομής διακλάδωσης. 5.2.3 Να γράφει απλή μορφή δομής διακλάδωσης χρησιμοποιώντας απλή συνθήκη. 5.2.4 Να γράφει πρόγραμμα χρησιμοποιώντας την απλή μορφή της δομής διακλάδωσης για την επίλυση προβλήματος. 5.3.1 Να γνωρίζει και να κατανοεί την έννοια σύνθετη μορφή δομής διακλάδωσης. 5.3.2 Να αναγνωρίζει τη σύνθετη μορφή της δομής διακλάδωσης. 5.3.3 Να γράφει σύνθετη μορφή δομής διακλάδωσης >, >=, <, <=, =, <> NOT, AND, OR IF-THEN IF-THEN- ELSE με ένα ή περισσότερο υς αριθμητικούς τελεστές από τα >, >=, <, <=, =, <> ή ένα ή περισσότερο υς λογικούς τελεστές από τους NOT, AND, OR IF-THEN, IF- THEN-ELSE με περισσότερο υς από ένα >, >=, <, <=, ==,!=,!, &&, If () {} if () {} else {} με ένα ή περισσότερους αριθμητικούς τελεστές από τα >, >=, <, <=, ==,!= ή ένα ή περισσότερους λογικούς τελεστές από τους!, &&, If (), if () else () με περισσότερους από ένα αριθμητικούς τελεστές >, >=, <, <=, ==,!= ή >, >=, <, <=, ==,!=,!, &&, If () {} If () {} else {} με ένα αριθμητικό τελεστή από τα >, >=, <, <=, ==,!= ή ένα ή περισσότερους λογικούς τελεστές από τους!, &&, If (), if () else () με περισσότερους από ένα αριθμητικούς τελεστές >, >=, <, <=, ==,!= ή Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 7/20 Απρίλιος 2011
χρησιμοποιώντας σύνθετη συνθήκη. αριθμητικούς με ένα ή με ένα ή τελεστές >, περισσότερους περισσότερους 5.3.4 Να γράφει πρόγραμμα χρησιμοποιώντας τη σύνθετη μορφή >=, <, <=, =, λογικούς τελεστές λογικούς τελεστές της δομής διακλάδωσης για την επίλυση προβλήματος. <> ή/και από τους!, &&, από τους!, &&, λογικούς τελεστές NOT, AND, OR 5.4 Ένθετη μορφή δομής διακλάδωσης 5.5 Περιπτωσιακή δομή 5.4.1 Να γνωρίζει και να κατανοεί την έννοια ένθετη μορφή δομής διακλάδωσης. 5.4.2 Να αναγνωρίζει την ένθετη μορφή της δομής διακλάδωσης που δίνεται σε πρόγραμμα. 5.4.3 Να γράφει ένθετη μορφή δομής διακλάδωσης χρησιμοποιώντας απλή ή σύνθετη συνθήκη. 5.4.4 Να γράφει πρόγραμμα χρησιμοποιώντας την ένθετη μορφή της δομής διακλάδωσης για την επίλυση προβλήματος. 5.5.1 Να γνωρίζει και να κατανοεί την έννοια περιπτωσιακή δομή. 5.5.2 Να αναγνωρίζει την περιπτωσιακή δομή που δίνεται σε πρόγραμμα. 5.5.3 Να γράφει περιπτωσιακή δομή. IF-THEN- ELSE-IF- THEN με ένα ή περισσότερο υς αριθμητικούς τελεστές >, >=, <, <=, =, <> ή/και λογικούς τελεστές NOT, AND, OR If (), if () else () με ένα ή περισσότερους αριθμητικούς τελεστές >, >=, <, <=, ==,!= ή με ένα ή περισσότερους λογικούς τελεστές από τους!, &&, CASE-OF switch () { If (), if () else () με ένα ή περισσότερους αριθμητικούς τελεστές >, >=, <, <=, ==,!= ή με ένα ή περισσότερους λογικούς τελεστές από τους!, &&, switch () { Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 8/20 Απρίλιος 2011
5.5.4 Να γράφει πρόγραμμα χρησιμοποιώντας περιπτωσιακή δομή για την επίλυση προβλήματος. case:.. case:...... default: default: 5.6 Γενικά για δομές διακλάδωσης και για την περιπτωσιακή δομή 5.6.1 Να διακρίνει τις διαφορές των μορφών της δομής διακλάδωσης (απλή, σύνθετη, ένθετη). 5.6.2 Να διακρίνει τις διαφορές της ένθετης μορφής της δομής διακλάδωσης από την περιπτωσιακή δομή που δίνονται σε πρόγραμμα. } } 5.6.3 Να επιλέγει την αποτελεσματικότερη μορφή δομής διακλάδωσης (απλή, σύνθετη, ή ένθετη) για την επίλυση προβλήματος. 5.6.4 Να επιλέγει την αποτελεσματικότερη μορφή της δομής διακλάδωσης (ένθετη ή περιπτωσιακή δομή) για την επίλυση προβλήματος. 6. Επαναληπτικ ή Δομή 6.1 Βασικές έννοιες 6.1.1 Να γνωρίζει και να κατανοεί τις έννοιες επανάληψη, βρόγχος, σώμα της δομής, βρόγχος με γνωστό αριθμό επαναλήψεων, μεταβλητή ελέγχου (μετρητής), αρχική / τελική τιμή μεταβλητής ελέγχου, αύξηση/μείωση μεταβλητής ελέγχου, Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 9/20 Απρίλιος 2011
βρόγχος με άγνωστο αριθμό επαναλήψεων, δείκτης τέλους δεδομένων. 6.2 Βρόγχος με γνωστό αριθμό επαναλήψεων 6.2.1 Να αναγνωρίζει τις μορφές επαναληπτικής δομής με γνωστό αριθμό επαναλήψεων. 6.2.2 Να διακρίνει τις διαφορές των μορφών επαναληπτικής δομής με γνωστό αριθμό επαναλήψεων. 6.2.3 Να επιλέγει την αποτελεσματικότερη επαναληπτική δομή με γνωστό αριθμό επαναλήψεων για την επίλυση προβλήματος. 6.2.4 Να μετατρέπει μια μορφή επαναληπτικής δομής με γνωστό αριθμό επαναλήψεων σε άλλη (όπου είναι δυνατό). 6.2.5 Να γράφει πρόγραμμα χρησιμοποιώντας μορφή επαναληπτικής δομής με γνωστό αριθμό επαναλήψεων για την επίλυση προβλήματος. FOR/DO Επίσης: WHILE/DO και REPEAT/UN TIL με τη χρήση έμμεσου μετρητή for(initial_value;cond ition;increment) { } Επίσης: while και do/while με τη χρήση έμμεσου μετρητή for(initial_value;cond ition;increment) { } Επίσης: while και do/while με τη χρήση έμμεσου μετρητή 6.3 Βρόγχος με άγνωστο αριθμό επαναλήψεων 6.3.1 Να αναγνωρίζει τις μορφές επαναληπτικής δομής με άγνωστο αριθμό επαναλήψεων. 6.3.2 Να διακρίνει τις διαφορές των μορφών επαναληπτικής δομής με άγνωστο αριθμό επαναλήψεων. WHILE/DO REPEAT/UN TIL while() { while() { Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 10/20 Απρίλιος 2011
6.3.3 Να επιλέγει την αποτελεσματικότερη επαναληπτική δομή με άγνωστο αριθμό επαναλήψεων για την επίλυση προβλήματος. } do } do 6.3.4 Να μετατρέπει μια μορφή επαναληπτικής δομής με άγνωστο αριθμό επαναλήψεων σε άλλη (όπου είναι δυνατό). 6.3.5 Να γράφει πρόγραμμα χρησιμοποιώντας επαναληπτική δομή με άγνωστο αριθμό επαναλήψεων για την επίλυση προβλήματος. { } while() { } while() 6.4 Γενικά για βρόγχους με γνωστό ή άγνωστο αριθμό επαναλήψεων 6.4.1 Να διακρίνει τις διαφορές των μορφών επαναληπτικής δομής (με γνωστό ή άγνωστο αριθμό επαναλήψεων). 6.4.2 Να επιλέγει την αποτελεσματικότερη μορφή επαναληπτικής δομής (με γνωστό ή άγνωστο αριθμό επαναλήψεων) για την επίλυση προβλήματος. 6.4.3 Να μετατρέπει μια μορφή επαναληπτικής δομής με γνωστό ή άγνωστο αριθμό επαναλήψεων σε άλλη, (όπου είναι δυνατό). 6.4.4 Να γράφει πρόγραμμα χρησιμοποιώντας ένθετους βρόγχους με γνωστό ή άγνωστο αριθμό επαναλήψεων για την επίλυση προβλήματος. 7. Τύποι δεδομένων οριζόμενοι από το χρήστη 7.1 Βασικές έννοιες 7.1.1 Να γνωρίζει και να κατανοεί την έννοια βαθμωτός τύπος δεδομένων. 7.2 Δεδομένα βαθμωτού τύπου 7.2.1 Να διακρίνει τις διαφορές των βασικών τύπων δεδομένων (ακέραιος αριθμός, πραγματικός αριθμός, ένας χαρακτήρας, Βασικοί τύποι δεδομένων: Integer, Real, Char, String, Boolean Βασικοί τύποι δεδομένων: C: Integer (Long, Short, Signed, Unsigned), Βασικοί τύποι δεδομένων: byte, short, int, long, float, double, Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 11/20 Απρίλιος 2011
ακολουθία χαρακτήρων, λογικός) από τα δεδομένα Float, Double, Char boolean,char, String βαθμωτού τύπου. 7.2.2 Να γράφει πρόγραμμα χρησιμοποιώντας δεδομένα βαθμωτού τύπου για την επίλυση προβλήματος. Δεδομένα βαθμωτού τύπου: TYPE C++: Προηγούμενα + String, Boolean Δεδομένα βαθμοτού τύπου: class 8. Υποπρογράμ ματα 8.1 Βασικές έννοιες 8.1.1 Να γνωρίζει και να κατανοεί τις έννοιες συνάρτηση, επικεφαλίδα συνάρτησης, δηλωτικό μέρος συνάρτησης, σώμα της συνάρτησης, τυπικές παράμετροι, πραγματικές παράμετροι, τοπικές μεταβλητές, γενικές μεταβλητές, εκχώρηση συνάρτησης. 8.1.2 Να γνωρίζει και να κατανοεί τις έννοιες διαδικασία, επικεφαλίδα διαδικασίας, δηλωτικό μέρος διαδικασίας, σώμα της διαδικασίας τυπικές παράμετροι τιμών, τυπικές παράμετροι αναφοράς, τοπικές μεταβλητές, γενικές μεταβλητές. 8.2 Συναρτήσεις 8.2.1 Να αναγνωρίζει συνάρτηση. 8.2.2 Να διακρίνει τις διαφορές της απλής συνάρτησης από τη συνάρτηση με παραμέτρους. Function data_type function_name(argu ments); Method definition: 1. Modifiers such as public, private 8.2.3 Να επιλέγει την αποτελεσματικότερη μορφή συνάρτησης (απλή ή με παραμέτρους) για την επίλυση προβλήματος. 2. The return type 8.2.4 Να γράφει πρόγραμμα χρησιμοποιώντας συνάρτηση (απλή ή με παραμέτρους) για την επίλυση προβλήματος. 3. The method name 4. The parameter Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 12/20 Απρίλιος 2011
list in parenthesis 8.3 Διαδικασίες 8.3.1 Να αναγνωρίζει διαδικασία. 8.3.2 Να διακρίνει τις διαφορές της διαδικασίας με τυπικές παραμέτρους τιμών από τη διαδικασία με τυπικές παραμέτρους αναφοράς. Procedure Void function_name(argu ments); Example: public int function_name(int input) method with void as return type 8.3.3 Να επιλέγει την αποτελεσματικότερη μορφή διαδικασίας (με τυπικές παραμέτρους τιμών ή με τυπικές παραμέτρους αναφοράς) για την επίλυση προβλήματος. 8.3.4 Να γράφει πρόγραμμα χρησιμοποιώντας διαδικασία (με τυπικές παραμέτρους τιμών ή με τυπικές παραμέτρους αναφοράς) για την επίλυση προβλήματος. 8.4 Γενικά για συναρτήσεις και διαδικασίες 8.4.1 Να διακρίνει τις γενικές διαφορές της διαδικασίας από τη συνάρτηση. 8.4.2 Να επιλέγει το αποτελεσματικότερο είδος υποπρογράμματος (συνάρτηση ή διαδικασία) για την επίλυση προβλήματος Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 13/20 Απρίλιος 2011
9. Πίνακες 9.1 Βασικές έννοιες 9.1.1 Να γνωρίζει και να κατανοεί τις έννοιες μονοδιάστατος πίνακας, δεδομένα βαθμωτού τύπου, γραμμή, στήλη, κυψελίδα, δείκτης, μέγεθος πίνακα, στοιχεία πίνακα, παράλληλοι πίνακες. ARRAY array_name [1..x] of data_type data_type array_name[1..x] int[] array_name = new int[100] 9.2 Μονοδιάστατος πίνακας 9.2.1 Να αναγνωρίζει μονοδιάστατο πίνακα. 9.2.2 Να διακρίνει το μέγεθος μονοδιάστατου πίνακα καθώς και τον τύπο δεδομένων. ARRAY array_name [1..x] of data_type data_type array_name[1..x] int[] array_name = new int[100] 9.2.3 Να επιλέγει το κατάλληλο μέγεθος μονοδιάστατου πίνακα καθώς και τον κατάλληλο τύπο δεδομένων για την επίλυση προβλήματος. 9.2.4 Να γράφει πρόγραμμα χρησιμοποιώντας μονοδιάστατο πίνακα για την επίλυση προβλήματος: Εισάγει, επεξεργάζεται (άθροισμα, μέσο όρο, μέγιστη/ ελάχιστη τιμή) και εκτυπώνει τα στοιχεία ενός μονοδιάστατου πίνακα. Χρησιμοποιεί παράλληλους μονοδιάστατους πίνακες. 9.2.5 Να γράφει πρόγραμμα χρησιμοποιώντας παράλληλους μονοδιάστατους πίνακες. Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 14/20 Απρίλιος 2011
9.3 Πίνακας δύο 9.3.1 Να γνωρίζει και να κατανοεί την έννοια του πίνακα δύο array_name[x] διαστάσεων διαστάσεων. array_name[x][y] 9.3.2 Να διακρίνει το μέγεθος πίνακα δύο διαστάσεων καθώς και τον τύπο δεδομένων. 9.3.3 Να επιλέγει το κατάλληλο μέγεθος πίνακα δύο διαστάσεων καθώς και τον κατάλληλο τύπο δεδομένων για την επίλυση προβλήματος. 9.3.4 Να γράφει πρόγραμμα χρησιμοποιώντας πίνακα δύο διαστάσεων για την επίλυση προβλήματος: Εισάγει, επεξεργάζεται (άθροισμα, μέσο όρο, μέγιστη/ ελάχιστη τιμή) και εκτυπώνει τα στοιχεία ενός πίνακα δύο διαστάσεων. Χρησιμοποιεί παράλληλους πίνακες δύο διαστάσεων. ARRAY array_name [1..x, 1..y] of data_type int[][] array_name = new int[100][100] 9.3.5 Να γνωρίζει και να κατανοεί τις έννοιες, τετραγωνικός πίνακας, κύρια διαγώνιος και δευτερεύουσα διαγώνιος τετραγωνικού πίνακα, παράλληλοι πίνακες. ARRAY array_name [1..x, 1..x] of data_type array_name[x][x] int[][] array_name = new int[100][100] 9.4 Γενικά για μονοδιάστατους πίνακες και πίνακες δύο διαστάσεων 9.4.1 Να διακρίνει τις διαφορές ενός μονοδιάστατου πίνακα από ένα πίνακα δύο διαστάσεων. 9.4.2 Να επιλέγει την αποτελεσματικότερη μορφή πίνακα (μονοδιάστατο ή πίνακα δύο διαστάσεων), μέγεθος πίνακα και τύπο δεδομένων για την επίλυση προβλήματος. Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 15/20 Απρίλιος 2011
9.4.3 Να γράφει πρόγραμμα χρησιμοποιώντας παράλληλους πίνακες δύο διαστάσεων για την επίλυση προβλήματος: 10. Ταξινόμηση 10.1 Βασικές Έννοιες 10.1.1 Να γνωρίζει και να κατανοεί τις έννοιες ταξινόμηση κατά αύξουσα ή φθίνουσα σειρά αριθμών ή/και χαρακτήρων. 10.2 Μέθοδος της Φυσαλίδας 10.2.1 Να αναγνωρίζει τις τεχνικές της ταξινόμησης με τη μέθοδο της Φυσαλίδας (ταξινόμηση των στοιχείων μονοδιάστατου πίνακα, των στοιχειών μιας γραμμής, στήλης ή διαγωνίου ενός πίνακα δύο διαστάσεων και των στοιχείων παράλληλων πινάκων σε αύξουσα, φθίνουσα ή αλφαβητική σειρά, ανταλλαγή τιμών δύο μεταβλητών) που δίνονται σε πρόγραμμα. 10.2.2 Να γράφει πρόγραμμα χρησιμοποιώντας τεχνικές ταξινόμησης στοιχείων μονοδιάστατου πίνακα με τη μέθοδο της Φυσαλίδας για την επίλυση προβλήματος. 11. Αναζήτηση 11.1 Βασικές Έννοιες 11.1.1 Να γνωρίζει και να κατανοεί την έννοια σειριακή αναζήτηση στοιχείου σε πίνακα. 11.2 Σειριακή Αναζήτηση 11.2.1 Να αναγνωρίζει τις τεχνικές σειριακής αναζήτησης στοιχείου σε πίνακα (εύρεση στοιχείου μια ή περισσότερες φορές σε πίνακα, εύρεση του δείκτη ενός στοιχείου σε πίνακα ή/και σε παράλληλους πίνακες, κλπ.) που δίνονται σε πρόγραμμα. Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 16/20 Απρίλιος 2011
11.2.2 Να γράφει πρόγραμμα χρησιμοποιώντας τεχνικές σειριακής αναζήτησης στοιχείου σε πίνακα για την επίλυση προβλήματος. Αρχεία Κειμένου Βασικές έννοιες 12.1.1 Να γνωρίζει και να κατανοεί τις έννοιες αρχείο κειμένου, όνομα αρχείου κειμένου, δημιουργία αρχείου κειμένου, άνοιγμα και κλείσιμο αρχείου κειμένου, τέλος γραμμής, κειμένου και αρχείου, εγγραφή σε αρχείο κειμένου, προσπέλαση αρχείου κειμένου. Τεχνικές αρχείων κειμένου 12.2.1 Να καθορίζει το όνομα ενός αρχείου κειμένου. Assign fopen(filename, param); java.io.filereader public FileReader(String filename) 12.2.2 Να δημιουργεί ένα αρχείο κειμένου. Rewrite param = w java.io.filewriter public FileWriter(String filename) 12.2.3 Να ανοίγει ένα αρχείο κειμένου. Reset param = r reset() 12.2.4 Να κλείνει ένα αρχείο κειμένου. Close fclose close() Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 17/20 Απρίλιος 2011
12.2.5 Να χρησιμοποιεί αναγνωριστικά για το τέλος του αρχείου κειμένου ή γραμμής. πχ EOF feof, ready() 12.2.6 Να διαβάζει από αρχείο κειμένου. Read, readln fscanf BufferedReader input = new BufferedReader(ne w FileReader(filename )); input.readline() 12.2.7 Να γράφει σε αρχείο κειμένου. Write, Writeln fprintf Writer output = new BufferedWriter(new FileWriter(filename)) ; 12.2.8 Να παρουσιάζει τα αποτελέσματα ενός αρχείου κειμένου στην οθόνη. output.write() Write, Writeln printf System.out.println 12.3 Αρχεία Κειμένου Προχωρημένες Έννοιες 12.2.9 Να γράφει πρόγραμμα που διαβάζει δεδομένα από αρχείο κειμένου, τα επεξεργάζεται και αποθηκεύει τα αποτελέσματα σε νέο αρχείο κειμένου. 12.3.1 Να ταξινομεί ένα αρχείο κειμένου. Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 18/20 Απρίλιος 2011
12.3.2 Να δημιουργεί αρχείο κειμένου από υπάρχων ταξινομημένο αρχείο με την παρεμβολή δεδομένων. 12.3.3 Να συγχωνεύει δύο αρχεία κειμένου σε τρίτο αρχείο. 12.3.4 Να διεκπεραιώνει σειριακή αναζήτηση σε αρχείο κειμένου. 13. Σφάλματα στον Προγραμματισμ ό και Διαχείριση τους. 13.1 Βασικές έννοιες 13.1.1 Να γνωρίζει και να κατανοεί τις έννοιες σφάλματα, αποσφαλμάτωση, είδη σφαλμάτων: συντακτικά, σημασιολογικά, σφάλματα κατά το χρόνο μεταγλώττισης, λογικά σφάλματα, σφάλματα κατά το χρόνο εκτέλεσης, προκαταρκτική εκτέλεση. 13.2 Δοκιμαστικά δεδομένα και είδη σφαλμάτων 13.2.1 Να διακρίνει τα είδη σφαλμάτων: Συντακτικά (Syntax) Σημασιολογικά (Semantic) Σφάλματα κατά το χρόνο μεταγλώττισης (Compiletime errors) Λογικά (Logical) Σφάλματα κατά το χρόνο εκτέλεσης (Run-time errors) 13.2.2 Να διορθώνει τα διάφορα είδη σφαλμάτων (αποσφαλμάτωση - Debugging) σε πρόγραμμα για την επίλυση προβλήματος: Συντακτικά (Syntax) Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 19/20 Απρίλιος 2011
Σημασιολογικά (Semantic) Σφάλματα κατά το χρόνο μεταγλώττισης (Compiletime errors) Λογικά (Logical) Σφάλματα κατά το χρόνο εκτέλεσης (Run-time errors) 13.2.3 Να δημιουργεί κατάλληλα δοκιμαστικά δεδομένα (Test Data) για την επιβεβαίωση της ορθότητας ενός προγράμματος χρησιμοποιώντας τη μέθοδο της προκαταρκτικής εκτέλεσης ή οποιαδήποτε άλλη μέθοδο ελέγχου. Αναλυτικό Πρόγραμμα Εξετάσεων Σελίδα: 20/20 Απρίλιος 2011