Περιεχόμενα. Τεχνικές σχεδίασης αλγορίθμων 57. Τεχνικές σχεδίασης αλγορίθμων...217

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

ΚΕΦΑΛΑΙΑ 3 & 9 (ΠΙΝΑΚΕΣ)

Ενδεικτικές Ερωτήσεις Θεωρίας

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων...

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο ΚΕΦΑΛΑΙΟ

i 1 Όσο i <> 100 επανάλαβε i i + 2 Γράψε A[i] Τέλος_επανάληψης

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

8. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο όταν το πηγαίο πρόγραμμα δεν περιέχει συντακτικά λάθη.

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

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

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ Α.Ε.Π.Π. Γ ΤΕΧΝΟΛΟΓΙΚΗΣ. Όνομα:.. Βαθμός: /100

ΠΕΡΙΕΧΟΜΕΝΑ. Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων

Ένα περιοδικό για το ΑΕΠΠ Τεύχος Πανελλαδικών ΙΙ

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή

Α5. Να γράψετε στο τετράδιό σας τους αριθμούς της στήλης Α και δίπλα το γράμμα της στήλης Β που αντιστοιχεί σωστά. 1. χαρακτήρες α.

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

Δομές Δεδομένων. Τι είναι η δομή δεδομένων; Έστω η ακολουθία αριθμών: 8, 10,17,19,22,5,12 Λογικό Επίπεδο. Φυσικό Επίπεδο RAM. Ταξινομημένος.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 3 ο

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 3 ο. Πίνακες. Επικοινωνία:

Επιµέλεια Θοδωρής Πιερράτος

Α1. Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων. 1. Τι είναι δυναµική δοµή δεδοµένων; Μονάδες 3 2. Τι είναι στατική δοµή δεδοµένων;

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. Για i από 1 μέχρι Μ Εμφάνισε A[4,i] Τέλος_επανάληψης. (μονάδες 6) ΤΕΛΟΣ 1ης ΑΠΟ 7 ΣΕΛΙΔΕΣ

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ 29 ΜΑΪΟΥ 2013 ΕΚΦΩΝΗΣΕΙΣ

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2

Φίλη μαθήτρια, φίλε μαθητή,

Πρόβλημα 37 / σελίδα 207

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ. Πίνακες και βασικές επεξεργασίες αυτών

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

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


ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ

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

ΑΕΠΠ Ερωτήσεις θεωρίας

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ

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

ΘΕΜΑ Α. Λύση: 1. Σωστό, 2. Λάθος, 3. Σωστό, 4. Λάθος, 5. Λάθος. Ποια η διαφορά μεταξύ διερμηνευτή και μεταγλωττιστή; Απάντηση:

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 3 ο. Πίνακες. Επικοινωνία:

ΑΕΠΠ - ΗΜΕΡΗΣΙΑ ΛΥΚΕΙΑ ΘΕΜΑΤΑ ΚΑΙ ΛΥΣΕΙΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής

ΑΡΧΗ 2ΗΣ ΣΕΛΙΔΑΣ Γ Α... Β

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

Γ ΤΑΞΗ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ÑÏÌÂÏÓ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ

θέμα των Πανελλαδικών Εξετάσεων

ΘΕΜΑ 1 ο. Στήλη Β Προτάσεις. β. Ο βρόχος επανάληψης τερµατίζεται, όταν η συνθήκη είναι αληθής. όταν η συνθήκη είναι ψευδής.

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ)

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΡΤΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 6 (ΕΞΙ)

ΑΠΑΝΤΗΣΕΙΣ. Επιµέλεια: Οµάδα Πληροφορικής της Ώθησης

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Μάριος Αγγελίδης

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

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

ΘΕΜΑΤΑ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ 2013 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ

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

επιµέλεια Θοδωρής Πιερράτος

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

ΘΕΜΑ 1 Ο Α1. Δίνονται οι παρακάτω εντολές από ένα τμήμα προγράμματος:

ΕΚΠΑΙΔΕΥΤΗΡΙΑ ΝΕΑ ΠΑΙΔΕΙΑ

ΘΕΜΑ Α. Λύση: 1. Σωστό, 2. Σωστό, 3. Λάθος, 4. Λάθος, 5. Λάθος

ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Θέμα Α 1. 1 Τα θέματα προέρχονται από Επαναληπτικά Διαγωνίσματα από το "Στέκι των Πληροφορικών" και Π. Τσιωτάκη

ÔÏÕËÁ ÓÁÑÑÇ ÊÏÌÏÔÇÍÇ

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Τελευταίο Μάθημα

ΝΤΗΛ ΓΩΝΙΑ THΛ: ΤΜΗΜΑ:... 2 Ο ΔΙΑΓΩΝΙΣΜΑ

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

Στήλη Β Προτάσεις. 1. Όσο συνθήκη επανάλαβε εντολές Τέλος_επανάληψης 2. Αρχή_επανάληψης εντολές Μέχρις_ότου συνθήκη

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΗΜΕΡΗΣΙΩΝ

μεταβλητής Χ Χ ΑΛΗΘΗΣ Χ Χ 7 > 4 Χ ΨΕΥ ΗΣ Μονάδες 10

Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών ΑΕΠΠ 2015

ΠΡΟΣ: Τηλέφωνο: Ινστιτούτο Εκπαιδευτικής Πολιτικής ΚΟΙΝ.:

3. Να γραφεί πρόγραμμα που θα διαβάζει 100 ακεραίους αριθμούς από το πληκτρολόγιο και θα υπολογίζει το άθροισμά τους.

ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 05/03/2012

ΘΕΜΑ 1ο. Μονάδες 10. Β. ίνεται το παρακάτω τμήμα αλγορίθμου: Όσο Ι < 10 επανάλαβε Εμφάνισε Ι Ι Ι + 3 Τέλος_επανάληψης ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

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

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

γραπτή εξέταση στo μάθημα ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ' ΛΥΚΕΙΟΥ

Στήλη Β Προτάσεις α. Ο βρόχος επανάληψης τερµατίζεται, όταν η συνθήκη είναι αληθής β. Ο βρόχος επανάληψης

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

ΘΕΜΑ Α. Α2. Να αναφέρετε από τι εξαρτάται η επιλογή του καλύτερου αλγορίθμου ταξινόμησης. Μονάδες 4. Σελίδα 1 από 8

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΣΑΒΒΑΤΟ 4 ΙΟΥΝΙΟΥ 2005

Α4. Όσο επανάλαβε Τέλος_επανάληψης Εμφάνισε Για από μέχρι με_βήμα. Όσο επανάλαβε (Μονάδες 5) Α5. Α[10, 5] Π, Για από μέχρι (1) Για από μέχρι (2) Αν

ΠΕΚ ΤΡΙΠΟΛΗΣ ΕΠΙΜΟΡΦΩΣΗ ΕΚΠ/ΚΩΝ ΠΕ19,20 ΗΜ/ΝΙΑ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ

ΘΕΜΑ 1ο Α. Να γράψετε στο τετράδιό σας τον αριθµό κάθε πρότασης και δίπλα τη λέξη Σωστό, αν είναι σωστή, ή τη λέξη Λάθος, αν είναι λανθασµένη.

Τρίτη, 1 Ιουνίου 2004 ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ

Θέμα Β. ΓΙΑ γ ΑΠΟ 1 ΜΕΧΡΙ 4. ΓΙΑ δ ΑΠΟ 1 ΜΕΧΡΙ 4. Α[γ,δ] 17 - (γ-1)*4 - δ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗ

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

ΚΕΦΑΛΑΙΟ ΙΙΙ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

μεταβλητής Χ Χ ΑΛΗΘΗΣ Χ Χ 7 > 4 Χ ΨΕΥ ΗΣ Μονάδες 10 ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ - ΕΣΠΕΡΙΝΩΝ

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ) 2012 ÈÅÌÅËÉÏ ΕΚΦΩΝΗΣΕΙΣ

Transcript:

Περιεχόμενα Δομές δεδομένων 37. Δομές δεδομένων (θεωρητικά στοιχεία)...11 38. Εισαγωγή στους μονοδιάστατους πίνακες...16 39. Βασικές επεξεργασίες στους μονοδιάστατους πίνακες...25 40. Ασκήσεις στους μονοδιάστατους πίνακες Ι...36 41. Ασκήσεις στους μονοδιάστατους πίνακες ΙΙ...44 42. Εισαγωγή στους δισδιάστατους πίνακες...51 43. Βασικές επεξεργασίες στους δισδιάστατους πίνακες...61 44. Ασκήσεις στους δισδιάστατους πίνακες I...70 45. Ασκήσεις στους δισδιάστατους πίνακες II...78 46. Οι δομές Στοίβα και Ουρά...88 47. Πίνακες και λειτουργίες...98 48. Σειριακή αναζήτηση...106 49. Ταξινόμηση...122 50. Ασκήσεις με αναζήτηση και ταξινόμηση...137 51. Ασκήσεις στους πίνακες Ι...149 52. Ασκήσεις στους πίνακες ΙΙ...159 53. Ασκήσεις στους πίνακες ΙΙΙ...169 54. Ασκήσεις στους πίνακες ΙV...178 55. Ασκήσεις στους πίνακες V...190 56. Πίνακες και ΓΛΩΣΣΑ...199 Τεχνικές σχεδίασης αλγορίθμων 57. Τεχνικές σχεδίασης αλγορίθμων...217 Εισαγωγή στον προγραμματισμό 58. Γλώσσες προγραμματισμού...223 59. Μεθοδολογίες προγραμματισμού...233 60. Προγραμματιστικά περιβάλλοντα...241 Υποπρογράμματα 61. Τμηματικός προγραμματισμός (θεωρητικά στοιχεία)...255 62. Εκτέλεση προγραμμάτων με συναρτήσεις...259 63. Εκτέλεση προγραμμάτων με διαδικασίες...268 64. Ανάπτυξη προγραμμάτων: Συναρτήσεις...278 65. Ανάπτυξη προγραμμάτων: Διαδικασίες...285 66. Εκτέλεση προγραμμάτων με διαδικασίες και συναρτήσεις...291 67. Κύριο πρόγραμμα και υποπρογράμματα...307 68. Ασκήσεις με υποπρογράμματα Ι...325 69. Υποπρογράμματα που επεξεργάζονται πίνακες...332 70. Ασκήσεις με υποπρογράμματα ΙI...346 71. Ασκήσεις με υποπρογράμματα ΙII...360 Επαναληπτικά κριτήρια αξιολόγησης Επαναληπτικά κριτήρια αξιολόγησης (σε όλη την ύλη)...379 Απαντήσεις Απαντήσεις και λύσεις των ασκήσεων...395

Πρόταση αξιοποίησης βιβλίου Το βιβλίο χωρίστηκε σε δυο τεύχη με ομοιόμορφη κατανομή του υλικού. Το πρώτο τεύχος περιέχει την ενότητα ανάλυση προβλήματος και ενότητες που περιγράφουν τις αλγοριθμικές δομές ακολουθίας, επιλογής και επανάληψης. Στο δεύτερο τεύχος περιλαμβάνονται οι ενότητες δομές δεδομένων, τεχνικές σχεδίασης αλγορίθμων, εισαγωγή στον προγραμματισμό και τμηματικός προγραμματισμός. Κάθε ενότητα του βιβλίου έχει διασπαστεί σε κεφάλαια, με τη λογική «κεφάλαιο ανά αντικείμενο διδασκαλίας». Μ αυτόν τον τρόπο ο καθηγητής, αλλά και ο μαθητής έχουν στη διάθεσή τους πλούσιο υλικό (ερωτήσεις, ασκήσεις λυμένες, ασκήσεις για λύση κ.λπ.) που αφορά σε ένα συγκεκριμένο αντικείμενο. Επίσης, υπάρχουν κεφάλαια που περιέχουν μόνο ασκήσεις και προτείνεται να αξιοποιηθούν στην επανάληψη. Η αρίθμηση των κεφαλαίων είναι ενιαία και στα δυο τεύχη. Ακόμη, στην αρχή κάθε κεφαλαίου αναφέρεται η ενότητα που ανήκει, αλλά και οι σχετικές με αυτό σελίδες στο σχολικό βιβλίο μαθητή. Έχει φανεί από τις απόψεις έμπειρων συναδέλφων πως είναι προτιμότερο να παρουσιάζονται ταυτόχρονα η ψευδογλώσσα και η ΓΛΩΣΣΑ. Αυτό προτείνεται άλλωστε και από το βιβλίο του καθηγητή. Στο βιβλίο αυτό η ΓΛΩΣΣΑ παρουσιάζεται σε ανεξάρτητα κεφάλαια στο τέλος κάθε ενότητας (κεφάλαια 8, 19, 36, 56). Έτσι, ο διδάσκων, αν το επιθυμεί, έχει τη δυνατότητα να ακολουθήσει τη σπειροειδή προσέγγιση. Μπορεί εναλλακτικά, να τα παρουσιάσει σε δεύτερη φάση. Καταβλήθηκε ιδιαίτερη προσπάθεια, ώστε κάθε κεφάλαιο-διδακτική ενότητα να είναι ανεξάρτητο από τα υπόλοιπα. Για παράδειγμα, οι δομές επανάληψης Όσο, Μέχρις_ότου και Για αποτελούν ξεχωριστά κεφάλαια με τη σειρά που αναφέρθηκαν. Ωστόσο, μπορούν να διδαχθούν με οποιαδήποτε διάταξη ή ακόμα και ταυτόχρονα. Η δομή απλής επιλογής μπορεί να παρουσιαστεί πριν ή και παράλληλα με τη δομή σύνθετης επιλογής. Όμοια για τις λειτουργίες της αναζήτησης και της ταξινόμησης στους πίνακες αλλά και για τις διαδικασίες και τις συναρτήσεις στην ενότητα του τμηματικού προγραμματισμού. Με λίγα λόγια, η διάταξη των κεφαλαίων αποτελεί πρόταση για τη σειρά διδασκαλίας των αντικειμένων αλλά δεν είναι δεσμευτική και το υλικό δίνει στο διδάσκοντα την ευχέρεια να ακολουθεί όποιο μονοπάτι εξυπηρετεί καλύτερα το έργο του. Το βιβλίο καλύπτει όλα τα ζητήματα που πραγματεύεται το σχολικό διδακτικό πακέτο, τα θέματα των απολυτήριων εξετάσεων καθώς και πολλά άλλα πιο εύκολα ή πιο δύσκολα. Τα θέματα πρέπει να επιλυθούν και να μελετηθεί η μεθοδολογία που χρησιμοποιούν. Οι ερωτήσεις κατανόησης πρέπει να επιλυθούν όλες, ώστε να γίνουν αντιληπτά τα «λεπτά» σημεία της θεωρίας. Μετά την ολοκλήρωση κάθε ενότητας πρέπει να επιλύονται και τα κριτήρια αξιολόγησης. Σε αυτό το σημείο, προτείνονται κάποια απαραίτητα θέματα που πρέπει να μελετηθούν ειδικότερα από τον μαθητή στη διάρκεια της προετοιμασίας του και στην επανάληψη. Ενότητα: Δομές δεδομένων 38.8, 39.2, 39.3, 39.5, 39.8, 39.26, 40.3, 40.4, 40.21, 41.3, 41.5, 41.21, 41.22, 42.8, 43.3, 43.6, 43.7, 43.9, 43.22, 44.4, 44.11, 45.3, 45.5, 45.19, 47.5, 47.6, 47.7, 48.7, 48.8, 48.10, 49.9, 49.11, 50.1, 50.5, 50.12, 50.14, 51.1, 51.2, 51.3, 51.12, 51.17, 52.1, 52.5, 52.18, 52.19, 53.2, 53.5, 53.17, 54.1, 54.4, 54.12, 54.14, 55.3, 55.7, 55.9, 56.8, 56.11, 56.12. Ενότητα: Υποπρογράμματα 62.7, 62.12, 63.5, 63.11, 64.2, 64.3, 65.2, 65.3, 66.12, 66.13, 66.19, 67.5, 67.6, 67.7, 67.10, 68.4, 68.7, 68.11, 68.14, 68.16, 69.6, 69.7, 69.13, 69.33, 70.1, 70.2, 70.4, 70.7, 70.8, 70.12, 70.15, 70.16, 71.3, 71.4, 71.9, 71.12.

37.1 Ερωτήσεις ανάπτυξης 1. Τι είναι δεδομένα και τι πληροφορία; Δεδομένα είναι ακατέργαστα γεγονότα, αφαιρετική αναπαράσταση της πραγματικότητας. Οι πληροφορίες παράγονται από τα δεδομένα και είναι αποτέλεσμα επεξεργασίας. [Δείτε σελίδα 53 αλλά και σελίδα 8 σχολικού βιβλίου.] 2. Να αναφέρετε τις σκοπιές από τις οποίες μελετά τα δεδομένα η Πληροφορική. Υλικού, γλωσσών προγραμματισμού, δομών δεδομένων και ανάλυσης δεδομένων. [Δείτε και σελίδα 53 σχολικού βιβλίου.] 3. Να δώσετε τον ορισμό της δομής δεδομένων. (ΕΞΕΤΑΣΕΙΣ 2007) Δομή δεδομένων είναι ένα σύνολο αποθηκευμένων δεδομένων που υφίστανται επεξεργασία από ένα σύνολο λειτουργιών. [Δείτε και σελίδα 54 σχολικού βιβλίου.] 4. Να αναφέρετε τις βασικές λειτουργίες (πράξεις) επί των δομών δεδομένων. (ΕΞΕΤΑΣΕΙΣ 2004 ΚΑΙ 2002) Προσπέλαση, εισαγωγή, διαγραφή, αναζήτηση, ταξινόμηση, αντιγραφή, συγχώνευση, διαχωρισμός. [Δείτε και σελίδες 54-55 σχολικού βιβλίου.] 5. Υπάρχει κάποια δομή δεδομένων που να χρησιμοποιεί και τις οκτώ λειτουργίες και ποια είναι αυτή; Στην πράξη σπάνια χρησιμοποιούνται και οι οκτώ λειτουργίες για κάποια δομή. [Δείτε και σελίδα 55 σχολικού βιβλίου.] ΕΝΟΤΗΤΑ: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ 11

6. Ποια είναι η εξάρτηση μεταξύ της δομής δεδομένων και του αλγορίθμου που επεξεργάζεται τη δομή; Αλγόριθμοι + Δομές Δεδομένων = Προγράμματα. [Δείτε και σελίδα 55 σχολικού βιβλίου.] 7. Τι είναι στατική δομή δεδομένων; (ΕΞΕΤΑΣΕΙΣ 2004) Οι στατικές δομές δεδομένων αποθηκεύονται σε συνεχόμενες θέσεις μνήμης και έχουν σταθερό μέγεθος. Παράδειγμα είναι ο πίνακας. [Δείτε και σελίδα 56 σχολικού βιβλίου.] 8. Τι είναι δυναμική δομή δεδομένων; (ΕΞΕΤΑΣΕΙΣ 2004) Προσθήκη: Σε ποια τεχνική στηρίζονται; Οι δυναμικές δομές δεδομένων δεν αποθηκεύονται σε συνεχόμενες θέσεις μνήμης και δεν έχουν σταθερό μέγεθος. Χρησιμοποιούν την τεχνική της δυναμικής παραχώρησης μνήμης. [Δείτε και σελίδα 56 σχολικού βιβλίου.] 37.2 Ερωτήσεις του τύπου Σωστό-Λάθος 1. Οι πληροφορίες προκύπτουν ως το αποτέλεσμα της επεξεργασίας δεδομένων. 2. Η Πληροφορική μελετάει τα δεδομένα από τις σκοπιές υλικού, γλωσσών προγραμματισμού, δομών δεδομένων και πινάκων. 3. Δομή δεδομένων είναι ένα σύνολο δεδομένων τα οποία υφίστανται επεξεργασία από λειτουργίες που καλούνται από το υπόλοιπο πρόγραμμα. 4. Προσπέλαση είναι η εύρεση ενός κόμβου με κάποιο κριτήριο. 5. Αναζήτηση είναι η εύρεση ενός κόμβου μιας δομής που πληροί κάποιο κριτήριο. 6. Διαχωρισμός είναι η διάσπαση ενός κόμβου κάποιας δομής δεδομένων σε δύο μέρη. 7. Η διάταξη των κόμβων μιας δομής δεδομένων ονομάζεται αντιγραφή. 8. Η λειτουργία της αντιγραφής είναι το αντίθετο της διαγραφής. 9. Η λειτουργία της συγχώνευσης είναι το αντίθετο του διαχωρισμού. 10. Με τη λειτουργία της συγχώνευσης δύο ή περισσότερες δομές δεδομένων συνενώνονται σε μία ενιαία δομή. (EΞΕΤAΣΕΙΣ 2007) 37.3 Ερωτήσεις του τύπου Σωστό-Λάθος 1. Κάθε δομή δεδομένων μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή. 2. Όλες οι γνωστές δομές δεδομένων χρησιμοποιούν και τις οκτώ λειτουργίες. 3. Αλγόριθμοι + Δομές Δεδομένων = Προγράμματα. (ΕΞΕΤΑΣΕΙΣ 2007) 4. Υπάρχουν μόνο δύο τύποι δομών δεδομένων: οι στατικές και οι δυναμικές. 12 37 - ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (ΘΕΩΡΗΤΙΚΑ ΣΤΟΙΧΕΙΑ)

5. Μια δυναμική δομή δεδομένων μπορεί κατά τη διάρκεια εκτέλεσης του αλγορίθμου να αυξομειώσει το πλήθος των κόμβων της. 6. Οι δυναμικές δομές έχουν σταθερό μέγεθος. (ΕΞΕΤAΣΕΙΣ 2002) 7. Σε μια δυναμική δομή δεδομένων τα δεδομένα αποθηκεύονται υποχρεωτικά σε συνεχόμενες θέσεις μνήμης. (ΕΞΕΤΑΣΕΙΣ 2006) 8. Η δυναμική παραχώρηση μνήμης χρησιμοποιείται στις στατικές δομές δεδομένων. (EΞΕΤAΣΕΙΣ 2008) 9. Οι δυναμικές δομές δεδομένων αποθηκεύονται σε συνεχόμενες θέσεις μνήμης αλλά στηρίζονται στην τεχνική της δυναμικής παραχώρησης μνήμης. 10. Οι στατικές δομές δεσμεύονται ως προς το μέγεθός τους και δεν μπορούν να το μεταβάλουν στα πλαίσια της εκτέλεσης ενός αλγορίθμου. 37.4 Ερωτήσεις συμπλήρωσης κενού 1. Η Πληροφορική ως επιστήμη μελετά τα δεδομένα από τη σκοπιά του, των, της δεδομένων και των δεδομένων. 2. Κάθε δομή δεδομένων υφίσταται επεξεργασία από ένα σύνολο. 3. Η είναι η πράξη κατά την οποία όλοι ή μερικοί από τους κόμβους μιας δομής αντιγράφονται σε μια άλλη δομή. 4. Η είναι η πράξη κατά την οποία δύο ή περισσότερες δομές συνενώνονται σε μία ενιαία δομή. 5. Ο αποτελεί την αντίστροφη πράξη της συγχώνευσης. 6. Η λειτουργία κατά την οποία εντοπίζονται οι κόμβοι που έχουν μια δεδομένη ιδιότητα ονομάζεται. 7. Η τακτοποίηση των κόμβων μιας δομής σε διάταξη είναι μια ιδιαίτερη λειτουργία που ονομάζεται. 8. Σε μια δομή δεδομένων το μέγεθος της μνήμης που χρησιμοποιείται δεν είναι προκαθορισμένο. 9. Οι δομές δεδομένων που χρησιμοποιούν συνεχόμενες θέσεις μνήμης ονομάζονται. 10. Οι στατικές δομές δεδομένων αποθηκεύονται σε θέσεις μνήμης και το πλήθος των θέσεων είναι. 11. Οι δομές δεδομένων διακρίνονται σε και. 12. Οι δυναμικές δομές δεδομένων στηρίζονται στην τεχνική. 37.5 Επιλέξτε από τα παρακάτω όσα θεωρείτε κατάλληλα. 1. Η πληροφορική ως επιστήμη μελετά τους αλγορίθμους σε σχέση με την έννοια των δεδομένων από τις εξής σκοπιές: α. υλικού β. θεωρητική γ. ανάλυσης δεδομένων δ. αρχείο. 2. Οι βασικές λειτουργίες (ή αλλιώς πράξεις) επί των δομών δεδομένων είναι οι ακόλουθες: ΕΝΟΤΗΤΑ: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ 13

α. προσπέλαση β. ανάγνωση γ. εισαγωγή δ. διαγραφή ε. αναζήτηση στ. εκτύπωση ζ. πρόσθεση η. ταξινόμηση θ. ολίσθηση 37.6 Ερωτήσεις αντιστοίχισης 1. Να αντιστοιχίσετε τα στοιχεία της στήλης Α με τα στοιχεία της στήλης Β. Στήλη ΑΣτήλη Β Σκοπιές που μελετά η Πληροφορική 1. τα δεδομένα 2. τους αλγορίθμους α. Αναλυτική β. Γλωσσών προγραμματισμού γ. Ανάλυση δεδομένων δ. Θεωρητική ε. Δομών δεδομένων στ. Υλικού (Κάποια στοιχεία της στήλης Β μπορεί να αντιστοιχιστούν με περισσότερα από ένα στοιχεία της στήλης Α.) 2. Να αντιστοιχίσετε τα στοιχεία της στήλης Α και της στήλης Β που αφορούν τις λειτουργίες επί των δομών δεδομένων. ( Ένα στοιχείο της στήλης Β περισσεύει.) Στήλη ΑΣτήλη Β 1. Προσπέλαση 2. Διαγραφή 3. Συγχώνευση 4. Αναζήτηση 5. Διαχωρισμός 6. Αντιγραφή 7. Ταξινόμηση 8. Εισαγωγή α. Αύξουσα ή φθίνουσα τακτοποίηση κόμβων β. Προσθήκη νέων κόμβων γ. Πρόσβαση σε έναν κόμβο για επεξεργασία του περιεχομένου του δ. Ένας ή περισσότεροι κόμβοι μιας δομής τοποθετούνται και σε μια άλλη δομή ε. Αποθήκευση μίας ή περισσότερων τιμών σε αντίστοιχους κόμβους στ. Αφαίρεση ενός κόμβου ζ. Εντοπισμός κόμβων που έχουν μια ιδιότητα η. Διάσπαση μιας δομής σε δύο ή περισσότερες θ. Συνένωση δύο ή περισσότερων δομών σε μία ι. Εντοπισμός του κόμβου με τη μικρότερη ή τη μεγαλύτερη τιμή 14 37 - ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (ΘΕΩΡΗΤΙΚΑ ΣΤΟΙΧΕΙΑ)

3. Να γράψετε στο τετράδιό σας τους αριθμούς 1, 2, 3, 4 της Στήλης Α και δίπλα ένα από τα γράμματα α, β, γ, δ, ε, στ της Στήλης Β που αντιστοιχεί στον σωστό ορισμό. Στήλη ΑΣτήλη Β 1. Προσθήκη νέων κόμβων σε μία υπάρχουσα δομή. α. Προσπέλαση 2. Οι κόμβοι μιας δομής διατάσσονται κατά αύξουσα β. Αντιγραφή ή φθίνουσα σειρά. γ. Διαγραφή 3. Πρόσβαση σε έναν κόμβο με σκοπό να εξετασθεί ή δ. Αναζήτηση να τροποποιηθεί το περιεχόμενό του. ε. Εισαγωγή 4. Όλοι οι κόμβοι ή μερικοί από τους κόμβους μιας δομής αντιγράφονται σε μια άλλη δομή. στ. Ταξινόμηση ΣΗΜΕΙΩΣΗ: Δύο (2) στοιχεία της Στήλης Β δεν χρησιμοποιούνται. (ΕΞΕΤΑΣΕΙΣ 2008) ΕΝΟΤΗΤΑ: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ 15

38.1 Ερωτήσεις ανάπτυξης 1. Να αναφέρετε τον ορισμό του πίνακα. Ποια η διαφορά του πίνακα και ενός στοιχείου του πίνακα; Στην πράξη οι στατικές δομές υλοποιούνται με πίνακες. Πίνακας είναι ένα σύνολο αντικειμένων ιδίου τύπου, που αναφέρονται με κοινό όνομα. Κάθε αντικείμενο (μπορεί να θεωρηθεί και μια μεταβλητή) ονομάζεται στοιχείο. [Δείτε και σελίδες 56 και 186-187 σχολικού βιβλίου.] 2. Για ποιον λόγο χρησιμοποιούνται οι πίνακες; Ως δομές δεδομένων, οι πίνακες δίνουν τη δυνατότητα αποθήκευσης μεγάλου όγκου δεδομένων και επεξεργασίας τους κατά την εκτέλεση αλγορίθμων. [Δείτε και σελίδα 187 σχολικού βιβλίου.] 3. Να αναφέρετε δύο βασικές λειτουργίες επί των δομών δεδομένων που δεν μπορούν να χρησιμοποιηθούν στους πίνακες. Να αιτιολογήσετε την απάντησή σας. (ΕΞΕΤΑΣΕΙΣ 2007) Οι λειτουργίες εισαγωγής και διαγραφής. Οι πίνακες είναι στατική δομή δεδομένων και δεν μπορεί να τροποποιηθεί το πλήθος των κόμβων (στοιχείων) τους. [Δείτε και σελίδες 54-55 σχολικού βιβλίου.] 4. Τι διαστάσεις μπορεί να έχει ένας πίνακας; Ένας πίνακας μπορεί να είναι μονοδιάστατος, δισδιάστατος, τρισδιάστατος και γενικά ν-διάστατος. Απαιτείται η χρήση αντίστοιχου πλήθους δεικτών για τον προσδιορισμό των στοι- 16 38 - ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΜΟΝΟΔΙΑΣΤΑΤΟΥΣ ΠΙΝΑΚΕΣ

χείων σε κάθε περίπτωση. Οι δείκτες που προσδιορίζουν τις συντεταγμένες των στοιχείων ενός πίνακα μπορεί να είναι αριθμητικές εκφράσεις με ακέραιο πάντα αποτέλεσμα. [Δείτε και σελίδες 57 και 194 σχολικού βιβλίου.] 5. Σε ποιες περιπτώσεις δικαιολογείται η χρήση πινάκων σε έναν αλγόριθμο; Χρησιμοποιώντας μεταβλητές δεν λύνονται όλα τα προβλήματα. Υπάρχουν περιπτώσεις που απαιτείται η πολλαπλή επεξεργασία των δεδομένων. Δεν είναι αποδεκτό να ζητείται από τον χρήστη να εισαγάγει εκ νέου δεδομένα που έχει ήδη εισαγάγει. Παράδειγμα: Να διαβαστούν 20 αριθμοί και να εκτυπωθεί το ποσοστό των στοιχείων που είναι μεγαλύτερα του μέσου όρου. Πρέπει να διαβαστούν όλα τα στοιχεία και να υπολογιστεί ο μέσος όρος. Στη συνέχεια να προσπελαστούν ξανά, ώστε να μετρηθεί το πλήθος των μεγαλύτερων του μέσου όρου και να εκτιμηθεί το ζητούμενο ποσοστό. Σε αυτή την περίπτωση πρέπει να χρησιμοποιούνται πίνακες. Γενικά, η απόφαση για τη χρήση ή όχι πίνακα είναι κυρίως θέμα εμπειρίας στον προγραμματισμό. [Δείτε και σελίδα 191 σχολικού βιβλίου.] 6. Να αναφέρετε δύο μειονεκτήματα της χρήσης πινάκων. (ΕΞΕΤΑΣΕΙΣ 2004) Απαιτούν μνήμη, καθώς δεσμεύουν πολλές θέσεις ανάλογα με το μέγεθός τους και περιορίζουν τις δυνατότητες του προγράμματος, αφού το μέγεθός τους δεν μεταβάλλεται. [Δείτε και σελίδα 191 σχολικού βιβλίου.] 38.2 Ερωτήσεις του τύπου Σωστό-Λάθος 1. Το ακριβές μέγεθος ενός πίνακα καθορίζεται κατά τη διάρκεια του προγραμματισμού και δεν μπορεί να τροποποιηθεί κατά τη διάρκεια εκτέλεσης του αλγορίθμου. 2. Ένας πίνακας μπορεί να είναι μονοδιάστατος, δισδιάστατος, τρισδιάστατος ή γενικά ν-διαστάσεων. 3. Υπάρχει περίπτωση οι διαστάσεις ενός πίνακα να είναι περισσότερες από δύο. 4. Ένας πίνακας μπορεί να αποθηκεύσει ακέραιες και λογικές τιμές. 5. Ένας πίνακας έχει σταθερό αριθμό κόμβων. 6. Ο πίνακας είναι μια δυναμική δομή δεδομένων. (ΕΞΕΤΑΣΕΙΣ 2006) 7. Η τεχνική της δυναμικής παραχώρησης μνήμης χρησιμοποιείται και στους πίνακες. 8. Ένας πίνακας δεν μπορεί να έχει στοιχεία λογικού τύπου. 9. Τα στοιχεία ενός πίνακα μπορεί να είναι διαφορετικού τύπου. (ΕΞΕΤAΣΕΙΣ 2000) 10. Σε έναν πίνακα δεν μπορεί να υπάρχει δύο φορές η ίδια τιμή. 11. Για την προσπέλαση ενός πίνακα μπορεί να χρησιμοποιηθεί οποιαδήποτε δομή επανάληψης. ΕΝΟΤΗΤΑ: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ 17

12. Εφόσον το πλήθος των στοιχείων ενός πίνακα είναι γνωστό, δεν μπορεί να χρησιμοποιηθεί η δομή Όσο για την προσπέλαση των στοιχείων του. 13. Η χρήση πινάκων σε έναν αλγόριθμο είναι κυρίως θέμα εμπειρίας στον προγραμματισμό. 14. Στη δομή του πίνακα δεν μπορούν να εφαρμοστούν οι λειτουργίες εισαγωγή και διαγραφή. 15. Ο πίνακας που χρησιμοποιεί έναν μόνο δείκτη για την αναφορά των στοιχείων του ονομάζεται μονοδιάστατoς. (ΕΞΕΤΑΣΕΙΣ 2005) 38.3 Ερωτήσεις του τύπου Σωστό-Λάθος 1. Τα στοιχεία ενός πίνακα μπορούν να αποτελούνται από δεδομένα διαφορετικού τύπου. (ΕΞΕΤAΣΕΙΣ 2005) 2. Η εντολή Σ ΠΙΝ τοποθετεί το άθροισμα των στοιχείων του πίνακα ΠΙΝ στη σχετική μεταβλητή. 3. Υπάρχουν ειδικές εντολές αλγορίθμων που μπορούν να επεξεργαστούν τα στοιχεία πινάκων όλα μαζί. 4. Ένας πίνακας μπορεί να αποθηκεύσει μόνο ακέραιους αριθμούς και ονόματα. 5. Για να προσπελάσουμε μαζικά τα στοιχεία ενός πίνακα χρησιμοποιούμε επαναληπτική δομή. 6. Για τον υπολογισμό του μέσου όρου ενός πίνακα αριθμών πρέπει να προσπελαστεί ολόκληρος ο πίνακας. 7. Οι διαστάσεις ενός πίνακα μπορούν να τροποποιηθούν, αν χρειάζεται, κατά τη διάρκεια εκτέλεσης ενός αλγορίθμου με τη χρήση ειδικών εντολών. 8. Σε έναν μονοδιάστατο πίνακα που περιέχει αριθμούς η μέγιστη τιμή μπορεί να εντοπίζεται σε περισσότερα από ένα κελιά. 9. Ο δείκτης ενός μονοδιάστατου πίνακα πρέπει πάντοτε να ονομάζεται i. 10. Για τον υπολογισμό του μέσου όρου 120 αριθμών πρέπει να χρησιμοποιηθεί πίνακας. 11. Οι πίνακες πρέπει να χρησιμοποιούνται σε όλες τις περιπτώσεις που εισάγονται πολλά στοιχεία σε έναν αλγόριθμο. 12. Ένας πίνακας έχει σταθερό μέγεθος αλλά μεταβαλλόμενο περιεχόμενο. 13. Η άσκοπη χρήση πινάκων έχει το μειονέκτημα της υπερβολικής χρήσης μνήμης. 14. Αν ένας πίνακας έχει αλφαριθμητικά στοιχεία, ο μέσος όρος είναι το μεσαίο στοιχείο του πίνακα. 15. Μέσα στις αγκύλες που αναφέρονται στη θέση ενός πίνακα μπορεί να υπάρχει οποιαδήποτε ακέραια έκφραση. 38.4 Ερωτήσεις συμπλήρωσης κενού 1. Οι πίνακες είναι μια δομή δεδομένων. 18 38 - ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΜΟΝΟΔΙΑΣΤΑΤΟΥΣ ΠΙΝΑΚΕΣ

2. Οι πίνακες που χρησιμοποιούν έναν δείκτη για την αναφορά των στοιχείων τους ονομάζονται. 3. Ο δείκτης που καθορίζει τη θέση ενός μονοδιάστατου πίνακα έχει υποχρεωτικά τιμή. 4. Οι πίνακες που έχουν τα στοιχεία τους σε μια γραμμή ονομάζονται. 5. Σε έναν μονοδιάστατο πίνακα με τα στοιχεία του σε αύξουσα σειρά το πρώτο κελί του περιέχει το στοιχείο. 6. Το αποτέλεσμα από τις παρακάτω εντολές είναι ο υπολογισμός του πίνακα Α: Σ 0 Για i από μέχρι Ν Σ Σ + Α[i] 7. Οι επόμενες εντολές δίνουν στα στοιχεία ενός πίνακα την τιμή 0: Για i από μέχρι Ν Α[ ] 38.5 Ερωτήσεις πολλαπλής επιλογής 1. Ποιες από τις παρακάτω εντολές υπολογίζουν το άθροισμα ενός πίνακα Α με 10 στοιχεία: α. Για i από 1 μέχρι 10 Σ Σ + Α γ. Για i από 1 μέχρι 10 Σ Σ + Α[i] β. Για i από 1 μέχρι 10 Σ Σ + i δ. Για i από 1 μέχρι 10 Σ Α[i] 2. Τι κάνει το διπλανό τμήμα αλγορίθμου; α. υπολογίζει το άθροισμα των στοιχείων του πίνακα Χ β. υπολογίζει το άθροισμα τετραγώνων των στοιχείων του πίνακα Χ γ. υπολογίζει το άθροισμα τετραγώνων των αριθμών από 1 έως Ν δ. υπολογίζει το άθροισμα των περιττών στοιχείων του πίνακα Χ S 0 Για i από 1 μέχρι Ν S S + X[i] ^ 2 3. Έστω πίνακας Α[10] ακέραιων αριθμών. Ποια από τα παρακάτω τμήματα αλγορίθμου εμφανίζουν όλα τα στοιχεία του πίνακα; (περισσότερα από ένα στοιχεία είναι σωστά) α. Για i από 1 μέχρι 10 Εμφάνισε Α[1] β. Για i από 1 μέχρι 10 Εμφάνισε Α[i] ΕΝΟΤΗΤΑ: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ 19

γ. i 0 Όσο i < 10 επανάλαβε i i + 1 Εμφάνισε Α[i] ε. Εμφάνισε Α[1], Α[2] Για κ από 3 μέχρι 9 Εμφάνισε Α[κ] Εμφάνισε Α[10] ζ. Για κ από 10 μέχρι 1 με_βήμα 1 Εμφάνισε Α[κ] θ. Για i από 1 μέχρι 10 με_βήμα 2 Εκτύπωσε Π[i], Π[i + 1] δ. i 1 Όσο i < 10 επανάλαβε Εμφάνισε Α[i] i i + 1 στ. κ 0 Για i από 2 μέχρι 10 με_βήμα 2 Για j από 1 μέχρι 2 κ κ + 1 Εμφάνισε Α[κ] η. Για j από 1 μέχρι 7 Εμφάνισε Α[j + 2] ι. Για i από 1 μέχρι 10 Εμφάνισε Α[10] 4. Τι ενέργεια επιτελεί ο διπλανός αλγόριθμος; α. Εμφανίζει το 5ο στοιχείο του πίνακα Α. β. Εμφανίζει όλα τα στοιχεία του πίνακα Α. γ. Εμφανίζει τα στοιχεία του πίνακα Α που βρίσκονται μετά την 5η θέση. Για i από 1 μέχρι 10 Αν i > 5 τότε Εμφάνισε A[i] δ. Εμφανίζει όσα από τα στοιχεία του πίνακα Α είναι μεγαλύτερα του 5. 5. Ποιο είναι το αποτέλεσμα των διπλανών εντολών; α. 75 β. 155 γ. 50 δ. 125. Για i από 1 μέχρι 10 A[i] 10 + i S 0 Για k από 1 μέχρι 10 με_βήμα 2 S S + A[k] Εκτύπωσε S 6. Ο παρακάτω αλγόριθμος, που επεξεργάζεται έναν πίνακα Α[25], υπολογίζει το άθροισμα: α. όλων των στοιχείων του πίνακα. β. των στοιχείων του πίνακα που βρίσκονται στις θέσεις: 1, 2, 3, 4, 5. κ 0 Για i από 1 μέχρι 5 κ κ + A[i ^ 2] Εμφάνισε κ γ. των στοιχείων του πίνακα που βρίσκονται στις θέσεις: 1, 4, 9, 16, 25. δ. των στοιχείων του πίνακα που έχουν τιμές: 1, 2, 3, 4, 5. ε. των στοιχείων του πίνακα που έχουν τιμές: 1, 4, 9, 16, 25. 20 38 - ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΜΟΝΟΔΙΑΣΤΑΤΟΥΣ ΠΙΝΑΚΕΣ

38.6 Κατανόηση αλγορίθμων 1. Ποια θα είναι η μορφή του πίνακα Α μετά την εκτέλεση του παρακάτω τμήματος αλγορίθμου; Α[Α_M(13 / 4)] 2 Α[Α[3]] Α[3] * 13 mod 5 Α[4] Α[2] * A[3] + 2 Α[Α[3] mod 2 + 1] Α[4 div 2] mod 2 2. Έστω ο πίνακας: Α = [1, 0, 2, 2, 3]. Τι θα εμφανίσουν τα ακόλουθα τμήματα αλγορίθμου; α. β 0 Για i από 1 μέχρι 3 Για j από 0 μέχρι 2 β β + Α[i + j] Εμφάνισε β γ. Για α από 1 μέχρι 6 Π[α] 10 * α Αν α mod 2 = 0 τότε λ Π[α] + 1 Αλλιώς λ (Π[α] 10) div 4 Εμφάνισε λ β. Για i από 1 μέχρι 5 Εμφάνισε Α[i] + i β β + Α[i] Εμφάνισε β δ. β 7 Για i από 1 μέχρι 3 Για j από 5 μέχρι i με_βήμα 1 Αν j mod 2 = 0 τότε Α[j] Α[j] + β Αλλιώς Α[j] Α[j] β Για i από 1 μέχρι 5 Εμφάνισε Α[i] 3. Ποια θα είναι τα περιεχόμενα του πίνακα Β μετά την εκτέλεση του διπλανού αλγορίθμου, αν ο πίνακας Α έχει τη μορφή: 10 5 9 8 1 2 15 18 7 2 Αλγόριθμος Πίνακας Δεδομένα // Α // Β[1] A[1] Για i από 2 μέχρι 10 Αν A[i] mod 2 = 0 τότε Β [i] A[i 1] div 2 Αλλιώς Β [i] A[i] A[i 1] div 2 Αποτελέσματα // B // Τέλος Πίνακας ΕΝΟΤΗΤΑ: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ 21

4. Ποια θα είναι τα περιεχόμενα του πίνακα Α μετά την εκτέλεση καθενός από τα παρακάτω τμήματα αλγορίθμου; Α. Για i από 1 μέχρι 5 Α[i] i Για i από 2 μέχρι 5 Αν i mod 2 = 0 τότε Α[i] 2 * A[i 1] + 1 Αλλιώς Α[i] A[i] + A[i 1] Β. Για i από 1 μέχρι 5 A[i] 2 * i + 1 Για i από 5 μέχρι 3 με_βήμα 1 A[i] 2 * A[i 2] + A[i] A[i 1] A[i 1] + 2 38.7 Εύρεση λαθών στον κώδικα 1. Το διπλανό τμήμα αλγορίθμου έχει σκοπό να δημιουργήσει τον ακόλουθο πίνακα Α: 4 3 2 1 0 Για i από 4 μέχρι 0 με_βήμα 1 A[4 i] i Υπάρχει στον κώδικα κάποιο λάθος; Αν ναι, να προτείνετε τον σωστό κώδικα. 2. Το διπλανό τμήμα αλγορίθμου έχει σκοπό να δημιουργήσει τον ακόλουθο πίνακα Α: 2 3 4 5 6 Για i από 2 μέχρι 6 A[i] i Υπάρχει κάποιο λάθος; Αν ναι, να προτείνετε τον σωστό κώδικα. 3. Τα παρακάτω τμήματα αλγορίθμου έχουν στόχο τον υπολογισμό του αθροίσματος ενός πίνακα Α, 100 αριθμών. Υπάρχει κάποιο λάθος; Αν ναι, να προτείνετε τον σωστό αλγόριθμο. α. i 0 S 0 Όσο i < 101 επανάλαβε S S + A[i] i i + 1 β. i 0 S 0 Όσο i <= 100 επανάλαβε i i + 1 S S + A[i] 22 38 - ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΜΟΝΟΔΙΑΣΤΑΤΟΥΣ ΠΙΝΑΚΕΣ

38.8 Να αναπτυχθεί αλγόριθμος που θα δημιουργεί τον παρακάτω πίνακα: 1 3 7 15 31 63 127 255 511 1023 Η πρώτη θέση του πίνακα έχει την τιμή 1 και κάθε επόμενη θέση του έχει τιμή διπλάσια της προηγούμενης και αυξημένη κατά 1. Ο πίνακας αποτελεί έξοδο του αλγορίθμου. Λύση Αλγόριθμος Νέος_πίνακας Α[1] 1 Για i από 2 μέχρι 10! Από τη δεύτερη θέση και μετά Α[i] 2 * A[i 1] + 1 Αποτελέσματα // Α // Τέλος Νέος_πίνακας 38.9 Δίνεται το παρακάτω τμήμα αλγορίθμου με αριθμημένες εντολές για εύκολη αναφορά σε αυτές. Κάθε εντολή περιέχει ένα ή δύο κενά (σημειωμένα με ), που το καθένα αντιστοιχεί σε μία σταθερά ή μία μεταβλητή ή έναν τελεστή. Επίσης δίνεται πίνακας όπου κάθε γραμμή αντιστοιχεί στη διπλανή εντολή του τμήματος αλγορίθμου και κάθε στήλη σε μία θέση μνήμης (μεταβλητή). Η κάθε γραμμή του πίνακα παρουσιάζει το αποτέλεσμα που έχει η εκτέλεση της αντίστοιχης εντολής στη μνήμη: συγκεκριμένα, δείχνει την τιμή της μεταβλητής την οποία επηρεάζει η εντολή. ΜΝΗΜΗ ΕΝΤΟΛΕΣ ΑΒ Γ Δ Ε Ζ X[1] X[2] X[3] 1. A 4 2. Δ Α + 7 3. Αν Α Δ τότε Γ Α αλλιώς Γ Δ 7 ΜΝΗΜΗ ΕΝΤΟΛΕΣ ΑΒ Γ Δ Ε Ζ X[1] X[2] X[3] 4. Β 1 3 5. Ε 1 6. Δ + 6 7. Γ Γ Ε 8 8. Ζ 1 2 9. Χ[ ] Γ 8 10. Χ[Ζ 1] Δ 6 11. Χ[Ζ 1] Χ[Ζ] 1 7 Να γράψετε στο τετράδιό σας τον αριθμό της καθεμιάς εντολής και δίπλα να σημειώσετε τη σταθερά, τη μεταβλητή ή τον τελεστή που πρέπει να αντικαταστήσει το κάθε κενό της εντολής ώστε να έχει το αποτέλεσμα που δίνεται στον πίνακα, ως εξής: α) για τις εντολές 1 και 2 να σημειώσετε σταθερές τιμές, β) για τις εντολές 3, 7, 10 και 11 να σημειώσετε τελεστές και για τις υπόλοιπες να σημειώσετε μεταβλητές. (ΕΞΕΤΑΣΕΙΣ 2007) ΕΝΟΤΗΤΑ: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ 23

38.10 Δίνεται ο μονοδιάστατος πίνακας C με έξι στοιχεία που έχουν αντίστοιχα τις παρακάτω τιμές: 2 5 15 1 32 14 και το παρακάτω τμήμα αλγορίθμου: min 100 max 100 Για i από 1 μέχρι 6 με_βήμα 2 Α C[i] B C[i + 1] Αν A < B τότε Lmin A Lmax B Αλλιώς Lmin B Lmax A Αν Lmin < min τότε min Lmin Αν Lmax > max τότε max Lmax Εκτύπωσε Α, Β, Lmin, Lmax, min, max D min * max Εκτύπωσε D Να εκτελέσετε το παραπάνω τμήμα αλγορίθμου και να γράψετε στο τετράδιό σας: α. τις τιμές των μεταβλητών Α, Β, Lmin, Lmax, min και max, όπως αυτές εκτυπώνονται σε κάθε επανάληψη. β. την τιμή της μεταβλητής D που εκτυπώνεται. (ΕΞΕΤAΣΕΙΣ 2004) 38.11 Δίνεται μονοδιάστατος πίνακας Α, 10 θέσεων, ο οποίος στις θέσεις 1 έως 10 περιέχει αντίστοιχα τους αριθµούς: 15 3 0 5 16 2 17 8 19 1 και τµήµα αλγορίθµου: Για i από 1 μέχρι 9 µε_βήµα 2 k ((i + 10) mod 10) + 1 Α[i] Α[k] Εκτύπωσε i, k, A[i], A[k] Ποιες τιµές τυπώνονται µε την εντολή Εκτύπωσε i, k, A[i], A[k] καθώς εκτελείται το παραπάνω τµήµα αλγορίθµου; (ΕΞΕΤΑΣΕΙΣ 2002) 38.12 Να αναπτύξετε αλγόριθμο που θα δημιουργεί μονοδιάστατο πίνακα, τοποθετώντας την τιμή 1 στις περιττές θέσεις και 1 στις άρτιες. 38.13 Να αναπτύξετε αλγόριθμο που θα δημιουργεί και θα εμφανίζει πίνακα 100 θέσεων, με την εξής διαδικασία: στην πρώτη θέση θα τοποθετείται ο αριθμός 2, στη δεύτερη ο αριθμός 5 και σε κάθε επόμενη θέση ο αριθμός που προκύπτει αν πολλαπλασιαστεί ο προηγούμενος αριθμός με το 2 και προστεθεί ο προπροηγούμενος. Δηλαδή, τα πρώτα στοιχεία του πίνακα θα είναι: 2, 5, 12, 29, 38.14 Να αναπτύξετε αλγόριθμο που θα δημιουργεί μονοδιάστατο πίνακα Α[50] που θα περιέχει τους 50 μικρότερους περιττούς αριθμούς. 38.15 Δίνεται πίνακας Α[50] αριθμών. Να αναπτύξετε αλγόριθμο που θα δημιουργεί πίνακα Β[49] που σε κάθε θέση του θα περιέχεται το άθροισμα των στοιχείων του πίνακα Α που βρίσκονται στην ίδια και στην επόμενη θέση, για παράδειγμα το Β[3] = = Α[3] + Α[4]. Ο πίνακας Β αποτελεί έξοδο του αλγορίθμου. 24 38 - ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΜΟΝΟΔΙΑΣΤΑΤΟΥΣ ΠΙΝΑΚΕΣ

39.1 Ερωτήσεις συμπλήρωσης κενού 1. Το διπλανό τμήμα αλγορίθμου εκτυπώνει το άθροισμα των στοιχείων ενός μονοδιάστατου πίνακα. Να συμπληρώσετε τα τμήματα που λείπουν. 2. Το διπλανό τμήμα αλγορίθμου υπολογίζει το ελάχιστο σε έναν μονοδιάστατο πίνακα ακεραίων. Να συμπληρώσετε τα τμήματα που λείπουν. 3. Δίνεται το διπλανό τμήμα αλγορίθμου που επεξεργάζεται πίνακα Α ακεραίων 1000 στοιχείων που περιέχει κενά. Ποιο είναι το κενό, ώστε να προστίθενται: α. τα στοιχεία των περιττών θέσεων του πίνακα β. τα περιττά στοιχεία του πίνακα γ. τα διψήφια στοιχεία του πίνακα δ. τα στοιχεία των διψήφιων θέσεων του πίνακα ε. τα στοιχεία με τιμή μικρότερη του 20 στ. τα αρνητικά στοιχεία Δεδομένα // Ν, // Για i από 1 μέχρι με_βήμα S + A[ ] Εκτύπωσε Δεδομένα // Ν, Α // Για i από 2 μέχρι Αν min A[ ] τότε min Αποτελέσματα // // Δεδομένα // Α // Σ 0 Για i από 1 μέχρι 1000 Αν τότε Σ Σ + Α[i] ΕΝΟΤΗΤΑ: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ 25

39.2 Να αναπτυχθεί αλγόριθμος που θα εκτυπώνει τα στοιχεία ενός μονοδιάστατου πίνακα. Λύση Λειτουργία προσπέλασης: Πρόσβαση σε κάποια κελιά με σκοπό να εξεταστεί ή τροποποιηθεί το περιεχόμενό τους. Συχνά ονομάζεται και «σάρωμα» του πίνακα. (Η λέξη «σαρώνω» έχει τις ρίζες της στα χρόνια του Ομήρου.) Προσοχή: Δεν πρέπει να παραβιάζονται τα όρια του πίνακα ούτε να αναφερόμαστε στη θέση μηδέν. Απεικονίζουμε με κεφαλαία γράμματα τα ονόματα των πινάκων, ώστε να ξεχωρίζουν από τις απλές μεταβλητές, χωρίς να είναι υποχρεωτικό. Σε μονοδιάστατο πίνακα χρησιμοποιούμε έναν δείκτη για τον 1 εντοπισμό κάποιου στοιχείου (δείτε και διπλανό σχήμα το κελί Α[3]). Για την προσπέλαση μονοδιάστατου πίνακα απαιτείται 2 ένας βρόχος, συνήθως με τη δομή Για (αφού γνωρίζουμε το πλήθος των επαναλήψεων). Επίσης, συνηθίζεται ο μετρητής του βρό- 4 3 3ο στοιχείο χου, ο οποίος αποτελεί δείκτη του πίνακα κατά την προσπέλασή 5 του, να ονομάζεται I (από το index = δείκτης). Δεν πρέπει να ξεχνάμε πάντα να τοποθετούμε αγκύλες που θα περιέχουν τον δείκτη του πίνακα που θέλουμε να επεξεργαστούμε. Μόνο στις εντολές Δεδομένα/Αποτελέσματα, όταν εισάγονται πίνακες σε έναν αλγόριθμο, δεν χρησιμοποιούνται αγκύλες. [Δείτε και ερωτήσεις 4.1.12 και 4.1.13.] Όταν κάποια άσκηση δεν ζητά να διαβαστεί ή να εκτυπωθεί κάποιος πίνακας, αυτό όμως είναι απαραίτητο να γίνει, τότε χρησιμοποιούνται οι εντολές Δεδομένα και Αποτελέσματα. Ομοίως για το μέγεθος των πινάκων αν δεν είναι σταθερός αριθμός. Τέλος, οι δομές των πινάκων πρέπει να χρησιμοποιούνται στις ασκήσεις όταν αυτό είναι απαραίτητο και με μέτρο, αφού υπάρχουν και μειονεκτήματα από τη χρήση τους. Αλγόριθμος Προσπέλαση Δεδομένα // Ν, ΠΙΝ // Για i από 1 μέχρι Ν Εκτύπωσε "Το ", i, " στοιχείο του πίνακα ", ΠΙΝ[i] Τέλος Προσπέλαση 39.3 Να αναπτυχθεί αλγόριθμος ο οποίος να διαβάζει 500 αριθμούς και να εμφανίζει: α. το πλήθος των στοιχείων που είναι μικρότερα του 11 και β. το πλήθος των στοιχείων που είναι μικρότερα από το μισό του μέσου όρου. Λύση Το ερώτημα α μπορεί να επιλυθεί χωρίς τη χρήση πινάκων, όπως πολλές ασκήσεις της προηγούμενης ενότητας. Για το ερώτημα β, όμως, πρέπει να χρησιμοποιηθεί πίνακας. Τα στοιχεία εισάγονται σε πίνακα, ώστε να υπολογιστεί αρχικά ο μέσος όρος και στη συνέχεια να συγκριθούν ένα ένα με το 26 39 - ΒΑΣΙΚΕΣ ΕΠΕΞΕΡΓΑΣΙΕΣ ΣΤΟΥΣ ΜΟΝΟΔΙΑΣΤΑΤΟΥΣ ΠΙΝΑΚΕΣ

ήμισυ του μέσου όρου, ώστε να καταμετρηθούν. Αν δεν είχαν καταχωρηθεί οι αριθμοί σε πίνακα, θα έπρεπε να διαβαστούν εκ νέου! [Δείτε και σελίδα 185 σχολικού βιβλίου.] Αλγόριθμος Μελέτη_πίνακα μικ11 0 άθροισμα 0 Για i από 1 μέχρι 500 Διάβασε Α[i] Αν Α[i] < 11 τότε μικ11 μικ11 + 1 άθροισμα άθροισμα + Α[i] Εμφάνισε μικ11 μο άθροισμα / 500 μικ_ημιμο 0 Για i από 1 μέχρι 500! (β) Δεύτερη επεξεργασία αριθμών Αν Α[i] < μο / 2 τότε μικ_ημιμο μικ_ημιμο + 1 Εμφάνισε μικ_ημιμο Τέλος Μελέτη_πίνακα Για να αποφύγουμε τυχόν λάθη κατά τη χρήση πινάκων (σύμφωνα με το τετράδιο μαθητή): α. πρέπει να δίνουμε αρχικές τιμές στους πίνακες, β. πρέπει να μην ξεπερνάμε τα όρια του πίνακα (ούτε να επεξεργαζόμαστε θέση μηδέν), γ. ποτέ δεν χρησιμοποιούμε το όνομα του πίνακα μόνο του, αλλά συγκεκριμένη θέση του με αγκύλες, δ. όλα τα στοιχεία του πίνακα πρέπει να είναι ιδίου τύπου. 39.4 Να αναπτυχθεί αλγόριθμος ο οποίος με δεδομένο μονοδιάστατο πίνακα αριθμών θα υπολογίζει και θα εκτυπώνει το πλήθος των θετικών και των αρνητικών στοιχείων του πίνακα. Λύση Όταν σε μια άσκηση το ζητούμενο είναι πόσα στοιχεία πληρούν κάποιο κριτήριο, τότε χρησιμοποιούμε μετρητές. Όπως έχει αναφερθεί και στο πρώτο τεύχος, ένας μετρητής πρέπει να αρχικοποιείται πριν από τη δομή επανάληψης και να αυξάνεται η τιμή του κατά 1 εντός κατάλληλης δομής επιλογής που διερευνά το κριτήριο της εκφώνησης. ΕΝΟΤΗΤΑ: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ 27

Αλγόριθμος Πλήθος_θετ_αρν Δεδομένα // Ν, Α // θετικοί 0 αρνητικοί 0 Για i από 1 μέχρι N Αν Α[i] > 0 τότε θετικοί θετικοί + 1 Αλλιώς_αν Α[i] < 0 τότε αρνητικοί αρνητικοί + 1 Εκτύπωσε θετικοί, αρνητικοί Τέλος Πλήθος_θετ_αρν 39.5 Να αναπτυχθεί αλγόριθμος ο οποίος με δεδομένο έναν μονοδιάστατο πίνακα αριθμών θα υπολογίζει και θα εκτυπώνει το ελάχιστο καθώς και τη θέση του στον πίνακα. Λύση Για την εύρεση του ελαχίστου ενός πίνακα η μεθοδολογία είναι παρόμοια μ αυτή που χρησιμοποιήσαμε στο προηγούμενο τεύχος. [Δείτε και ασκήσεις 31.2, 31.3.] Αρχικοποιούμε τη μεταβλητή «ελάχιστος» με την πρώτη τιμή του πίνακα, διερευνούμε ένα ένα τα υπόλοιπα στοιχεία του πίνακα και, αν εντοπίσουμε κάποιο στοιχείο που είναι μικρότερο από το θεωρούμενο ως ελάχιστο, εκχωρούμε αυτό στην ομώνυμη μεταβλητή. Η δομή Για μπορεί να έχει τιμή εκκίνησης το 2, αφού το πρώτο στοιχείο έχει ελεγχθεί, ωστόσο μπορεί να ξεκινήσει και από την τιμή 1 (πραγματοποιώντας έναν περιττό έλεγχο). Αλγόριθμος Εύρεση_ελαχίστου Δεδομένα // Ν, Α // ελάχιστος Α[1] Για i από 2 μέχρι N Αν Α[i] < ελάχιστος τότε ελάχιστος A[i] Εκτύπωσε "Το ελάχιστο είναι ", ελάχιστο Τέλος Εύρεση_ελαχίστου! Έστω ότι το πρώτο στοιχείο είναι το ελάχιστο! Θα ελέγξω όλα τα στοιχεία του πίνακα! Αν βρω κάποιο μικρότερο! τότε αυτό ελάχιστο Ο παραπάνω αλγόριθμος είναι σε θέση να εκτυπώσει ποιο είναι το ελάχιστο μεταξύ των στοιχείων του πίνακα, αλλά δεν μπορεί να εκτυπώσει σε ποια θέση του πίνακα βρίσκεται. Ένα συνηθισμένο λάθος των μαθητών είναι να θεωρούν ότι το ελάχιστο βρίσκεται στη θέση i, όμως η μεταβλητή αυτή χρησιμοποιείται εντός της επανάληψης. Επομένως, απαιτείται η χρήση άλλης μεταβλητής, η οποία θα αποθηκεύει τη θέση που βρέθηκε το ελάχιστο τη στιγμή που εντοπίστηκε. 28 39 - ΒΑΣΙΚΕΣ ΕΠΕΞΕΡΓΑΣΙΕΣ ΣΤΟΥΣ ΜΟΝΟΔΙΑΣΤΑΤΟΥΣ ΠΙΝΑΚΕΣ

Αλγόριθμος Εύρεση_θέσης_ελαχίστου Δεδομένα // Ν, Α // ελάχιστος Α[1]! Έστω ότι το πρώτο στοιχείο είναι το ελάχιστο θέση 1! Η θέση του υποψήφιου ελαχίστου είναι η πρώτη Για i από 2 μέχρι N Αν Α[i] < ελάχιστος τότε ελάχιστος A[i]! Ευρέθη νέο υποψήφιο ελάχιστο θέση i! Η θέση του νέου υποψήφιου ελαχίστου είναι η i Εκτύπωσε "Το ελάχιστο είναι ", ελάχιστο Εκτύπωσε "Βρέθηκε στη θέση ", θέση Τέλος Εύρεση_θέσης_ελαχίστου Το ελάχιστο μπορεί να εντοπιστεί διατηρώντας μόνο τη θέση του κατά τη διάρκεια των επαναλήψεων, χωρίς τη χρήση της ομώνυμης μεταβλητής. Μελετήστε τον παρακάτω αλγόριθμο: Αλγόριθμος Εύρεση_θέσης_ελαχίστουΙΙ Δεδομένα // Ν, Α // θέση 1! Έστω ότι η θέση του ελαχίστου είναι η πρώτη Για i από 2 μέχρι N Αν Α[i] < Α[θέση] τότε θέση i! H θέση του νέου υποψήφιου ελαχίστου είναι η i Εκτύπωσε "Το ελάχιστο είναι ", Α[θέση] Εκτύπωσε "Βρέθηκε στη θέση ", θέση Τέλος Εύρεση_θέσης_ελαχίστουΙΙ Αν το ελάχιστο υπάρχει σε περισσότερες από μία θέσεις του πίνακα, τι συμβαίνει; Ας υποθέσουμε ότι έχουμε στη διάθεσή μας τον παρακάτω πίνακα: [10, 15, 9, 8, 15, 2, 15, 18, 7, 2] όπου το ελάχιστο είναι ο αριθμός 15. Ο παραπάνω αλγόριθμος θα εκτυπώσει ως τιμή του ελαχίστου τη θέση 2, την πρώτη δηλαδή θέση που καταγράφηκε. Οι τιμές στις θέσεις 5 και 7 δεν θα ικανοποιήσουν τη συνθήκη του Αν και έτσι δεν θα αντικατασταθεί η τιμή της μεταβλητής θέση. Αν επιθυμούμε να εντοπιστεί το τελευταίο ελάχιστο, τότε αρκεί να προστεθεί ένα «=» στη συνθήκη του Αν και να γίνει: Αν Α[i] <= ελάχιστος τότε Έτσι, η μεταβλητή θέση θα έχει στο παράδειγμά μας την τιμή 7. Αν επιθυμούμε να εκτυπωθούν όλες οι θέσεις στις οποίες εντοπίζεται το ελάχιστο, τότε θα χρησιμοποιηθεί ο πρώτος αλγόριθμος που παρουσιάστηκε σ αυτή την άσκηση για τον εντοπισμό του ελαχίστου (αδιαφορώντας για τη θέση) και στη συνέχεια θα χρησιμοποιηθεί άλλος ένας βρόχος, ο οποίος σαρώνοντας τον πίνακα θα ελέγχει αν υπάρχει κάποιο στοιχείο ίσο με το ελάχιστο, ώστε να το εκτυπώνει. Ο αλγόριθμος παρουσιάζεται στη συνέχεια. ΕΝΟΤΗΤΑ: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ 29

Αλγόριθμος Όλα_τα_ελάχιστα Δεδομένα // Ν, Α // ελάχιστος Α[1] Για i από 2 μέχρι N Αν Α[i] < ελάχιστος τότε ελάχιστος A[i] Για i από 1 μέχρι N Αν Α[i] = ελάχιστος τότε Εκτύπωσε i Τέλος Όλα_τα_ελάχιστα! Βρες τη μικρότερη τιμή! Όπου υπάρχει η μικρότερη τιμή! εκτύπωσε τη θέση Για τον εντοπισμό του ελάχιστου ή του μέγιστου στοιχείου πίνακα: αν ο πίνακας δεν είναι ταξινομημένος, τότε απαιτείται προσπέλαση όλων των στοιχείων του. αν ο πίνακας είναι ταξινομημένος, τότε αρκεί η άντληση του πρώτου ή του τελευταίου στοιχείου του (ανάλογα με την περίπτωση). 39.6 Σε μια κατασκήνωση υπάρχουν 300 παιδιά και καθένα από αυτά έχει μοναδικό αριθμό, από το 1 έως και το 300, που του αντιστοιχεί. Για κάθε παιδί είναι γνωστή η ηλικία του. Να χρησιμοποιηθεί η δομή του πίνακα για να αποθηκεύονται οι ηλικίες των παιδιών και να γραφεί ο κατάλληλος αλγόριθμος υπολογισμού του μικρότερου και του μεγαλύτερου σε ηλικία παιδιού. Επίσης να εκτυπώνεται τόσο η ηλικία όσο και ο κωδικός του μικρότερου και του μεγαλύτερου παιδιού. (ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΔΤ1, ΚΕΦΑΛΑΙΟ 3Ο ΤΕΤΡΑΔΙΟΥ ΜΑΘΗΤΗ) Λύση Για την αρχικοποίηση της μεταβλητής min δεν είναι απαραίτητο να εισάγεται η πρώτη τιμή του πίνακα. Μπορεί να εισάγεται μια πολύ μεγάλη τιμή, ώστε στην πρώτη σύγκριση να αλλάξει τιμή (η προσέγγιση αυτή είχε παρουσιαστεί στην ενότητα της δομής επανάληψης). Όμοια για το max μπορεί να εισαχθεί μια πολύ μικρή τιμή. Οι τιμές αυτές πρέπει να είναι μικρότερη ή μεγαλύτερη από όλες τις τιμές που μπορούν να λάβουν τα min/max. Εννοείται πως η επανάληψη θα έχει απαραίτητα τιμή εκκίνησης το 1 και όχι το 2. Σε αυτό το παράδειγμα για το min θα αρχικοποιούσαμε με την τιμή 250 (δεν υπάρχει τέτοια ηλικία) και για το max με την τιμή 1. Αλγόριθμος Κατασκήνωση Δεδομένα // ΗΛΙΚΙΑ // min ΗΛΙΚΙΑ[1] max ΗΛΙΚΙΑ[1] Για i από 2 μέχρι 300 Αν ΗΛΙΚΙΑ[i] < min τότε 30 39 - ΒΑΣΙΚΕΣ ΕΠΕΞΕΡΓΑΣΙΕΣ ΣΤΟΥΣ ΜΟΝΟΔΙΑΣΤΑΤΟΥΣ ΠΙΝΑΚΕΣ

min ΗΛΙΚΙΑ[i] Αν ΗΛΙΚΙΑ[i] > max τότε max ΗΛΙΚΙΑ[i] Για i από 1 μέχρι 300 Αν ΗΛΙΚΙΑ[i] = min τότε Εκτύπωσε i Για i από 1 μέχρι 300 Αν ΗΛΙΚΙΑ[i] = max τότε Εκτύπωσε i Τέλος Κατασκήνωση! Μπορεί πολλά παιδιά! Μπορεί πολλά παιδιά 39.7 Να γραφεί ένας αλγόριθμος ο οποίος θα διαβάζει τον αριθμό των τερμάτων που σημειώθηκαν στους αγώνες ποδοσφαίρου μιας αγωνιστικής της Α Κατηγορίας (9 τιμές) και θα υπολογίζει τον μέσο αριθμό τερμάτων καθώς και το εύρος των τερμάτων (δηλαδή τη διαφορά της μεγαλύτερης από τη μικρότερη τιμή). (ΔΡΑΣΤΗΡΙOΤΗΤΑ ΔΕ1, ΚΕΦAΛΑΙΟ 9Ο ΤΕΤΡΑΔIΟΥ ΜΑΘΗΤH) Λύση Αλγόριθμος Πρωτάθλημα Για i από 1 μέχρι 9 Διάβασε ΓΚΟΛ[i] άθροισμα 0 Για i από 1 μέχρι 9 άθροισμα άθροισμα + ΓΚΟΛ[i] μο άθροισμα / 9 μέγιστο ΓΚΟΛ[1] ελάχιστο ΓΚΟΛ[1] Για i από 2 μέχρι 9 Αν ΓΚΟΛ[i] > μέγιστο τότε μέγιστο ΓΚΟΛ[i] Αν ΓΚΟΛ[i] < ελάχιστο τότε ελάχιστο ΓΚΟΛ[i] διαφορά μέγιστο ελάχιστο Εκτύπωσε μο, διαφορά Τέλος Πρωτάθλημα ΕΝΟΤΗΤΑ: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ 31

39.8 Να αναπτυχθεί αλγόριθμος ο οποίος θα διαβάζει για τους 1000 κατοίκους ενός χωριού τα ονόματα και το έτος γέννησης και θα τα αποθηκεύει στους δύο πίνακες ΟΝΟΜΑ και ΕΤΟΣ αντίστοιχα. Στη συνέχεια: α. θα εκτυπώνει τα ονόματα των κατοίκων που έχουν δικαίωμα ψήφου, καθώς και το πλήθος τους. β. θα εκτυπώνει τα ονόματα των ατόμων με ηλικία > 80. Λύση Οι δύο πίνακες ΟΝΟΜΑ και ΕΤΟΣ έχουν την εξής λογική: στη θέση i έχει καταχωρηθεί το όνομα (ΟΝΟΜΑ[i]) και το έτος γεννήσεως (ΕΤΟΣ[i]) του i - κατοίκου. Λόγω της παραπάνω συσχέτισης, οι δύο πίνακες χαρακτηρίζονται ως παράλληλοι. Δύο παράλληλοι πίνακες έχουν υποχρεωτικά ίδιο πλήθος γραμμών. Οι δύο πίνακες δεν θα μπορούσαν να ενωθούν, καθώς περιέχουν δεδομένα διαφορετικού τύπου. Πάντοτε, πριν από την επίλυση της άσκησης σχεδιάζουμε τους δύο πίνακες στο πρόχειρο και τοποθετούμε τυχαία δεδομένα σ αυτούς, ώστε να ελέγχουμε την ορθότητα του αλγορίθμου. Για παράδειγμα: ΟΝΟΜΑ ΕΤΟΣ 1. Γεωργίου 1965 2. Δημητρίου 1956 3. Μπίκογλου 1998 Εγγραφή i-κατοίκου i. 999. Αρβίλογλου 1991 1000. Τσιωτάκης 1977 Αλγόριθμος Χωριό Για i από 1 μέχρι 1000 Διάβασε ΟΝΟΜΑ[i], ΕΤΟΣ[i] ψήφος 0! Ερώτημα α Για i από 1 μέχρι 1000 Αν 2008 ΕΤΟΣ[i] >= 18 τότε! Ηλικία τρέχοντος ατόμου Εκτύπωσε "Δικαίωμα ψήφου ", ΟΝΟΜΑ[i] ψήφος ψήφος + 1 Εκτύπωσε " Άτομα με δικαίωμα ψήφου ", ψήφος Για i από 1 μέχρι 1000! Ερώτημα β Αν 2008 ΕΤΟΣ[i] >= 80 τότε Εκτύπωσε "Ηλικία μεγαλύτερη των 80 ", ΟΝΟΜΑ[i] 32 39 - ΒΑΣΙΚΕΣ ΕΠΕΞΕΡΓΑΣΙΕΣ ΣΤΟΥΣ ΜΟΝΟΔΙΑΣΤΑΤΟΥΣ ΠΙΝΑΚΕΣ