Τμήμα
Μαθηματικών
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ PASCAL
(Εργαστήριο
αυτοαξιολόγησης)
Διδάσκων: Διομήδης Σπινέλλης | 15 Απριλίου 1997 |
Θέμα 1ο:
Να γραφεί πρόγραμμα σε Pascal το οποίο να ορίζει:
Θέμα 2ο:
Τι θα τυπώσει το παρακάτω πρόγραμμα;
program test; var x : integer; procedure a(var y : integer); begin y := y + 4; x := x + 12 end; function b(x : integer) : integer; begin b := x * 2; x := x div 2 end; procedure c; begin x := 8 end; begin c; writeln(x); x := b(x); writeln(x); a(x); writeln(x) end.
Θέμα 3ο:
Να γραφεί πρόγραμμα το οποίο με τη ÷ρήση των δομών CASE, FOR και REPEAT θα διαβάζει ÷αρακτήρες από το ÷ρήστη και θα τυπώνει 10 φορές στην οθόνη την παράστασή τους σύμφωνα με τον κώδικα Morse (Α: .- Β: -... Γ: --. Δ: -.. Ε: .) μέ÷ρι ο ÷ρήστης να δώσει ως είσοδο το ÷αρακτήρα ×. (Το πρόγραμμα να υλοποιηθεί μόνο για τους παραπάνω ÷αρακτήρες).
Θέμα 4ο:
Να γραφεί πρόγραμμα το οποίο με τη ÷ρήση της διαδικασίας setpixel(x, y) να σ÷εδιάζει σε οθόνη με διαστάσεις 100*100 εικονοστοι÷εία μια περίοδο της συνάρτησης:
f(x) = ημ x
Διάρκεια εξέτασης 1.5 ώρα. | Καλή επιτυ÷ία! |
Τμήμα
Μαθηματικών
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ
Διδάσκων: Διομήδης Σπινέλλης | Εξεταστική περίοδος
Ιουνίου 1997 |
Θέμα 1ο:
Να γραφεί πρόγραμμα σε Pascal το οποίο να ορίζει:
Θέμα 2ο:
Τι θα τυπώσει το παρακάτω πρόγραμμα αν στη γραμμή σημειωμένη με **** αντικαταστήσετε τις τιμές των χαρακτήρων που τίθενται στις μεταβλητές με τους τέσσερις πρώτους χαρακτήρες του επωνύμου σας; Για παράδειγμα αν σας λένε "Μαρία Αστέρη" οι γραμμή θα είναι:
a := 'A'; b := 'S'; c := 'T'; d:= 'E'; program test; var a, b, c, d : char; procedure p(var x : char; y : char); var c : char; begin x := '2'; y := '3'; c := '4'; d := '5'; end; begin a := 'S'; b := 'P'; c := 'I'; d:= 'N'; { **** } p(a, b); writeln(a, b, c, d) end.
Θέμα 3ο:
Να γραφεί πρόγραμμα σε Pascal το οποίο θα διαβάζει βαθμούς γραπτών από το χρήστη μέχρι αυτός να δώσει ως είσοδο τον αριθμό -1. Στη συνέχεια το πρόγραμμα θα τυπώνει στην οθόνη και θα γράφει και σε αρχείο κειμένου (TEXT) τον αριθμό των γραπτών που συγκέντρωσαν κάθε βαθμό (0-10), τον αντίστοιχο βαθμό, καθώς και το μέσο όρο όλων των βαθμών.
Θέμα 4ο:
Να γραφεί πρόγραμμα σε Pascal το οποίο με τη χρήση της διαδικασίας setpixel(x, y) να σχεδιάζει σε οθόνη με διαστάσεις 1000*1000 εικονοστοιχεία τις τιμές της συνάρτησης:
f(x) = x2 + 5
για το
x να παίρνει
τιμές από το
-2 έως το 2. Η συνάρτηση
f καθώς και
οι συναρτήσεις
μετασχηματισμού
από συντεταγμένες
κόσμου σε συντεταγμένες
οθόνης ή/και
αντίστροφα
να οριστούν
ως συναρτήσεις
της Pascal. Θεωρήστε
ότι το σύστημά
σας δουλεύει
μόνιμα σε
ρυθμό γραφικών
(δε χρειάζετε
να καλέσετε
άλλες διαδικασίες).
Διάρκεια εξέτασης 2 ώρες | Καλή επιτυχία! |
Τμήμα
Μαθηματικών
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ
Διδάσκων: Διομήδης Σπινέλλης | Εξεταστική περίοδος
Σεπτεμβρίου 1997 |
Θέμα 1ο:
Να γραφεί πρόγραμμα σε Pascal το οποίο να ορίζει (με τη χρήση εγγραφών):
Θέμα 2ο:
Τι θα τυπώσει το παρακάτω πρόγραμμα αν στη γραμμή σημειωμένη με **** αντικαταστήσετε τις τιμές των χαρακτήρων που τίθενται στις μεταβλητές με τους τέσσερις πρώτους χαρακτήρες του επωνύμου σας; Για παράδειγμα αν σας λένε "Γιώργο Ατσίδα" οι γραμμή θα είναι:
a := 'A'; b := 'T'; c := 'S'; d:= 'I'; program test; var a, b, c, d : char; procedure p(x : char;var y : char); var a, d : char; begin x := '2'; y := '3'; c := '4'; d := '5'; end; begin a := 'S'; b := 'P'; c := 'I'; d:= 'N'; { **** } p(a, b); writeln(a, b, c, d) end.
Θέμα 3ο:
Να γραφεί πρόγραμμα σε Pascal το οποίο θα διαβάζει ένα αρχείο χαρακτήρων ((FILE OF CHAR) και στη συνέχεια θα τυπώνει τον αριθμό των χαρακτήρων που διάβασε καθώς και τη συχνότητα εμφάνισης για κάθε έναν από τους χαρακτήρες.
Θέμα 4ο:
Να γραφεί πρόγραμμα σε Pascal το οποίο με τη χρήση της διαδικασίας setpixel(x, y) να σχεδιάζει σε οθόνη με διαστάσεις 200*100 εικονοστοιχεία τις τιμές της συνάρτησης:
f(x) = x3 + x
για το
x να παίρνει
τιμές από το
0 έως
το 10. Η
συνάρτηση
f καθώς και
οι συναρτήσεις
μετασχηματισμού
από συντεταγμένες
κόσμου σε συντεταγμένες
οθόνης ή/και
αντίστροφα
να οριστούν
ως συναρτήσεις
της Pascal. Θεωρήστε
ότι το σύστημά
σας δουλεύει
μόνιμα σε
ρυθμό γραφικών
(δε χρειάζεται
να καλέσετε
άλλες διαδικασίες).
Διάρκεια εξέτασης 2 ώρες | Καλή επιτυχία! |
Τμήμα
Μαθηματικών
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ PASCAL
(Εργαστήριο
αυτοαξιολόγησης)
Διδάσκων: Διομήδης Σπινέλλης | 24 Μαρτίου 1998 |
Θέμα 1ο:
Να γραφεί πρόγραμμα σε Pascal το οποίο να διαβάζει από το χρήστη δύο ημερομηνίες (μέρα μήνα, μήνα, έτος) Η1, Η2 (Η1 < Η2, έτος > 1900) και να τυπώνει τον αριθμό ημερών ανάμεσα στις Η1 και Η2. Παρατηρήσεις:
Θέμα 2ο:
Τι θα τυπώσει το παρακάτω πρόγραμμα;
program test; var x : integer; procedure a(var y : integer); begin y := y + 4; x := x + 12 end; function b(x : integer) : integer; begin b := x * 2; x := x div 2 end; procedure c; begin x := 8 end; begin c; writeln(x); x := b(x); writeln(x); a(x); writeln(x) end.
Τμήμα
Μαθηματικών
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ
Διδάσκων: Διομήδης Σπινέλλης | Εξεταστική περίοδος
Ιουνίου 1998 |
Θέμα 1ο: (2.5 βαθμοί)
Ένα πρόγραμμα Pascal περιέχει τους ορισμούς και τις δηλώσεις που ακολουθούν:
const pi = 3.1415; var i, j : integer; a, b : real; p, q : boolean; c, d : char;
Για όσες από τις παρακάτω εντολές θεωρείτε εσφαλμένες τεκμηριώστε με μια φράση την άποψή σας:
|
|
Θέμα 2ο: (2.5 βαθμοί)
Tι θα τυπώσει το παρακάτω πρόγραμμα αν στη γραμμή σημειωμένη με **** αντικαταστήσετε τις τιμές των χαρακτήρων που τίθενται στις μεταβλητές με τους πέντε πρώτους χαρακτήρες του επωνύμου σας; Για παράδειγμα αν σας λένε "Μαρία Ατσίδα" οι γραμμή θα είναι:
a := 'A'; b := 'T'; c := 'S'; d:= 'I'; e:= 'D';
Τεκμηριώστε περιληπτικά την απάντησή σας.
program test; var a, b, c, d, e, f : char; function p(d : char; var y : char): char; var b : char; begin c := '2'; b := '3'; d := '4'; y := '5'; p := d; end; begin a:='S'; b:='P'; c:='I'; d:='N'; e:='E'; {****} writeln(a, b, c, d, e); f := p(a, e); writeln(a, b, c, d, e, f) end.
Θέμα 3ο: (5 βαθμοί)
Τα στοιχεία των ποδοσφαιριστών μιας ομάδας του MUNDIAL 98 φυλάσσονται σε αρχείο χαρακτήρων (FILE OF CHAR) με την παρακάτω γραμμογράφηση:
όνομα, ύψος, ηλικία, επιτυχημένα τέρματα.
Παράδειγμα:
Ronaldo 1.82 21 77
Να γραφεί
πρόγραμμα
σε Pascal το οποίο
διαβάζει από
το αρχείο τα
στοιχεία 22 ποδοσφαιριστών
και θα τα φυλάει
σε πίνακα εγγραφών.
Στη συνέχεια
τυπώνει: α)
για κάθε ποδοσφαιριστή
τα πλήρη στοιχεία
του καθώς και
τόσα θαυμαστικά
(!) όσα και τα
επιτυχημένα
του τέρματα,
β) τα ονόματα
και την ηλικία
των ποδοσφαιριστών
με ηλικία μεγαλύτερη
των 30 ετών και
γ) το συνολικό
αριθμό και
το μέσο όρο
των επιτυχημένων
τερμάτων της
ομάδας. Τα θαυμαστικά
που αντιστοιχούν
στα τέρματα
να τυπώνονται
από ξεχωριστή
διαδικασία.
Διάρκεια εξέτασης 2 ώρες | Καλή επιτυχία! |
Τμήμα
Μαθηματικών
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ Διδάσκων: Διομήδης Σπινέλλης |
Εξεταστική περίοδος Σεπτεμβρίου 1998 |
Θέμα 1ο: (4 βαθμοί)
Γράψτε ένα πρόγραμμα σε Pascal το οποίο να ζωγραφίζει σε οθόνη με διαστάσεις 100 * 100 εικονοστοιχεία έναν κύκλο. Για την εμφάνιση ενός εικονοστοιχείου αρκεί η κλήση της συνάρτησης setpixel(x, y).
Θέμα 2ο: (4 βαθμοί)
Γράψτε ένα πρόγραμμα σε Pascal το οποίο διαβάζει από το χρήστη 100 ονόματα και αντίστοιχους βαθμούς (0-10) και στη συνέχεια τυπώνει τα ονόματα με τους βαθμούς αυξημένους ή μειωμένους κατά 1 ανάλογα με το αν ο μέσος όρος των αρχικών βαθμών ήταν αντίστοιχα μικρότερος ή μεγαλύτερος του 5. Οι βαθμοί 0 και 10 να παραμένουν ίδιοι μετά από αντίστοιχη μείωση ή αύξηση (δηλαδή σε καμία περίπτωση να μην τυπώνεται -1 ή 11).
Θέμα 3ο: (2 βαθμοί)
Tι θα τυπώσει το παρακάτω πρόγραμμα αν του δοθούν ως είσοδος οι αριθμοί από το 1Ψ5; Εξηγήστε.
program TestFold; const maxindex = 5; type realmap = function(x : real; y : real) : real; mylist = array [1..maxindex] of real; var i : integer; l : mylist; function fold(f : realmap; a : real; v : mylist) : real; var i : integer; result : real; begin result := a; for i := 1 to maxindex do result := f(v[i], result); fold := result; end; function prod(x : real; y : real) : real; begin prod := x * y end; begin for i := 1 to maxindex do readln(l[i]); writeln(fold(prod, 1, l)) end.
Διάρκεια εξέτασης 2 ώρες |
Καλή επιτυχία! |