Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Όλοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι του 10000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Αν κάπου κάνετε κάποιες υποθέσεις να αναφερθούν στη σχετική ερώτηση. Διάρκεια: 3 ώρες Καλή επιτυχία! Πρόβλημα 1 (10 μονάδες) Να γραφεί ένα πρόγραμμα το οποίο να διαβάζει το περιεχόμενο ενός αρχείου, του οποίου το όνομα θα δίνετε στη βασική είσοδο (πληκτρολόγιο),και να τυπώνει στην βασική έξοδο (οθόνη) το περιεχόμενο του, αριθμώντας την κάθε γραμμή. Problem 1 (10 points) Write a program that reads the contents of a file, whose name is typed on the keyboard, and prints it out on the screen while numbering the lines. Input File asfe dgresbre rhgtrh trhtyj ytfdb rtytbyt Οutput 1 asfe 2 dgresbre 3 rhgtrh 4 trhtyj 5 ytfdb 6 rtytbyt Πρόβλημα 2 (10 μονάδες) Να γραφεί ένα πρόγραμμα το οποίο να διαβάζει από το πληκτρολόγιο Ν ακέραιους αριθμούς των οποίων οι τιμές είναι ανάμεσα στο 0 και 100, συμπεριλαμβανομένων, και να τους τυπώνει με αύξουσα σειρά. Το πλήθος των αριθμών είναι N<1000. Το Ν θα δίνετε από το πληκτρολόγιο. Παράδειγμα Για δεδομένα εισόδου: Ν=3 και τιμές 5, 29, 2. Τα δεδομένα εξόδου θα πρέπει να είναι 2, 5, 29. Problem 2 (10 points) Write a program that reads N integer numbers from the keyboard and prints them in ascending order. N <1000 and is given on the keyboard, and the value of each integer is between 0 and 100, inclusive. Εxample, For input data N=3 and values 5, 29, 2. Τhe output should be 2, 5, 29.
Πρόβλημα 3 (15 μονάδες) Να γραφεί ένα πρόγραμμα το οποίο να διαβάζει από το πληκτρολόγιο θετικούς ακέραιους αριθμούς μέχρι να δεχτεί τον αριθμό -1 και να τυπώνει στην οθόνη τον μέσο όρο των αριθμών, το άθροισμα τους, τον μέγιστο και την σειρά με την οποία δόθηκε ο μέγιστος. Κάθε αριθμός είναι μοναδικός. Παράδειγμα Δεδομένα εισόδου: 3, 6, 53, 2, -1. Δεδομένα εξόδου: 16, 64, 53, 3. Problem 3 (15 points) Write a program that reads from the keyboard positive integer numbers until it is given the number -1 as input. As output it prints the average of all numbers, their total sum, the maximum number and the order in which the maximum number was given. Εxample, Input data 3, 6, 53, 2, -1. Output data 16, 64, 53, 3. Πρόβλημα 4 (15 μονάδες) Να γράψετε ποια θα είναι η έξοδος του πιο κάτω κώδικα αν κληθεί με όρισμα n=4 Problem 4 (15 points) Give the output of the following pseudocode if it is called with argument n=4 function f(int n) { if (n = 0) x = 0 endif if (n = 1) x =1 else if (n > 1) x = f(n-1) + f(n-2) endif print x return x }
Πρόβλημα 5 (20 μονάδες) Η γραμμή παραγωγής αναψυκτικού του εργοστασίου «Το Χρυσό Ηφαίστειο» αποτελείται από μία δεξαμενή με μέγιστη χωρητικότητα V λίτρα από την οποία γεμίζουν τα μπουκάλια που περνούν διαδοχικά από κάτω από την δεξαμενή. Η χωρητικότητα κάθε μπουκαλιού είναι ένας ακέραιος αριθμός λίτρων και τα μπουκάλια δεν έχουν όλα την ίδια χωρητικότητα. Για να γεμίσουν όλα τα μπουκάλια η δεξαμενή ίσως χρειαστεί να γεμίσει πλήρως περισσότερες από μια φορές. Η δεξαμενή γεμίζει πλήρως αν περιέχει ποσότητα μικρότερη από την χωρητικότητα του μπουκαλιού που έχει σειρά να γεμίσει και στη συνέχεια γεμίζει το μπουκάλι. Είσοδος: Η είσοδος αποτελείτε από δύο γραμμές: Η πρώτη γραμμή περιέχει δύο ακέραιους, τη χωρητικότητα της δεξαμενής V, και τον αριθμό των μπουκαλιών Ν που πρέπει να γεμίσουν. Στην επόμενη γραμμή δίνονται Ν αριθμοί που αντιπροσωπεύουν την σειρά και την χωρητικότητα του κάθε μπουκαλιού. Έξοδος: Το πρόγραμμα πρέπει να εκτυπώνει τον ελάχιστο αριθμό των φορών όπου θα γεμίσει πλήρως η δεξαμενή μέχρι να γεμίσουν όλα τα μπουκάλια στην σειρά την οποία δίνονται. Υποθέτουμε ότι αρχικά η δεξαμενή είναι άδεια. Η είσοδος δίνεται από το πληκτρολόγιο. Είσοδος: Έξοδος: 20 7 3 5 5 5 6 6 7 8 Problem 5 (20 points) The production line of a soft drinks factory The Golden Volcano consists of a tank with maximum capacity V litres. A series of bottles pass successively under this tank. Each bottle is filled completely as it passes under the tank. The capacity of each bottle is an integer number of litres. The bottles do not all necessarily have the same capacity. In order to fill all the bottles, the tank might have to be filled completely one or more times. If there is a bottle waiting to be filled, and the tank at that moment contains less liquid than the capacity of the bottle, then the tank is completely filled to its capacity V, and then the bottle is completely filled. Input: The input consists of 2 lines. The first line has 2 integer numbers. The first number is the capacity of the tank (V). The second number is the number of bottles (N), which have to be filled. The second line consists of N integers, which represent the capacity of each bottle in litres, in the order in which the bottles will arrive to the tank. The numbers on each line are separated with a space. Output: The program outputs the minimum number of times which the tank has to be filled in order to fill all the bottles in the order given in the input. It is assumed that the tank is initially empty. All input is given on the keyboard. Input: Output: 20 7 3 5 5 5 6 6 7 8
Πρόβλημα 6 (30 μονάδες) Να γράψετε ένα πρόγραμμα που: α) να δέχεται ακέραιες τιμές για τα στοιχεία aij με i = 1,, n και j = 1,, n ενός τετραγωνικού πίνακα n x n. Όπου 2 n 1000 β) να υπολογίζει και να τυπώνει το άθροισμα των στοιχείων της κάθε γραμμής και το άθροισμα των στοιχείων της κάθε στήλης. γ) βρίσκει τον 2x2 υποπίνακα του οποίου τα 4 στοιχεία έχουν το μέγιστο άθροισμα και το τυπώνει. Σημείωση: Όλες οι τιμές θα διαβάζονται από το πληκτρολόγιο. Ο πρώτος ακέραιος που θα δοθεί είναι η διάσταση του πίνακα, π.χ. αν ο πρώτος αριθμός είναι το 4 τότε ο πίνακας είναι 4Χ4 (αποτελείται δηλαδή από 16 στοιχεία) Problem 6 (30 points) Write a program which: a) accepts integer values for the elements a ij of a square matrix (n x n) where i = 1,, n and j = 1,, n. Where 2 n 1000 b) Calculates and prints the sum of the elements of each row and the sum of the elements of each column c) Finds the 2x2 submatrix whose 4 elements have the highest sum, and prints this sum. Note: All values will be inputted from the keyboard. First you accept integer n, which is the dimension of the matrix. For example if n=4 then you have a 4X4 matrix (it consists of 16 elements) Παραδείγματα Examples Είσοδος/Input: 3 1 5 3 4 3 6 7 2 2 Έξοδος/Output: Column 1: 12 Column 2: 10 Column 3: 11 Row 1: 9 Row 2: 13 Row 3: 11 MAX: 17
Επεξήγηση Στα δεδομένα εισόδου αντιστοιχεί ο πιο κάτω πίνακας. Όπου ο 2x2 υποπίνακας του οποίου τα 4 στοιχεία έχουν το μέγιστο άθροισμα είναι σε έντονο περίγραμμα. Explanation The input data represent the following table. Where the 2x2 submatrix whose 4 elements have the highest sum are in bold outline. 1 5 3 4 3 6 7 2 2