ΘΕΜΑΤΑ + ΥΠΟ ΕΙΓΜΑΤΙΚΗ ΕΠΙΛΥΣΗ

Σχετικά έγγραφα
Εισαγωγή στην πληροφορική

Εισαγωγή στην πληροφορική

Οι εντολές ελέγχου της ροής ενός προγράµµατος

Εισαγωγή στην πληροφορική

Συστήματα αρίθμησης. = α n-1 *b n-1 + a n-2 *b n-2 + +a 1 b 1 + a 0 όπου τα 0 a i b-1

Εισαγωγή στην πληροφορική

Εισαγωγή στην πληροφορική

Κεφάλαιο ΙII : Εργαστηριακές ασκήσεις που αφορούν εντολές ελέγχου της ροής ενός προγράµµατος.

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Εισαγωγή στην πληροφορική

1. Βάσεις αριθμητικών συστημάτων 2. Μετατροπές μεταξύ ξύβάσεων 3. Αρνητικοί δυαδικοί αριθμοί 4. Αριθμητικές πράξεις δυαδικών αριθμών

Το πρόγραμμα θα τυπώνει και τους τρεις πίνακες.

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ

Εισαγωγή στην Πληροφορική

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Η δήλωση πού δηµιουργεί αποθήκευση τών δεδοµένων ονοµαζεται ορισµός τής µεταβλητής.

1. ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΩΝ. α i. (α i β i ) (1.3) όπου: η= το πλήθος ακεραίων ψηφίων του αριθμού Ν. n-1

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Τύποι Δεδομένων Είσοδος/Έξοδος

ΠΛΗ21 Κεφάλαιο 2. ΠΛΗ21 Ψηφιακά Συστήματα: Τόμος Α Κεφάλαιο: Παράσταση Προσημασμένων Αριθμών Συμπληρώματα

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 7 και 8: Αναπαραστάσεις. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

Προγραμματισμός Η/Υ (ΤΛ2007 )

2.1. Εντολές Σχόλια Τύποι Δεδομένων

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Εισαγωγή στον Προγραμματισμό

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ

Εισαγωγή στην Πληροφορική ΓΕΝΙΚΟ ΤΜΗΜΑ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ TEI ΧΑΛΚΙ ΑΣ

Ανάπτυξη και Σχεδίαση Λογισμικού

Πληροφορική. Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Ελίνα Μακρή

ΗΥ-150. Προγραμματισμός

2. ΑΡΙΘΜΗΤΙΚΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. 2.1 Αριθμητικά συστήματα

ΗΥ-150. Προγραμματισμός

Προγραμματισμός Η/Υ (ΤΛ2007 )

EΒ ΟΜΑ Α 4 Η. οµές επανάληψης while και do while

Μονοδιάστατοι πίνακες

Προγραµµατιστικές τεχνικές

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Μέρος Β (Οργάνωση Υπολογιστών)

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Εισαγωγή στην πληροφορική

ΕΞΕΤΑΣΗ ΙΑΝΟΥΑΡΙΟΥ (28/1/2011)

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

ΠΛΗ111. Ανοιξη Μάθηµα 2 ο. Αλγόριθµοι και Αφηρηµένοι Τύποι εδοµένων. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

Δομές Επανάληψης. Εισαγωγή στη C++

Ινστιτούτο Επαγγελµατική Κατάρτιση Κορυδαλλού "ΤΕΧΝΙΚΟΣ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ" (Ερωτήσεις Πιστοποίησης στην γλώσσα προγραµµατισµού C)

Δομές ελέγχου ροής προγράμματος

Παίρνοντας Αποφάσεις 1

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Αριθµητική υπολογιστών

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΚΑΙ ΠΙΝΑΚΕΣ

Περιγραφή αλγορίθµων. ιαγράµµατα ροής

ΑΣΚΗΣΗ 4: ΟΜΕΣ ΒΑΣΙΚΩΝ ΒΡΟΧΩΝ

ΑΣΚΗΣΕΙΣ ΓΙΑ ΜΕΛΕΤΗ ΚΑΙ ΕΚΠΟΝΗΣΗ ΣΤΟ ΕΡΓΑΣΤΗΡΙΟ

Δομημένος Προγραμματισμός (ΤΛ1006)

Εισαγωγή στην πληροφορική

Θεωρητικό Μέρος. int rec(int n) { int n1, n2; if (n <= 5) then return n; else { n1 = rec(n-5); n2 = rec(n-3); return (n1+n2); } }

Προσέξτε πως η παράσταση μπορεί να περιλαμβάνει όχι μόνο μία τιμή ή μια άλλη μεταβλητή αλλά μια ολόκληρη μαθηματική παράσταση, όπως η εξής:

a = 10; a = k; int a,b,c; a = b = c = 10;

Ηλεκτρονικοί Υπολογιστές

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

Η Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 6 Εντολές Επανάληψης Ασκήσεις. Γιώργος Λαμπρινίδης

Εισαγωγή στην επιστήμη των υπολογιστών. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ και Μετατροπές Αριθμών

Ελίνα Μακρή

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι χρειάζεται η εντολή if ; Εντολή if. Παράδειγμα #1. Παράδειγμα #1

ΘΕΜΑΤΑ ΕΞΕΤΑΣΗΣ ΚΑΙ ΑΠΑΝΤΗΣΕΙΣ ΤΟΥΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

ΑΣΚΗΣΗ 6: ΔΕΙΚΤΕΣ. Σκοπός της Άσκησης. 1. Εισαγωγικά στοιχεία για τους Δείκτες

Εισαγωγή στην πληροφορική

viii. Α[7] Α[1] Α[3] + Α[8] 2. Δίνεται οι παρακάτω πίνακες ακεραίων Α και Β

Προγραμματιστικές τεχνικές

Χωρική Βάση δεδοµένων Autocad

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

ΕΠΑΝΑΛΗΠΤΙΚΗ ΕΞΕΤΑΣΗ (14/9/2012)

Γλώσσα Προγραμματισμού C

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Εντολές Επανάληψης. int sum = 0, i=1; sum += i++ ; sum += i++ ; Η πράξη αυτή θα πρέπει να επαναληφθεί Ν φορές!

Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα

Β7.1.4 Δομές Επανάληψης. Β Λυκείου Κατεύθυνσης

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

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

Μονάδες 10. Μονάδες 9 5 PROLOG. Μονάδες 5

Βασικά Στοιχεία της Java

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

ΣΤΟΙΒΕΣ (stacks) Σχήµα: Λειτουργία Στοίβας

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΥΠΗΡΕΣΙΩΝ 2005

Εισαγωγή στην πληροφορική

ΠΡΟΓΡΜΜΑΤΑ ΣΕ C. Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση:

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

Transcript:

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΑΓΡΟΝΟΜΩΝ ΤΟΠΟΓΡΑΦΩΝ ΜΗΧΑΝΙΚΩΝ Μάθηµα: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2002 ιδάσκοντες: Β.Βεσκούκης, Ρ.Κορακίτης ΘΕΜΑΤΑ + ΥΠΟ ΕΙΓΜΑΤΙΚΗ ΕΠΙΛΥΣΗ 1 2 3.1 3.2 3.3 3.4 4.1 4.2 4.3 Θεµα 1 (µονάδες 5) Να συµπληρώσετε τον παρακάτω πίνακα κάνοντας τις µετατροπές µεταξύ των αριθµητικών συστηµάτων δεκαεξαδικό, οκταδικό και δυαδικό. Α ΥΑ ΙΚΟ ΟΚΤΑ ΙΚΟ ΕΚΑΕΞΑ ΙΚΟ 1 00000010 2 2 2 011111 37 1F 3 10001100 214 8C 4 010001 21 11 5 01110101 165 75 Β ΥΑ ΙΚΟ ΟΚΤΑ ΙΚΟ ΕΚΑΕΞΑ ΙΚΟ 1 00010011 23 13 2 111011 73 3Β 3 10011101 235 9D 4 010010 22 12 5 00110100 64 34 Θεµα 2 (µονάδες 5) Εξηγήστε στο χώρο που διατίθεται τη διαφορά µεταξύ των τύπων της C++ unsigned int (οµάδα Β: unsigned short) και int (οµάδα Β: short) σε υπολογιστή που για την παράσταση του τύπου int (οµάδα Β: short) χρησιµοποιεί λέξη µήκους 32 bit (οµάδα Β: 16 bit). εν χρειάζεται να υπολογίσετε δυνάµεις του 2, αρκεί να τις αναφέρετε απλά ως δυνάµεις (π.χ. 2 8 ). Α. Με χρήση µη προσηµασµένων ακεραίων τύπου unsigned int µπορεί να παρασταθούν οι αριθµοί 0 έως 2 32-1, ενώ µε χρήση προσηµασµένων int παριστάνονται αριθµοί από -(2 31-1) έως 2 31-1 διότι 1 bit χρησιµοποιείται για το πρόσηµο. Στη δεύτερη περίπτωση, µε χρήση συµπληρώµατος ως προς 2 παριστάνονται οι αριθµοί από -2 31 έως 2 31-1. Β. Με χρήση µη προσηµασµένων ακεραίων τύπου unsigned short µπορεί να παρασταθούν οι αριθµοί 0 έως 2 16-1, ενώ µε χρήση προσηµασµένων short παριστάνονται αριθµοί από -(2 15-1) έως 2 15-1 διότι 1 bit χρησιµοποιείται για το πρόσηµο. Στη δεύτερη περίπτωση, µε χρήση συµπληρώµατος ως προς 2 παριστάνονται οι αριθµοί από -2 15 έως 2 15-1.

Θέµα 3 (µονάδες 55) Προκειµένου να διασφαλιστεί η ποιότητα των εργασιών τοπογραφικής αποτύπωσης που εκτελούνται από έναν φορέα, δύο οµάδες Α και Β που λειτουργούν ανεξάρτητα, λαµβάνουν µετρήσεις αποστάσεων Ν σηµείων από ένα καθορισµένο σηµείο αναφοράς µε γνωστές συντεταγµένες (Χ 0, Υ 0 ), ίδιες και για τις δύο οµάδες Α και Β. Από κάθε οµάδα λαµβάνονται οι µετρήσεις αποστάσεων A i, και B i αντίστοιχα, i=1 έως N. Μετά την ολοκλήρωση των µετρήσεων οι τιµές που µετρήθηκαν από κάθε οµάδα καταχωρούνται σε Η/Υ µε χρήση ενός προγράµµατος C++ προκειµένου να ελεγχθεί η ακρίβειά τους. Ο έλεγχος έχει ως αποτέλεσµα έναν νέο πίνακα τιµών T i και ακολουθεί τους εξής κανόνες: Αν οι δύο µετρήσεις Α i και Β i του ίδιου µήκους διαφέρουν µεταξύ τους µέχρι 2% λαµβάνεται ως σωστή και καταχωρείται στη θέση Τ i η µικρότερη µέτρηση από αυτές. Αν διαφέρουν από 2 έως 5% λαµβάνεται ως σωστή τιµή και καταχωρείται στη θέση Τ i η τιµή του µέσου όρου των δύο µετρήσεων. Αν διαφέρουν πάνω από 5%, τότε η συγκεκριµένη µέτρηση µήκους (i) πρέπει να επαναληφθεί. Με αυτή την επεξεργασία των µετρήσεων, προκύπτει ο πίνακας T i που περιέχει Ν τιµές µηκών οι οποίες έχουν υπολογιστεί µε τον παραπάνω τρόπο, καθώς και ένας πίνακας Measure i µε Ν στοιχεία, καθένα από τα οποία έχει την τιµή 1 (ένα) αν η αντίστοιχη µέτρηση πρέπει να πραγµατοποιηθεί και 0 (µηδέν) αν όχι. 3.1 (µονάδες 10) Να συµπληρώσετε παρακάτω τα δεδοµένα εισόδου και τα αποτελέσµατα του προβλήµατος που περιγράφηκε. εδοµένα εισόδου - Οι συντεταγµένες του σηµείου αναφοράς Χ 0, Υ 0 - Το πλήθος των σηµείων Ν - Οι µετρήσεις A(i) της οµάδας Α - Οι µετρήσεις Β(i) της οµάδας Β Αποτελέσµατα - Ο πίνακας Τ που περιέχει τις τελικές µετρήσεις - Ο πίνακας Measure που περιέχει τις µετρήσεις που πρέπει να ξαναγίνουν 2

3.2 (µονάδες 15) Να καταστρώσετε έναν αλγόριθµο για την πραγµατοποίηση ελέγχου της ακρίβειας των µετρήσεων σύµφωνα µε τη διαδικασία που περιγράφηκε. Nα αναφερθείτε µόνο στον έλεγχο των µετρήσεων και όχι στην ανάγνωση των δεδοµένων ή την έξοδο των αποτελεσµάτων. Σηµείωση: για τα θέµατα της οµάδας Β, οι τιµές 2 και 5 είναι 3 και 6 αντίστοιχα 3

3.3 (µονάδες 10) Να κατασκευάσετε ένα πρόγραµµα C++ που να διαβάζει από το πληκτρολόγιο τις τιµές Χ 0, Υ 0, την τιµή Ν, καθώς και τις τιµές των µετρήσεων τις οποίες να αποθηκεύει στους πίνακες Α[] και Β[] για τις αποστάσεις που µέτρησε η οµάδα Α και Β αντίστοιχα. Το πρόγραµµά σας πρέπει να διασφαλίζει ότι το πλήθος Ν των σηµείων δεν είναι µεγαλύτερο από 500, να περιέχει τις δηλώσεις των πινάκων και να πραγµατοποιεί µόνο την ανάγνωση των δεδοµένων. int N, i; float A[500], B[500], X0, Y0; cout<<"enter the value of X0 :"; cin>>x0; cout<<"enter the value of Y0 :"; cin>>y0; do cout<<"how many measurements? "; cin>>n; while ((N<=0) (N>500)); for (i=0;i<n;i++) cout<<"enter measurement "<<i<<" for team A:"; cin>>a[i]; cout<<"enter measurement "<<i<<" for team B:"; cin>>b[i]; 4

3.4 (µονάδες 20) Να κατασκευάσετε ένα πρόγραµµα C++ που θεωρεί ότι έχουν διαβαστεί τα δεδοµένα N, Α[i], Β[i], i=0..(n-1) µε τις µετρήσεις των δύο οµάδων και υπολογίζει τους πίνακες Τ[i], i=0..n-1 µε τα τελικά µήκη και Measure[i], i=0..n-1 ο οποίος σε κάθε θέση του έχει την τιµή 1 ή 0 ανάλογα µε την ανάγκη να επαναληφθεί η αντίστοιχη µέτρηση ή όχι, σύµφωνα µε την περιγραφή που προηγήθηκε. Το πρόγραµµά σας πρέπει να περιέχει τις δηλώσεις των πινάκων και να πραγµατοποιεί µόνο τους υπολογισµούς που ζητούνται. Η ποσοστιαία % διαφορά δύο τιµών Κ και Λ να εκληφθεί ως abs(κ-λ)/κ * 100 float D; // προαιρετική δήλωση for (i=0;i<n;i++) D=abs(A[i]-B[i])/A[i]*100; if (D<=2) if (A[i]>B[i]) T[i]=B[i]; else T[i]=A[i]; Measure[i]=0; else if ((D>2) && (D<=5)) T[i]=(A[i]+B[i])/2; Measure[i]=0; else T[i]=0; Measure[i]=1; // οµάδα Β: D<=3 // οµάδα Β: (D>3) && (D<=6) Μια δεύτερη εκδοχή: for (i=0;i<n;i++) D=abs(A[i]-B[i])/A[i]*100; Measure[i]=0; T[i]=0; if (D<=2) T[i] = (A[i]>B[i])? B[i] : A[i]; else if (D<=5) T[i]=(A[i]+B[i])/2; else Measure[i]=1; // οµάδα Β: D<=3 // οµάδα Β: D<=6 5

Θέµα 4 (µονάδες 15) ίνεται το παρακάτω τµήµα προγράµµατος C++ int hours; float parking_price; cout<<"parking price estimation"<<endl; do cout<<"how many hours? "; cin>>hours; 4.1 while ((hours<1) (hours>8)); parking_price=10; // οµάδα Β: 8 αντί για 10 switch (hours) case 8: parking_price = parking_price + 5; // οµάδα Β: +4 αντί για 5 case 7: parking_price = parking_price + 5; case 6: parking_price = parking_price + 5; // 4 αντί για 5 case 5: parking_price = parking_price + 5; 4.3 case 4: parking_price = parking_price + 5; case 3: parking_price = parking_price + 5; case 2: parking_price = parking_price + 5; case 1: parking_price = parking_price + 5; cout << "The price is:"<<parking_price<< endl; // οµοίως µέχρι το τέλος 4.1 (µονάδες 5) Τι κάνει το τµήµα προγράµµατος που είναι σηµειωµένο ως "4.1" ιαβάζει έναν ακέραιο (hours) από το πληκτρολόγιο και επαναλαµβάνει την ανάγνωση µέχρις ότου δοθεί αριθµός µεταξύ 1 και 8, δηλαδή να ισχύει 1<=hours<=8. 4.2 (µονάδες 5) Τι τυπώνει το πρόγραµµα αν δοθούν από το πληκτρολόγιο τα δεδοµένα 10 (οµάδα Β: 9) και 2 (οµάδα Β: 3) µε αυτή τη σειρά; Α: The price is 20. ιότι για την τιµή 10 επαναλαµβάνεται η ανάγνωση και δεν τυπώνεται αποτέλεσµα, ενώ για την τιµή 2 εκτελούνται οι δύο τελευταίες εντολές της δοµής switch, οπότε parking_price=10 (αρχική τιµή) + 5 (τιµή από το "case 2") + 5 (τιµή από το "case 1"). Οι εντολές µέσα στο switch από το 2 και µετά εκτελούνται όλες γιατί δεν υπάρχει break. Β: The price is 20. ιότι για την τιµή 9 επαναλαµβάνεται η ανάγνωση και δεν τυπώνεται αποτέλεσµα, ενώ για την τιµή 3 εκτελούνται οι τρεις τελευταίες εντολές της δοµής switch, οπότε parking_price=8 (αρχική τιµή) + 4 (τιµή από το "case 3") + 4 (τιµή από το "case 2") + 4 (τιµή από το "case 1"). Οι εντολές µέσα στο switch από το 3 και µετά εκτελούνται όλες γιατί δεν υπάρχει break. 4.3 (µονάδες 5) Προτείνετε έναν εναλλακτικό και πιο απλό τρόπο να γραφεί το τµήµα του προγράµµατος "4.3" Τρόπος 1 parking_price=parking_price+hours*5; Οµάδα Β: το ίδιο, µε 4 αντί για 5 Τρόπος 2 int i; for (i=1; i<=hours; i++) parking_price = parking_price + 5; 6