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

Επαναληπτικό  ΔΙΑΓΩΝΙΣΜΑ                                              ΣΧ. ΕΤΟΣ 2009 – 2010

Επιμέλεια :

Ομάδα Διαγωνισμάτων από  “Το στέκι των πληροφορικών”

Θέμα  1ο

Α. Δίνεται η παρακάτω ακολουθία εντολών αλγορίθμου:

 

ΑΛΓΟΡΙΘΜΟΣ  Θέμα1

ΔΕΔΟΜΕΝΑ // Ν //

Σ f 0

π f 0

ΓΙΑ ι ΑΠΟ -10 ΜΕΧΡΙ Ν

            ΔΙΑΒΑΣΕ  α, β

            Σ f Σ + α+ β

            π f π +1

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

Αποτ f Σ / π

ΑΠΟΤΕΛΕΣΜΑΤΑ  // Αποτ //

ΤΕΛΟΣ  Θέμα1

 

Να χαρακτηρίσετε αν κάθε μία από τις παρακάτω προτάσεις είναι σωστή (Σ) ή λανθασμένη (Λ).

1.        Οι εντολές του βρόχου θα εκτελεστούν τουλάχιστον μία φορά σε κάθε περίπτωση.

2.        Μπορεί να υλοποιηθεί ισοδύναμος αλγόριθμος με τη χρήση της εντολής επανάληψης  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ … ΜΕΧΡΙΣ_ΟΤΟΥ αντί της ΓΙΑ χωρίς την προσθήκη επιπλέον εντολών.

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

4.        Ο παραπάνω αλγόριθμος υπολογίζει το μέσο όρο των αριθμών που διαβάζει.

5.        Η τιμή του Ν δηλώνει το πλήθος των αριθμών που εισάγονται με την εντολή ΔΙΑΒΑΣΕ 

                                                                                                                                                                  (Μονάδες  5)

 

Β. Δίνεται το παρακάτω τμήμα δηλώσεων ενός προγράμματος σε ΓΛΩΣΣΑ :

 

            ΜΕΤΑΒΛΗΤΕΣ

                  ΑΚΕΡΑΙΕΣ: Χ, ……………………….

                  ………………………………………………

 

Β1. Για κάθε μια από τις παρακάτω λειτουργίες και λαμβάνοντας υπόψη το παραπάνω τμήμα δηλώσεων, να δώσετε την εντολή που την υλοποιεί :

 

1.        Αποθήκευση στον πίνακα ΠΟΛΗ[3] των τιμών «ΠΥΡΓΟΣ», «ΠΑΤΡΑ», «ΑΙΓΙΟ» με τη σειρά όπως αυτές αναγράφονται.

2.        Εκχώρηση του αριθμού 19 στη μεταβλητή Χ .

3.        Εκχώρηση του υπολοίπου της διαίρεσης της μεταβλητής X με το 7

στη μεταβλητή Y .

4.        Εκχώρηση στη μεταβλητή Κ του ακέραιου μέρους της τετραγωνικής ρίζας του Υ.

5.        Αύξηση του Κ κατά 15%.

6.        Εκχώρηση της απόλυτης τιμής της διαφοράς του Χ από το Y στη μεταβλητή Y.

7.        Εισαγωγή του ονόματος της πόλης  «ΤΡΙΠΟΛΗ» στη μεταβλητή Π.

8.        Έλεγχος της μεταβλητής Π αν υπάρχει στον πίνακα ΠΟΛΗ[3] και εκχώρηση στη μεταβλητή Β της τιμής ΑΛΗΘΗΣ ή ΨΕΥΔΗΣ αντίστοιχα. 

9.        Αντιμετάθεση των τιμών «ΠΥΡΓΟΣ», «ΑΙΓΙΟ» στον πίνακα ΠΟΛΗ.

10.   Εμφάνιση του περιεχομένου των μεταβλητών  Χ, Υ, Κ, Π, Β και των στοιχείων του πίνακα ΠΟΛΗ.

(Μονάδες 10)

Β2.  Να συμπληρώσετε το παραπάνω τμήμα δηλώσεων (Β) με όλες τις μεταβλητές του ερωτήματος Β1.     

     (Μονάδες 3)

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

 

Α

Β

 

     (Μονάδες 4)

 

 


Δ1.  Να γράψετε τον παραπάνω αλγόριθμο σε ψευδογλώσσα κάνοντας παράλληλα αρίθμηση της κάθε εντολής. Δίνονται οι δυο πρώτες εντολές:

1          Διάβασε Μ1, Μ2

2          P ß 0

3          _____________________

4          _____________________

(Μονάδες 6)

Δ2.   Να γράψετε σε ποια από τις παραπάνω εντολές γίνεται:

i)       ολίσθηση αριστερά

ii)    ολίσθηση δεξιά

θεωρώντας πως οι αριθμοί υποβάλλονται σε επεξεργασία στο δυαδικό σύστημα.

(Μονάδες 2)

Δ3.   Δίνεται υπόδειγμα πίνακα (πίνακας τιμών), με συμπληρωμένες τις αρχικές τιμές των μεταβλητών Μ1, Μ2 (τιμές εισόδου), καθώς και της εντολής εκχώρησης με αριθμό 2.

 

Αριθμός Εντολής

Μ1

Μ2

P

 

Να μεταφέρετε στο τετράδιό σας τον πίνακα και να τον συμπληρώσετε, εκτελώντας τον αλγόριθμο με αρχικές τιμές M1=16, M2=37 (που ήδη απεικονίζονται στον πίνακα). Για κάθε εντολή εκχώρησης που εκτελείται να γράψετε σε νέα γραμμή του πίνακα:

α.   Τον αριθμό της εντολής που εκτελείται (στην πρώτη στήλη).

β.   Τη  νέα τιμή  της μεταβλητής που  επηρεάζεται από την εντολή (στην αντίστοιχη στήλη).

(Μονάδες 5)

 

 

Ε. Να ξαναγράψετε κάθε ένα από τα παρακάτω τμήματα αλγορίθμου με χρήση δομής επανάληψης, έτσι ώστε να επιτελεί την ίδια ακριβώς λειτουργία. Μπορείτε να χρησιμοποιήσετε σε κάθε περίπτωση μόνο μια επιπλέον μεταβλητή i ως μετρητή της επανάληψης.

 

 

Α

Β

Γ

Δ

Ε

Εμφάνισε 17

Εμφάνισε 18

Εμφάνισε 19

Εμφάνισε 20

Εμφάνισε 21

 

Εμφάνισε 20

Εμφάνισε 26

Εμφάνισε 32

Εμφάνισε 38

Εμφάνισε 44

Εμφάνισε 48

Εμφάνισε 52

Εμφάνισε 56

Εμφάνισε 58

 

Εμφάνισε –10

Εμφάνισε –13

Εμφάνισε –16

Εμφάνισε –19

Εμφάνισε –22

Εμφάνισε –25

Εμφάνισε –28

Εμφάνισε –31

Εμφάνισε –34

 

μ ß 0  

Διάβασε α

Αν  α > 0 τότε   μ ß μ  + 1

Διάβασε α

Αν  α > 0 τότε   μ ß μ  + 1

Διάβασε α

Αν  α > 0 τότε   μ ß μ  + 1

Διάβασε α

Αν  α > 0 τότε   μ ß μ  + 1

Εμφάνισε μ

 

Σ ß 0  

Διάβασε α

Αν  α > 0 τότε   Σ ß Σ + α

Διάβασε β

Αν  β > 0 τότε   Σ ß Σ  + β

Διάβασε γ

Αν  γ > 0 τότε   Σ ß Σ  + γ

Διάβασε δ

Αν  δ > 0 τότε   Σ ß Σ  + δ

Εμφάνισε Σ

 

 

(Μονάδες 5)

 

Θέμα  2ο

 

Α. Δίνεται ο πίνακας Α[5]:                                                         

8

4

1

11

17

 

                                           Α

                                                             1           2           3           4          5                                                     

 

      Επίσης δίνεται το παρακάτω τμήμα αλγόριθμου σε ψευδογλώσσα:

 

πλ 0

i ¬ 2

Αρχή Επανάληψης

        flag ¬ ΑΛΗΘΗΣ

        Για j από 5 μέχρι i με_βήμα -1

            Αν  Α[j-1] > A[j]  τότε

                    Αντιμετάθεσε Α[j-1], A[j]

                              πλ πλ + 1

                 flag ¬ ΨΕΥΔΗΣ

            Τέλος_Αν

       Τέλος_Επανάληψης

       i ¬ i + 1 

Μέχρις_ότου  ( i > 5 ) Ή ( flag = ΑΛΗΘΗΣ )

 

Α1.   Να παρουσιάσετε την τελική μορφή του πίνακα Α μετά την εκτέλεση του παραπάνω τμήματος αλγόριθμου.

                              (Μονάδες 3)

Α2.   Ποια λειτουργία εκτελέστηκε στον πίνακα Α;

                                        (Μονάδες 1)

Α3.   Ποιος ο ρόλος των μεταβλητών flag και πλ;

                                        (Μονάδες 2)

Α4. Ποια η τιμή της μεταβλητής  πλ ,  μετά την ολοκλήρωση της δομής Μέχρις_ότου;  

                                        (Μονάδες 1)

 

Α5.   Να ξαναγράψετε το παραπάνω τμήμα αλγόριθμου κάνοντας αποκλειστική χρήση τη δομής  Όσο….. Τέλος_επανάληψης.

                                        (Μονάδες 3)

 

Β. Δίνεται ο  παρακάτω αλγόριθμος ο οποίος αρχικά διαβάζει ένα ποσό χρημάτων και στη συνέχεια  υπολογίζει και εμφανίζει τα χρήματα που υπάρχουν στην τράπεζα στο τέλος κάθε χρόνου για μία περίοδο 10 ετών. Δίνεται ότι το επιτόκιο της τράπεζας παραμένει σταθερό για το χρονικό αυτό διάστημα και ίσο με 4%.

Αλγόριθμος Θέμα2
Διάβασε ποσό
Για έτος από 1 μέχρι 10
      ποσόßποσό +ποσό*4/100
      Εμφάνισε ποσό
Τέλος_επανάληψης
Τέλος Θέμα2

Να τροποποιήσετε τον παραπάνω αλγόριθμο ώστε :


1) να εμφανίζει μόνο το ποσό που θα υπάρχει στην τράπεζα μετά την παρέλευση 10 ετών

(Μονάδες 1)


2) να εμφανίζει
το ποσό κατά το οποίο προσαυξήθηκε η αρχική κατάθεση μετά την παρέλευση 10 ετών.

(Μονάδες 2)


3) να εμφανίζει
το ποσό κατά το οποίο προσαυξήθηκε η αρχική κατάθεση από την αρχή του 5ου μέχρι και το τέλος του 10ου έτους.

(Μονάδες 2)


4) να διαβάζει την αξία ενός προϊόντος και να ελέγχει αν μετά από 10 χρόνια μπορούμε να αγοράσουμε το προϊόν και να εμφανίζει αντίστοιχο μήνυμα. Θεωρήστε ότι η αξία του προϊόντος είναι μεγαλύτερη από το αρχικό ποσό που βάζουμε στην τράπεζα.

(Μονάδες 5)

Σημείωση: Οι απαντήσεις σας στα ερωτήματα αυτά θα είναι ανεξάρτητες μεταξύ τους, δηλαδή θα πρόκειται για διαφορετικούς αλγόριθμους.

 

Θέμα  3ο

 

Κατά την εκτόξευση ενός διαστημοπλοίου χρειάζεται να πραγματοποιηθεί αντίστροφη μέτρηση μέχρι που η ένδειξη του μετρητή χρόνου έχει τη μορφή 00:00:00.
Α. Να κατασκευαστεί πρόγραμμα σε ΓΛΩΣΣΑ το οποίο :

 

i)  θα διαβάζει την ώρα έναρξης της αντίστροφης μέτρησης, τα λεπτά και τα δευτερόλεπτα ελέγχοντας την εγκυρότητα τιμών έτσι ώστε  η τιμή για τις ώρες είναι ένας ακέραιος θετικός αριθμός από 0-23 και οι τιμές για τα λεπτά και δευτερόλεπτα ακέραιοι θετικοί από 0-59. 

(Μονάδες 4)

 

ii) στη συνέχεια θα καλεί επαναληπτικά υποπρόγραμμα για τον υπολογισμό της τρέχουσας ώρας όπως περιγράφεται παρακάτω στο ερώτημα Β.

(Μονάδες 5)

 

iii) θα εμφανίζει το χρόνο που απομένει ανά δευτερόλεπτο, συνεχόμενα και κατά φθίνουσα σειρά μέχρι την ένδειξη 00:00:00 που θα προκαλέσει την εκτόξευση.

(Μονάδες 2)

 

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

Για παράδειγμα

i)  Είσοδος:  12 (ώρες) 25 (λεπτά) 45 (δευτερόλεπτα)         Έξοδος: 12:25:44

ii) Είσοδος:    1 (ώρα) 0 (λεπτά) 0 (δευτερόλεπτα)  Έξοδος: 0:59:59

(Μονάδες 9)

           

Θέμα  4ο    

 

Το παγκόσμιο κύπελλο ποδοσφαίρου γνωστό και ως Μουντιάλ διοργανώνεται κάθε 4 χρόνια ανελλιπώς από το 1950 και συμμετείχαν συνολικά 76 ομάδες σε 15 διοργανώσεις μέχρι και την τελευταία διοργάνωση που έγινε το 2006.  Να γράψετε αλγόριθμο ο οποίος :

 

Α.   Για κάθε ομάδα διαβάζει το όνομά της και το αποθηκεύει σε μονοδιάστατο πίνακα Ομάδα[76] και για κάθε χρονιά διαβάζει τη θέση που κατέλαβε στη διοργάνωση από το 1950 μέχρι και το 2006 και αποθηκεύει σε δισδιάστατο πίνακα Θέση[76,15] θεωρώντας ότι τα αποτελέσματα του 1950 μπαίνουν στην 1η στήλη, του 1954 στη 2η … του 2006 στην 15η. Σε περίπτωση που μια ομάδα δε συμμετείχε σε κάποια διοργάνωση θα δίνεται το 0 στην αντίστοιχη θέση του Θέση[76,15]. Για παράδειγμα :

(Μονάδες 2)

                                                Πίνακας Ομάδα                                               Πίνακας Θέση

ΙΤΑΛΙΑ

 

 

 

………

 

1

 

Β.   Να εμφανίζει την ομάδα ή τις ομάδες με τις περισσότερες συμμετοχές σε τελικό.

(Μονάδες 3)

 

Γ.    Να εμφανίζει τις ομάδες που όποτε έπαιξαν σε τελικό τον κέρδισαν.  Αν δεν υπάρχει τέτοια ομάδα να εμφανίζει το μήνυμα « Δεν υπάρχει ομάδα που κέρδισε κάθε τελικό που έπαιξε».

(Μονάδες 4)

 

Δ.   Να εμφανίζει την ομάδα (ή τις ομάδες, αν είναι περισσότερες) που έπαιξε σε τελικό 3 συνεχόμενες φορές, διαφορετικά να εμφανίζει το μήνυμα « Δεν υπάρχει ομάδα που έπαιξε 3 συνεχόμενες φορές στον τελικό».

(Μονάδες 4)

 

Ε.    Για κάθε διοργάνωση (1950 – 2006)  να βρίσκει το ζευγάρι που έπαιξε στον τελικό. (Στον τελικό έπαιξαν  οι ομάδες που κατέλαβαν  τις θέσεις  1 και 2)

      Τα ζευγάρια να τοποθετούνται σε κατάλληλη δομή δεδομένων.

(Μονάδες 3)


ΣΤ. Να εμφανίζει  το ζευγάρι που αναμετρήθηκε τις περισσότερες φορές στον   

       τελικό (θεωρήστε ότι υπάρχει μόνο ένα τέτοιο ζευγάρι).

(Μονάδες 4)