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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον – Γ’ Λυκείου
Διαγώνισμα Προσομοίωσης 20/01/2014
Θέμα Α
Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω
προτάσεις 1-4 και δίπλα τη λέξη Σωστό, αν είναι σωστή, ή τη λέξη Λάθος, αν
είναι λανθασμένη.
1. Στην δομή της ουράς, όταν οι δείκτες Εμπρός και Πίσω έχουν την τιμή
7, η ουρά έχει 7 στοιχεία.
2. Η ιεραρχική σχεδίαση υλοποιείται με τον δομημένο προγραμματισμό.
3. Αν ο πρώτος χαρακτήρας μίας γραμμής κώδικα είναι το &, σημαίνει ότι
αυτή η γραμμή περιέχει σχόλια.
4. Οι τελεστέοι (operands) είναι το σύνολο των μεταβλητών και των
σταθερών που διαμορφώνουν μαζί με τους τελεστές μία έκφραση.
Μονάδες 8
Α2. Στα τμήματα αλγορίθμων που ακολουθούν, οι Εντολές είναι ένα σύνολο
εντολών και οι Σ1 και Σ2 είναι λογικές εκφράσεις, των οποίων η τιμή δεν
επηρεάζεται από τις Εντολές.
ΑΝ Σ1 Ή Σ2 ΤΟΤΕ
Εντολές
ΤΕΛΟΣ_ΑΝ
AN Σ1 ΤΟΤΕ
Εντολές
ΤΕΛΟΣ_ΑΝ
ΑΝ Σ2 ΤΟΤΕ
Εντολές
ΤΕΛΟΣ_ΑΝ
Σε ποια περίπτωση τα δύο τμήματα αλγορίθμων έχουν διαφορετικό
αποτέλεσμα;
Μονάδες 4
1
Α3. Δίνεται το παρακάτω τμήμα δηλώσεων ενός προγράμματος σε ΓΛΩΣΣΑ :
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: Χ, Υ, Α[12]
ΧΑΡΑΚΤΗΡΕΣ: Λέξη
Για κάθε μια από τις παρακάτω λειτουργίες και λαμβάνοντας υπόψη το
παραπάνω τμήμα δηλώσεων, να δώσετε την εντολή που την υλοποιεί :
1. Εκχώρηση του περιεχομένου της μεταβλητής Υ στη μεταβλητή Χ
2. Εμφάνιση του περιεχομένου της μεταβλητής Υ
3. Εμφάνιση της τιμής του 5ου στοιχείου του πίνακα Α
4. Εμφάνιση της θέσης του στοιχείου Α[Χ] του πίνακα Α
5. Εμφάνιση του ονόματος της μεταβλητής Χ
6. Εκχώρηση του ονόματός σας στη μεταβλητή Λέξη
7. Αύξηση του πρώτου στοιχείου του πίνακα Α κατά 3
8. Μείωση του τελευταίου στοιχείου του πίνακα Α κατά 2
9. Αντιμετάθεση μεταξύ των 2 μεσαίων στοιχείων του πίνακα.
Μονάδες 9
Α4. Παρακάτω δίνεται μια ουρά 10 θέσεων και δύο στοίβες 6 θέσεων η κάθε
μια, οι Σ1 και Σ2.
6
7
8
1
2
3
4
16
25
36
5
6
7
8
9
10
Ουρά
9
Σ1
Σ2
2
1. Ποιές οι αρχικές τιμές των δεικτών της ουράς και των στοιβών Σ1 και
Σ2 πριν οποιαδήποτε μεταβολή;
2. Αν επιχειρήσουμε να ωθήσουμε όλα τα στοιχεία της ουράς στη στοίβα
Σ1 τι θα συμβεί στη στοίβα;
3. Αν επιχειρήσουμε να απωθήσουμε ένα στοιχείο από τη Σ2 τι θα συμβεί
στη στοίβα;
4. Να εξάγετε 2 στοιχεία της ουράς στη στοίβα Σ2. Ποιες είναι οι νέες τιμές
των δεικτών της ουράς και της στοίβας; Να σχεδιάσετε την ουρά και τη
στοίβα Σ2 μετά τις παραπάνω λειτουργίες.
Μονάδες 8
Α5. Να αναλύσετε τη λειτουργία του συνδέτη-φορτωτή στη διαδικασία της
μεταγλώττισης και σύνδεσης.
Μονάδες 6
Α6. Να αναφέρετε ονομαστικά τις τυπικές επεξεργασίες των πινάκων
Μονάδες 5
3
Θέμα Β
Β1. Δίνονται δύο αλγόριθμοι για να υπολογίζεται πόσες φορές υπάρχει το
μέγιστο στοιχείο ενός πίνακα Α[Ν].
Αλγόριθμος Αλγ1
Αλγόριθμος Αλγ2
Δεδομένα // Α, Ν //
Δεδομένα // Α, Ν //
max ← A[1]
max ← A[1]
Για x από 2 μέχρι Ν
k←
Αν Α[x] > max τότε
Για x από 2 μέχρι Ν
Αν Α[x] > max τότε
max ← A[x]
Τέλος_αν
max ← A[x]
Τέλος_επανάληψης
k←
k←
(4)
αλλιώς_αν Α[x] = max τότε
(1)
Για x από 1 μέχρι Ν
k←
Αν Α[x] = max τότε
k←
(3)
(5)
Τέλος_αν
Τέλος_επανάληψης
(2)
Τέλος_αν
Αποτελέσματα // k //
Τέλος_επανάληψης
Τέλος Αλγ2
Αποτελέσματα // k //
Τέλος Αλγ1
1. Να γράψετε στο τετράδιό σας τον αριθμό για καθένα από τα κενά 1-5
και δίπλα την κατάλληλη έκφραση ώστε και οι δύο αλγόριθμοι να είναι
σωστοί.
2. Είναι απαραίτητη η χρήση πίνακα για να βρεθεί το πλήθος της
εμφάνισης του μεγαλύτερου αριθμού από ένα δείγμα Ν αριθμών; Να
δικαιολογήσετε την απάντησή σας.
Μονάδες 9
4
Β2. Σε πίνακα Π[Ν] βρίσκονται τοποθετημένα στις περιττές θέσεις τα ονόματα
και στις άρτιες τα επίθετα μαθητών ενός σχολείου εναλλάξ, ξεκινώντας από το
όνομα. Να συμπληρώσετε τα κενά στο παρακάτω τμήμα αλγορίθμου, ώστε
να αποθηκεύονται τα ονόματα και τα επίθετα σε διαφορετικούς πίνακες
ΟΝ[Ν/2] και ΕΠ[Ν/2] αντίστοιχα:
κ  ..(1)..
Για ι από 1 μέχρι ..(2).. με_βήμα ..(3)..
κ  ..(4)..
ΟΝ[..(5)..]  Π[..(6)..]
ΕΠ[..(7)..]  Π[..(8)..]
Τέλος_επανάληψης
Μονάδες 8
Β3. Δίνονται οι παρακάτω πίνακες:
Α
Β
1 2 3
3 2 1
Να σχεδιάσετε τη νέα μορφή του πίνακα Α μετά την εκτέλεση της παρακάτω
εντολής:
Α[Β[Α[1]]]  Β[Α[Β[1]]]
Μονάδες 3
5
Θέμα Γ
Σε έναν μονοδιάστατο πίνακα Α, Ν θέσεων έχουμε αποθηκευμένο ένα κείμενο
χαρακτήρα-χαρακτήρα, δηλαδή σε κάθε θέση του πίνακα είναι
αποθηκευμένος ένας μόνο χαρακτήρας του κειμένου. Θέλουμε να μετρήσουμε
τις λέξεις του κειμένου. Κάθε λέξη χωρίζεται από την επόμενη με τον
χαρακτήρα του κενού ‘ ’. Δυστυχώς, το κείμενο είναι απρόσεχτα γραμμένο και
έτσι μερικές φορές υπάρχουν 2 ή περισσότερα κενά διαστήματα από λέξη σε
λέξη. Το κείμενο τελειώνει όταν συναντήσουμε σε κάποια θέση του πίνακα το
χαρακτήρα της τελείας ‘.’ ή του θαυμαστικού ‘!’ ή όταν φτάσουμε στο τέλος του
πίνακα. Επίσης, στην πρώτη θέση του πίνακα υπάρχει σίγουρα γράμμα.
Να σχεδιάσετε αλγόριθμο ο οποίος έχοντας ως δεδομένο τον πίνακα Α να
εμφανίζει το πλήθος των λέξεων του κειμένου καθώς και το πλήθος των
λέξεων που αποτελούνται από ένα μόνο γράμμα.
Μονάδες 20
Θέμα Δ
Ένας βοτανολόγος διεξάγει μία σειρά πειραμάτων που αφορούν στη
διαδικασία της φωτοσύνθεσης. Στην έρευνα αυτή χρησιμοποίησε 5
διαφορετικά φυτά και εκτέλεσε για καθένα από αυτά ένα πείραμα για κάθε
ημέρα μίας εβδομάδας.
Να δημιουργήσετε πρόγραμμα το οποίο:
Δ1.Θα διαβάζει τις επιστημονικές ονομασίες των φυτών και θα τις
καταχωρεί σε κατάλληλο μονοδιάστατο πίνακα ΟΦ[5]. Επίσης θα διαβάζει
τα αριθμητικά αποτελέσματα των πειραμάτων τα οποία και θα
αποθηκεύονται σε δισδιάστατο πίνακα Μ[5,7]. Κάθε πείραμα έχει ως
αποτέλεσμα το 0, σε περίπτωση που το πείραμα αποτύχει, ή έναν θετικό
αριθμό μικρότερο ή ίσο της μονάδας, στην περίπτωση επιτυχίας του
πειράματος.
Δ2. Θα εντοπίζει και θα εμφανίζει τις ονομασίες των φυτών που είχαν
αποκλειστικά επιτυχημένα αποτελέσματα στα πειράματα.
6
Δ3. Θα εμφανίζει την ημέρα ή τις ημέρες με τα περισσότερα αποτυχημένα
πειράματα.
Δ4. Ο βοτανολόγος, επιθυμεί να διαχειριστεί τα στοιχεία του πίνακα με
διαφορετικό τρόπο. Σκέφτηκε λοιπόν να δημιουργήσει νέο μονοδιάστατο
πίνακα ο οποίος θα περιέχει όλα τα μη μηδενικά στοιχεία του δισδιάστατου
πίνακα Μ, μαζί με τις θέσεις στις οποίες βρίσκονται αυτά, όπως φαίνεται και
στο παράδειγμα που ακολουθεί:
Μ
1
0
0
0
0
0.7 0
0
2
0
0
0
0
0
0
0
3
0.45 0
0
0
0
0.6 0
4
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
1
2
3
4
5
6
7
Νέος πίνακας Α
1
2
3
4
5
6
7
8
9
10
11
12
1
5
0.7
3
1
0.45
3
6
0.6
5
2
1
Το πρόγραμμα θα πρέπει να δημιουργεί τον νέο αυτό πίνακα και στη
συνέχεια να εμφανίζει τα στοιχεία του μόνο στην περίπτωση που ο πίνακας
Μ είναι αραιός, δηλαδή περιέχει μηδενικά στοιχεία σε ποσοστό τουλάχιστον
80%.
Σημείωση: Να εκτελεστεί κατάλληλος έλεγχος εγκυρότητας για τα
περιεχόμενα του δισδιάστατου πίνακα Μ.
Μονάδες 20
7