Θέματα εξετάσεων

Διομήδης Σπινέλλης
Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας
Οικονομικό Πανεπιστήμιο Αθηνών
dds@aueb.gr

Εργαστήριο αυτοαξιολόγησης 1997

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Τμήμα Μαθηματικών

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ 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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Τμήμα Μαθηματικών
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ

Διδάσκων: Διομήδης Σπινέλλης

Εξεταστική περίοδος

Ιουνίου 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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Τμήμα Μαθηματικών
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ

Διδάσκων: Διομήδης Σπινέλλης

Εξεταστική περίοδος

Σεπτεμβρίου 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 ώρες Καλή επιτυχία!

Εργαστήριο αυτοαξιολόγησης 1998

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Τμήμα Μαθηματικών

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ 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.

Διάρκεια εξέτασης 1.5 ώρα. Καλή επιτυ÷ία!

Εξεταστική περιόδος Ιουνίου 1998

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Τμήμα Μαθηματικών
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ

Διδάσκων: Διομήδης Σπινέλλης

Εξεταστική περίοδος

Ιουνίου 1998

Θέμα 1ο: (2.5 βαθμοί)

Ένα πρόγραμμα Pascal περιέχει τους ορισμούς και τις δηλώσεις που ακολουθούν:

const
	pi = 3.1415;
var
	i, j : integer;
	a, b : real;
	p, q : boolean;
	c, d : char;

Για όσες από τις παρακάτω εντολές θεωρείτε εσφαλμένες τεκμηριώστε με μια φράση την άποψή σας:
  1. c := succ(d)
  2. d := d + 1
  3. i := ord(c) + ord(d)
  4. a := b / pi
  5. i := j / 2
  1. p := i = j
  2. q := q and (ord(c) = 'w')
  3. 'c' := d
  4. if q then writeln(a,b)
  5. while i + 1 do writeln(i)

Θέμα 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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Τμήμα Μαθηματικών

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ

Διδάσκων: Διομήδης Σπινέλλης

Εξεταστική περίοδος

Σεπτεμβρίου 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 ώρες

Καλή επιτυχία!