ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/26 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι το 1 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Αν κάπου κάνετε κάποιες υποθέσεις να αναφερθούν στη σχετική ερώτηση. Διάρκεια: 3 ώρες Καλή επιτυχία! Πρόβλημα 1 - Τετράγωνα (1 μονάδες) Να γράψετε πρόγραμμα το οποίο δέχεται ένα ακέραιο αριθμό N από το πληκτρολόγιο, όπου 2 N 8, και τυπώνει ένα NxN τετράγωνο στην οθόνη χρησιμοποιώντας τα σύμβολα του αστερίσκου (*) και του σταυρού (+). Αν ο N είναι περιττός, τότε ο ένας και μοναδικός χαρακτήρας που βρίσκεται στο κέντρο του τετραγώνου θα πρέπει να είναι σταυρός και οι υπόλοιποι αστερίσκοι. Αν ο N είναι άρτιος, τότε οι τέσσερεις χαρακτήρες στο κέντρο του τετραγώνου θα πρέπει να είναι σταυροί και οι υπόλοιποι αστερίσκοι. Write a program that accepts a single integer N as input from the keyboard, where 2 N 8. The program then prints an NxN square on the screen, using the star (*) and cross (+) characters. If N is odd, then the single character in the centre of the square should be a cross, and the rest of the characters should be stars. If N is even, then the four characters in the centre of the square should be crosses, and the rest should be stars. N=2 N=3 N=5 N=6 ++ ++ *** *+* *** **+** **++** **++**
ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/26 Πρόβλημα 2 - Μοναδικότητα (15 μονάδες) Να γράψετε πρόγραμμα το οποίο δέχεται 1 ακέραιους αριθμούς N 1,...,N 1 από το πληκτρολόγιο, όπου -1 N i 1, και τυπώνει με οποιαδήποτε σειρά στην οθόνη τους αριθμούς εκείνους που εμφανίζονται ακριβώς μια φορά στα δεδομένα εισόδου. Παράδειγμα Για δεδομένα εισόδου: 3,5,-53,2,3,-432,2,234,3,-53, τα δεδομένα εξόδου θα πρέπει να είναι 5,-432, 234. Write a program that accepts 1 integers N 1... N 1 from the keyboard, where -1 Ni 1. The program then prints to the screen, in any order, only those numbers that appeared exactly once in the input. Εxample, Ιf the numbers entered were 3,5,-53,2,3,-432,2,234,3, -53; then the numbers in the output should be 5,-432, 234. Πρόβλημα 3 Ταχύτητα του Ήχου (15 μονάδες) Η ταχύτητα του ήχου αλλάζει ανάλογα με το υλικό στο οποίο ταξιδεύει. Ένας φοιτητής διεξήγαγε ένα πείραμα για να μετρήσει την ταχύτητα του ήχου σε 2 διαφορετικά υλικά. Κατέγραψε 3 μετρήσεις για κάθε υλικό. Οι μετρήσεις βρίσκονται σε πίνακα M τέτοιο ώστε Μ ij είναι η j-ιοστή μέτρηση για το υλικό i, όπου i 19, j 29 και Μ ij πραγματικός αριθμός με M ij 1. Να γράψετε το μέρος εκείνο του προγράμματος που διαβάζει πληροφορίες από ένα υφιστάμενο πίνακα M όπως αυτόν που περιγράφεται πιο πάνω και υπολογίζει και εμφανίζει στην οθόνη τη μέση ταχύτητα για το κάθε υλικό. Σε μια προσπάθεια μείωσης του πειραματικού λάθους, όταν υπολογίζεται τη μέση ταχύτητα, μην συμπεριλάβετε την ελάχιστη και τη μέγιστη μέτρηση από κάθε υλικό. Ως εκ τούτου, μόνο 28 μετρήσεις θα πρέπει να ληφθούν υπόψη στον υπολογισμό της μέσης ταχύτητας για το κάθε υλικό. The speed of sound changes depending on the material in which it travels. A student performed an experiment to measure the speed of sound in 2 different materials. He took 3 measurements for each material. The measurements are in table M. Μ ij is the j th measurement for material i. Therefore i 19, j 29. Also, M ij is a real number where M ij 1. Assume that the table (two-dimensional array) M has already been declared and contains the values of the measurements.
ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/26 Write that part of a program that reads the information from the table M and calculates the average speed in each material. In an attempt to reduce the experimental error, when computing the average, do not include the minimum and maximum measurement from each material. Therefore, only 28 measurements should be used to calculate each average speed. The program should then print to the screen the average speed for each of the 2 materials. Μέτρηση Υλικό 1 29 25 16 34 1 26 15 3..... 19 24 15 41 Πρόβλημα 4 Αντιμεταθέσεις (25 μονάδες) Ζητείται να γραφεί πρόγραμμα το οποίο να δέχεται μια συμβολοσειρά από το πληκτρολόγιο και να τυπώνει όλες τις δυνατές αντιμεταθέσεις των συμβόλων της. Η συμβολοσειρά εισόδου θα αποτελείται από τουλάχιστον 2 και το πολύ 7 χαρακτηρές. Ο ίδιος χαρακτήρας μπορεί να εμφανίζεται το πολύ δύο φορές στη συμβολοσειρά. Κάθε αντιμετάθεση θα πρέπει να τυπωθεί μόνο μια φορά στην οθόνη. Write a program that accepts a string of alphabetic characters from the keyboard, and then prints to the screen a list of all the possible permutations of those characters. The input string can have a minimum of 2 characters, and a maximum of 7 characters. A character may appear at most twice in the string. Each permutation should only appear once in the output. Παραδείγματα - Examples Είσοδος/Input: GST Έξοδος/Output: GST, GTS, TGS, TSG, STG, SGT Είσοδος/Input: AAT Είσοδος/Output: AAT, TAA, ATA
ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/26 Πρόβλημα 5 Ισορροπημένες Παρενθέσεις (1 μονάδες) Ζητείται να γραφεί πρόγραμμα το οποίο δέχεται από το πληκτρολόγιο μια συμβολοσειρά. Η συμβολοσειρά θα περιέχει μηδέν ή περισσότερες παρενθέσεις: "(" και ")". Η συμβολοσειρά έχει μέγιστο μήκος 1 χαρακτήρων. Το πρόγραμμα θα πρέπει να προσδιορίζει αν οι παρενθέσεις της συμβολοσειράς είναι ισορροπημένες ή όχι. Αν είναι ισορροπημένες τότε πρέπει να τυπώνει στην οθόνη την λέξη "Balanced", διαφορετικά να τυπώνει "Not Balanced". Write a program that accepts from the keyboard a string of characters. The string can include zero or more parentheses: "(" and ")". The string has a maximum length of 1 characters. The program should determine if the parentheses in the string are balanced. If they are balanced then it should print the word "Balanced" to the screen, otherwise it prints "Not Balanced". Παραδείγματα - Examples 2*((34+3)+(3-34))-5 Balanced (23+2*(34+3+3-34)-5) Balanced ((()())) Balanced 23+2*((34+3+(3-34))-5 Not Balanced ()) (() Not Balanced Πρόβλημα 6 Νομίσματα (1 μονάδες) Να γράψετε πρόγραμμα το οποίο να υπολογίζει τη συνολική αξία μιας συλλογής από νομίσματα. Η συλλογή περιέχει μόνο τέσσερα είδη νομισμάτων: 5 σεντς, 1 σεντς, 2 σεντς, και 5 σεντς. Το αρχείο INPUT.TXT έχει 4 γραμμές. Κάθε γραμμή έχει ένα ακέραιο αριθμό ο οποίος μπορεί να είναι μεταξύ της ελάχιστης τιμής και της μέγιστης τιμής 1. Η πρώτη γραμμή υποδηλώνει τον αριθμό των νομισμάτων των 5 σεντς της συλλογής. Η δεύτερη γραμμή υποδηλώνει τον αριθμό των νομισμάτων των 1 σεντς της συλλογής. Η τρίτη γραμμή υποδηλώνει τον αριθμό των νομισμάτων των 2 σεντς, και η τέταρτη γραμμή τον αριθμό των νομισμάτων των 5 σεντς. Το πρόγραμμα σας θα πρέπει να διαβάζει αυτές τις τιμές από το αρχείο INPUT.TXT και να γράφει το αποτέλεσμα στο αρχείο OUTPUT.TXT. Το αποτέλεσμα θα είναι η συνολική αξία των νομισμάτων της συλλογής σε σεντς. Write a program that calculates the total value of a collection of coins. The collection contains only four types of coins: 5c, 1c, 2c, and 5c. The file INPUT.TXT has 4 lines. Each line has an integer number which can have a minimum value of and a maximum value of 1. The first line indicates the number of 5c coins in the collection. The second line indicates the number of 1c coins in the collection. The third line indicates the number of 2c coins, and the fourth line the number 5c coins. The program should
ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/26 read these values from the file INPUT.TXT and output to the file OUTPUT.TXT a single line which indicates the total value of the coin collection in cents. Παραδείγματα Examples INPUT.TXT 1 OUTPUT.TXT 5 INPUT.TXT 2 OUTPUT.TXT 2 INPUT.TXT 2 4 3 OUTPUT.TXT 24 Πρόβλημα 7 Χρόνος (15 μονάδες)
ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/26 Γράψετε πρόγραμμα που δέχεται ένα ακέραιο αριθμό N από το πληκτρολόγιο, όπου N 1368. Ο ακέραιος αριθμός N αναπαριστά τον χρόνο σε δευτερόλεπτα. Το πρόγραμμα σας θα πρέπει να μετατρέπει τα δευτερόλεπτα (N) σε: μέρες (D), ώρες (H), λεπτά (M), και δευτερόλεπτα. (S) ώστε να ισχύει H 23, M 59, S 59. Το πρόγραμμα θα πρέπει να τυπώνει το αποτέλεσμα στην οθόνη. Write a program that accepts an integer N from the keyboard, where N 1368. The integer N represents time in seconds. Your program has to convert the seconds (N) into: days (D), hours (H), minutes (M), and seconds (S), such that H 23, M 59, S 59. The program then prints the output to the screen. Παραδείγματα - Examples Είσοδος/Input: Έξοδος/Output: d,h,m,s Είσοδος/Input: 34 Έξοδος/Output: d,h,m,34s Είσοδος/Input: 68 Έξοδος/Output: d,h,1m,8s Είσοδος/Input: 36 Έξοδος/Output: d,1h,m,s Είσοδος/Input: 3668 Έξοδος/Output: d,1h,1m,8s Είσοδος/Input: 864 Έξοδος/Output: 1d,h,m,s Είσοδος/Input: 86468 Έξοδος/Output: 1d,h,1m,8s Είσοδος/Input: 1368 Έξοδος/Output: 12d,h,m,s