Μάθημα : Πληροφορική 2

Κωδικός : 0551942429

0551942429  -  ΑΝΤΩΝΙΟΣ ΦΩΤΕΙΝΟΣ

Ενότητες - Ασκήσεις

Ασκήσεις

1. Δόσεις

Ένας πελάτης αγοράζει προϊόντα από ένα κατάστημα. Να αναπτύξετε πρόγραμμα το οποίο :

Γ1. Για κάθε προϊόν που αγοράζει ο πελάτης, να διαβάζει τον κωδικό του, τον αριθμό τεμαχίων που αγοράστηκαν και την τιμή τεμαχίου. Η διαδικασία ανάγνωσης να σταματά, όταν δοθεί ως κωδικός ο αριθμός 0.

Γ2. Αν ο λογαριασμός δεν υπερβαίνει τα 500 ευρώ, να εμφανίζει το μήνυμα «ΠΛΗΡΩΜΗ ΜΕΤΡΗΤΟΙΣ». Διαφορετικά, να υπολογίζει και να εμφανίζει το πλήθος των απαιτούμενων για την εξόφληση δόσεων, όταν η εξόφληση γίνεται με άτοκες μηνιαίες δόσεις, ως εξής: Τον πρώτο μήνα η δόση θα είναι 20 ευρώ και κάθε επόμενο μήνα θα αυξάνεται κατά 5 ευρώ, μέχρι να εξοφληθεί το συνολικό ποσό.

Γ3. Να υπολογίζει και να εμφανίζει τον συνολικό αριθμό των τεμαχίων με τιμή τεμαχίου μεγαλύτερη των 10 ευρώ.

Γ4. Να υπολογίζει και να εμφανίζει τον συνολικό αριθμό των τεμαχίων με τη μέγιστη τιμή τεμαχίου.

2. Θετικοί αριθμοί

Να γραφεί πρόγραμμα σε "ΓΛΩΣΣΑ" το οποίο να διαβάζει θετικό ακέραιο αριθμό Ν. Στη συνέχεια, να διαβάζει θετικούς αριθμούς μέχρι το άθροισμά τους να γίνει μεγαλύτερο από τον αριθμό Ν. Τέλος να υπολογίζει και να τυπώνει τον μεγαλύτερο αριθμό που πληκτρολογήθηκε. Να γίνεται έλεγχος των αριθμών που πληκτρολογούνται, ώστε να είναι θετικοί, σε αντίθετη περίπτωση να εμφανίζεται μήνυμα λάθους και να ζητείται η πληκτρολόγηση ενός θετικού αριθμού.

3. Εξετάσεις ΑΣΕΠ

Στις εξετάσεις του ΑΣΕΠ οι υποψήφιοι εξετάζονται σε τρεις θεματικές ενότητες. Ο βαθμός κάθε θεματικής ενότητας είναι από 1 έως 100. Η συνολική βαθμολογία κάθε υποψηφίου προκύπτει από τον μέσο όρο των βαθμών του στις τρεις θεματικές ενότητες. Ο υποψήφιος θεωρείται ως επιτυχών, αν η συνολική βαθμολογία του είναι τουλάχιστον 55 και ο βαθμός του σε κάθε θεματική ενότητα είναι τουλάχιστον 50.
Να γράψετε πρόγραμμα το οποίο:


Για κάθε υποψήφιο:

Γ1. Να διαβάζει το όνομά του και τους βαθμούς του σε καθεμία από τις τρεις θεματικές ενότητες. (Απαιτείται έλεγχος εγκυρότητας δεδομένων).


Γ2. Να εμφανίζει τον μεγαλύτερο από τους βαθμούς που πήρε στις τρεις θεματικές ενότητες.


Γ3. Να εμφανίζει το όνομα και τη συνολική βαθμολογία του στην περίπτωση που είναι επιτυχών.


Γ4. Το πρόγραμμα να τερματίζει όταν δοθεί ως όνομα η λέξη “ΤΕΛΟΣ”.


Γ5. Στο τέλος να εμφανίζει το όνομα του επιτυχόντα με τη μικρότερη συνολική βαθμολογία. Θεωρήστε ότι είναι μοναδικός.

4. Αποθήκες αεροδρομίου

Μία εταιρεία μεταφοράς δεμάτων διαθέτει δύο αποθήκες, Α και Β, στο αεροδρόμιο. Κατά την παραλαβή δεμάτων, κάθε δέμα τοποθετείται στην αποθήκη που έχει εκείνη τη στιγμή τον περισσότερο ελεύθερο χώρο. Αν ο ελεύθερος χώρος της αποθήκης Α είναι ίσος με τον ελεύθερο χώρο της αποθήκης Β, το δέμα τοποθετείται στην αποθήκη Α. Όταν όμως το δέμα δεν χωρά σε καμία από τις δύο αποθήκες, προωθείται στις κεντρικές εγκαταστάσεις της εταιρείας, που βρίσκονται εκτός αεροδρομίου.

Να κατασκευάσετε πρόγραμμα που:
α. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων.
β. Να διαβάζει τα μεγέθη ελεύθερου χώρου των αποθηκών Α και Β .
γ. Να διαβάζει το μέγεθος κάθε εισερχόμενου δέματος και να εμφανίζει το όνομα της αποθήκης (Α ή Β) στην οποία θα τοποθετηθεί αυτό ή να εμφανίζει το μήνυμα «Προώθηση», όταν το δέμα δεν χωρά σε καμία από τις αποθήκες Α ή Β. Η διαδικασία παραλαβής τερματίζεται, όταν εισαχθεί ως μέγεθος δέματος η τιμή 0.
δ. Στη συνέχεια, να βρίσκει και να εμφανίζει το όνομα της αποθήκης (Α ή Β) στην οποία τοποθετήθηκαν τα περισσότερα δέματα, ή το μήνυμα «Ισάριθμα» σε περίπτωση που στις δύο αποθήκες Α και Β τοποθετήθηκαν ισάριθμα δέματα, ή το μήνυμα «Καμία αποθήκευση στο αεροδρόμιο», αν κανένα δέμα δεν τοποθετήθηκε σε οποιαδήποτε από τις αποθήκες Α ή Β.

5. Γινόμενο αλα ρώσικα

Να γραφεί πρόγραμμα το οποίο θα ζητάει επαναληπτικά έναν αριθμό (0-10) και θα εμφανίζει την προπαίδειά του ως εξής :

Προπαίδεια του 1

1 x 1 = 1
2 x 1 = 2
3 x 1 = 3
4 x 1 = 4
5 x 1 = 5
6 x 1 = 6
7 x 1 = 7
8 x 1 = 8
9 x 1 = 9
10 x 1 = 10

Το πρόγραμμα τερματίζει όταν δωθεί ο αριθμός 0. Τα γινόμενα θα πρέπει να υπολογιστούν σύμφωνα με τον αλγόριθμο γινομένου αλα ρώσικα :

Αλγόριθμος Πολλαπλασιασμός_αλά_ρωσικά
Δεδομένα // M1,M2 ακέραιοι //
Ρ ← 0
Όσο M2 > 0 επανάλαβε
Αν M2 mod 2 = 1 τότε
Ρ ← Ρ+Μ1
Τέλος_αν

M1 ← Μ1*2
M2 ← M2 div 2
Τέλος_επανάληψης
Αποτελέσματα // Ρ, το γινόμενο των ακεραίων M1,M2 //
Τέλος Πολλαπλασιασμός_αλά_ρωσικά

Στη συνέχεια να σχεδιάσετε πρόγραμμα που γράψατε σε διάγραμμα ροής χρησιμοποιώντας τη online πλατφόρμα aspose :

https://products.aspose.app/diagram/el/flowchart

6. Εκπαιδευτικά βίντεο

Το Υπουργείο Παιδείας παρέχει μέσω του διαδικτύου μια συλλογή από εκπαιδευτικά βίντεο. Ο αριθμός των επι σκέψεων που δέχεται κάθε ένα βίντεο καταγράφεται από ειδικό λογισμικό. Τα βίντεο διακρίνονται σε τρείς κατηγορίες ανάλογα με την επισκεψιμότητά τους, σύμφ ωνα με τον παρακάτω πίνακα :

ΚΑΤΗΓΟΡΙΕΣ ΕΠΙΣΚΕΨΙΜΟΤΗΤΑΣ
Όνομα Αριθμός Επισκέψεων
Χαμηλή από 1 έως και 100
Μεσαία από 101 έως και 1000
Υψηλή πάνω από 1000

 

Τα βίντεο με μηδενικές επισκέψεις δεν κατατάσσονται σε καμία κατηγορία.

Να αναπτύξετε πρόγραμμα το οποίο:


Γ1. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων.

Γ2. Να διαβάζει επαναληπτικά τον τίτλο κάθε βίντεο και τον αριθμό των επισκέψεων που δέχτηκε. Η είσοδος των δεδομένων να τερματίζεται, όταν ως τίτλος βίντεο δοθεί η λέξη «ΤΕΛΟΣ».
Να γίνεται έλεγχος εγκυρότητας ώστε ο αριθμός των επισκέψεων να μην είναι αρνητικός.

Γ3. Να βρίσκει και να εμφανίζει τον τίτλο του βίντεο με τον μεγαλύτερο αριθμό επισκέψεων. Να θεωρήσετε ότι είναι μοναδικό.

Γ4. Να υπολογίζει για καθεμία από τις τρεις κατηγορίες επισκεψιμότητας το πλήθος των βίντεο που καταχωρίστηκαν σε αυτή. Να εμφανίζει για κάθε κατηγορία:

- το όνομά της και
- το πλήθος των βίντεο που περιλαμβάνει.

Γ5. Να βρίσκει και να εμφανίζει το όνομα της κατηγορίας επισκεψιμότητας στην οποία καταχωρίστηκαν τα περισσότερα βίντεο. Να θεωρήσετε ότι είναι μοναδική.

Σημείωση
Το πλήθος των βίντεο δεν είναι γνωστό.

7. Μαγικό τετράγωνο

Να γράψετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο θα διαβάζει πίνακα 5x5 με ακέραιους αριθμούς και θα ελέγχει εάν αποτελεί "μαγικό τετράγωνο", εμφανίζοντας το κατάλληλο μήνυμα. Τα κριτήρια που πρέπει να ικανοποιεί, ένας τετραγωνικός πίνακας ακεραίων ΝxN, για να χαρακτηριστεί μαγικό τετράγωνο είναι :

  1. Να περιέχει από μία φορά, όλους τους αριθμούς στο διάστημα [1,Ν]
  2. Τα αθροίσματα κάθε μίας γραμμής του πίνακα να είναι ίσα μεταξύ τους.
  3. Τα αθροίσματα κάθε μίας στήλης του πίνακα να είναι ίσα μεταξύ τους.
  4. Τα αθροίσματα των δύο διαγωνίων του πίνακα να είναι ίσα μεταξύ τους.
  5. Τα αθροίσματα γραμμών, στηλών και διαγωνίων να είναι ίσα μεταξύ τους.

Σενάριο τιμών  :

Οι παρακάτω τιμές "δίνουν" μαγικό τετράγωνο 5x5.

25
13
1
19
7
16
9
22
15
3
12
5
18
6
24
8
21
14
2
20
4
17
10
23
11

 

8. Αντιστροφή

Να γραφεί πρόγραμμα το οποίο να διαβάζει 100 ακέραιους αριθμούς και να τους αποθηκεύει σε μονοδιάστατο πίνακα. Στη συνέχεια να κάνει αντιστροφή των στοιχείων του πίνακα :

  1. Με τη χρήση 2ου πίνακα
  2. Χωρίς τη χρήση 2ου πίνακα

9. Δημιουργία πίνακα

Να γραφεί πρόγραμμα το οποίο να δημιουργεί και να εμφανίζει τους παρακάτω πίνακες :

Πίνακας 1

1 6 11 16 21
2 7 12 17 22
3 8 13 18 23
4 9 14 19 24
5 10 15 20 25

 

Πίνακας 2

1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25

 

Πίνακας 3

1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
21 22 23 24 25

 

 

 

10. Max γραμμή, min στήλη

Να γραφεί πρόγραμμα το οποίο να :

  1. Γεμίζει με ακέραιες τιμές από το πληκτρολόγιο ένα δισδιάστατο πίνακα 20x7
  2. Υπολογίζει και να τυπώνει τη γραμμή με το μεγαλύτερο άθροισμα
  3. Υπολογίζει και να τυπώνει τη στήλη με το μικρότερο άθροισμα

11. Ελαιώνας

36ος ΠΔΠ Α´φάση

12. Περιβαλλοντική οργάνωση

Μια περιβαλλοντική οργάνωση έχει εκπαιδεύσει δέκα (10) εθελοντές οι οποίοι θα ενημερώσουν το κοινό σε θέματα που αφορούν την προστασία του περιβάλλοντος.
Να γράψετε πρόγραμμα σε ΓΛΩΣΣΑ, το οποίο:


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

Δ2. Για κάθε μήνα, να εμφανίζει το συνολικό αριθμό ατόμων που ενημέρωσαν οι δέκα (10) εθελοντές.


Δ3. Να εμφανίζει τα ονόματα των τριών εθελοντών που ενημέρωσαν τα περισσότερα άτομα, κατά τη διάρκεια του προηγούμενου έτους.

Να θεωρήσετε ότι κάθε εθελοντής ενημέρωσε διαφορετικό συνολικό αριθμό ατόμων κατά τη διάρκεια του έτους.

Να θεωρήσετε ότι κάθε άτομο ενημερώνεται μόνο από ένα εθελοντή.

 

13. Λιμάνι

Ένα λιμάνι διαθέτει αποθηκευτικό χώρο χωρητικότητας 170 εμπορευματοκιβωτίων (containers). Σε καθημερινή βάση, στο τέλος της ημέρας, καταχωρίζεται ο αριθμός των εμπορευματοκιβωτίων που έχουν εισέλθει και εξέλθει από αυτόν.
Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:

Γ1. α. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων.
      β. Να διαβάζει για κάθε ημέρα το συνολικό πλήθος εμπορευματοκιβωτίων που εισήλθαν, καθώς και το συνολικό πλήθος εκείνων που εξήλθαν από τον αποθηκευτικό χώρο. Οι τιμές που διαβάζονται να ελέγχονται ώστε ο αριθμός των εμπορευματοκιβωτίων που παραμένουν στον αποθηκευτικό χώρο στο τέλος της ημέρας να είναι από 0 μέχρι και 170. Σε αντίθετη περίπτωση να θεωρούνται λανθασμένες και να επανεισάγονται.
     γ. Για τον τερματισμό της εισαγωγής δεδομένων το πρόγραμμα εμφανίζει το μήνυμα “Τέλος Εισαγωγής Στοιχείων; ΝΑΙ / ΟΧΙ”. Αν εισαχθεί η τιμή “ΝΑΙ”, να τερματίζεται η εισαγωγή δεδομένων.

Γ2. Να βρίσκει και να εμφανίζει το ν μέγιστο ημερήσιο αριθμό εισερχόμενων εμπορευματοκιβωτίων.

Γ3. Να υπολογίζει και να εμφανίζει τη μέση ημερήσια διακίνηση εμπορευματοκιβωτίων. Η ημερήσια διακίνηση είναι το άθροισμα του πλήθους των εισερχομένων και των εξερχομένων εμπορευματοκιβωτίων της ημέρας.

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

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

Σημειώσεις
Να θεωρήσετε ότι :
α) Αρχικά ο αποθηκευτικός χώρος είναι κενός.
β) Οι αριθμοί που εισάγονται για το πλήθος των εισερχομένων και των εξερχομένων εμπορευματοκιβωτίων είναι μεγαλύτεροι ή ίσοι του 0.
γ) Υπάρχει καταχώριση στοιχείων για τουλάχιστον μια ημέρα.

14. Ιστότοποι

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

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

Δ2. Να εμφανίζει το όνομα κάθε ιστοτόπου και τον συνολικό αριθμό των επισκέψεων που δέχθηκε αυτός στο διάστημα των τεσσάρων εβδομάδων.

Δ3. Να εμφανίζει τα ονόματα των ιστοτόπων που κάθε μέρα στο διάστημα των τεσσάρων εβδομάδων δέχθηκαν περισσότερες από 500 επισκέψεις.
Αν δεν υπάρχουν τέτοιοι ιστότοποι, να εμφανίζει κατάλληλο μήνυμα.

Δ4. Να διαβάζει το όνομα ενός ιστοτόπου. Αν το όνομα αυτό δεν είναι ένα από τα δέκα ονόματα που έχουν δοθεί, να το ξαναζητά, μέχρι να δοθεί ένα από αυτά τα ονόματα. Να εμφανίζει τους αριθμούς των εβδομάδων (1-4) κατά τη διάρκεια των οποίων ο συνολικός (εβδομαδιαίος) αριθμός επισκέψεων στον ιστότοπο αυτό είχε τη μέγιστη τιμή.

15. Αγώνας ιστοπλοΐας

Το ράλλυ Βορείων Σποράδων είναι ένας αγώνας ιστοπλοΐας ανοικτής θάλασσας που γίνεται κάθε χρόνο. Στην τελευταία διοργάνωση συμμετείχαν 35 σκάφη που διαγωνίστηκαν σε διαδρομή συνολικής απόστασης 70 μιλίων. Κάθε σκάφος ανήκει σε μια από τις κατηγορίες C1, C2, C3. Επειδή στον αγώνα συμμετέχουν σκάφη διαφορετικών δυνατοτήτων, η κατάταξη δεν προκύπτει από τον «πραγματικό» χρόνο τερματισμού αλλά από ένα «σχετικό» χρόνο, που υπολογίζεται διαιρώντας τον «πραγματικό» χρόνο του σκάφους με τον «ιδανικό». Ο ιδανικός χρόνος είναι διαφορετικός για κάθε σκάφος και προκύπτει πολλαπλασιάζοντας την απόσταση της διαδρομής με τον δείκτη GPH του σκάφους. Ο δείκτης GPH αντιπροσωπεύει τον ιδανικό χρόνο που χρειάζεται το σκάφος για να καλύψει απόσταση ενός μιλίου.
Να κατασκευάσετε πρόγραμμα το οποίο :

∆1. Να ζητάει για κάθε σκάφος:

- το όνομά του
- την κατηγορία του ελέγχοντας την ορθή καταχώρηση
- τον χρόνο (σε δευτερόλεπτα) που χρειάστηκε για να τερματίσει
- τον δείκτη GPH (σε δευτερόλεπτα)

∆2. Να υπολογίζει τον σχετικό χρόνο κάθε σκάφους.
∆3. Να εμφανίζει την κατηγορία στην οποία ανήκουν τα περισσότερα σκάφη.
∆4. Να εμφανίζει για κάθε κατηγορία καθώς και για την γενική κατάταξη τα ονόματα των σκαφών που κερδίζουν μετάλλιο.
(Μετάλλια απονέμονται στους 3 πρώτους κάθε κατηγορίας και στους 3 πρώτους της γενικής κατάταξης).

Σημείωση: Να θεωρήσετε ότι κάθε κατηγορία έχει διαφορετικό αριθμό σκαφών και τουλάχιστον τρία σκάφη.

16. Τουριστικός όμιλος

Ένας τουριστικός όμιλος διαθέτει 10 ξενοδοχεία.
Να κατασκευάσετε πρόγραμμα σε ΓΛΩΣΣΑ, το οποίο:

Δ1. α) Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων .
       β) Για κάθε ξενοδοχείο να διαβάζει το όνομά του σε πίνακα ON[10] καθώς και τον μηνιαίο αριθμό επισκεπτών για κάθε μήνα του έτους σε πίνακα ΕΠ[10,12].

Δ2. Για κάθε μήνα να εμφανίζει τον αριθμό του μήνα (1 έως 12) και δίπλα:

    • το πλήθος των ξενοδοχείων που είχαν περισσότερους από 1000 επισκέπτες ή
    • το μήνυμα: «ΚΑΝΕΝΑ ΞΕΝΟΔΟΧΕΙΟ».

Δ3. Να εμφανίζει τα ονόματα των ξενοδοχείων με τον μικρότερο συνολικό αριθμό επισκεπτών στη διάρκεια του έτους.

Δ4. Να εμφανίζει τα ονόματα των ξενοδοχείων και τον ετήσιο αριθμό επισκεπτών κατά φθίνουσα σειρά ετήσιου αριθμού επισκεπτών. Σε περίπτωση που δύο ή περισσότερα ξενοδοχεία έχουν τον ίδιο ετήσιο αριθμό επισκεπτών να εμφανίζει τα ονόματα των ξενοδοχείων αλφαβητικά.


ΣΗΜΕΙΩΣΗ: Να θεωρήσετε ότι όλα τα ξενοδοχεία είχαν επισκέπτες στη διάρκεια του χρόνου.

17. Πείραμα φυσικής

Στο πλαίσιο ενός πειράματος φυσικής καταγράφονται έως 200 διαδοχικές θετικές τιμές. Μία τιμή θεωρείται αιχμή, όταν είναι μεγαλύτερη από την προηγούμενη και την επόμενή της. Για τις ανάγκες της επεξεργασίας των τιμών αυτών, να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:

Γ1. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων.

Γ2. Να διαβάζει τις πειραματικές τιμές και να τις καταχωρίζει σε πίνακα πραγματικών αριθμών Τ[200] ελέγχοντας την εγκυρότητα των τιμών που εισάγονται. Η επαναληπτική διαδικασία να τερματίζε ται όταν εισαχθούν οι 200 τιμές ή όταν εισαχθεί η τιμή 0, η οποία να μην καταχωρίζεται στον πίνακα.

Γ3. Να εμφανίζει το πλήθος των αιχμών που υπάρχουν στον πίνακα Τ. Αν δεν υπάρχουν αιχμές, να εμφανίζει κατάλληλο μήνυμα.

Γ4. Αν υπάρχουν τουλάχιστον 2 αιχμές, να εμφανίζει τη θέση της πρώτης καιτη θέση της τελευταίας αιχμής.

Σημείωση: Να θεωρήσετε ότι στον πίνακα εισάγονται τουλάχιστον 2 τιμές.

18. Μεταφορές

Μια εταιρεία μεταφορών δραστηριοποιείται σε 20 πόλεις της ηπειρωτικής Ελλάδας και προσφέρει ειδικές τιμές για μετακομίσεις επιτυχόντων μαθητών στις πανελλαδικές εξετάσεις. Για το σκοπό αυτό διατηρεί αρχείο με τις αποστάσεις των είκοσι (20) πόλεων μεταξύ των οποίων εκτελεί μεταφορές.
Όποιος επιθυμεί να μετακομίσει καλεί την εταιρεία και δηλώνει τις δύο πόλεις μεταξύ των οποίων θα γίνει η μετακόμιση. Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ το οποίο:

Δ1. α. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων.
      β. Να διαβάζει τα ονόματα των πόλεων και να τα καταχωρίζει σε πίνακα ΟΝ[20].

Δ2. Να διαβάζει για κάθε ζευγάρι πόλεων τη μεταξύ τους απόσταση σε χιλιόμετρα και να καταχωρίζει τις τιμές σε πίνακα ΑΠ[20,20]. Οι τιμές να καταχωρίζονται μόνο στις θέσεις του πίνακα που βρίσκονται κάτω από την κύρια διαγώνιό του. Για παράδειγμα η απόσταση της πόλης 5 από την πόλη 10 να καταχωρίζεται μόνο στο ΑΠ[10,5] (και όχι στο ΑΠ[5,10]).

Δ3. Υλοποιώντας κατάλληλη επαναληπτική διαδικασία για καθεμιά από τις κλήσεις που δέχεται η εταιρεία:
α. Να διαβάζει το όνομα της πόλης αναχώρησης και της πόλης προορισμού μεταξύ των οποίων θα γίνει η μετακόμιση.
β. Να υπολογίζει την απόσταση των δύο πόλεων, εντοπίζοντας τις θέσεις των δύο πόλεων στον πίνακα ΟΝ και εξετάζοντας τις τιμές που βρίσκονται κάτω από την κύρια διαγώνιο. Στη συνέχεια να εμφανίζει το κόστος της συγκεκριμένης μετακίνησης, αν η εταιρεία χρεώνει 50 λεπτά του ευρώ ανά χιλιόμετρο για τα πρώτα 100 χιλιόμετρα και 30 λεπτά του ευρώ ανά χιλιόμετρο για τα υπόλοιπα χιλιόμετρα.
γ. Να τερματίζει την επαναληπτική διαδικασία όταν ως όνομα πόλης αναχώρησης δοθεί η λέξη «ΤΕΛΟΣ». Σε αυτή τη περίπτωση να μην ζητείται το όνομα της πόλης προορισμού.

Δ4. Μετά την ολοκλήρωση της επαναληπτικής διαδικασίας να εμφανίζει:
α. Τις συνολικές εισπράξεις της εταιρείας σε ευρώ.
β. Το πλήθος των μετακομίσεων μεταξύ της πρώτης και της τελευταίας πόλης του πίνακα ΟΝ προς οποιαδήποτε κατεύθυνση.

Σημείωση:
α. Δεν απαιτείται κανένας έλεγχος εγκυρότητας για τις τιμές εισόδου
β. Να θεωρήσετε ότι οι τιμές του πίνακα ΟΝ είναι μοναδικές.
γ. Οι πόλεις αναχώρησης και προορισμού είναι διαφορετικές και υπάρχουν στον πίνακα ΟΝ.

19. Πωλητές

Μια επιχείρηση έχει 10 πωλητές. Θέλοντας να τους δώσει κίνητρο καθιέρωσε βραβείο για τον καλύτερο πωλητή κάθε μήνα.
Να κατασκευάσετε πρόγραμμα σε ΓΛΩΣΣΑ, το οποίο:

Δ1. α) Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων.
β) Να καταχωρίζει τα ονόματα των πωλητών σε πίνακα ON[10] και τις μηνιαίες πωλήσεις κάθε πωλητή σε πίνακα ακεραίων Π[10,12] (δεν απαιτείται έλεγχος εγκυρότητας).

Δ2. Να βρίσκει και να εμφανίζει, για κάθε μήνα, το όνομα του πωλητή που πήρε το βραβείο (είχε τις μεγαλύτερες πωλήσεις). Να θεωρήσετε ότι για κάθε μήνα ο βραβευμένος πωλητής είναι μοναδικός.

Δ3. Να υπολογίζει τις συνολικές πωλήσεις της επιχείρησης στο 1ο και στο 2ο εξάμηνο και να εμφανίζει ανάλογα με την περίπτωση ένα από τα παρακάτω μηνύματα:

- «Οι πωλήσεις του 1ου εξαμήνου είναι μεγαλύτερες από τις πωλήσεις του 2ου εξαμήνου».

- «Οι πωλήσεις του 2ου εξαμήνου είναι μεγαλύτερες από τις πωλήσεις του 1ου εξαμήνου».

- «Οι πωλήσεις του 1ου και του 2ου εξαμήνου είναι ίσες».

Δ4. Να διαβάζει το όνομα πωλητή και, κάνοντας αναζήτηση, αν υπάρχει στον πίνακα ON[10] να υπολογίζει και να εμφανίζει τις συνολικές ετήσιες πωλήσεις του. Σε περίπτωση που δεν υπάρχει να εμφανίζει το μήνυμα «Ανύπαρκτος πωλητής».

20.  Πρατήριο

Ένα πρατήριο καυσίμων διαθέτει 3 τύπους καυσίμου, βενζίνη, πετρέλαιο και υγραέριο, με τιμή 1.80 €/lt, 1.50 €/lt και 1.30 €/lt αντίστοιχα.
Να αναπτύξετε πρόγραμμα σε ΓΛΩΣΣΑ, το οποίο:

Γ1. α) Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων.
β) Να διαβάζει τη διαθέσιμη ποσότητα σε λίτρα του κάθε τύπου καυσίμου που υπάρχει αρχικά στο πρατήριο.

Για κάθε όχημα που προσέρχεται στο πρατήριο:
Γ2. Να διαβάζει τον τύπο καυσίμου, «Β» για βενζίνη, «Π» για πετρέλαιο και «Υ» για υγραέριο. Να γίνει έλεγχος εγκυρότητας με κατάλληλο μήνυμα λάθους.

Γ3. α) Να διαβάζει το χρηματικό ποσό που επιθυμεί να πληρώσει ο οδηγός του οχήματος (χωρίς έλεγχο εγκυρότητας) και να υπολογίζει την ποσότητα του αντίστοιχου καυσίμου σε λίτρα.

β) Στην περίπτωση που η διαθέσιμη ποσότητα καυσίμου στο πρατήριο είναι:

    •  μικρότερη της ζητούμενης, τότε να προμηθεύεται το όχημα με τη διαθέσιμη ποσότητα του πρατηρίου,
    •  μεγαλύτερη ή ίση της ζητούμενης, τότε να προμηθεύεται το όχημα με τη ζητούμενη ποσότητα.

γ) Η επαναληπτική διαδικασία τερματίζεται όταν ένα από τα 3 είδη καυσίμου εξαντληθεί.

Γ4. Μετά το τέλος της επαναληπτικής διαδικασίας να εμφανίζονται:
α) Τα συνολικά έσοδα του πρατηρίου.
β) Τα λίτρα που έχουν απομείνει από κάθε τύπο καυσίμου στο πρατήριο.
γ) Ο τύπος καυσίμου, από τον οποίο προμηθεύτηκαν τα περισσότερα οχήματα. Να θεωρήσετε ότι είναι μοναδικός.

Παρατηρήσεις:
α) Όλες οι αρχικές ποσότητες των καυσίμων στο πρατήριο είναι θετικοί αριθμοί και δεν απαιτείται έλεγχος εγκυρότητας.
β) Η χωρητικότητα δεξαμενής καυσίμου του αυτοκινήτου είναι πάντα επαρκής για τη ζητούμενη ποσότητα.

21. Τράπεζα

Για την εξυπηρέτηση πελατών μιας τράπεζας κατά τη διάρκεια μιας ημέρας χρησιμοποιείται ηλεκτρονικό σύστημα, το οποίο υλοποιείται με μια ουρά 250 θέσεων. Κάθε φορά που εισέρχεται νέος πελάτης, δημιουργείται από το ηλεκτρονικό σύστημα ένας αύξων αριθμός που αντιστοιχεί στη σειρά εισόδου του πελάτη στην τράπεζα. Ο 1ος πελάτης έχει τον αύξοντα αριθμό 1, ο 2ος πελάτης τον αύξοντα αριθμό 2 κ.ο.κ.
Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ, το οποίο:

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

1. Εισαγωγή πελάτη
2. Εξαγωγή πελάτη
3. Τερματισμός
Δώσε επιλογή:

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

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

Δ4. Με την επιλογή 3, να τερματίζεται η επαναληπτική διαδικασία και να
εμφανίζει το πλήθος των πελατών που εξυπηρετήθηκαν (Εξαγωγή πελάτη) καθώς και τον μέγιστο αριθμό πελατών που περίμεναν κάποια στιγμή στην ουρά.

Σημείωση: Να θεωρήσετε ότι στην αρχή της ημέρας η ουρά είναι άδεια και ότι στην περίπτωση που επιλεχθεί η ενέργεια 3 (Τερματισμός) οι πελάτες που έχουν απομείνει στην ουρά της τράπεζας δεν θα εξυπηρετηθούν.

22. Αν

Να ξαναγράψετε το ακόλουθο τμήμα αλγορίθμου χρησιμοποιώντας μόνο μια δομή πολλαπλής επιλογής ΑΝ...ΤΟΤΕ...ΑΛΛΙΩΣ_ΑΝ, ώστε να εμφανίζονται τα ίδια αποτελέσματα:

ΔΙΑΒΑΣΕ Χ
ΑΝ Χ <= 5 ΤΟΤΕ
ΓΡΑΨΕ “*”
ΤΕΛΟΣ_ΑΝ
ΑΝ Χ <= 10 ΤΟΤΕ
ΓΡΑΨΕ “#”
ΤΕΛΟΣ_ΑΝ
ΑΝ Χ <= 20 ΤΟΤΕ
ΓΡΑΨΕ “@”
ΤΕΛΟΣ_ΑΝ
ΑΝ Χ <= 30 ΤΟΤΕ
ΓΡΑΨΕ “$”
ΤΕΛΟΣ_ΑΝ
ΑΝ Χ <= 40 ΤΟΤΕ
ΓΡΑΨΕ “%”
ΤΕΛΟΣ_ΑΝ

23. Πολιτιστική εκδήλωση

Ο σύλλογος γονέων και κηδεμόνων μιας περιοχής θέλει να διοργανώσει μια πολιτιστική εκδήλωση. Για το σκοπό αυτό, ζητά από κάθε σχολείο της περιοχής να προσφέρει κάποιο χρηματικό ποσό για την πραγματοποίησή της. Κάθε σχολείο έχει τη δυνατότητα να επικοινωνεί περισσότερες από μία φορές με το σύλλογο και να τροποποιεί την προσφορά του.
Να αναπτύξετε αλγόριθμο σε ψευδογλώσσα, ο οποίος:

Γ1. Να θεωρεί δεδομένο ένα πίνακα Σ[100] που περιέχει τα ονόματα των 100 σχολείων της περιοχής και να δημιουργεί πίνακα Π[100] που θα περιέχει τις αντίστοιχες χρηματικές προσφορές από κάθε σχολείο. Αρχικά να τοποθετηθεί σε κάθε στοιχείο του πίνακα Π[100] την τιμή -1.

Γ2. α) Να διαβάζει το όνομα ενός σχολείου και να το αναζητά στον πίνακα Σ.

β) Να εμφανίζει το μήνυμα «Άγνωστο», όταν το σχολείο δε βρεθεί. Όταν το σχολείο βρεθεί, να σταματά την αναζήτηση, να διαβάζει τη χρηματική προσφορά του σχολείου και να την τοποθετεί στην αντίστοιχη θέση του πίνακα Π. (Όταν δοθεί η τιμή 0, σημαίνει ότι το σχολείο δεν μπορεί να προσφέρει χρήματα, δηλαδή έδωσε μηδενική προσφορά).Όταν δεν είναι η πρώτη φορά που δίνει προσφορά τότε να εμφανίζει το μήνυμα «ΤΡΟΠΟΠΟΙΗΣΗ ΠΡΟΣΦΟΡΑΣ» και να αντικαθιστά την προηγούμενη προσφορά του με τη νέα.

Γ3. Να επαναλαμβάνει τις ενέργειες που περιγράφονται στο ερώτημα Γ2, μέχρις ότου όλα τα σχολεία να δώσουν τουλάχιστον μία προσφορά.

Γ4. Να εμφανίζει: α) το συνολικό χρηματικό ποσό που έχει συγκεντρωθεί, β) το πλήθος των σχολείων που έδωσαν μηδενική προσφορά, γ) το πλήθος των τροποποιήσεων που έγιναν στις προσφορές.

24. Ταξινόμηση

Για την ταξινόμηση, σε φθίνουσα σειρά, των στοιχείων ενός μονοδιάστατου πίνακα αριθμών Π[30] μπορεί να ακολουθηθεί η παρακάτω διαδικασία:
Αρχικά, ο πίνακας σαρώνεται από την αρχή μέχρι το τέλος του, προκειμένου να βρεθεί το μεγαλύτερο στοιχείο του. Αυτό το στοιχείο τοποθετείται στην αρχή του πίνακα, ανταλλάσσοντας θέσεις με το στοιχείο της πρώτης θέσης του πίνακα. Η σάρωση του πίνακα επαναλαμβάνεται, ξεκινώντας τώρα από το δεύτερο στοιχείο του πίνακα. Το μεγαλύτερο από τα στοιχεία που απέμειναν ανταλλάσσει θέσεις με το στοιχείο της δεύτερης θέσης του πίνακα. Η σάρωση επαναλαμβάνεται, ξεκινώντας από το τρίτο στοιχείο του πίνακα, μετά από το τέταρτο στοιχείο του πίνακα κ.ο.κ.
Το παρακάτω ημιτελές τμήμα αλγορίθμου κωδικοποιεί την παραπάνω διαδικασία:

Για k από 1 μέχρι 29
θ ← (1)....
Για i από k μέχρι 30
Αν Π[i] (2).... Π[θ] τότε
θ ← (3)....
Τέλος_αν
Τέλος_επανάληψης
αντιμετάθεσε (4).... , (5)....
Τέλος_επανάληψης


Να γράψετε στο τετράδιό σας τους αριθμούς (1) έως (5), που αντιστοιχούν στα κενά του αλγορίθμου και, δίπλα σε κάθε αριθμό, ό,τι πρέπει να συμπληρωθεί, ώστε να γίνεται σωστά η ταξινόμηση.

23. Διάγραμμα ροής 1

Δίνεται ο παρακάτω αλγόριθμος:

Να κωδικοποιήσετε τον παραπάνω αλγόριθμο σε ΓΛΩΣΣΑ.

25. Μετατροπές

Δίνεται το παρακάτω τμήμα προγράμματος σε ΓΛΩΣΣΑ:

sum<-0
ΓΙΑ i AΠΟ 6 ΜΕΧΡΙ 1 ΜΕ_ΒΗΜΑ -2
sum <- sum + i
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

α. Να μετατραπεί σε ισοδύναμο τμήμα προγράμματος με χρήση της δομής ΟΣΟ…ΕΠΑΝΑΛΑΒΕ
β. Να μετατραπεί σε ισοδύναμο τμήμα προγράμματος με χρήση της δομής ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ…ΜΕΧΡΙΣ_ΟΤΟΥ

 

26. Αραιός πίνακας

Ένας πίνακας λέγεται αραιός (sparse) αν ένα μεγάλο ποσοστό των στοιχείων του έχουν μηδενική τιμή. Ένας δισδιάστατος αραιός πίνακας μπορεί να αναπαρασταθεί από έναν μονοδιάστατο όπου κάθε μη μηδενικό στοιχείο του δισδιάστατου αντιπροσωπεύεται στον μονοδιάστατο από μία τριάδα στοιχείων, δηλαδή <γραμμή, στήλη, τιμή>. Για παράδειγμα, ο παρακάτω πίνακας Α [4,5] που θέλουμε να τον διαχειριστούμε ως αραιό

 

0 7 0 0 0
1 2 0 0 -3
0 0 4 0 0
0 0 0 0 0

 

αντιπροσωπεύεται από τον μονοδιάστατο Β[15].

1 2 7 2 1 1 2 2 2 2 5 -3 3 3 4


Η αντίστροφη διαδικασία είναι από τον μονοδιάστατο πίνακα να παραχθεί ένας ισοδύναμος αραιός δισδιάστατος.

Έστω ένας πίνακας Μ[18] που αναπαριστά 6 μη μηδενικά στοιχεία.
Δίνεται ο παρακάτω αλγόριθμος, ο οποίος από τον μονοδιάστατο Μ[18] δημιουργεί τον αραιό δισδιάστατο Δ[10,20].

Αλγόριθμος αντίστροφος
Δεδομένα // Μ //
Για i από 1 μέχρι 20
Για j από 1 μέχρι 10
Δ […(1), … (2)] <-0
Τέλος_επανάληψης
Τέλος_επανάληψης
Για i από 1 μέχρι 18 με_βήμα … (3)
α <-Μ[i]
β <- Μ[i + … (4)]
γ <- Μ[i + … (5)]
Δ [α, β] <- γ
Τέλος_επανάληψης
Αποτελέσματα // Δ //
Τέλος αντίστροφος

Ο παραπάνω αλγόριθμος έχει 5 κενά αριθμημένα από (1) μέχρι (5). Για καθένα από τα κενά, να γράψετε στο τετράδιό σας τον αριθμό του και ό,τι χρειάζεται να συμπληρωθεί για να λειτουργήσει σωστά ο αλγόριθμος.

27. Πρόγραμμα - υποπρόγραμμα

Δίνεται το παρακάτω πρόγραμμα και ένα υποπρόγραμμα:

Πρόγραμμα Θέμα_Β2
Μεταβλητές
  Ακέραιες: a,b
Αρχή
  a <- 1
  b <- 3
  Όσο a<35 επανάλαβε
     Κάλεσε Διαδ(a,b)
     Γράψε b
  Τέλος_επανάληψης
Tέλος_Προγράμματος
Διαδικασία Διαδ(a,b)
Μεταβλητές
  Ακέραιες: a,b
Αρχή
  b <- b+a
  a <- a+8
Γράψε a
Τέλος_Διαδικασίας

 

Να γράψετε στο τετράδιό σας τις τιμές που θα εμφανιστούν κατά την εκτέλεση του προγράμματος με τη σειρά που θα εμφανιστούν.

28. Διάγραμμα ροής 1

Δίνεται το παρακάτω τμήμα αλγόριθμου

Αν Α>5 τότε
Αν Β<8 τότε
Γράψε ‘επιτυχία’
Αλλιώς_αν Α>8 τότε
Γράψε ‘επιτυχία’
Αλλιώς
Γράψε ‘αποτυχία’
Τέλος_αν
Αλλιώς
Γράψε ‘αποτυχία’
Τέλος_αν

α. Να σχεδιάσετε το αντίστοιχο διάγραμμα ροής .
β. Να γράψετε ισοδύναμο τμήμα αλγορίθμου χρησιμοποιώντας μόνο μία εντολή σύνθετης επιλογής.

29. Πλήθος ανηλίκων

Δίνεται το παρακάτω υποπρόγραμμα σε ΓΛΩΣΣΑ με όνομα Π_Μ το οποίο ελέγχοντας τα στοιχεία 200 ατόμων υπολογίζει το πλήθος των ανήλικων ατόμων που έχουν κάποιο συγκεκριμένο όνομα.

(1) …………………
ΣΤΑΘΕΡΕΣ
(2) …………………
ΜΕΤΑΒΛΗΤΕΣ
(3) ΑΚΕΡΑΙΕΣ:…………………
(4) ΧΑΡΑΚΤΗΡΕΣ: …………………
ΑΡΧΗ
Π <- 0
Για i από 1 μέχρι Ν
Αν ΗΛ[i] < 18 ΚΑΙ Ο[i]= Χ τότε
Π <- Π + 1
Τέλος_αν
Τέλος_επανάληψης
Π_Μ <- Π
(5) …………………

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

30. Διάγραμμα ροής 2

Να μετατρέψετε το παρακάτω πρόγραμμα σε διάγραμμα ροής

ΠΡΟΓΡΑΜΜΑ ΘέμαΓ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: πλΥπέρβάσεων, πάνωΑπο1000Κιλά
ΠΡΑΓΜΑΤΙΚΕΣ: όριοΒάρους, βάροςΔεμάτων, διαθέσιμοΒάρος, βάροςΔέματος, χρέωση, ΣΠ
ΧΑΡΑΚΤΗΡΕΣ: απάντηση
ΑΡΧΗ
ΔΙΑΒΑΣΕ όριοΒάρους
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ βάροςΔεμάτων
ΜΕΧΡΙΣ_ΟΤΟΥ βάροςΔεμάτων < όριοΒάρους
ΣΠ <- 0
πλΥπέρβάσεων <- 0
πάνωΑπο1000Κιλά <- 0
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
διαθέσιμοΒάρος <- όριοΒάρους – βάροςΔεμάτων
ΓΡΑΨΕ ‘Μπορεί να φορτωθεί ακόμη: ’, διαθέσιμοΒάρος
ΓΡΑΨΕ ‘ΝΑ ΦΟΡΤΩΘΕΙ ΔΕΜΑ; (ΝΑΙ/ΟΧΙ)’
ΔΙΑΒΑΣΕ απάντηση
ΑΝ απάντηση = ‘ΝΑΙ’ ΤΟΤΕ
ΔΙΑΒΑΣΕ βάροςΔέματος
ΑΝ βάροςΔέματος <= διαθέσιμοΒάρος ΤΟΤΕ
ΑΝ βάροςΔέματος <= 500 ΤΟΤΕ
χρέωση <- βάροςΔέματος * 0,5
ΑΛΛΙΩΣ_ΑΝ βάροςΔέματος <= 1000 ΤΟΤΕ
χρέωση <- 500 * 0,5 + (βάροςΔέματος – 500) * 0,3
ΑΛΛΙΩΣ
χρέωση <- 500*0,5+500*0,3 + (βάροςΔέματος - 1000)*0,1
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ χρέωση
ΣΠ <- ΣΠ + χρέωση
ΑΝ βάροςΔέματος > 1000 ΤΟΤΕ
πάνωΑπο100Κιλά <- πάνωΑπο100Κιλά + 1
ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ
ΓΡΑΨΕ ‘ΤΟ ΔΕΜΑ ΔΕΝ ΧΩΡΑΕΙ’
πλΥπέρβάσεων <- πλΥπέρβάσεων + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
ΜΕΧΡΙΣ_ΟΤΟΥ απάντηση = ‘ΟΧΙ’
ΓΡΑΨΕ πλΥπέρβάσεων, ΣΠ, πλΆνω1000Κιλά
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ