Τυπολόγιο Pascal Θεωρία
Παγκύπριες Εξετάσεις 2011
5. Να γράψετε πρόγραμμα στη γλώσσα προγραμματισμού Pascal το οποίο να διαβάζει μέχρι πενήντα τυχαίους ακέραιους αριθμούς. Η εισαγωγή των αριθμών να τερματίζεται μόλις δοθεί αριθμός που έχει ξαναδοθεί προηγουμένως. Το πρόγραμμα να τυπώνει το άθροισμα των αριθμών που έχουν καταχωρηθεί χωρίς να λαμβάνει υπόψη τον τελευταίο αριθμό (π.χ. αν καταχωρούνται οι αριθμοί 2, 3, 6, 5, 4, 7, 6 θα εμφανίζεται άθροισμα 27).
7.
Program askisi7;
uses wincrt;
type
arithmoi = array [1..50] of integer;
var
num:arithmoi;
i, c, number, sum:integer;
vrethike:boolean;
begin
i:=1;
sum:=0;
vrethike:=false;
write('Dose arithmo: ');
readln(number);
while (i<50 and="" do="" nbsp="" span="" vrethike="false)">50>
begin
num[i]:=number;
sum:=sum+number;
i:=i+1;
write('Dose arithmo: ');
readln(number);
for c:=1 to i-1 do
if num[c] = number then
vrethike:=true
end;
writeln('Sum = ', sum)
end.
ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012
3. Δίνεται η πιο κάτω δήλωση σε γλώσσα προγραμματισμού Pascal:
type pinakas = array[1..35] of integer;
var pin: pinakas;
Να γράψετε πρόγραμμα που να χρησιμοποιεί μια συνάρτηση με το όνομα order η οποία να δέχεται σαν παράμετρο από το κυρίως πρόγραμμα τον πίνακα pin. Η συνάρτηση θα ελέγχει αν οι αριθμοί είναι ταξινομημένοι κατά αύξουσα σειρά και επιστρέφει το ανάλογο μήνυμα «ΤΑΞΙΝΟΜΗΜΕΝΟΙ» ή «ΜΗ ΤΑΞΙΝΟΜΗΜΕΝΟΙ» (Παγκύπριες Εξετάσεις 2012).
9.
function order(pin1:pinakas):string;
var
i:integer;
flag:boolean;
begin
flag:=true;
i:=1;
while flag and (i<35 b="" do="" nbsp="">35>
begin
if pin1[i]>pin1[i+1] then
flag:=false;
i:=i+1
end;
if flag then
order:='TAΞINOMHMENA'
else
order:='MH TAΞINOMΗMENA'
end;
ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013
Μάθημα: ΠΛΗΡΟΦΟΡΙΚΗ – ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΛΥΣΕΙΣ
Δραστηριότητες για το Σπίτι
α) function search (num:pin1; a,b :integer): integer;
var j, c:integer;
begin
c:=0;
for j:=1 to 99 do
if (num[j]=a) and (num[j+1]=b) then
c:=c+1;
search:=c;
end;
β) apotelesma:=search (numbers,num1,num2);
ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006
Παγκύπριες Εξετάσεις 2011
5. Να γράψετε πρόγραμμα στη γλώσσα προγραμματισμού Pascal το οποίο να διαβάζει μέχρι πενήντα τυχαίους ακέραιους αριθμούς. Η εισαγωγή των αριθμών να τερματίζεται μόλις δοθεί αριθμός που έχει ξαναδοθεί προηγουμένως. Το πρόγραμμα να τυπώνει το άθροισμα των αριθμών που έχουν καταχωρηθεί χωρίς να λαμβάνει υπόψη τον τελευταίο αριθμό (π.χ. αν καταχωρούνται οι αριθμοί 2, 3, 6, 5, 4, 7, 6 θα εμφανίζεται άθροισμα 27).
7.
Program askisi7;
uses wincrt;
type
arithmoi = array [1..50] of integer;
var
num:arithmoi;
i, c, number, sum:integer;
vrethike:boolean;
begin
i:=1;
sum:=0;
vrethike:=false;
write('Dose arithmo: ');
readln(number);
while (i<50 and="" do="" nbsp="" span="" vrethike="false)">50>
begin
num[i]:=number;
sum:=sum+number;
i:=i+1;
write('Dose arithmo: ');
readln(number);
for c:=1 to i-1 do
if num[c] = number then
vrethike:=true
end;
writeln('Sum = ', sum)
end.
ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012
3. Δίνεται η πιο κάτω δήλωση σε γλώσσα προγραμματισμού Pascal:
type pinakas = array[1..35] of integer;
var pin: pinakas;
Να γράψετε πρόγραμμα που να χρησιμοποιεί μια συνάρτηση με το όνομα order η οποία να δέχεται σαν παράμετρο από το κυρίως πρόγραμμα τον πίνακα pin. Η συνάρτηση θα ελέγχει αν οι αριθμοί είναι ταξινομημένοι κατά αύξουσα σειρά και επιστρέφει το ανάλογο μήνυμα «ΤΑΞΙΝΟΜΗΜΕΝΟΙ» ή «ΜΗ ΤΑΞΙΝΟΜΗΜΕΝΟΙ» (Παγκύπριες Εξετάσεις 2012).
9.
function order(pin1:pinakas):string;
var
i:integer;
flag:boolean;
begin
flag:=true;
i:=1;
while flag and (i<35 b="" do="" nbsp="">35>
begin
if pin1[i]>pin1[i+1] then
flag:=false;
i:=i+1
end;
if flag then
order:='TAΞINOMHMENA'
else
order:='MH TAΞINOMΗMENA'
end;
ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013
Μάθημα: ΠΛΗΡΟΦΟΡΙΚΗ – ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΛΥΣΕΙΣ
Δραστηριότητες για το Σπίτι
α) function search (num:pin1; a,b :integer): integer;
var j, c:integer;
begin
c:=0;
for j:=1 to 99 do
if (num[j]=a) and (num[j+1]=b) then
c:=c+1;
search:=c;
end;
β) apotelesma:=search (numbers,num1,num2);
ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006
ΜΕΡΟΣ Α - Αποτελείται από δέκα (10) ερωτήσεις. Κάθε ορθή απάντηση βαθμολογείται με έξι μονάδες.
1. Ένας μαθητής θεωρείται ότι πέτυχε στο μάθημα κατεύθυνσης της Πληροφορικής αν ο τελικός βαθμός του για το μάθημα είναι μεγαλύτερος ή ίσος με 10 και αν ο αριθμός των απουσιών του στο μάθημα είναι μικρότερος από 29. Να σχεδιάσετε λογικό διάγραμμα που να διαβάζει τον τελικό βαθμό και τον αριθμό απουσιών ενός μαθητή και να τυπώνει ανάλογα το μήνυμα «επιτυχία» ή «αποτυχία».
2. (α) Τι περιλαμβάνει η φάση συντήρησης του πληροφοριακού συστήματος;
(β) Να εξηγήσετε τη διαφορά ανάμεσα στο χρήστη και στον πελάτη ενός πληροφοριακού συστήματος. Μπορεί το ίδιο άτομο να είναι ταυτόχρονα χρήστης και πελάτης σε ένα πληροφοριακό σύστημα; (Οι λύση στις σημειώσεις Εισαγωγή στην Ανάλυση και ΣχεδίασηΠληροφοριακών Συστημάτων εδώ)
7. Να γράψετε συνάρτηση με το όνομα multiple στη γλώσσα προγραμματισμού Pascal η οποία να δέχεται δύο ακέραιους αριθμούς Α και Β (να θεωρήσετε ότι ο Α είναι μεγαλύτερος του Β και δε χρειάζεται έλεγχος) και να επιστρέφει τη λογική τιμή TRUE αν ο αριθμός Α είναι πολλαπλάσιος του Β, διαφορετικά να επιστρέφει τη λογική τιμή FALSE.
6. Δίνεται το πιο κάτω πρόγραμμα στη γλώσσα προγραμματισμού Pascal. Με τη χρήση προκαταρκτικής εκτέλεσης να παρουσιάσετε τα αποτελέσματα του προγράμματος. Στη θέση του διαστήματος να χρησιμοποιήσετε το σύμβολο «».
program askisi6;
uses wincrt;
var a,b,x,n:integer;
begin
a :=1;
b :=1;
n :=0;
repeat
x :=a+b;
if (x mod 2 =0) then
n:=n+1
else
n :=n-1;
a :=b;
b :=x;
writeln(n:3,b:3)
until (b>=5)
end.
ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2007
7. Να γράψετε μια διαδικασία στη γλώσσα προγραμματισμού Pascal με το όνομα
arithmoi, η οποία να δέχεται από το κυρίως πρόγραμμα δύο ακέραιους αριθμούς.
Στη συνέχεια η διαδικασία να προσθέτει τους δύο αριθμούς και να επιστρέφει στο
κυρίως πρόγραμμα το άθροισμά τους και τη λέξη ‘zygos’, αν το άθροισμα είναι ζυγός
αριθμός, ή το άθροισμά τους και τη λέξη ‘perittos’, αν το άθροισμα είναι περιττός
αριθμός. Σημείωση: για σκοπούς της άσκησης αυτής, θεωρήστε το μηδέν ως ζυγό
αριθμό.
procedure arithmoi(a,b:integer;var c:integer;var out:string);
begin
c:=a+b;
if c mod 2 = 0 then
out:='zygos'
else
out:='perittos'
end;
ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009
7. Να γράψετε µια διαδικασία στη γλώσσα προγραµµατισµού Pascal µε το όνοµα check,
η οποία να δέχεται από το κυρίως πρόγραµµα τρεις ακέραιους αριθµούς X, Y, Z. Με
δεδοµένο ότι το Χ είναι µικρότερο του Υ, η διαδικασία να ελέγχει κατά πόσο το Ζ είναι
µεταξύ του Χ και του Υ, συµπεριλαµβανοµένων. Σε αυτή την περίπτωση, η διαδικασία
να επιστρέφει σε µεταβλητή τύπου Boolean την τιµή true, διαφορετικά να επιστρέφει
την τιµή false.
procedure check(a,b,c:integer;var range:boolean);
begin
if (c>=a) and (c<=b) then range:=true
else range:=false
end;
function Triangle (P1,P2,P3:real):string;
begin
If (P1 = P2) OR (P2=P3) OR (P1=P3) then
Triangle:= ‘Ισοσκελές Τρίγωνο’
else
Triangle:= ‘Μη Ισοσκελές Τρίγωνο’
end;
ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2007
7. Να γράψετε μια διαδικασία στη γλώσσα προγραμματισμού Pascal με το όνομα
arithmoi, η οποία να δέχεται από το κυρίως πρόγραμμα δύο ακέραιους αριθμούς.
Στη συνέχεια η διαδικασία να προσθέτει τους δύο αριθμούς και να επιστρέφει στο
κυρίως πρόγραμμα το άθροισμά τους και τη λέξη ‘zygos’, αν το άθροισμα είναι ζυγός
αριθμός, ή το άθροισμά τους και τη λέξη ‘perittos’, αν το άθροισμα είναι περιττός
αριθμός. Σημείωση: για σκοπούς της άσκησης αυτής, θεωρήστε το μηδέν ως ζυγό
αριθμό.
procedure arithmoi(a,b:integer;var c:integer;var out:string);
begin
c:=a+b;
if c mod 2 = 0 then
out:='zygos'
else
out:='perittos'
end;
ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009
7. Να γράψετε µια διαδικασία στη γλώσσα προγραµµατισµού Pascal µε το όνοµα check,
η οποία να δέχεται από το κυρίως πρόγραµµα τρεις ακέραιους αριθµούς X, Y, Z. Με
δεδοµένο ότι το Χ είναι µικρότερο του Υ, η διαδικασία να ελέγχει κατά πόσο το Ζ είναι
µεταξύ του Χ και του Υ, συµπεριλαµβανοµένων. Σε αυτή την περίπτωση, η διαδικασία
να επιστρέφει σε µεταβλητή τύπου Boolean την τιµή true, διαφορετικά να επιστρέφει
την τιµή false.
procedure check(a,b,c:integer;var range:boolean);
begin
if (c>=a) and (c<=b) then range:=true
else range:=false
end;
6. ∆ίνεται το πιο κάτω πρόγραµµα γραµµένο στη γλώσσα προγραµµατισµού Pascal. Με
τη χρήση προκαταρκτικής εκτέλεσης, να παρουσιάσετε τα αποτελέσµατα του
προγράµµατος όταν δοθεί η τιµή 5 στη µεταβλητή k. Στη θέση του διαστήµατος να
χρησιµοποιήσετε το σύµβολο «».
program askisi6;
uses wincrt;
var
a,k,m,x:integer;
Function fun(b,d: integer): integer;
begin
fun:=(b+d) * 2
end;
begin
write ('∆ώστε τιµή για k:');
readln(k);
a:=1;
m:=2;
while a<5 do="" font="" nbsp="">5>
begin
if k+a>6 then
x:=fun(a,m)
else
x:=a+m;
writeln(m:3,a:3,x:3);
a:=a+2;
m:=m+1
end
end.
ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2010
7. Να γράψετε μια συνάρτηση στη γλώσσα προγραμματισμού Pascal με το όνομα
Triangle, η οποία να δέχεται από το κυρίως πρόγραμμα τρεις θετικούς
πραγματικούς αριθμούς P1, P2 και P3. Οι αριθμοί αυτοί αντιπροσωπεύουν τις
τρεις πλευρές ενός τριγώνου. Αν τουλάχιστον δύο από τις τρεις πλευρές είναι ίσες,
η συνάρτηση να επιστρέφει στο κυρίως πρόγραμμα την τιμή «Ισοσκελές
Τρίγωνο», διαφορετικά, να επιστρέφει την τιμή «Μη Ισοσκελές Τρίγωνο».
function Triangle (P1,P2,P3:real):string;
begin
If (P1 = P2) OR (P2=P3) OR (P1=P3) then
Triangle:= ‘Ισοσκελές Τρίγωνο’
else
Triangle:= ‘Μη Ισοσκελές Τρίγωνο’
end;