ασκησεις pascal

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
PASCAL
ΑΣΚΗΣΕΙΣ
Γ’ ΛΥΚΕΙΟΥ ΚΑΤΕΥΘΥΝΣΗΣ
ΒΑΣΩ ΠΕΤΡΟΥ ΠΙΝΧΑΡΗ
ΣΧΟΛΙΚΗ ΧΡΟΝΙΑ: 2008-2009
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
ΠΕΡΙΕΧΟΜΕΝΑ
Φύλλο Εργασίας 1 - ΛΟΓΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ ............................................................................................ 3
Φύλλο Εργασίας 2 - ΟΝΟΜΑΣΙΑ ΣΤΟΙΧΕΙΩΝ.............................................................................................. 4
Φύλλο Εργασίας 3 - ΕΚΦΡΑΣΕΙΣ .................................................................................................................... 6
Φύλλο Εργασίας 4 - ΜΕΤΑΒΛΗΤΕΣ / ΣΤΑΘΕΡΕΣ........................................................................................ 8
Φύλλο Εργασίας 5 - ΕΝΤΟΛΕΣ WRITE / WRITELN ................................................................................... 10
Φύλλο Εργασίας 6 - ΑΠΛΑ ΠΡΟΓΡΑΜΜΑΤΑ............................................................................................. 12
Φύλλο Εργασίας 7 - ΕΝΤΟΛΗ IF…THEN…ELSE.................................................................................... 13
Φύλλο Εργασίας 8 - ΕΝΤΟΛΗ ΠΕΡΙΠΤΩΣΙΑΚΗΣ ΔΟΜΗΣ CASE ............................................................ 16
Φύλλο Εργασίας 9 - ΕΝΤΟΛΗ ΕΠΑΝΑΛΗΨΗΣ FOR................................................................................. 18
Φύλλο Εργασίας 10 - ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΠΤΙΚΩΝ ΔΟΜΩΝ................................................................. 19
Φύλλο Εργασίας 11 - ΜΕΓΙΣΤΗ ΚΑΙ ΕΛΑΧΙΣΤΗ ΤΙΜΗ ............................................................................. 22
Φύλλο Εργασίας 12 - ΣΥΝΑΡΤΗΣΕΙΣ (FUNCTIONS) .................................................................................. 23
Φύλλο Εργασίας 13 - ΔΙΑΔΙΚΑΣΙΕΣ (PROCEDURES) ................................................................................ 25
Φύλλο Εργασίας 14 - ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ ................................................................................... 27
Φύλλο Εργασίας 15 - ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ - ΤΑΞΙΝΟΜΗΣΗ ..................................................... 30
Φύλλο Εργασίας 16 - ΔΥΣΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ ...................................................................................... 31
Φύλλο Εργασίας 17 - ΔΥΣΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ ...................................................................................... 34
Φύλλο Εργασίας 18 - ΔΥΣΔΙΑΣΤΑΤΟΙ / ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ ................................................ 35
FE-PASCAL-ALL
2 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
Φύλλο Εργασίας 1 – ΕΠΑΝΑΛΗΨΗ ΛΟΓΙΚΩΝ ΔΙΑΓΡΑΜΜΑΤΩΝ
Θεωρία
Αρχή, Τέλος
Επεξεργασία
Είσοδος (Διάβασε)
Έξοδος (Τύπωσε)
Απόφαση
Χρησιμοποιούμε το τόξο για να δείξουμε τη σειρά που πρέπει να ακολουθήσουμε.
Να σχεδιάσετε λογικά διαγράμματα για τα πιο κάτω προβλήματα:
1. Να ζητάτε τη βάση και το ύψος ενός τριγώνου και να παρουσιάζετε το εμβαδόν του.
2. Να ζητάτε τη θερμοκρασία σε βαθμούς Κελσίου, και να τη μετατρέπετε σε βαθμούς Φαρενάιτ. Να
παρουσιάζονται και οι δύο θερμοκρασίες. ( F = 32 + 9/5 C).
3. Να σχεδιάσετε ένα λογικό διάγραμμα το οποίο θα δέχεται το μηνιαίο ακάθαρτο μισθό ενός υπαλλήλου,
θα υπολογίζει και θα τυπώνει το καθαρό μισθό του υπαλλήλου αφού πρώτα αφαιρέσει 10% Φόρο
εισοδήματος, 3% Κοινωνικές Ασφαλίσεις και 3 τις χιλίοις Συνδρομή σε συντεχνία (να υπολογίζονται
βάση του αρχικού μισθού).
4. Να δέχεται τo όνομα ενός μαθητή και τους βαθμούς των τριών τριμήνων στο μάθημα της πληροφορικής.
Να τυπώνει το όνομα και το μέσο όρο του.
5. Ένας υδραυλικός χρεώνει £4.75 την ώρα, συν 15% ΦΠΑ. Να σχεδιάσετε ένα Λογικό Διάγραμμα το
οποίο να ζητάτε τον αριθμό ωρών που εργάστηκε ο υδραυλικός και να παρουσιάζετε το ολικό ποσό
χρέωσης προς τον πελάτη. Αν το ποσό χρέωσης υπερβαίνει της ₤100 τότε να εμφανίζει μήνυμα «Μεγάλο
Ποσό».
6. Να σχεδιάσετε ένα Λογικό Διάγραμμα το οποίο θα δέχεται 3 αριθμούς και να τυπώνει τον μεγαλύτερο.
FE-PASCAL-ALL
3 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
Φύλλο Εργασίας 2 - ΟΝΟΜΑΣΙΑ ΣΤΟΙΧΕΙΩΝ
Θεωρία
Κανόνες για ονομασία στοιχείων στην Pascal
Βασικοί Τύποι Δεδομένων:
INTEGER (LONGINT) , REAL, CHAR, STRING, BOOLEAN
Σταθερές - Μεταβλητές
Οι μαθητές, λύνοντας τις πιο κάτω ασκήσεις θα μάθουν :
•
•
I.
Να δίνουν έγκυρες ονομασίες σε μεταβλητές και σταθερές
Να καθορίζουν το σωστό τύπο δεδομένων
ΠΟΙΑ ΑΠΟ ΤΑ ΠΙΟ ΚΑΤΩ ΕΙΝΑΙ ΕΓΚΥΡΕΣ ΟΝΟΜΑΣΙΕΣ ΣΤΟΙΧΕΙΩΝ ΣΤΗΝ PASCAL
1. hello
2. tickets
3. ticket-1
4. ατομα
5. no_persons
6. no_ατομα
7. quantity
8. item*quantity
9. price
10. room price
FE-PASCAL-ALL
4 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
II.
ΔΩΣΤΕ ΚΑΤΑΛΛΗΛΑ ΟΝΟΜΑΤΑ ΚΑΙ ΤΥΠΟ ΔΕΔΟΜΕΝΩΝ ΓΙΑ ΤΑ ΠΙΟ ΚΑΤΩ
ΠΕΡΙΓΡΑΦΗ
ΟΝΟΜΑ
ΤΥΠΟΣ
ΔΕΔΟΜΕΝΩΝ
Ποσότητα εισιτηρίων
Τιμή εισιτηρίου
Αριθμός παιδιών
Επίθετο παιδιού
Περιγραφή προϊόντος
Στοιχείο το οποίο δείχνει αν
κάποιο άτομο είναι
ενήλικας
Μέσος όρος βαθμολογίας
III.
ΔΗΛΩΣΤΕ ΣΤΑΘΕΡΕΣ ΓΙΑ ΤΑ ΠΙΟ ΚΑΤΩ
1.
2.
3.
4.
5.
IV.
Μέγιστη τιμή = 20
Ελάχιστη τιμή = 1
Φόρος Εισοδήματος = 25%
Τάξη = Γ
Όνομα Μαθήματος =Πληροφορική
ΔΗΛΩΣΤΕ ΜΕΤΑΒΛΗΤΕΣ ΓΙΑ ΤΑ ΠΙΟ ΚΑΤΩ
1.
2.
3.
4.
5.
6.
Αριθμός παιδιών
Τιμή προϊόντος
Ονομασία προϊόντος
Τμήμα μαθητή
Αριθμός δωματίων
Αν κάποιο άτομο είναι πρόσφυγας
FE-PASCAL-ALL
5 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
Φύλλο Εργασίας 3 - ΕΚΦΡΑΣΕΙΣ
Θεωρία
Αριθμητικοί και λογικοί τελεστές
Λογικές εκφράσεις
Προτεραιότητα πράξεων
Συναρτήσεις της Pascal
Οι μαθητές, λύνοντας τις ποιο κάτω ασκήσεις θα μάθουν :
•
•
•
I.
Να γράφουν μαθηματικές εξισώσεις στη γλώσσα Pascal
Να χρησιμοποιούν λογικές εκφράσεις
Να γράφουν εκφράσεις χρησιμοποιώντας συναρτήσεις στη Pascal
ΝΑ ΓΡΑΨΕΤΕ ΤΙΣ ΤΙΜΕΣ ΤΩΝ ΠΙΟ ΚΑΤΩ ΕΚΦΡΑΣΕΩΝ
A=
B=
C=
D=
II.
TRUE;
TRUE;
FALSE;
0.98E2
1.
A AND (B OR C) ...................................................................................................
2.
NOT A OR NOT C..................................................................................................
3.
A AND (D<100) AND C ..........................................................................................
4.
A AND C OR B AND C ...........................................................................................
ΝΑ ΓΡΑΨΕΤΕ ΣΤΗΝ PASCAL ΛΟΓΙΚΕΣ ΕΚΦΡΑΣΕΙΣ ΓΙΑ ΤΟΥΣ ΠΙΟ ΚΑΤΩ
ΕΛΕΓΧΟΥΣ
1. Η μεταβλητή NUM να είναι μεγαλύτερη του 5.
2. Η μεταβλητή Χ να είναι αρνητικός αριθμός.
3. Η μεταβλητή VATHMOS να είναι μεταξύ του 1 και 20, συμπεριλαμβανομένων.
4. Η μεταβλητή POS να είναι περιττός αριθμός.
5. Η μεταβλητή NUMBER να είναι πολλαπλάσιο του 10.
FE-PASCAL-ALL
6 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
III.
ΝΑ ΓΡΑΨΕΤΕ ΣΤΗΝ PASCAL ΤΙΣ ΠΙΟ ΚΑΤΩ ΕΚΦΡΑΣΕΙΣ
1.
A=x2 + (x-1) 2.........................................................................................................................
2.
W=| X - Y2 | ...........................................................................................................................
3.
C=3A * 2(x - y) .................................................................................................................
4B
4.
Y=
5.
D= 5+X
3Y
6.
W= 3ημ
IV.
ΝΑ ΓΡΑΨΕΤΕ ΤΙΣ ΤΙΜΕΣ ΤΩΝ ΠΙΟ ΚΑΤΩ ΕΚΦΡΑΣΕΩΝ
2− A
4X
...............................................................................................................................
+ C .......................................................................................................................
Y
Υ
(3 + εφ ) .............................................................................................................
2
4
1. ROUND(19.7) - SUCC(5) ..................................................................................................
2. 'SUMMER' + 'HOLIDAYS' .................................................................................................
3. 25 MOD 20 + 16 DIV 3 ......................................................................................................
4. SQRT(25) – TRUNC(5.67) .................................................................................................
5. NOT (10 >= 8) OR (10 < 5) ................................................................................................
6. (7 * 2 < 20) OR (4 < 10-6) AND (3 < 5) .............................................................................
FE-PASCAL-ALL
7 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
Φύλλο Εργασίας 4 - ΜΕΤΑΒΛΗΤΕΣ / ΣΤΑΘΕΡΕΣ
Οι μαθητές, λύνοντας τις ποιο κάτω ασκήσεις θα μάθουν :
•
•
I.
Να αναγνωρίζουν και να δηλώνουν τις μεταβλητές ενός προγράμματος
Να αναγνωρίζουν λάθη στη δήλωση και χρήση μεταβλητών/σταθερών
ΔΗΛΩΣΤΕ ΤΙΣ ΜΕΤΑΒΛΗΤΕΣ ΣΤΟ ΤΕΤΡΑΓΩΝΟ
Α)
Program askisi1;
Uses wincrt;
Var
Begin
Writeln(‘Δώσε τον τίτλο ενός βιβλίου);
Readln(title);
Writeln(‘Δώσε τον κωδικό του βιβλίου – ακέραιος αριθμός’);
Readln(code);
Price:= 10;
Vat:= price * 15 /100;
End.
Β)
Program EX2;
Uses wincrt;
Var
Begin
mark:=15;
final:=16.25;
grade:=’B’;
aver:=(mark + final) /2;
End.
FE-PASCAL-ALL
8 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
II.
Βρείτε τα λάθη στα πιο κάτω προγράμματα
1. Program askisi1;
Uses wincrt;
Const vat:=15;
Var
a,b,c : integer;
Begin
Writeln(‘Δώσε δύο αριθμούς’);
Readln(a, b);
c:= (a + b) * vat /100;
Writeln(‘Το αποτέλεσμα είναι ‘, c);
End.
2. Program askisi1;
Uses wincrt;
Const vat=15;
Tax=20;
Var
price:integer;
final : real;
Begin
Writeln(‘Δώσε την τιμή);
Readln(price);
Writeln(‘Δώσε το ΦΠΑ’);
Readln(vat);
Tax:=2*vat;
Foros:=price*20%;
Final:=price + foros + price*vat/100;
Writeln(‘Η αρχική τιμή είναι ‘, price:10:2);
Writeln(‘Η τελική τιμή είναι ‘, final);
End.
FE-PASCAL-ALL
9 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
Φύλλο Εργασίας 5 - ΕΝΤΟΛΕΣ WRITE / WRITELN
Οι μαθητές, λύνοντας τις ποιο κάτω ασκήσεις θα είναι σε θέση :
•
•
Να αναγνωρίσουν τις διαφορές των εντολών Write & Writeln
Να ανακαλύψουν το πλάτος εκτύπωσης και τις διάφορες μορφές παρουσίασης δεκαδικών αριθμών
Να εκτελέσετε τα πιο κάτω προγράμματα και να σημειώσετε το αποτέλεσμα που παρουσιάζεται στην οθόνη
1.
PROGRAM EX1;
Uses wincrt;
VAR x: integer; y:real;
BEGIN
WRITE ('ΑΣΚΗΣΗ');
WRITE ('ΠΛΑΤΟΣ');
WRITE ('ΕΚΤΥΠΩΣΗΣ');
WRITELN ('ΑΣΚΗΣΗ');
WRITE ('ΠΛΑΤΟΣ ');
WRITE ('ΕΚΤΥΠΩΣΗΣ');
WRITELN;
WRITELN;
WRITELN ('ΑΣΚΗΣΗ ');
WRITELN ('ΠΛΑΤΟΣ ');
WRITELN ('ΕΚΤΥΠΩΣΗΣ');
END.
•
Ποια η διαφορά μεταξύ των εντολών Write και Writeln;
FE-PASCAL-ALL
10 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
2.
PROGRAM platos;
Uses wincrt;
VAR x: integer; y:real;
BEGIN
x:=20;
WRITELN(x);
WRITELN(x:5);
WRITELN(x:10);
writeln;
writeln;
WRITELN('x=',x);
WRITELN('x=',x:8);
WRITELN('x=':10,x:6);
writeln;
writeln;
y:=6.374;
WRITELN(y);
WRITELN(y:10);
WRITELN(y:10:1);
WRITELN(y:10:2);
WRITELN(y:10:3);
END.
3. Επεξηγήστε τα πιο κάτω:
•
Στην εντολή
WRITELN(x:5)
τι σημαίνει ο αριθμός 5;
•
Στην εντολή
WRITELN(y:10:2)
τι σημαίνει ο αριθμός 2;
•
Στην εντολή
WRITELN(y:10:2)
τι σημαίνει ο αριθμός 10;
•
Ποια εντολή θα δώσω για να τυπωθεί ο αριθμός y με 4 δεκαδικά ψηφία;
•
Ποια εντολή θα δώσω για να τυπωθεί ο αριθμός y χωρίς δεκαδικά ψηφία;
FE-PASCAL-ALL
11 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
Φύλλο Εργασίας 6 - ΑΠΛΑ ΠΡΟΓΡΑΜΜΑΤΑ
Οι μαθητές, λύνοντας τις πιο κάτω ασκήσεις θα μάθουν :
•
I.
Να λύνουν απλά προγράμματα σχεδιάζοντας Λογικά Διαγράμματα και γράφοντας το αντίστοιχο
πρόγραμμα
Να σχεδιάσετε το λογικό διάγραμμα και να γράψετε το πρόγραμμα για τα πιο κάτω
προβλήματα
1. Να ζητάτε μια θερμοκρασία σε βαθμούς Φάρεναϊτ και να τυπώνετε την αντίστοιχη θερμοκρασία σε
βαθμούς Κελσίου, χρησιμοποιώντας τον τύπο
Κ= (F-32) * 5
9
όπου
Κ: βαθμοί Κελσίου
F: βαθμοί Φάρεναϊτ
2. Να ζητάτε τη βάση και το ύψος ενός ορθογωνίου τριγώνου και να παρουσιάζετε το εμβαδό και την
περίμετρο του.
εμβαδόν = βάση * ύψος / 2
περίμετρος = βάση + ύψος + υποτείνουσα (υποτείνουσα =
βαση 2 + υψος 2 )
3. Να ζητάτε το όνομα, μισθό και προμήθεια ενός υπαλλήλου. Πάνω στον ακάθαρτο μισθό του
υπαλλήλου (δηλ. μισθός + προμήθεια), να αποκόπτεται 40% φόρος και 6% κοινωνικές ασφαλίσεις.
Να παρουσιαστούν όλα τα στοιχεία στην πιο κάτω μορφή:
Όνομα
Μισθός
Προμήθεια
Ακάθαρτος μισθός
Φόρος
Κοινωνικές ασφαλίσεις
Τελικός μισθός
FE-PASCAL-ALL
12 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
Φύλλο Εργασίας 7 - ΕΝΤΟΛΗ
IF…THEN…ELSE
Οι μαθητές, λύνοντας τις πιο κάτω ασκήσεις θα μάθουν :
• Να χρησιμοποιούν την προκαταρτική εκτέλεση για προγράμματα συνθήκης
• Να γράφουν προγράμματα χρησιμοποιώντας την εντολή συνθήκης IF…THEN…ELSE
I.
Να παρουσιάσετε το αποτέλεσμα των πιο κάτω προγραμμάτων χρησιμοποιώντας τη μέθοδο
της προκαταρτικής εκτέλεσης
1. Program EX1;
Uses wincrt;
Var X,A,B:integer;
Begin
Writeln(‘Δώσε 2 ακέραιους αριθμούς’);
Readln(A,B);
If B>=A then
X:=A+B
Else
X:=A-B;
Writeln(‘x=’, X:4, ‘A=’, A, ‘B=’:8, B:5);
End.
Ποιο θα είναι το αποτέλεσμα αν δοθούν οι πιο κάτω τιμές:
Α)
7
8
Β)
9
5
2. Program EX2;
uses wincrt;
var a,b,x,y:real;
begin
write (‘Give two numbers’);
readln(a,b);
x:=a+b;
y:=a*b;
if (a>b) and (a>0) then
x := x + 2
else
y:= y * 3;
x:= x + 4;
writeln(‘a=’:3, a:4:0, ‘x=’:3, x:8:2, ‘y=’:4, y:7:2);
end.
Ποιο το αποτέλεσμα αν δοθούν οι πιο κάτω τιμές:
Α)
6
3
Β)
-2
FE-PASCAL-ALL
-3
13 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
II.
Να σχεδιάσετε το λογικό διάγραμμα και να γράψετε το πρόγραμμα για τα πιο κάτω
προβλήματα
1. Να ζητάτε ένα ακέραιο αριθμό και να τυπώνετε την τετραγωνική του ρίζα μόνο αν είναι θετικός.
2. Να ζητάτε τη μέγιστη και ελάχιστη θερμοκρασία μιας ημέρας. Αν η διαφορά τους είναι μεγαλύτερη
από 10 βαθμούς να τυπώνεται το μήνυμα «Μεγάλη διαφορά», διαφορετικά να τυπώνεται το μήνυμα
«Κανονικές Θερμοκρασίες».
3. Να ζητάτε τις βαθμολογίες ενός μαθητή στο μάθημα της Πληροφορικής στα τρία τρίμηνα. Αν όλοι οι
βαθμοί είναι θετικοί, τότε να παρουσιάζεται ο μέσος όρος των βαθμών, διαφορετικά να
παρουσιάζεται το μήνυμα «Λάθος δεδομένα».
4. Για την εξίσωση β’ βαθμού
ax2 + bx + c = 0, να ζητούνται οι τιμές a,b,c.
Να υπολογιστεί η διακρίνουσα
D = b2 – 4ac
Αν D >0, τότε να τυπωθούν οι ρίζες X1 και X2
Χ1 =
−b+ D
2a
Αν D = 0, τότε να τυπώνεται η ρίζα
Χ2 =
−b− D
2a
Χ1 =
−b
2a
Αν D < 0, τότε να τυπώνεται το μήνυμα “ΑΔΥΝΑΤΗ”.
FE-PASCAL-ALL
14 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
5. Η χρέωση του σταθερού τηλεφώνου εξαρτάται από το χρόνο ομιλίας. Βλέπε τον πιο κάτω πίνακα.
Λεπτά
ομιλίας
0 - 10
11 - 20
21 - 30
> 30
Χρέωση
Το λεπτό
Σε €
0.10
0.20
0.30
0.80
Να ζητάτε τα λεπτά ομιλίας του πελάτη (ακέραιος αριθμός) και να υπολογίζετε τη χρέωση του. Πάνω
στη χρέωση να προσθέσετε 15% ΦΠΑ για να υπολογίσετε την τελική χρέωση.
Το πρόγραμμα να τυπώνει τα λεπτά ομιλίας, τη χρέωση, το ΦΠΑ και την τελική χρέωση.
Σε περίπτωση που ο χρήστης δώσει αρνητικό αριθμό λεπτών, τότε το πρόγραμμα πρέπει να εμφανίζει
το μήνυμα «Λάθος Αριθμός» και να τερματίζεται.
FE-PASCAL-ALL
15 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
Φύλλο Εργασίας 8 - ΕΝΤΟΛΗ ΠΕΡΙΠΤΩΣΙΑΚΗΣ ΔΟΜΗΣ CASE
Οι μαθητές, λύνοντας τις πιο κάτω ασκήσεις θα μάθουν :
• Να χρησιμοποιούν την προκαταρτική εκτέλεση για προγράμματα περιπτωσιακής δομής
• Να γράφουν προγράμματα χρησιμοποιώντας την εντολή CASE
I.
Να παρουσιάσετε το αποτέλεσμα τoυ πιο κάτω προγράμματος χρησιμοποιώντας τη μέθοδο της
προκαταρτικής εκτέλεσης
Program apousia;
Uses wincrt;
Var apousies:integer;
Begin
Write(‘Δώσε τον αριθμό των απουσιών:’);
Readln(apousies);
If apousies < 0 then
Writeln(‘Λάθος αριθμός απουσιών’)
Else
Case apousies of
0..44:
writeln(‘Προάγεται’);
45..60:
writeln(‘Ανεξεταστέος’)
Else
writeln(‘Στάσιμος’);
End;
End.
Ποιο θα είναι το αποτέλεσμα αν δοθούν οι πιο κάτω τιμές:
Α)
88
Β)
-15
FE-PASCAL-ALL
16 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
II.
Να σχεδιάσετε το λογικό διάγραμμα και να γράψετε το πρόγραμμα για τα πιο κάτω
προβλήματα
1. Η χρέωση του σταθερού τηλεφώνου εξαρτάται από το χρόνο ομιλίας. Βλέπε τον πιο κάτω πίνακα.
Λεπτά
ομιλίας
0 - 10
11 - 20
21 - 30
> 30
Χρέωση
Το λεπτό
Σε €
0.10
0.20
0.30
0.80
Να ζητάτε τα λεπτά ομιλίας του πελάτη (ακέραιος αριθμός) και να υπολογίζετε τη χρέωση του. Πάνω
στην χρέωση να προσθέσετε 15% ΦΠΑ για να υπολογίσετε την τελική χρέωση.
Το πρόγραμμα να τυπώνει τα λεπτά ομιλίας, τη χρέωση, το ΦΠΑ και την τελική χρέωση.
Σε περίπτωση που ο χρήστης δώσει αρνητικό αριθμό λεπτών, τότε το πρόγραμμα πρέπει να εμφανίζει
το μήνυμα «Λάθος Αριθμός» και να τερματίζεται.
(Σημείωση: το πιο πάνω πρόβλημα δόθηκε στο Φύλλο Εργασίας 7 και λύθηκε χρησιμοποιώντας
την εντολή IF. Να το επαναφέρετε από τη δισκέττα σας και να κάνετε τις αναγκαίες
αλλαγές χρησιμοποιώντας την εντολή CASE)
2. Ο χαρακτηρισμός της κατηγορίας ενός ξενοδοχείου δίνεται βάση των αριθμών δωματίων που
διαθέτει.
Αριθμός Δωματίων Κατηγορία
μέχρι 100
C
101 μέχρι 200
Β
> 200
A
Ο οργανισμός τουρισμού χρεώνει τα ξενοδοχεία τα πιο κάτω :
Α) £300 για τα ξενοδοχεία κατηγορίας C
Β) £400 για τα ξενοδοχεία κατηγορίας Β
Γ) £500 για τα ξενοδοχεία κατηγορίας Α με αριθμό δωματίων <= 300
Δ) £1000 για τα ξενοδοχεία κατηγορίας Α με αριθμό δωματίων > 300
Να ζητάτε των αριθμών δωματίων ενός ξενοδοχείου και να παρουσιάζετε την αντίστοιχη κατηγορία,
καθώς και τη χρέωση του οργανισμού τουρισμού.
(Σημείωση: να χρησιμοποιηθεί η εντολή CASE για τον εντοπισμό της κατηγορίας του
ξενοδοχείου)
FE-PASCAL-ALL
17 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
Φύλλο Εργασίας 9 - ΕΝΤΟΛΗ ΕΠΑΝΑΛΗΨΗΣ FOR
Οι μαθητές, λύνοντας τις πιο κάτω ασκήσεις θα μάθουν :
• Να κατανοήσουν την εντολή FOR
• Να γράφουν προγράμματα χρησιμοποιώντας την εντολή FOR
Να σχεδιάσετε το λογικό διάγραμμα και να γράψετε το πρόγραμμα για τα πιο κάτω προβλήματα,
χρησιμοποιώντας την εντολή FOR
1. Να ζητάτε ένα χαρακτήρα και να τον τυπώνετε 15 φορές σε οριζόντια διάταξη.
Πχ αν δοθεί *,
τότε να τυπωθεί
***************
2. Να τυπώνετε τους αριθμούς 1-10, σε οριζόντια διάταξη
1
2
3
……..
10
3. Να τυπώνετε τους αριθμούς 20-10, σε κάθετη διάταξη
20
19
………
10
4. Να τυπώνετε τους ζυγούς αριθμούς μεταξύ 1-30.
5. Να τυπώνετε το τετράγωνο των αριθμών 1-5.
6. Να ζητάτε 5 αριθμούς και να τυπώνετε το τετράγωνο τους.
7. Να ζητάτε 5 αριθμούς. Αν είναι θετικοί, να τυπώνετε την τετραγωνική τους ρίζα.
8. Να ζητάτε την τιμή και ποσότητα 4 προϊόντων. Για το κάθε προϊόν:
a. Αν η ποσότητα είναι >20, τότε να δίνεται 10% έκπτωση
b. Στη τιμή μετά την έκπτωση να υπολογίσετε 15% ΦΠΑ.
c. Να υπολογίσετε την τελική τιμή του προϊόντος
d. Να τυπώνονται η έκπτωση, το ΦΠΑ και η τελική τιμή.
FE-PASCAL-ALL
18 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
Φύλλο Εργασίας 10 - ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΠΤΙΚΩΝ ΔΟΜΩΝ
FOR…DO
WHILE…DO
REPEAT…UNTIL
A)
Χρησιμοποιώντας τη μέθοδο της προκαταρτικής εκτέλεσης να γράψετε τα αποτελέσματα των
πιο κάτω προγραμμάτων:
1. Program ex1;
Uses wincrt;
Var x,j,k:integer;
Begin
k:=0;
j:=0;
For x:=1 to 3 do
j:=j+x;
k:=k+j;
Writeln(k:4,j:4);
End.
2. Program ex2;
Uses wincrt;
Var x,j,k:integer;
Begin
k:=1;
j:=0;
While k<=3 do
begin
j:=j+k*3;
if j < 6 then
k:=k+2;
writeln(‘k=’, k:5);
end;
Writeln(k:5,j:5);
End.
FE-PASCAL-ALL
19 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
3. program ex3;
Uses wincrt;
var a,b :integer;
begin
a:=-1;
b:=2;
repeat
a:=a+1;
b:=b*a;
until (B>3) and (A>0);
writeln(a:3);
writeln(b:5);
end.
FE-PASCAL-ALL
20 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
Β)
Να σχεδιάσετε το λογικό διάγραμμα και να γράψετε πρόγραμμα στη γλώσσα προγραμματισμού
PASCAL για τα πιο κάτω:
1. Να τυπώνετε τις θερμοκρασίες 10οC μέχρι 45οC και τις αντίστοιχες θερμοκρασίες σε φάρεναϊτ
( F = 32 + 9/5 C).
Κελσίου
10
11
12
…..
Φάρεναιτ
50.0
51.8
53.6
2. Να ζητάτε δύο αριθμούς, Χ1 και Χ2. Να τυπώνετε όλα τα πολλαπλάσια του 3 μεταξύ των αριθμών
Χ1 και Χ2, συμπεριλαμβανομένων.
3. Να δέχεται από το χρήστη αριθμούς και να τυπώνει
♦ το μέσο όρο των αρνητικών,
♦ το μέσο όρο των θετικών αριθμών,
♦ το πλήθος των ζυγών αριθμών
Το πρόγραμμα να τερματίζεται όταν δοθεί ο αριθμός 0.
4. Να ζητάτε το όνομα, το ποσό κατάθεσης και τον τύπο λογαριασμού (1-Τρεχούμενος, 2-Γραμμάτιο)
για τους πελάτες μιας τράπεζας. Για τον κάθε πελάτη να υπολογίζετε και να τυπώνετε το ποσό του
τόκου (μαζί με όλα τα άλλα στοιχεία) σύμφωνα με τα πιο κάτω:
Ποσό
<5000
5001-15000
>15000
Τόκος
5%
5.75%
6%
Επιπλέον αν ο τύπος λογαριασμού είναι Γραμμάτιο, τότε δίνεται επιπρόσθετος τόκος 1.5%
για καταθέσεις πέραν των 10000.
Στο τέλος να τυπώνετε, επίσης:
♦ το συνολικό ποσό καταθέσεων,
♦ το συνολικό ποσό των τόκων, και
♦ τον αριθμό των πελατών με καταθέσεις >10000
Το πρόγραμμα να τερματίζεται όταν δοθεί αρνητικός αριθμός στο ποσό καταθέσεων.
FE-PASCAL-ALL
21 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
Φύλλο Εργασίας 11 - ΜΕΓΙΣΤΗ ΚΑΙ ΕΛΑΧΙΣΤΗ ΤΙΜΗ
Επαλήθευση Δεδομένων
Χρησιμοποιώντας Επαναληπτικές Δομές
Να σχεδιάσετε το λογικό διάγραμμα και να γράψετε πρόγραμμα στη γλώσσα προγραμματισμού
PASCAL για τα πιο κάτω:
1. Να ζητάτε τη βροχόπτωση (>0) για κάθε μήνα του χρόνου και να τυπώνετε τη μέγιστη, ελάχιστη και
το μέσο όρο βροχόπτωσης.
2. Να ζητάτε το όνομα και ύψος (>100cm) απροσδιόριστου αριθμού καλαθοσφαιριστών. Να τυπώνετε
τα στοιχεία του ψηλότερου παίχτη. Το πρόγραμμα να τερματίζεται όταν δοθεί ύψος <=0.
3. Να ζητάτε τις βαθμολογίες για 50 μαθητές στο μάθημα της Πληροφορικής:
-
Προφορικός Βαθμός (1-20). Στην περίπτωση που εισαχθεί αριθμός εκτός των ορίων 1-20,
τότε το πρόγραμμα πρέπει να ζητά άλλο αριθμό από το χρήστη.
Βαθμός Εξέτασης (1-20). Στην περίπτωση που εισαχθεί αριθμός εκτός των ορίων 1-20, τότε
το πρόγραμμα πρέπει να ζητά άλλο αριθμό από το χρήστη.
Για τον κάθε μαθητή να υπολογίσετε και να τυπώσετε το μέσο όρο του μαθητή.
Στο τέλος να τυπώσετε:
• το μέσο όρο των βαθμών των εξετάσεων όλων των μαθητών
• το χαμηλότερο και ψηλότερο βαθμό εξετάσεων από όλους τους βαθμούς
• το πλήθος των στάσιμων μαθητών (μέσος όρος μαθητή < 10)
FE-PASCAL-ALL
22 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
Φύλλο Εργασίας 12 - ΣΥΝΑΡΤΗΣΕΙΣ (FUNCTIONS)
A)
Χρησιμοποιώντας τη μέθοδο της προκαταρτικής εκτέλεσης να γράψετε τα αποτελέσματα των
πιο κάτω προγραμμάτων:
1.
Program ex1;
Uses wincrt;
Var x,y,z:integer;
Function test(a,b:integer):integer;
Begin
A:=a+b;
B:=a + 3;
Test:=a + b;
End;
Begin
X:=5;
Y:=3;
Z:=test(x, y);
Writeln( x:4, y:4, z:4 );
x:=test(y, z);
Writeln( x:4, y:4, z:4 );
End.
2.
Program ex2;
Uses wincrt;
Var z, w, m :integer;
Function max (x,y:integer): integer;
Begin
If x>y then
Max:=x
Else
Max:=y;
End;
Begin
z:=10;
w:=9;
m:= max(z,w);
writeln (‘maximum=’,m:5);
writeln (‘maximum=’, max(4,2):5);
writeln (‘maximum=’, max(z-2, w+2):5);
End.
FE-PASCAL-ALL
23 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
Β)
Να σχεδιάσετε το λογικό διάγραμμα και να γράψετε πρόγραμμα στη γλώσσα προγραμματισμού
PASCAL, χρησιμοποιώντας συναρτήσεις:
1.
ƒ
ƒ
Συνάρτηση (Function) η οποία να δέχεται ένα ποσό σε £ (Lires) και να επιστρέφει το ανάλογο
ποσό σε ευρώ (ευρώ= lires/0.5852)
Το κύριο πρόγραμμα, χρησιμοποιώντας τη συνάρτηση, να τυπώνει τα ποσά σε ευρώ για £100,
£2500 και £4750
2.
ƒ
ƒ
Συνάρτηση (Function) η οποία να δέχεται ένα αριθμό (Ν) και να επιστρέφει το άθροισμα των
αριθμών 1+2+3+…..+Ν.
Το κύριο πρόγραμμα, χρησιμοποιώντας τη συνάρτηση, να τυπώνει τα πιο κάτω αθροίσματα:
o 1+2+3+4+5+6+7+8+9+10
o 1+2+3+……… +99+100
3.
ƒ
Συνάρτηση (Function) η οποία να δέχεται ένα αριθμό (Ν) και να επιστρέφει το παραγοντικό Ν!
(Ν! = 1*2*3*4*…..*Ν, όπου 0!=1)
ƒ
Χρησιμοποιώντας την πιο πάνω συνάρτηση να γράψετε ένα πρόγραμμα το οποίο να ζητά δύο
αριθμούς (m, k >0, όπου το m>=k και m,k <=7 ) και να παρουσιάζει την τιμή της έκφρασης
m!
k!( m − k )!
FE-PASCAL-ALL
24 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
Φύλλο Εργασίας 13 - ΔΙΑΔΙΚΑΣΙΕΣ (PROCEDURES)
A)
Χρησιμοποιώντας τη μέθοδο της προκαταρτικής εκτέλεσης να γράψετε τα αποτελέσματα των
πιο κάτω προγραμμάτων:
1.
Program ex1;
Uses wincrt;
Var x,y,z:integer;
Procedure test (a,b: integer; var c:integer);
Begin
a:= a+4;
b:= a-b;
c:= a*b;
end;
Begin
x:=2;
y:=3;
z:=1;
test(z, x, y);
writeln(x:4, y:4, z:4);
end.
2.
Program ex2;
Uses wincrt;
Var b1,b2,b3:integer; m:real;
Procedure test1 (x: integer; var z:integer; var y:real );
Begin
x:= x+5;
z:= z + x;
y:=(x+z)/2;;
end;
Begin
B1:=2;
B2:=3;
B3:=1;
Test1(b1, b2, m);
writeln(b1:4, b2:4, b3:4, m:8:2);
Test1(b2, b3, m);
writeln(b1:4, b2:4, b3:4, m:8:2);
end.
FE-PASCAL-ALL
25 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
Β)
Να σχεδιάσετε το λογικό διάγραμμα και να γράψετε πρόγραμμα στη γλώσσα προγραμματισμού
PASCAL, χρησιμοποιώντας διαδικασίες:
1.
ƒ
ƒ
Διαδικασία (Procedure) η οποία να δέχεται τις δύο κάθετες πλευρές ενός τριγώνου και να
επιστρέφει το εμβαδόν και την περίμετρο του
Το κύριο πρόγραμμα να ζητά τις δύο πλευρές 20 τριγώνων (>0) και να εμφανίζει το εμβαδόν και
την περίμετρο του κάθε τριγώνου (χρησιμοποιώντας τη διαδικασία).
2.
ƒ
ƒ
Διαδικασία (Procedure) η οποία να δέχεται 3 αριθμούς και να επιστρέφει το μικρότερο και
μεγαλύτερο αριθμό
Το κύριο πρόγραμμα να ζητά 5 βαθμολογίες και να παρουσιάζει τη μικρότερη και μεγαλύτερη
βαθμολογία.
3.
ƒ
ƒ
Διαδικασία (Procedure) η οποία να δέχεται δύο αριθμούς και να τους ανταλλάσει.
Το κύριο πρόγραμμα να ζητά δύο αριθμούς και να αλλάζει τις τιμές τους.
ƒ
ƒ
ƒ
Συνάρτηση (Function) η οποία να δέχεται 2 αριθμούς και να επιστρέφει το άθροισμα τους (Α+Β)
Συνάρτηση (Function) η οποία να δέχεται 2 αριθμούς και να επιστρέφει τη διαφορά τους (Α-Β)
Διαδικασία (Procedure) η οποία να δέχεται 2 αριθμούς και να επιστρέφει το γινόμενο (Α*Β) και
το πηλίκο Α/Β των αριθμών.
ƒ
Το κύριο πρόγραμμα πρέπει να:
4.
¾ εμφανίζει ένα μενού επιλογών
1.
2.
3.
4.
Άθροισμα
Διαφορά
Πολλαπλασιασμός/Διαίρεση
Έξοδος
¾ Να ζητά την επιλογή του χρήστη και 2 αριθμούς. Σύμφωνα με την επιλογή του χρήστη και
χρησιμοποιώντας τα υποπρογράμματα να εμφανίζει το αποτέλεσμα.
¾ Το πρόγραμμα να τερματίζεται όταν δοθεί η επιλογή 4-Έξοδος
FE-PASCAL-ALL
26 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
Φύλλο Εργασίας 14 - ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ
A)
Χρησιμοποιώντας τη μέθοδο της προκαταρτικής εκτέλεσης να γράψετε τα αποτελέσματα των
πιο κάτω προγραμμάτων:
1. Να γράψετε τα αποτελέσματα που θα τυπωθούν από τα πιο κάτω τμήματα προγραμμάτων :
a. For X := 1 to 4 Do
A [X] := X;
For X := 1 To 3 Do
A [X] := X * A[X];
For X := 1 To 4 Do
Write (A [X] :3);
b. For M := 1 to 5 Do
A [M] := M;
For M := 1 To 3 Do
begin
A [M+1] := A[M] + M;
A [M+2] := A[M] * M;
End;
For M := 1 To 5 Do
Write (A [M] :3);
FE-PASCAL-ALL
27 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
B)
Να σχεδιάσετε το λογικό διάγραμμα και να γράψετε πρόγραμμα στη γλώσσα προγραμματισμού
PASCAL, χρησιμοποιώντας πίνακες:
1. Να γράψετε ένα πρόγραμμα όπου να διαβάζει 20 αριθμούς και να τους τοποθετεί στο μονοδιάστατο
πίνακα Sample. Ακολούθως να τυπώνει
• Τους αριθμούς με την αντίστροφη σειρά εισόδου
• Το μέγιστο και ελάχιστο αριθμό του πίνακα
2. Να γράψετε ένα πρόγραμμα το οποίο να αποθηκεύει σε πίνακα 15 αριθμούς. Να τυπώνετε το μέσο
όρο των θετικών και αρνητικών αριθμών, καθώς και το πλήθος του 0.
3. Να γράψετε ένα πρόγραμμα το οποίο να αποθηκεύει σε πίνακα 30 θετικούς αριθμούς. Να ζητάτε ένα
άλλο αριθμό και να τυπώνετε πόσες φορές υπάρχει ο αριθμός αυτός στον πίνακα. Αν δεν υπάρχει ο
αριθμός στον πίνακα να τυπώνεται το μήνυμα «Ο αριθμός δεν υπάρχει».
4. Να γράψετε ένα πρόγραμμα στη γλώσσα προγραμματισμού Pascal το οποίο :
Να δέχεται την περιγραφή, κατηγορία(1-3) και κόστος(>0) 100 προϊόντων.
Να υπολογίζει την τιμή πώλησης του κάθε προϊόντος σύμφωνα με τα πιο κάτω:
Κατηγορία
Τιμή Πώλησης
1
Κόστος*1,15
2
Κόστος*1,30
3
Κόστος*1,50
Στο τέλος να τυπώνει το σύνολο της τιμής πώλησης όλων των προϊόντων, καθώς και τον αριθμό των
προϊόντων της κατηγορίας 2.
Να τυπώνει όλα τα στοιχεία στην πιο κάτω μορφή:
Περιγραφή
…….
…….
Σύνολο
Αριθμός Κατηγορίας 2
FE-PASCAL-ALL
Κόστος
…….
…….
Τιμή Πώλησης
……
……
________
________
28 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
5. Να γράψετε
• Μια διαδικασία η οποία να διαβάζει τα στοιχεία ενός πίνακα με 5 στοιχεία και να επιστρέφει τον
πίνακα στο κύριο πρόγραμμα.
• Μια συνάρτηση η οποία να δέχεται ένα πίνακα με 5 στοιχεία και να επιστρέφει το μέσο όρο του
πίνακα
• Το κύριο πρόγραμμα να:
o Χρησιμοποιεί τη διαδικασία για να διαβάσει τα στοιχεία των πινάκων Α και Β
o Χρησιμοποιεί τη συνάρτηση για να υπολογίσει και να τυπώσει το μέσο όρο των δύο
πινάκων.
6. Να γράψετε ένα πρόγραμμα το οποίο :
•
•
•
•
Να δέχεται τα ονόματα και ύψος(>0) 10 παικτών μιας ομάδας καλαθόσφαιρας και να τα
τοποθετεί σε δύο παράλληλους μονοδιάστατους πίνακες με τις ονομασίες name και ipsos.
Χρησιμοποιώντας συνάρτηση να υπολογίζει το μέσο όρο του ύψους των παικτών.
Χρησιμοποιώντας διαδικασία να επιστρέφει το όνομα του ψηλότερου παίκτη και το ύψος του.
Το κύριο πρόγραμμα να τυπώνει όλα τα πιο πάνω στοιχεία
FE-PASCAL-ALL
29 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
Φύλλο Εργασίας 15 - ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ - ΤΑΞΙΝΟΜΗΣΗ
Να γράψετε πρόγραμμα στη γλώσσα προγραμματισμού PASCAL, χρησιμοποιώντας πίνακες:
1. Να διαβάζει 10 αριθμούς και να τους τοποθετεί στο μονοδιάστατο πίνακα NUM. Ακολούθως να
τυπώνει τους αριθμούς ταξινομημένους σε φθίνουσα σειρά.
2. Το πρόγραμμα πρέπει να περιέχει τα ακόλουθα:
a. Διαδικασία η οποία να διαβάζει τα στοιχεία ενός πίνακα (1x5)
b. Διαδικασία η οποία ταξινομεί σε αύξουσα σειρά ένα πίνακα (1x5)
c. Διαδικασία η οποία να τυπώνει τα στοιχεία ενός πίνακα (1x5)
d. Το κύριο πρόγραμμα πρέπει να χρησιμοποιεί τα πιο πάνω υποπρογράμματα για να διαβάζει
και να παρουσιάζει ταξινομημένους τους πίνακες Α και Β.
3. Να διαβάζει την ονομασία και βαθμολογία (>=0) 15 ποδοσφαιρικών ομάδων. Να παρουσιάζεται
a. ο βαθμολογικός πίνακας των ομάδων (σε φθίνουσα σειρά)
b. η θέση στο βαθμολογικό πίνακα της ομάδας «ΑΝΟΡΘΩΣΗ»
Σημείωση: Αν δύο ή περισσότερες ομάδες έχουν την ίδια βαθμολογία, τότε οι ομάδες να
παρουσιάζονται με αλφαβητική σειρά.
FE-PASCAL-ALL
30 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
Φύλλο Εργασίας 16 - ΔΥΣΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ
A)
Χρησιμοποιώντας τη μέθοδο της προκαταρτικής εκτέλεσης να γράψετε τα αποτελέσματα των
πιο κάτω προγραμμάτων:
1. Program TestArray1;
Uses wincrt;
Type
Total_Num = Array [ 1..3, 1..2] of Integer;
Var
Num : Total_Num; i, j , sum : Integer ;
Begin
Sum:=0;
For i := 1 to 3 Do
For j:=1 to 2 do
begin
Num[i,j]:= i+j;
Sum:= sum + Num[i,j];
End;
Num[2,1]:= num[2,2] + 5;
Num[3,2] := num[1,1] + 10;
For i := 1 to 3 Do
begin
For j:=1 to 2 do
Write (Num[i,j]:4);
Writeln;
End;
Writeln(‘Athrisma=’, sum);
End.
FE-PASCAL-ALL
31 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
B)
Να γράψετε πρόγραμμα στη γλώσσα προγραμματισμού PASCAL, χρησιμοποιώντας
δυσδιάστατους πίνακες:
1. Να αποθηκεύετε σε δυσδιάστατο πίνακα τον πίνακα του πολλαπλασιασμού 1-9. Να παρουσιάζετε
τον πίνακα
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
4
6
8
……………………
………………………………..
………………………………..
………………………………..
………………………………..
………………………………..
………………………………..
………………………………..
8
9
18
81
2. Να ζητάτε 25 πραγματικούς αριθμούς και να αποθηκεύονται σε τετραγωνικό δυσδιάστατου πίνακα
5x5. Να παρουσιάσετε
• Τα στοιχεία του πίνακα
• Το μέσο όρο των αριθμών
• Το μεγαλύτερο αριθμό του πίνακα
• το πλήθος των αριθμών μεταξύ -10 και +20
3. Να ζητάτε τη θερμοκρασία για κάθε μήνα των χρονολογιών 2001-2005. Να παρουσιάζετε τα
ακόλουθα στοιχεία:
2001
2002
2003
2004
2005
1
2
3
4
.
.
12
Μέσος Όρος Θερμοκρασίας …………
Αριθμός Μηνών με θερμοκρασία > 40 ………………..
Ελάχιστη Θερμοκρασία ……… το μήνα ………. του χρόνου ………….
FE-PASCAL-ALL
32 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
4. Να διαβάζετε δύο τετραγωνικούς δυσδιάστατους πίνακες Α και Β (5x5). Το πρόγραμμα θα πρέπει να
καλεί μια διαδικασία η οποία να υπολογίζει το άθροισμα των αντίστοιχων στοιχείων των δύο
πινάκων και να τοποθετεί το αποτέλεσμα στο αντίστοιχο στοιχείο του πίνακα C. Το κύριο
πρόγραμμα να τυπώνει τους πίνακες Α, Β και C.
5. Να ζητάτε τα στοιχεία ενός τετραγωνικού δυσδιάστατου πίνακα 3x3. Να παρουσιάσετε
• Τα στοιχεία του πίνακα
• τα αθροίσματα των δύο διαγώνιων του πίνακα (ξεχωριστό άθροισμα για την κάθε διαγώνιο)
Παράδειγμα
FE-PASCAL-ALL
33 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
Φύλλο Εργασίας 17 - ΔΥΣΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ
Επεξεργασία συγκεκριμένης σειράςστήλης
Επεξεργασία κάθε σειράς/στήλης
Να γράψετε πρόγραμμα στη γλώσσα προγραμματισμού PASCAL, χρησιμοποιώντας δυσδιάστατους
πίνακες:
1. Σε ένα δυσδιάστατο πίνακα 3x4 αποθηκεύονται θετικοί ακέραιοι αριθμοί. Να παρουσιάσετε:
• Το άθροισμα όλων των αριθμών.
• Το μέσο όρο της 2ης σειράς
• Το μικρότερο αριθμό της 3ης στήλης
2. Σε ένα δυσδιάστατο πίνακα αποθηκεύονται οι εισπράξεις (>=0) 10 καταστημάτων για κάθε μήνα του
2006. Να παρουσιάσετε:
• Χρησιμοποιώντας συνάρτηση να βρείτε το μέσο όρο των εισπράξεων. Το κύριο πρόγραμμα να
παρουσιάζει το μέσο όρο.
• Τις συνολικές εισπράξεις του 3ου καταστήματος.
• Τη μέγιστη είσπραξη του μήνα Δεκεμβρίου.
3. Να διαβάζετε ένα πίνακα δύο διαστάσεων τύπου (10x5) πραγματικών αριθμών. Να εκτυπώνει τον
αριθμό στήλης, το μέσο όρο των θετικών αριθμών και το μέσο όρο των αρνητικών αριθμών της κάθε
στήλης, στην ακόλουθη μορφή.
ΑΡΙΘΜΟΣ ΣΤΗΛΗΣ
---------------------------
FE-PASCAL-ALL
Μ.Ο ΘΕΤΙΚΩΝ
-------------------------
Μ.Ο. ΑΡΝΗΤ.
-----------------------
34 / 35
Γ’ Λυκείου – Γλώσσα Προγραμματισμού PASCAL
ΑΣΚΗΣΕΙΣ
Καθηγήτρια: Βάσω Πέτρου
Φύλλο Εργασίας 18 - ΔΥΣΔΙΑΣΤΑΤΟΙ / ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ
Να γράψετε πρόγραμμα στη γλώσσα προγραμματισμού PASCAL, χρησιμοποιώντας δυσδιάστατους
πίνακες:
1. Να ζητάτε ακέραιους αριθμούς και να τους αποθηκεύετε σε ένα πίνακα 3Χ5. Σε ένα άλλο
μονοδιάστατο πίνακα να αποθηκεύεται τη μέγιστη τιμή της κάθε στήλης του δυσδιάστατου πίνακα.
Να τυπώνετε το μέσο όρο του δυσδιάστατου πίνακα, καθώς και το μονοδιάστατο πίνακα.
2. Να διαβάζετε τις βαθμολογίες και ονόματα 50 μαθητών για 15 μαθήματα. Κάποιος μαθητής
θεωρείται ότι αρίστευσε αν ο μέσος όρος των βαθμών του είναι μεγαλύτερος ή ίσος του 19.
•
Χρησιμοποιώντας διαδικασία να υπολογίσετε το μέσο όρο του κάθε μαθητή.
•
Χρησιμοποιώντας συνάρτηση να υπολογίσετε το πλήθος των μαθητών που αρίστευσαν.
•
Τα τυπώσετε τα ονόματα, βαθμολογίες και μέσο όρο του κάθε μαθητή, καθώς και τον αριθμό
των άριστων μαθητών
3. Σε ένα δυσδιάστατο πίνακα (15x15) αποθηκεύονται οι αναλυτικές βαθμολογίες (>0) που πήρε η κάθε
χώρα από τις άλλες χώρες στο διαγωνισμό Eurovision. Σε ένα παράλληλο μονοδιάστατο πίνακα
αποθηκεύονται τα ονόματα των 15 χωρών. Να παρουσιάσετε:
•
•
•
Tα ονόματα και βαθμολογίες των 3 πρώτων χωρών.
Το όνομα και βαθμολογία της τελευταίας χώρας.
Τη βαθμολογική θέση της Κύπρου.
FE-PASCAL-ALL
35 / 35