procedure Calculate (a: real; var Β: real; m: integer; var k, n: integer; var c : integer);...

Σχετικά έγγραφα
Στήλες:

procedure Calculate (a: real; var Β: real; m: integer; var k,n: integer; var c: integer); begin... end;

Τμήμα Εφαρμοσμένης Πληροφορικής


ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΥ ΕΞΑΜΗΝΟ : Α. ΥΠΕΥΘΥΝΟΣ ΜΑΘΗΜΑΤΟΣ : Μάγια Σατρατζέµη

Κεφάλαιο 9 : Βασικές εντολές

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

Τμήμα Διοίκησης Τεχνολογίας Α/Α POSO Ν... SYN...

ΔΙΑΔΙΚΑΣΤΙΚΟΣ ΠΡΟΓΡΑ Ρ Μ Α ΜΑΤΙ Τ ΣΜΟΣ

επιστρέφει αριθµό που προκύπτει µε αντιστροφή των στοιχείων του πρώτου

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

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL

Τμήμα Εφαρμοσμένης Πληροφορικής

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Στην εντολή while η επανάληψη συνεχίζεται όσο η λογική έκφραση έχει τιμή false.

Διαδικασιακός Προγραμματισμός

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

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

Pascal. 26 Οκτωβρίου 2011

Αναφέρατε τις ιδιότητες που πρέπει να διακρίνουν τα υποπρογράμματα. Μονάδες 3

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑ Α Β ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙ ΙΚΟΤΗΤΑΣ

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Εξετάσεις Προσομοίωσης 24/04/2019

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β.

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

Η ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ Εντολές Επανάληψης REPEAT UNTIL, FOR, WHILE

ΜΑΗΣ ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ

4. Ποιος είναι ο τύπος και ποια η τιμή της μεταβλητής που χρησιμοποιείται παρακάτω;

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΝΕΟ ΚΑΙ ΠΑΛΑΙΟ ΣΥΣΤΗΜΑ

2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου

Ενότητα 1: «Εισαγωγή στην Αλγοριθμική και τον Προγραμματισμό. Απλές ασκήσεις με γλώσσα Pascal»

- program p_name(output); - uses crt;

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

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

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

2. β. Συνθήκη ή επιλογή. 4. δ. Υποπρόγραμμα. 5. ε. ιαδικασία εισόδου ή εξόδου

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

ÁÎÉÁ ÅÊÐÁÉÄÅÕÔÉÊÏÓ ÏÌÉËÏÓ

ιαφάνειες παρουσίασης #6

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

- program p_name(input) - uses crt

ιαφάνειες παρουσίασης #4

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

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

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2013 ÅÐÉËÏÃÇ

Επαναληπτικό διαγώνισμα στην Α.Ε.Π.Π - 18 / Απριλίου / 2010 ΘΕΜΑ 1

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ' ΛΥΚΕΙΟΥ ΤΕΧΝ/ΚΗΣ ΚΑΤ/ΝΣΗΣ (Πλ. & Υπ.) 2006 ΕΚΦΩΝΗΣΕΙΣ ÈÅÌÅËÉÏ

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) a= b= c= 3 read(d,e)

Άσκηση 1. Ποια από τα κάτω αλφαριθμητικά είναι αποδεκτά ως ονόματα μεταβλητών σε έναν αλγόριθμο i. Τιμή

8 FORTRAN 77/90/95/2003

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ

ΒΑΣΙΚΕΣ ΟΔΗΓΙΕΣ ΓΙΑ ΤΗΝ ΧΡΗΣΗ ΤΟΥ ΧΕΛΩΝΟΚΟΣΜΟΥ ΣΤΟ ΑΒΑΚΙΟ E-SLATE ΠΟΙΕΣ ΨΗΦΙΔΕΣ ΠΡΕΠΕΙ ΝΑ ΕΜΦΑΝΙΣΟΥΜΕ

Εισαγωγή στο Προγραμματισμό για Μηχανολόγους Οδηγός Προετοιμασίας για τη Τελική Εξέταση

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ:

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙ ΕΣ

A3. Μονάδες 5 Α4. Μονάδες 10 ΘΕΜΑ B. Β1. writeln Περιεχόμενα Εντολή Αποτελέσματα Παραμέτρων Μονάδες 20 ΘΕΜΑ Γ.

Άσκηση 1. Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του Z στα παρακάτω κομμάτια κώδικα FORTRAN:

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

Τμήμα Διοίκησης Τεχνολογίας. Εξάμηνο Β' Φύλλο Ασκήσεων 2 ΔΟΜΕΣ ΕΠΙΛΟΓΗΣ Διδάσκοντες: Στέλιος Ξυνόγαλος, Θεόδωρος Κασκάλης

Διαδικαστικός Προγραμματισμός

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος...

Χρησιμοποιώντας διαδικασίες

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

Στήλη Β Προτάσεις. 1. Όσο συνθήκη επανάλαβε εντολές Τέλος_επανάληψης 2. Αρχή_επανάληψης εντολές Μέχρις_ότου συνθήκη

Στήλη Β Προτάσεις α. Ο βρόχος επανάληψης τερµατίζεται, όταν η συνθήκη είναι αληθής β. Ο βρόχος επανάληψης

Καθηγητής Ε. Χ. ΖΙΟΥΛΑΣ

Γ ΤΑΞΗ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ÑÏÌÂÏÓ

Προγραμματισμός PASCAL

Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. β. Οι πληροφορίες είναι δεδομένα τα οποία δεν έχουν υποστεί επεξεργασία.

Γ7.8 Εγγραφές (Structures) Γ Λυκείου Κατεύθυνσης

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

Συμβολικά ονόματα που δίνονται σε θέσεις μνήμης όπου αποθηκεύονται αριθμοί. ιεύθυνση

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

Μονάδες 4. β. x=20 και y=10

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ-ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΚΑΔΗΜΑΪΚΟ ΕΠΑΛ- ΚΑΝΙΓΓΟΣ 13- ΤΗΛ

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

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

Αποτελέσματα προόδου

Α1. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1-5 και, δίπλα, τη λέξη ΣΩΣΤΟ, αν η πρόταση είναι σωστή, ή τη λέξη

ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α A1. 2-Λάθος 3-Λάθος 4-Σωστό 5-Λάθος A2. integer. real. Boolean. char. string A3.

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙΔΕΣ

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL

ΘΕΜΑ 1 ο. Στήλη Β Προτάσεις. β. Ο βρόχος επανάληψης τερµατίζεται, όταν η συνθήκη είναι αληθής. όταν η συνθήκη είναι ψευδής.

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

ΑΠΑΝΤΗΣΕΙΣ. α- Σωστό β- Σωστό γ- Λάθος δ- Λάθος ε- Σωστό στ- Σωστό

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Κανονική εξέταση, Φεβρουάριος 2005

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

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ : ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΥ ΕΞΑΜΗΝΟ : Α' ΦΥΛΛΟ ΑΣΚΗΣΕΩΝ : 7 ιαδικασίες (Ρrocedures) ΥΠΕΥΘΥΝΟΣ ΜΑΘΗΜΑΤΟΣ : Μάγια Σατρατζέµη Παρατηρήσεις: 1. Τα δεδοµένα εισόδου διαβάζονται πάντα µε ξεχωριστές εντολές Readln( ) το καθένα και µε τη σειρά που δηλώνονται στις εκφωνήσεις. 2. Αντίστοιχα για τα δεδοµένα εξόδου και όπου δεν υπάρχουν περαιτέρω διευκρινήσεις για τη µορφή τους, αυτά θα εµφανίζονται µε ξεχωριστές εντολές Writeln( ) το καθένα και µε τη σειρά που δηλώνονται στις εκφωνήσεις. 3. Τα αριθµητικά δεδοµένα αναπαρίστανται πάντα από µεταβλητές ακέραιου τύπου (Longint κατά κύριο λόγο ή Integer). Σε αντίθετη περίπτωση (µεταβλητές τύπου Real) θα γίνονται οι απαραίτητες διευκρινήσεις. 4. Το αποτέλεσµα πράξης στην οποία συµµετέχει αριθµός τύπου Real, θα είναι πάντα ακέραιος αριθµός. Σε αντίθετη περίπτωση θα γίνονται οι απαραίτητες διευκρινήσεις. 5. Για την εµφάνιση των τιµών µεταβλητών τύπου Real θα χρησιµοποιείται πάντα η εξής στοίχιση: µεταβλητή:3:1, δηλαδή τα δεδοµένα θα είναι στοιχηµένα στα αριστερά χωρίς κενά και µε ένα δεκαδικό ψηφίο. Σε περίπτωση που απαιτείται διαφορετική στοίχιση θα δίνονται οι απαραίτητες διευκρινήσεις. 6. Για την εµφάνιση πολλών δεδοµένων στην ίδια γραµµή θα τυπώνεται ένας κενός χαρακτήρας ανά δεδοµένο. Για την αναπαράσταση του κενού χαρακτήρα στις εκφωνήσεις χρησιµοποιείται η κάτω παύλα -underscore- _. 1. ίνεται o παρακάτω σκελετός ενός προγράµµατος Ρascal: program demo; const pi=3.14159; two=2; var Μonth, Day, Υear, p, q: integer; Ηours, Rate, Αmount, u, w: real; Code, Class: char; procedure Calculate (a: real; var Β: real; m: integer; var k, n: integer; var c : integer);............ Προσδιορίστε ποιες από τις επόµενες εντολές µπορούν να χρησιµοποιηθούν µέσα σε ένα πρόγραµµα (δηλαδή δεν περιέχουν λάθη): i) Calculate(u, v, two, p, q, Code); ii) Calculate(pi, u, w, two, Day, Υear, Class); iii) Calculate(Ηours, pi, two, Day, Υear, Class); iv) while u>0 do Calculate(Rate, u, Day+2, p, q, 'm'); v) Calculate(0, Ηours, (p+1)/2, Day, year, Code); vi) while Αmount>0 do Calculate(two, Αmount, Day, p+q, Day, Class); 2. Πληκτρολογείστε και εκτελέστε το παρακάτω πρόγραµµα. Εξηγείστε τα αποτελέσµατα που προκύπτουν. ΡRΟGRΑΜ Ηard_to_believe; Νumber :integer; ΡRΟCΕDURΕ Double_and_add( first,second :integer); 7-1

first:=2*first; second:=1+second; ΕΝD; (*ΟF DΟUΒLΕ_ΑΝD _ΑDD*) ΡRΟCΕDURΕ Αdd_Αnd_Double( first,second:integer); first:=1+first; second:=2*second; ΕΝD;(*ΟF ΑDD _ΑΝD_DΟUΒLΕ*) Νumber:=3; Double_and_add(number,number); writeln(number); Νumber:=3; Αdd_and_Double(number,number); writeln(number); 3. Εξηγείστε τα αποτελέσµατα των παρακάτω προγραµµάτων: Α. ΡRΟGRΑΜ nosense; thing :integer; ΡRΟCΕDURΕ cheat(var hee,haw:integer); begin hee:=-1; haw:=-hee; end; Β. thing:=1; cheat(thing,thing); writeln(thing); ΡRΟGRΑΜ rubbish; thing : integer; ΡRΟCΕDURΕ liar( hee : integer; begin hee:=10*haw; end; haw : integer); thing:=10; liar(thing,thing); writeln(thing); 7-2

4. Να γραφεί πρόγραµµα που θα περιλαµβάνει 3 διαδικασίες µε ονόµατα: i) leftjust(s, L, Χ, Υ), ii) rightjust(s, L, Χ, Υ) και iii) centerjust(s, L, Χ, Υ) που θα στοιχίζουν αντίστοιχα ένα αλφαριθµητικό S αριστερά, δεξιά και στο κέντρο ενός πεδίου καθορισµένου µήκους L (byte) σε µία συγκεκριµένη θέση της οθόνης µε συντεταγµένες X, Y (byte). Το µήκος του πεδίου µπορεί να είναι ίσο ή µεγαλύτερο του µήκους του αλφαριθµητικού (µέγιστο µήκος 80 χαρακτήρες). Το αλφαριθµητικό θα εµφανίζεται µετά την στοίχιση σε reverse video (µαύρο χρώµα χαρακτήρων σε άσπρο φόντο). Τα αλφαριθµητικά, το µήκος του πεδίου και οι συντεταγµένες Χ,Υ στην οθόνη θα διαβάζονται από το κυρίως πρόγραµµα και στη συνέχεια θα εκτελούνται διαδοχικά όλες οι παραπάνω διαδικασίες. 5. Να γραφεί πρόγραµµα που θα περιλαµβάνει µια διαδικασία µε όνοµα Delspaces(ΟldS, ΝewS) η οποία θα αφαιρεί τους κενούς χαρακτήρες (#32) που υπάρχουν στην αρχή και το τέλος ενός αλφαριθµητικού επιστρέφοντας ένα νέο αλφαριθµητικό που θα έχει προφανώς διαφορετικό µήκος. Τo αρχικό αλφαριθµητικό (OldS) θα διαβάζεται από το κυρίως πρόγραµµα και µετά την εκτέλεση του προγράµµατος θα εµφανίζονται το τελικό αλφαριθµητικό (NewS) και το µήκος του. 6. a) Να γίνει πρόγραµµα που θα περιλαµβάνει µια διαδικασία η οποία θα σχεδιάζει στην οθόνη ένα ορθογώνιο πλαίσιο, αν δίνονται το πλάτος και το ύψος του (3 πλάτος 80 και 3 ύψος 25), µε τη χρήση των κατάλληλων χαρακτήρων του κώδικα ΑSCΙΙ. Το πλαίσιο θα πρέπει να εµφανίζεται κεντραρισµένο στην οθόνη και θα υπάρχει η δυνατότητα επιλογής απλών ή διπλών γραµµών περιγράµµατος. b) Να γραφεί µια διαδικασία µε όνοµα Random_Gen(Α,Β), η οποία χρησιµοποιώντας τη συνάρτηση Random θα δηµιουργεί τυχαίους αριθµούς µεταξύ των ορίων Α,Β (βλέπε βιβλίο Κ. Κ.Τσούρου σελ. 26 τύπος (1)). Στη συνέχεια να γραφεί πρόγραµµα που θα καλεί την Random_Gen για τη δηµιουργία τυχαίων τιµών ύψους - πλάτους αποδεκτών για τις διαστάσεις της οθόνης (25x80) και δεδοµένου του τύπου γραµµής περιγράµµατος θα σχεδιάζει το αντίστοιχο πλαίσιο στην οθόνη. 7. Να γραφεί µια διαδικασία µε όνοµα ΡΕΤC(Χ,Υ) (από τα αρχικά των ΡRΕSS ΕΝΤΕR ΤΟ CΟΝΤΙΝUΕ που σηµαίνει πληκτρολογήστε ΕΝΤΕR για συνέχεια) η οποία θα τυπώνει το παραπάνω µήνυµα σε µια συγκεκριµένη θέση (Χ, Υ) (byte) της οθόνης και θα περιµένει µέχρις ότου ο χρήστης να πληκτρολογήσει ΕΝΤΕR. Στη συνέχεια γράψτε ένα πρόγραµµα, για να ελέγξετε την διαδικασία, που θα εµφανίζει σε σελίδες οθόνης ανά 20 τους χαρακτήρες του κώδικα ΑSCΙΙ. 8. ίνονται οι ισοτιµίες των παρακάτω νοµισµάτων µε την δραχµή (οι τιµές υπάρχουν στις οικονοµικές στήλες των εφηµερίδων) : ΕCU (Ευρωπαϊκή Νοµισµατική Μονάδα) DΕΜ (Μάρκο Γερµανίας) FRF (Φράγκο Γαλλίας) USD ( ολάριο Αµερικής) Θεωρώντας ότι οι τιµές αυτές είναι σταθερές του κυρίως προγράµµατος να γραφεί µια procedure που θα δέχεται ως παράµετρο εισόδου ένα ποσό σε οποιοδήποτε από τα πέντε νοµίσµατα και θα επιστρέφει τις ισοτιµίες στα υπόλοιπα τέσσερα. Στη συνέχεια να κληθεί η διαδικασία αυτή για την εµφάνιση ενός πίνακα ισοτιµιών για οποιοδήποτε νόµισµα ως βασικό αν δίνονται: η τιµή εκκίνησης (π.χ. 10000 ρ.), το βήµα (π.χ. 10000 ρ) και η τελευταία τιµή του πίνακα (π.χ. 500000 ρ). Η µορφή του πίνακα θα είναι η εξής: - επικεφαλίδα µε πρώτο το βασικό νόµισµα και στη συνέχεια τα υπόλοιπα τέσσερα σε δεξιά στοίχιση των 12 χαρακτήρων - στήλες µε τις ισοτιµίες σε δεξιά στοίχιση των 12 χαρακτήρων µε ακρίβεια 2 δεκαδικών ψηφίων π.χ. αν βασικό νόµισµα είναι η δραχµή µε τιµή εκκίνησης 1000, τελική τιµή 10000 και βήµα 1000 τότε τα αποτελέσµατα θα εµφανιστούν ως εξής: DRH ECU DEM FRF USD 1000.00 3.04 5.96 20.00 3.61 2000.00 6.08 11.93 40.00 7.21............... 10000.00 30.40 59.65 200.00 36.07 7-3

Η είσοδος των δεδοµένων γίνεται µε την εξής σειρά: κωδικός βασικού νοµίσµατος (DRH 1, ECU 2, DEM 3, FRF 4, USD 5) (byte) τιµή εκκίνησης του πίνακα ισοτιµιών (real) τελική τιµή του πίνακα ισοτιµιών (real) βήµα (real) 9. Να γραφεί µια διαδικασία µε όνοµα swap(x, y) που θα εναλλάσσει τις τιµές 2 ακεραίων µεταβλητών x και y (η τιµή της x θα δοθεί στην µεταβλητή y και της y στην x). Στη συνέχεια να γίνει ένα πρόγραµµα το οποίο θα διαβάζει τρεις ακέραιους αριθµούς και θα τους καταχωρεί στις µεταβλητές Α, Β, C, θα τους ταξινοµεί κατά αύξουσα σειρά εναλλάσσοντας τις τιµές τους µεταξύ των µεταβλητών µε τη βοήθεια της διαδικασίας swap(x,y), έτσι ώστε A<B<C. Tέλος θα εµφανίζει τις ταξινοµηµένες τιµές των µεταβλητών Α, Β και C. 10. Η Ε.Μ.Υ. καταγράφει ανά 8 ώρες τις θερµοκρασίες 10 πόλεων της Ελλάδος (τα ονόµατα των πόλεων είναι κωδικοποιηµένα µε αριθµούς: 1=Θεσσαλονίκη, 2=Αθήνα κλπ). Να γραφεί πρόγραµµα που θα διαβάζει τις θερµοκρασίες (µεταβλητές τύπου Real) ενός εικοσιτετραώρου για κάθε πόλη (θερµοκρασία 1 ου 8ώρου, 2 ου 8ώρου, 3 ου 8ώρου για κάθε πόλη). Στη συνέχεια να υπολογίζει και να εµφανίζει τον εθνικό µέσο όρο (µεταβλητή τύπου Real) και για κάθε πόλη τη µέση θερµοκρασία της και τη µέγιστη απόκλισή της από τον εθνικό µέσο όρο (µεταβλητές τύπου Real). Τα αποτελέσµατα να εµφανίζονται µε την παρακάτω µορφή: εθνικός µέσος όρος θερµοκρασίας µέση θερµοκρασία 1 ης πόλης_µέγιστη απόκλιση της 1 ης πόλης από τον εθνικό µέσο όρο µέση θερµοκρασία 2 ης πόλης_µέγιστη απόκλιση της 2 ης πόλης από τον εθνικό µέσο όρο... µέση θερµοκρασία 10 ης πόλης_µέγιστη απόκλιση της 10 ης πόλης από τον εθνικό µέσο όρο. 11. Να γραφεί ένα πρόγραµµα που θα περιλαµβάνει µια διαδικασία µε όνοµα menuρ, η οποία θα επιτρέπει την επιλογή εργασίας από ένα µενού επιλογών µε τη χρήση των βελών κίνησης (πάνω-κάτω) του δροµέα. Η τρέχουσα επιλογή θα είναι φωτισµένη (reverse video) και µε ΕΝΤΕR θα εµφανίζεται σε µια νέα οθόνη µόνο ένα χαρακτηριστικό µήνυµα (για παράδειγµα ΚΑΝΑΤΕ ΤΗΝ ΕΠΙΛΟΓΗ 1 ) και στη συνέχεια θα εµφανίζεται και πάλι το µενού επιλογών. Οι διαθέσιµες επιλογές θα καταχωρούνται σε µονοδιάστατο πίνακα Ν θέσεων, όπου Ν ο αριθµός επιλογών, δεδοµένος και σταθερός. Το πρόγραµµα θα τερµατίζει όταν επιλεγεί η Ν-οστή επιλογή π.χ. ΤΕΛΟΣ. 12. Να γραφεί ένα πρόγραµµα που θα περιλαµβάνει µια διαδικασία µε το όνοµα menul, η οποία θα επιτρέπει την επιλογή εργασίας από ένα µενού επιλογών µε τη χρήση των βελών κίνησης (αριστερά ή δεξιά) του δροµέα. Η τρέχουσα επιλογή θα είναι φωτισµένη και µε ΕΝΤΕR θα εµφανίζεται σε µια νέα οθόνη µόνο ένα χαρακτηριστικό µήνυµα (για παράδειγµα ΚΑΝΑΤΕ ΤΗΝ ΕΠΙΛΟΓΗ 1 ) και στη συνέχεια θα εµφανίζεται και πάλι το µενού επιλογών. Οι διαθέσιµες επιλογές θα καταχωρούνται σε µονοδιάστατο πίνακα Ν θέσεων, όπου Ν ο αριθµός επιλογών, δεδοµένος και σταθερός. Το πρόγραµµα θα τερµατίζει όταν επιλεγεί η Ν-οστή επιλογή π.χ. EXIT. 13. Γράψτε ένα πρόγραµµα καθοδηγούµενο από πίνακα επιλογών (menu-driven program) το οποίο µετατρέπει διάφορα µεγέθη από ένα είδος µονάδων σε άλλο: - από βαθµούς Fahrenheit (real) σε βαθµούς Celsius (real) (C=5/9*(F-32)) κι αντιστρόφως, - από λεπτά (real) σε ώρες (real) και - από πόδια (real) σε µέτρα (real) (1 πόδι = 0.3048 µέτρα). Το µενού επιλογών να έχει την παρακάτω µορφή: AVAILABLE OPTIONS: 1. CONVERT MINUTES TO HOURS 2. CONVERT FEET TO METERS 3. CONVERT DEGREES CELSIUS TO DEGREES FAHRENHEIT 4. CONVERT DEGREES FAHRENHEIT TO DEGREES CELSIUS 5. QUIT 14. Γράψτε µια διαδικασία η οποία: θα στρογγυλοποιεί έναν δεδοµένο ακέραιο αριθµό στην πλησιέστερη δεκάδα, εκατοντάδα, χιλιάδα κλπ (ο χρήστης θα προσδιορίζει την επιθυµητή στρογγυλοποίηση) και θα 7-4

βρίσκει το υπόλοιπο -το λεγόµενο "σφάλµα στρογγυλοποιήσεως"- που θα προκύπτει κάθε φορά. Αν για παράδειγµα ο αριθµός 17579 στρογγυλοποιηθεί στην πλησιέστερη εκατοντάδα (3ο ψηφίο από δεξιά), θα επιστρέφεται ο αριθµός 17600 και το υπόλοιπο -21, ενώ αν ο αριθµός 17579 στρογγυλοποιηθεί στην πλησιέστερη δεκάδα (2ο ψηφίο από δεξιά), θα επιστρέφεται ο αριθµός 17580 και το υπόλοιπο -1. Η κλήση της διαδικασίας θα γίνεται µε τέσσερις παραµέτρους: τον ακέραιο αριθµό που δίνεται, το ψηφίο στο οποίο θα γίνεται η στρογγυλοποίηση, το νέο αριθµό που προκύπτει και το υπόλοιπο. Η είσοδος των δεδοµένων θα γίνεται µε την εξής σειρά: ακέραιος αριθµός προς στρογγυλοποίηση (integer), ψηφίο στρογγυλοποίησης (byte) Τα αποτελέσµατα που θα εµφανίζονται είναι: ο στρογγυλοποιηµένος αριθµός (integer), το υπόλοιπο στρογγυλοποίησης (integer) 15. Γράψτε µια διαδικασία µε το όνοµα Valide_Date η οποία θα δέχεται 3 ακέραιους αριθµούς που θα δηλώνουν κατά σειρά την ηµέρα, το µήνα και το έτος µιας ηµεροµηνίας και θα επιστρέφει µια Boolean µεταβλητή µε την τιµή ΤRUΕ ή FΑLSΕ ανάλογα µε το αν η ηµεροµηνία αυτή είναι αποδεκτή ή όχι (αν δηλαδή υπάρχει ή όχι στο ηµερολόγιο). Θα πρέπει να συµπεριληφθούν και τα δίσεκτα έτη. Στο τέλος το πρόγραµµα θα εµφανίζει την τιµή της Boolean µεταβλητής. 16. Γράψτε ένα πρόγραµµα το οποίο θα δέχεται αγνώστου πλήθους τετράδες δεδοµένων. Κάθε τετράδα θα περιλαµβάνει τα εξής: - τρεις ακέραιους αριθµούς (τύπου Integer) που θα αντιστοιχούν σε µια ηµεροµηνία (ηµέρα, µήνας, έτος θα δίνεται ολόκληρο, π.χ. 1999) - έναν αριθµό που αντιστοιχεί σε ένα ποσό ΦΠΑ (longint) Οι ηµεροµηνίες πρέπει να ελέγχονται αν είναι αποδεκτές µε τη διαδικασία Valide_Date (βλ. άσκηση 15) και να ανήκουν οπωσδήποτε στο ίδιο έτος. Το τρέχον έτος θα είναι σταθερά του προγράµµατος. Η εισαγωγή των δεδοµένων θα συνεχίζεται ή θα τελειώνει µε τη χρήση µιας διαδικασίας continue η οποία θα εµφανίζει σε συγκεκριµένη θέση (κάτω δεξιά) στην οθόνη το µήνυµα ΝΕΑ ΕΙΣΑΓΩΓΗ ΝΑΙ-ΟΧΙ και θα επιστρέφει έναν από τους χαρακτήρες Ν ή Ο (ελληνικοί ή αγγλικοί χαρακτήρες) ανάλογα µε το αν η διαδικασία εισαγωγής θα συνεχιστεί ή όχι. Μετά την εισαγωγή όλων των δεδοµένων, το πρόγραµµα θα εµφανίζει τα αποτελέσµατα κάθε δίµηνου του έτους καθώς και τα συνολικά ποσά για το τρέχον έτος σύµφωνα µε την παρακάτω µορφή: ΙΜΗΝΟ ΠΛ. ΕΓΓΡΑΦΩΝ ΣΥΝ. ΠΟΣΟ ΦΠΑ ------------------------------------------------------------------- -- 1 4 1256480 2 0 0....... 6 6 456500 ------------------------------------------------------------------- -- ΣΥΝΟΛΑ:..... 7-5