Domi epanalipsis

Page 1

Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς

Κεφάλαιο 4 Η δομή της επανάληψης Ασκήσεις 1. Τι θα εμφανίσει καθένα από τα ακόλουθα κομμάτια προγράμματος Pascal; Α x:= 3; while x<5 do Begin writeln(x); x:= x+1; End;

Β

Γ

x:= 3; x:= 7; while x<=3 do while x<5 do Begin Begin writeln(x); x:=x+1; writeln(x); x:= x+1; End; End;

2. Δώστε τον πίνακα τιμών του παρακάτω τμήματος προγράμματος Pascal αν τα δεδομένα είναι: p f 2 5 1η επανάληψη 3 6 2η επανάληψη 6 4 3η επανάληψη 7 8 4η επανάληψη 5 1 5η επανάληψη k:=0; n:=0; m:=0; while m<5 do Begin readln(p,f); if p>f then begin k:=k+p; n:=n+f; end else begin k:= k+f; n:= n+p; end; m:=m+1; end; writeln(k,' ',n);

Η δομή της επανάληψης

1


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 3. Τι θα εμφανίσει το ακόλουθο τμήμα προγράμματος Pascal; k:=0; m:=0; while k<=3 do begin k:=k+1; m:=m+2; end; writeln(k,' ',m); 4. Θεωρήστε το ακόλουθο τμήμα προγράμματος Pascal και απαντήστε στα ακόλουθα ερωτήματα: (οι αριθμοί x που διαβάζονται είναι τυχαίοι και δεν επηρεάζουν την απάντηση στα ερωτήματα) A. Θα τερματιστεί κανονικά η επαναληπτική δομή; Αιτιολογήστε τη απάντηση σας. B. Πόσες επαναλήψεις θα γίνουν; C. Θα εμφανιστεί κάτι ή όχι; Αιτιολογήστε τη απάντηση σας. s:=0; m:=-8; while m<=20 do begin readln(x); m:=m+1; s:=s+x; k:=s/m; end; writeln(k); 5. Δίνεται το ακόλουθο τμήμα προγράμματος Pascal, το οποίο έπρεπε να διαβάσει πολλούς ακέραιους αριθμούς και να εμφανίσει το διπλάσιο του καθενός. Η διαδικασία αυτή επαναλαμβάνεται μέχρι να δοθεί ο αριθμός 0. Να βρεθούν τα λάθη και να διορθωθούν. while x<>0 do begin readln(x); writeln(2*x); end; 6. Να συμπληρώσετε το κενό στο παρακάτω τμήμα προγράμματος Pascal έτσι ώστε στο τέλος να εμφανιστεί ο αριθμός 16. m:=2; k:=0; while k< .... do begin m:=m*2; k:=k+ 1; end; writeln(m);

Η δομή της επανάληψης

2


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 7. Πόσες φορές θα εκτελεστεί η επαναληπτική δομή στο παρακάτω τμήμα προγράμματος Pascal; x:=3; while x<>5 do x:=x+1; 8. Το ακόλουθο τμήμα προγράμματος Pascal υποτίθεται ότι θα εμφανίσει το γινόμενο κάποιων αριθμών που δίνει ο χρήστης. Η εισαγωγή των αριθμών σταματά όταν ο χρήστης πληκτρολογήσει το μηδέν. Για παράδειγμα, αν οι αριθμοί ήταν το 2, το 5, το 7 και το 0 θα πρέπει να εμφανίσει 2*5*7, δηλαδή 70. Πιστεύετε ότι λύνει το πρόβλημα; Αιτιολογήστε την απάντηση σας και κάντε τις απαραίτητες διορθώσεις. g:=0; readln(x); while x<>0 do begin g:=g*x; readln(x); end; writeln(g); 9. Να εξηγήσετε τι θα εμφανίσει το ακόλουθο τμήμα προγράμματος Pascal. a:=7; b:=1; c:=2; d:=4; while b<=5 do begin d:=d+a+c; b:=b+1; end; writeln(d); if d<30 then writeln('Σπάρτη') else writeln('Κιλκίς');

Η δομή της επανάληψης

3


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 10. Τι θα εμφανίσει το ακόλουθο λογικό διάγραμμα, αν a=3, b=6, c=3 και N=5;

11. Να μετατρέψετε σε πρόγραμμα Pascal το λογικό διάγραμμα της προηγούμενης άσκησης. 12. Τι θα εμφανίσει καθένα από τα ακόλουθα κομμάτια προγράμματος Pascal; Α

Β

x:=3; repeat x:=x+1; writeln(x); until x>=5;

x:=5; repeat x:=x+1; writeln(x); until x>=5;

Γ x:=7; repeat x:=x+1; writeln(x); until x>=5;

13. Δίνεται το παρακάτω τμήμα προγράμματος Pascal: x:=1; i:=1; repeat y:=x*i; if y mod 2=0 then begin x:=x+2; z:=x+y; end else begin x:=x+1; z:=x*y; end; writeln(z); i:=i+1; until x>7;

Η δομή της επανάληψης

4


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς Ποιες οι τιμές της μεταβλητής z που θα εμφανιστούν κατά την εκτέλεση του παραπάνω προγράμματος Pascal; 14. Να συμπληρωθούν τα κενά ώστε οι επόμενες εντολές να εμφανίσουν το άθροισμα των ακεραίων αριθμών από 100 έως και 200, δηλαδή το άθροισμα 100+101+102+..199+200. k:=………; s:=………; repeat s:=s+k; k:=k+1; until ………; writeln(s); 15. Έστω το παρακάτω τμήμα προγράμματος Pascal: k:=-6; repeat m:=k+4; if m<0 then x:=3*m else x:=6*m; k:=k+1; until x>0; Να βρείτε τις τιμές όλων των μεταβλητών σε κάθε επανάληψη. 16. Δίνεται το ακόλουθο τμήμα προγράμματος Pascal το οποίο υποτίθεται ότι θα εμφανίσει όλα τα πολλαπλάσια του 3 μέχρι το 99, δηλαδή τους αριθμούς 3,6,9,…,96,99. Ποιο είναι το λάθος στο πρόγραμμα; Διορθώστε το ώστε να εκτελείται κανονικά. x:=0; repeat x:=x+3; writeln(x); until x=100;

Η δομή της επανάληψης

5


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 17. Να γίνει λογικό διάγραμμα για το παρακάτω πρόγραμμα Pascal. program askisi; var m:integer; s,b,mo:real; begin s:=0; m:=0; repeat write('Δώσε βαθμό: '); readln(b); s:=s+b; m:=m+1; until b=0; mo:=s/m; writeln('Μέσος όρος ',mo); end. 18. Το ακόλουθο πρόγραμμα Pascal δίνεται με τις δύο διαφορετικές μορφές της επαναληπτικής δομής και υποτίθεται ότι εμφανίζει τους αριθμούς 3, 6, 9, 15, 21, 24, 27. Συμπληρώστε τα κενά. (Υπόδειξη : Προσέξτε ότι οι αριθμοί αυξάνονται ανά 3 αλλά λείπουν ο 12 και ο 18.) A Β x:=0; x:=0; while …… do repeat begin x:=x+3; if (x<>……) and (x<>……) then x:=x+3; if (x<>……) and (x<>……) then writeln(x); writeln(x); until …… end; 19. Τι θα εμφανίσει το ακόλουθο τμήμα προγράμματος Pascal; y:=0; for x:=1 to 3 do begin y:=y+1; writeln(x,' ',y) end; 20. Το ακόλουθο τμήμα προγράμματος Pascal χρησιμοποιεί την επαναληπτική δομή «For» και εμφανίσει κάποιους αριθμούς. Τι θα εμφανίσει αν x=3; readln(x); for k:=1 to x do writeln(k,' ',x-k);

Η δομή της επανάληψης

6


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 21. Έστω το παρακάτω τμήμα προγράμματος Pascal: m:=1; readln(x); if x=5 then for k:=1 to 3 do m:=m*2 else for k:=1 to 3 do m:=m*3; Να βρείτε τις τιμές του Μ σε κάθε επανάληψη αν α) x=4 και β) x=5. 22. Το ακόλουθο τμήμα προγράμματος Pascal υποτίθεται ότι θα εμφανίσει τους αριθμούς 1,2,4,8 (δηλαδή τους αριθμούς 20,21,22,23), χρησιμοποιώντας τη δομή «For». Συμπληρώστε τα κενά στο πρόγραμμα, με δεδομένο ότι η τιμή x που δόθηκε ήταν x=3. readln(x); p:=1; ……………… for k:=1 to x do begin p:=p*2; ………………… end; 23. Να εξηγήσετε τι θα εμφανίσει το ακόλουθο τμήμα προγράμματος Pascal. a:=4; d:=5; for i:=1 to 5 do d:=d+a+i; writeln(d); 24. Επιλέξτε το σωστό: A. Σε ποια μορφή επαναληπτικής δομής η αύξηση του μετρητή γίνεται αυτόματα; 1. «while». 2. «repeat». 3. «for». B. Σε ποια μορφή επαναληπτικής δομής ο έλεγχος για το αν θα γίνει επανάληψη, γίνεται στο τέλος; 1. «while». 2. «repeat». 3. «for». C. Σε ποια μορφή επαναληπτικής δομής πρέπει η συνθήκη ελέγχου να είναι ψευδής για να πραγματοποιηθεί επανάληψη; 1. «while». 2. «repeat». 3. «for».

Η δομή της επανάληψης

7


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 25. Απαντήστε σωστό ή λανθασμένο. A. Η ομάδα εντολών στη δομή «while» εκτελείται μόνο όταν η «συνθήκη» είναι ψευδής. B. Η μορφή επανάληψης «while» χρησιμοποιείται και όταν ξέρουμε από την αρχή τον αριθμό των επαναλήψεων. C. Στην επαναληπτική δομή «repeat» η «συνθήκη» ελέγχεται στην αρχή της ομάδας εντολών, πριν εκτελεστεί η πρώτη εντολή. D. Όταν η «συνθήκη» είναι ψευδής στην δομή «repeat», ο έλεγχος του προγράμματος πηγαίνει στην επόμενη εντολή. E. Όταν ο αριθμός των επαναλήψεων είναι γνωστός από την αρχή, βολεύει να χρησιμοποιούμε τη δομή επανάληψης «for». F. Στη δομή «for» μία εντολή της ομάδας εντολών που επαναλαμβάνονται πρέπει να αλλάζει την τιμή του μετρητή. G. Μία σειρά εντολών στη δομή «repeat» θα εκτελεστεί υποχρεωτικά τουλάχιστον μία φορά. 26. Συμπληρώστε με σωστό ή λάθος. A. Οι εντολές που βρίσκονται σε μία επανάληψη «for» εκτελούνται τουλάχιστον μία φορά. B. Κάθε επανάληψη μπορεί να γραφεί με την εντολή «while». C. Στη δομή επανάληψης «while» ο έλεγχος της «συνθήκης» γίνεται στην αρχή, δηλαδή πριν εκτελεστεί οποιαδήποτε εντολή που περιέχεται στη δομή. D. Κάθε δομή επανάληψης που υλοποιείται με τη δομή «while» μπορεί να γραφεί και με τη χρήση της δομής «for». E. Η δομή επανάληψης μέσα σε δομή επιλογής είναι εφικτή. F. Μπορούμε να έχουμε επιλογή μέσα σε μια δομή επανάληψης. G. Η μορφή επανάληψης «while» χρησιμοποιείται και όταν γνωρίζουμε από την αρχή τον αριθμό των επαναλήψεων που θα εκτελεστούν. H. Η δομή επανάληψης «repeat» θα εκτελεστεί αναγκαστικά τουλάχιστον μία φορά. 27. Κάντε τις σωστές συνδέσεις: (Δεν είναι απαραίτητο να συνδεθεί το κάθε στοιχείο εξ’ αριστερών μόνο με ένα στοιχείο εκ’ δεξιών) Στήλη Α

1. «repeat». 2. «while». 3. «for». 4. «case».

Η δομή της επανάληψης

Στήλη Β A. Επανάληψη για γνωστό αριθμό επαναλήψεων με αυτόματη αύξηση του μετρητή. B. Επανάληψη για γνωστό αριθμό επαναλήψεων με έλεγχο στην αρχή. C. Απλή επιλογή. D. Επανάληψη για άγνωστο αριθμό επαναλήψεων με έλεγχο στο τέλος. E. Πολλαπλή επιλογή. F. Επανάληψη για γνωστό αριθμό επαναλήψεων με έλεγχο στο τέλος. G. Επανάληψη για άγνωστο αριθμό επαναλήψεων με έλεγχο στην αρχή.

8


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 28. Να συνδέσετε τα στοιχεία της στήλης Α με τα στοιχεία της στήλης Β. (Δεν είναι απαραίτητο να συνδεθεί το κάθε στοιχείο εξ’ αριστερών μόνο με ένα στοιχείο εκ’ δεξιών) Στήλη Α Δομή A.

Στήλη Β Τρόπος εκτέλεσης Ο έλεγχος της συνθήκης γίνεται πριν την εκτέλεση των εντολών.

1. «while». B.

Είναι γνωστό το πλήθος των επαναλήψεων.

C.

Ο έλεγχος της συνθήκης γίνεται μετά την εκτέλεση των εντολών.

2. «repeat». 3. «for».

29. Να επιλέξετε τον αριθμό (ή τους αριθμούς) που αντιστοιχεί στη σωστή απάντηση. A. Πόσες επαναλήψεις θα έχουν πραγματοποιηθεί όταν η μεταβλητή κ πάρει την τιμή -2 στο παρακάτω τμήμα προγράμματος Pascal; k:=2; p:=3; while (k>=-2) and (p>-10) do begin p:=p*k; k:=k-1; end; 1) 2) 3) 4)

1. 2. 3. Τίποτα από τα παραπάνω.

B. Η δομή επανάληψης «while» εκτελείται: 1) Μια φορά. 2) Ούτε μια φορά. 3) Πολλές φορές. 4) Όλα τα παραπάνω. C. Σε ποια μορφή επαναληπτικής δομής επανάληψης ο μετρητής μόνο μπορεί να αυξάνεται; (δεν μπορεί να μειώνεται δηλαδή) 1) «while». 2) «repeat». 3) «for». 4) Τίποτα από τα παραπάνω. D. Σε ποιες μορφές επαναληπτικής δομής ελέγχεται η συνθήκη επανάληψης στην αρχή; 1) «while». 2) «repeat». 3) «for». 4) Τίποτα από τα παραπάνω.

Η δομή της επανάληψης

9


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 30. Να γίνει λογικό διάγραμμα για το παρακάτω πρόγραμμα Pascal. program askisi; var x,max,min,i,j:integer; begin readln(x); max:=x; for i:=1 to 20 do for j:=1 to 50 do begin readln(x); if x>max then max:=x; end; writeln(max); end. 31. Να εξηγήσετε τι τιμές θα πάρουν οι μεταβλητές στο ακόλουθο κομμάτι προγράμματος Pascal. K:=40; L:=3; while K<20 do begin M:=4; K:=M+L; for i:=1 to 6 do begin N:=M-1; P:=N*2; end; end; writeln(K,L,M,N,P);

Η δομή της επανάληψης

10


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 32. Να συνδέσετε τα στοιχεία της στήλης Α με τα στοιχεία της στήλης Β. ΣΤΗΛΗ Α Τμήμα προγράμματος 1. n:=4; k:=0; repeat if n>k then k:=k+1; n:=n-1; until n<=2;

ΣΤΗΛΗ Β Τελική τιμή του κ

A. 4 2. x:=-2; k:=1; while x<>2 do begin k:=k*3; x:=x+2; end; 3. for n:=1 to 2 do k:=1; for m:=1 to n do k:=k*n;

B. 0 C. 2 D. 9 E. -6 F. 11 G. Τίποτε από τα παραπάνω

4. k:=3; b:=1; repeat if b<=9 then k:=k-2; b:=b+2 until (k=-7) and (b>4) 33. Να επιλέξετε την σωστή απάντηση. A. Σε ποια μορφή επαναληπτικής δομής η συνθήκη ελέγχεται στο τέλος; 1) «while». 2) «repeat». 3) «for». 4) Τίποτα από τα παραπάνω. B. Σε ποια μορφή επαναληπτικής δομής πρέπει η συνθήκη να γίνει αληθής για να τερματιστεί η επανάληψη; 1) «while». 2) «repeat». 3) «for». 4) Τίποτα από τα παραπάνω.

Η δομή της επανάληψης

11


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς C. Πόσες φορές θα εμφανισθεί το όνομα Βασίλης; k:=6; while k>0 do begin for i:=1 to -8 do writeln('Βασίλης'); k:=k-3; end; 1) 2) 3) 4)

15. 5. 3. Τίποτα από τα παραπάνω.

D. Η δομή της επανάληψης χρησιμοποιείται όταν μια ομάδα εντολών πρέπει να εκτελεστεί: 1) Μια φορά. 2) Πολλές φορές. 3) Άπειρες φορές. 4) Τίποτα από τα παραπάνω. E. Πόσες επαναλήψεις θα πραγματοποιηθούν στην εσωτερική δομή επανάληψης στο παρακάτω τμήμα προγράμματος Pascal; for n:=1 to 3 do for m:=1 to n do writeln(k); 1) 2) 3) 4)

6. 3. 0. Τίποτε από τα παραπάνω.

34. Πόσες φορές θα εκτελεστεί η εντολή «writeln(a)» στο παρακάτω τμήμα προγράμματος Pascal; a:=10; while a<>0 do begin for i:=1 to 5 do a:=a-1; writeln(a); end;

Η δομή της επανάληψης

12


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 35. Έστω το παρακάτω τμήμα προγράμματος Pascal: for x:=1 to 3 do begin m:=1; for y:=1 to x do m:=m*5; writeln(m); end; Να βρείτε τις τιμές του Μ που θα εμφανιστούν. 36. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει πολλούς θετικούς ή μηδενικούς αριθμούς και θα εμφανίσει τον μέσο όρο τους. Ο χρήστης σταματά να δίνει αριθμούς όταν πληκτρολογήσει οποιοδήποτε αρνητικό αριθμό. Να χρησιμοποιηθεί η δομή επανάληψης WHILE..DO. 37. Κάποιο κεφάλαιο μικρότερου των 1.000 € κατατίθεται στην τράπεζα με κάποιο επιτόκιο. Με την προϋπόθεση ότι το κεφάλαιο ανατοκίζεται στο τέλος κάθε χρόνου, να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα εμφανίσει σε πόσα χρόνια θα ξεπεράσει τα 1.000 € και πόσο συνολικό τόκο θα δώσει. Το πρόγραμμα σας θα διαβάσει το αρχικό κεφάλαιο και το επιτόκιο. (Σημείωση: Ανατοκισμός σημαίνει προσθήκη του τόκου στο κεφάλαιο. Τόκος είναι το γινόμενο κεφαλαίου και επιτοκίου). Παράδειγμα υπολογισμού τόκου Αν το αρχικό κεφάλαιο είναι 500 € και το επιτόκιο είναι 10% τότε ο τόκος που προκύπτει είναι 500*10%=50 € και το κεφάλαιο γίνεται 500+50=550€. Εργαζόμαστε ομοίως αλλά με κεφάλαιο το 550€ και κάθε νέα χρονιά με το νέο κεφάλαιο που προκύπτει. Να χρησιμοποιηθεί η δομή επανάληψης WHILE..DO. 38. Το σημερινό ετήσιο εισόδημα ενός ατόμου είναι 8.000 €. Αν αυξάνεται με 7% το χρόνο, να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα εμφανίσει σε πόσα χρόνια θα ξεπεράσει τα 9.000 € και πόσο θα είναι τότε το εισόδημα του. Να χρησιμοποιηθεί η δομή επανάληψης WHILE..DO. 39. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει το ύψος και το βάρος ενός παιδιού 10 χρονών. Το πρόγραμμα να υπολογίσει και εμφανίσει πόσο χρονών θα είναι το παιδί όταν το ύψος του θα ξεπεράσει το 1,60 και το βάρος τα 60 κιλά με τη προϋπόθεση ότι έχουμε σταθερή αύξηση ύψους 5% βάρους 5 κιλών. Να χρησιμοποιηθεί η δομή επανάληψης WHILE..DO. 40. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει πολλές τριάδες αριθμών A, B , C (τρεις αριθμούς κάθε φορά δηλαδή). Το πρόγραμμα θα υπολογίσει για κάθε τριάδα το γινόμενο Ρ των 3 αριθμών και ανάλογα με το P θα υπολογίσει και εμφανίσει: A. Αν Ρ>1000 , το άθροισμα Α+Β. B. Αν Ρ<1000 , το άθροισμα Α+C. C. Αν Ρ=1000 , το άθροισμα B+C. Ο χρήστης σταματά να δίνει τριάδες αριθμών όταν πληκτρολογήσει Α=0 και Β=0 και C=0. Να χρησιμοποιηθεί η δομή επανάληψης WHILE..DO.

Η δομή της επανάληψης

13


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 41. Αν αναλυθεί ένα κιλό μπετόν θα δούμε ότι περιέχει ¼ Κg τσιμέντο και ¾ Κg άμμο. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει πολλές ποσότητες μπετόν και θα υπολογίσει και εμφανίσει για την κάθε μία τις ποσότητες των συστατικών της. Για να τερματιστεί το πρόγραμμα ο χρήστης πληκτρολογεί 0 στην ποσότητα του μπετόν. Να χρησιμοποιηθεί η δομή επανάληψης WHILE..DO. 42. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο θα διαβάσει πολλούς χαρακτήρες και θα εμφανίσει το πλήθος τους μέχρι να συναντήσει την «.» (τελεία). (Η τελεία δεν θα προσμετρηθεί στο πλήθος). Να χρησιμοποιηθεί η δομή επανάληψης WHILE..DO. 43. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει 2 θετικούς ακέραιους αριθμούς α και β και θα εμφανίσει τον Μέγιστο Κοινό Διαιρέτη (ΜΚΔ) τους σύμφωνα με την εξής μεθοδολογία : Ο ΜΚΔ των αριθμών α και β είναι ίδιος με τον ΜΚΔ των αριθμών: α-β και β, αν α > β α και β-α αν α < β. Η διαδικασία της αφαίρεσης επαναλαμβάνεται μέχρι ο α να γίνει ίσος με τον β. Τότε ο ΜΚΔ είναι ο α (ή ο β αφού είναι ίσοι). Να χρησιμοποιηθεί η δομή επανάληψης WHILE..DO. Παράδειγμα α β 25 15 10 5 5 οπότε ΜΚΔ=5

Σχόλια Οι αρχικοί αριθμοί. Επειδή ήταν α > β τότε στην θέση του α μπήκε ο α-β. Επειδή ήταν β > α τότε στην θέση του β μπήκε ο β-α. Οι αριθμοί έγιναν ίσοι, οπότε σταματάμε.

44. Με βάση την παραπάνω άσκηση να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο να βρίσκει και να εμφανίζει το Ελάχιστο Κοινό Πολλαπλάσιο (ΕΚΠ) δύο ακεραίων θετικών αριθμών με βάση τον τύπο:

 

 *



Μπορείτε να κάνετε επαλήθευση της λύσης σας, χρησιμοποιώντας τους αριθμούς της προηγούμενης άσκησης, δηλαδή α=25 και β=15. Τότε λογικά πρέπει να βρείτε ΜΚΔ=5 και

 

25 *15  75 5

Να χρησιμοποιηθεί η δομή επανάληψης WHILE..DO. 45. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο θα διαβάσει δύο ακέραιους θετικούς αριθμούς a και b και θα υλοποιεί την πράξη του ακέραιου υπολοίπου (mod) και του ακέραιου πηλίκου (div) μεταξύ τους, χωρίς όμως να χρησιμοποιήσετε τις εντολές div και mod. Το πρόγραμμα θα εμφανίσει το ακέραιο υπόλοιπο και το ακέραιο πηλίκο τους. Να χρησιμοποιηθεί η δομή επανάληψης WHILE..DO. Υπόδειξη Η δομή της επανάληψης

14


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς Πραγματοποιήστε διαδοχικές αφαιρέσεις α-β και τοποθετείστε την διαφορά ξανά στο α, όσο α >= β. Μετρήστε πόσες αφαιρέσεις κάνατε. Το πλήθος αυτό είναι το ακέραιο πηλίκο και η τελική τιμή του α είναι το ακέραιο υπόλοιπο. Παράδειγμα

Αρχή 1η 2η

α 11 7 3 Υπόλοιπο

β 4

Πλήθος 0 1 2 Πηλίκο

46. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο θα διαβάσει έναν πραγματικό αριθμό και θα υπολογίσει και εμφανίσει το ακέραιο μέρος του. Να χρησιμοποιηθεί η δομή επανάληψης WHILE..DO. Υπόδειξη Μηδενίστε μια μεταβλητή. Αν ο αριθμός είναι μεγαλύτερος ή ίσος του 0. Αυξάνεται κατά 1 την προηγούμενη μεταβλητή μέχρι να γίνει μεγαλύτερη του αριθμού. Όταν συμβεί αυτό, την τιμή της μεταβλητής μειώστε την κατά 1. Αυτή η νέα τιμή είναι το ακέραιο μέρος. Αν ο αριθμός είναι μικρότερος του 0. Μειώνεται κατά 1 την προηγούμενη μεταβλητή μέχρι να γίνει μικρότερη του αριθμού. Όταν συμβεί αυτό, την τιμή της μεταβλητής αυξήστε την κατά 1. Αυτή η νέα τιμή είναι το ακέραιο μέρος. 47. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο θα διαβάσει έναν πραγματικό αριθμό και θα τον στρογγυλοποιεί στον πλησιέστερο ακέραιο, οπότε και θα τον εμφανίσει. Να χρησιμοποιηθεί η δομή επανάληψης WHILE..DO. Υπόδειξη Βρείτε το ακέραιο μέρος του όπως στην προηγούμενη άσκηση. Αν ο αριθμός είναι μεγαλύτερος ή ίσος του 0. Βρείτε την διαφορά Δ: Δ = αριθμός-ακέραιο μέρος και αν Δ>=0.5 τότε η στρογγυλοποίηση είναι : ακέραιο μέρος +1 Δ<0.5 τότε η στρογγυλοποίηση είναι : ακέραιο μέρος Αν ο αριθμός είναι μικρότερος του 0. Βρείτε την διαφορά δ: Δ = ακέραιο μέρος-αριθμός και αν Δ>=0.5 τότε η στρογγυλοποίηση είναι : ακέραιο μέρος -1 Δ<0.5 τότε η στρογγυλοποίηση είναι : ακέραιο μέρος 48. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει από το πληκτρολόγιο 10 το πολύ ακέραιους αριθμούς και θα υπολογίσει: A. Το άθροισμα τους. B. Το πλήθος τους. C. Τον μέσο όρο τους.

Η δομή της επανάληψης

15


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς Στην περίπτωση που διαβάσει την τιμή 5, σταματάει την εκτέλεση του και θα εμφανίσει το άθροισμα, το πλήθος και τον μέσο όρο των αριθμών που διάβασε. (Το 5 δεν περιλαμβάνεται στα αποτελέσματα). Να χρησιμοποιηθεί η δομή επανάληψης WHILE..DO. 49. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που να διαβάσει ακεραίους θετικούς αριθμούς και θα υπολογίσει και εμφανίσει: A. Το πλήθος των αριθμών που διαβάστηκαν. B. Τον μέσο όρο των αριθμών που διαβάστηκαν που ήταν διαιρετοί ακριβώς με το 3. Η εισαγωγή των αριθμών σταματά όταν ο χρήστης πληκτρολογήσει το 0 ή το 9. Να χρησιμοποιηθεί η δομή επανάληψης WHILE..DO. 50. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο αφού διαβάσει έναν ακέραιο και θετικό αριθμό θα μετρά τα ψηφία του, οπότε και θα εμφανίσει το πλήθος τους. Υπόδειξη Πραγματοποιώντας διαδοχικές ακέραιες διαιρέσεις (div) του αριθμού με το 10 και αποθηκεύοντας το αποτέλεσμα ξανά στην ίδια μεταβλητή, ο αριθμός χάνει 1 ψηφίο. Να χρησιμοποιηθεί η δομή επανάληψης WHILE..DO. Παράδειγμα Α 596 59 5 0

div 10 div 10 div 10

1η φορά 2η φορά 3η φορά

51. Μια εταιρεία αμείβει τους πωλητές τις με μισθό 1.000 € και ποσοστά επί των πωλήσεων (τα γνωστά ως πριμ) κλιμακωτά σύμφωνα με τον παρακάτω πίνακα: ΠΩΛΗΣΕΙΣ Μέχρι και 2000 € Από 2000 € μέχρι και 5000 € Από 5000 € μέχρι και 9000 € Πάνω από 9000 €

ΠΟΣΟΣΤΟ 5% 8% 10% 12%

Παράδειγμα Αν ο πωλητής κάνει πωλήσεις 3.000€ θα πάρει για τα 2.000€ πριμ σε ποσοστό 5%, για τα επόμενα 1.000€ πριμ σε ποσοστό 8%. Να κατασκευάσετε πρόγραμμα στην Γλωσσομάθεια και στην Pascal που: A. Για κάθε πωλητή: 1. Να διαβάσει τον κωδικό και τις πωλήσεις του. 2. Να υπολογίσει και να εμφανίσει το πριμ του και την αμοιβής του. Η διαδικασία να επαναλαμβάνεται για άγνωστο αριθμό πωλητών μέχρι να εισαχθεί για κωδικός το 0. B. Να υπολογίσει και εμφανίσει το συνολικό ποσό που θα πληρώσει η εταιρεία για πριμ. C. Να υπολογίσει και εμφανίσει τον μέσο όρο των πριμ. Να χρησιμοποιηθεί η δομή επανάληψης WHILE..DO

Η δομή της επανάληψης

16


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 52. Η Δημόσια Επιχείρηση Ηλεκτρισμού υπολογίζει την αξία του ηλεκτρικού ρεύματος των καταναλωτών της σύμφωνα με τον επόμενο πίνακα: ΗΜΕΡΗΣΙΑ ΚΑΤΑΝΑΛΩΣΗ Κατανάλωση Τιμή / KWh (σε KWh) (σε €) Μέχρι και 800 0,2 Από 800 μέχρι και 1200 0,3 Από 1200 μέχρι και 1600 0,4 Από 1600 και πάνω 0,5

ΝΥΧΤΕΡΙΝΗ ΚΑΤΑΝΑΛΩΣΗ Κατανάλωση Τιμή / KWh (σε KWh) (σε €) Ανεξάρτητα από 0,1 κατανάλωση

Στην ημερήσια κατανάλωση η χρέωση γίνεται κλιμακωτά. Για παράδειγμα, η αξία μιας κατανάλωσης 1255 KWh υπολογίζεται ως εξής: Οι πρώτες 800 KWh υπολογίζονται προς 0,2 € η μία , οι επόμενες 400 προς 0,3 η μία και οι τελευταίες 55 KWh προς 0,4 € η μία. Στην αξία της ημερήσιας χρέωσης προστίθενται η αξία της νυχτερινής και ένα πάγιο ποσό 15 €, έτσι ώστε να προκύψει η συνολική αξία του ρεύματος πού καταναλώθηκε. Να κατασκευαστεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο: A. Για κάθε συνδρομητή της ΔΕΗ 1. Να διαβάσει τον αριθμό ρολογιού (τον κωδικό που έχει πάνω του ο μετρητής της ΔΕΗ), την ημερήσια και τη νυχτερινή κατανάλωση σε KWH. 2. Να υπολογίσει και να εμφανίσει την αξία του ρεύματος που καταναλώθηκε. Το πρόγραμμα θα πρέπει να λειτουργεί για άγνωστο αριθμό συνδρομητών και να τερματιστεί όταν δοθεί η τιμή 0 στον αριθμό ρολογιού. B. Να υπολογίσει και να εμφανίσει το συνολικό ποσό που πρέπει να εισπράξει η εταιρεία από όλους τους καταναλωτές της για την αξία του ρεύματος που κατανάλωσαν. Να χρησιμοποιηθεί η δομή επανάληψης WHILE..DO. 53. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει για 16 χώρες τον πληθυσμό και την έκταση της κάθε μίας (υποθέστε ότι η έκταση δίνεται σε τετραγωνικά χιλιόμετρα) και θα υπολογίσει και εμφανίσει την πυκνότητα του πληθυσμού (κάτοικοι ανά τ. χιλιόμετρο ) για κάθε χώρα και την συνολική πυκνότητα όλων των χωρών. Να χρησιμοποιηθεί η δομή επανάληψης WHILE..DO. 54. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο θα διαβάσει πολλούς ακέραιους θετικούς αριθμούς και θα εμφανίσει πόσοι από αυτούς ήταν μονοί και πόσοι ζυγοί. Το πλήθος των αριθμών που θα πληκτρολογήσει ο χρήστης θα το διαβάσετε εκ’ των προτέρων. Να χρησιμοποιηθεί η δομή επανάληψης WHILE..DO. 55. Ένας έμπορος δομικών υλικών πουλάει τούβλα προς 10 € τα εκατό στους καταναλωτές και προς 8 € στους οικοδόμους. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει για 5 παραγγελίες το είδος του πελάτη (1 = Καταναλωτής, 2=Οικοδόμος) και την ποσότητα τούβλων που αυτός αγόρασε. Το πρόγραμμα θα υπολογίσει και θα εμφανίσει την αξία κάθε παραγγελίας αλλά και το σύνολο των χρημάτων που θα εισπράξει ο έμπορος. Να χρησιμοποιηθεί η δομή επανάληψης WHILE..DO.

Η δομή της επανάληψης

17


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 56. Γίνεται μια έρευνα για τις ώρες που παρακολουθεί τηλεόραση το κοινό. Τα αποτελέσματα θα μπουν σε τρεις κατηγορίες: Υψηλή (περισσότερες από 20 ώρες τη εβδομάδα ). Μεσαία (από 8 έως 20 ώρες ). Χαμηλή (λιγότερες από 8 ώρες ). Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που για 30 άτομα θα διαβάσει τις ώρες που είδε τηλεόραση ο κάθε ένας και θα εμφανίσει το πλήθος της κάθε κατηγορίας. Να χρησιμοποιηθεί η δομή επανάληψης WHILE..DO. 57. Ένα διαμέρισμα πρόκειται να επιστρωθεί με πλακάκια το καθένα από τα οποία έχει επιφάνεια 0,25m2. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει τον αριθμό των δωματίων του διαμερίσματος και για κάθε δωμάτιο το μήκος και το πλάτος του. Στο τέλος θα υπολογίσει και θα εμφανίσει την συνολική επιφάνεια του διαμερίσματος και τα απαιτούμενα πλακάκια. (Υποθέστε ότι όλα τα δωμάτια είναι ορθογώνια). Να χρησιμοποιηθεί η δομή επανάληψης WHILE..DO. 58. Να γραφεί το παρακάτω τμήμα προγράμματος Pascal χρησιμοποιώντας την δομή «repeat». while k<>0 do begin x:=k+1; k:=k-9; end; 59. Να γραφεί το παρακάτω τμήμα προγράμματος Pascal χρησιμοποιώντας την δομή «repeat». k:=5; while k>0 do begin x:=k+1; k:=k-1; end; 60. Να γραφεί το παρακάτω τμήμα προγράμματος Pascal χρησιμοποιώντας την δομή «while». x:=n; repeat x:=x-3; until x<=15;

Η δομή της επανάληψης

18


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 61. Να γραφεί το παρακάτω τμήμα προγράμματος Pascal χρησιμοποιώντας την δομή «while». x:=25; repeat x:=x-3; until x<=15; 62. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει πολλούς αριθμούς και θα υπολογίσει και εμφανίσει πόσοι είναι μικρότεροι του 1, πόσοι μεταξύ 1 και 1000 και πόσοι μεγαλύτεροι του 1000. Το πλήθος των αριθμών που θα πληκτρολογήσει ο χρήστης θα το διαβάσετε εκ’ των προτέρων. Να χρησιμοποιηθεί η δομή επανάληψης REPEAT..UNTIL. 63. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει από τον χρήστη πολλούς αριθμούς και θα υπολογίσει και θα εμφανίσει το άθροισμα και το γινόμενο τους. Το πλήθος των αριθμών που θα πληκτρολογήσει ο χρήστης θα το διαβάσετε εκ’ των προτέρων. Να χρησιμοποιηθεί η δομή επανάληψης REPEAT..UNTIL. 64. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο θα διαβάσει αριθμούς που του δίνει ο χρήστης από το πληκτρολόγιο. Για αυτούς τους αριθμούς θα εμφανίσει το άθροισμα τους. Το πρόγραμμα θα σταματά μόλις διαβάσει τον αριθμό 1 (θα τον υπολογίσει και αυτόν στο άθροισμα) ή όταν το άθροισμα γίνει μεγαλύτερο από 1000. Να χρησιμοποιηθεί η δομή επανάληψης REPEAT..UNTIL. 65. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει από το πληκτρολόγιο 10 το πολύ αριθμούς και θα υπολογίσει: A. Το άθροισμα τους. B. Το πλήθος τους. C. Τον μέσο όρο τους. Στην περίπτωση που διαβάσει την τιμή 5, σταματάει την εκτέλεση του και θα εμφανίσει το άθροισμα, το πλήθος και τον μέσο όρο των αριθμών που διάβασε. (Το 5 περιλαμβάνεται στα αποτελέσματα). Να χρησιμοποιηθεί η δομή επανάληψης REPEAT..UNTIL. 66. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει έναν χαρακτήρα και έναν ακέραιο θετικό αριθμό Ν και θα εμφανίσει τον χαρακτήρα που διάβασε Ν φορές. (Για παράδειγμα αν Ν=3 και ο χαρακτήρας ήταν ο β τότε εμφανίσει βββ). Να χρησιμοποιηθεί η δομή επανάληψης FOR. 67. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει από τον χρήστη πολλούς αριθμούς. Το πλήθος των αριθμών που θα πληκτρολογήσει ο χρήστης θα το διαβάσετε εκ’ των προτέρων. Το πρόγραμμα θα εμφανίσει το άθροισμα και το πλήθος των αριθμών που είναι (ξεχωριστά για κάθε περίπτωση): A. Μικρότεροι του 10. B. Μεγαλύτεροι του 20. C. Μεταξύ 10 και 20. Να χρησιμοποιηθεί η δομή επανάληψης FOR.

Η δομή της επανάληψης

19


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 68. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει τα ακόλουθα στοιχεία για πολλούς μαθητές ενός Λυκείου: Κωδικό της τάξης τους (1=Α’ Λυκείου, 2=Β’ Λυκείου, 3=Γ’ Λυκείου). Μέσο όρο βαθμολογίας τους. Το πρόγραμμα να υπολογίσει και να εμφανίσει για κάθε τάξη το σύνολο των μαθητών της και τον μέσο όρο βαθμολογίας της. Το πλήθος των μαθητών που θα πληκτρολογήσει ο χρήστης θα το διαβάσετε εκ’ των προτέρων. Να χρησιμοποιηθεί η δομή επανάληψης FOR. 69. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που να εμφανίσει: A. Τους ζυγούς από το 2 έως το 20. B. Τους μονούς από το 1 έως το 19. Να χρησιμοποιηθεί η δομή επανάληψης FOR. 70. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει έναν ακέραιο θετικό αριθμό Ν και θα εμφανίσει τα παρακάτω (να χρησιμοποιηθεί η δομή επανάληψης FOR): A. 1+2+3+…..+Ν. B. 1*2*3*…*Ν. C. 12+22+32+…..+Ν2. 71. Να γραφεί το παρακάτω τμήμα προγράμματος Pascal χρησιμοποιώντας την δομή «while». y:=6; for k:=8 downto -12 do begin y:=y+1; x:=y*y; end; 72. Να γραφεί το παρακάτω τμήμα προγράμματος Pascal χρησιμοποιώντας την δομή «for». a:=2; b:=10; while b<15 do begin a:=a*b; c:=a-b*3; b:=b+1; end;

Η δομή της επανάληψης

20


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 73. Να γραφεί το παρακάτω τμήμα προγράμματος Pascal χρησιμοποιώντας την δομή «for». readln(x); k:=1; while x<>0 do begin k:=k+2; readln(x); end; 74. Να γραφεί το παρακάτω τμήμα προγράμματος Pascal χρησιμοποιώντας την δομή «for». x:=5; k:=1; while x<>0 do begin k:=k+1; x:=x-1; end; 75. Να γραφεί το παρακάτω τμήμα προγράμματος Pascal χρησιμοποιώντας την δομή «while». x:=1; for k:=3 to 14 do x:=x*k; 76. Εκφράστε το παρακάτω τμήμα προγράμματος Pascal χρησιμοποιώντας τη δομή «repeat». readln(x); p:=1; for k:=1 to x do begin p:=p*2; writeln(p); end; 77. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει έναν πραγματικό αριθμό (βάση ή β) και έναν ακέραιο αριθμό (εκθέτης ή ε) και θα υπολογίσει και θα εμφανίσει την δύναμη (ή κατάλληλο μήνυμα αν δεν ορίζεται), δηλαδή το: βε Επεξήγηση – Απαραίτητες μαθηματικές γνώσεις Αν ε>0, τότε Πρέπει να βρεθεί το γινόμενο β * β * … * β. Είναι φανερό πως οι όροι του γινομένου αυτού είναι ε. Αν ε<0, τότε i. Αν β=0, τότε Η δύναμη δεν ορίζεται.

Η δομή της επανάληψης

21


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς ii. Αν β<>0, τότε Πρέπει να βρεθεί το γινόμενο

1

*

1

* ... *

1

. Είναι φανερό πως οι ό-

ροι του γινομένου αυτού είναι ε. Αν ε=0, τότε iii. Αν β=0, τότε Η δύναμη δεν ορίζεται. iv. Αν β<>0, τότε Η δύναμη είναι 1. 78. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει έναν ακέραιο θετικό Ν και θα εμφανίσει το άθροισμα (υποθέστε ότι Ν <>0):

1

1 1 1   ...  2 3 N

79. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει έναν θετικό ακέραιο Ν και θα εμφανίσει το παραγοντικό του . Παραγοντικό ενός αριθμού Ν συμβολίζεται με Ν! και είναι το γινόμενο: 1*2*3*…*Ν

80. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα εμφανίσει τους αντίστοιχους βαθμούς της κλίμακας Κελσίου για τους βαθμούς Φαρενάιτ από –40 έως 120. Η σχέση των δύο κλιμάκων δίνεται από τον τύπο:

C

5  ( F  32) 9

81. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει 2 ακέραιους αριθμούς Α και Β και θα αθροίσει όλους τους ακέραιους αριθμούς που υπάρχουν μεταξύ των αριθμών Α και Β (και του Α και του Β). Το πρόγραμμα θα εμφανίσει το άθροισμα των αριθμών αυτών. 82. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει δύο ακέραιους αριθμούς Α και Β και θα εμφανίσει όλους τους ακέραιους αριθμούς που είναι διαιρετοί με το 3 και βρίσκονται μεταξύ των αριθμών Α και Β (και του Α και του Β). 83. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει 2 ακέραιους αριθμούς Α και Β και θα εμφανίσει το άθροισμα των μονών αριθμών που υπάρχουν μεταξύ των αριθμών Α και Β (και του Α και του Β). 84. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα εμφανίσει το πλήθος και το άθροισμα όλων των ακέραιων αριθμών μεταξύ του 100 και του 300 (και του 100 και του 300) που διαιρούνται με το 16. 85. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που να εμφανίσει σε φθίνουσα σειρά τα τετράγωνα των περιττών ακεραίων αριθμών που είναι μικρότεροι του 20 και μεγαλύτεροι του 0. Επίσης να εμφανιστεί το άθροισμα των τετραγώνων τους. 86. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal ο οποίος αφού διαβάσει έναν ακέραιο θετικό αριθμό Α, θα εμφανίσει τους διαιρέτες του. (Υπόδειξη : οι διαιρέτες του θα είναι σίγουρα κάποιοι από τους αριθμούς 1, 2, 3, …A).

Η δομή της επανάληψης

22


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς

87. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που να εμφανίσει τους ακέραιους θετικούς αριθμούς που είναι μικρότεροι του 1000. 88. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο θα διαβάσει το πλήθος των υπαλλήλων μιας επιχείρησης και για κάθε έναν από αυτούς θα διαβάσει το όνομα του και τον μισθό του. Εάν ο μισθός ενός υπαλλήλου είναι μικρότερος από 500 € τότε θα εμφανίσει στην οθόνη τον προσαυξημένο κατά 5% μισθό του. Επίσης, θα εμφανίσει πόσα άτομα είχαν μισθό κάτω των 500 € και πόσα πάνω από 500 €. 89. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο θα διαβάσει έναν θετικό ακέραιο αριθμό Ν και θα εμφανίσει την ακολουθία 20,21,22,…,2Ν. 90. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο θα διαβάσει πολλούς αριθμούς και θα εμφανίσει το γινόμενο και τον μέσο όρο τους. Το πλήθος των αριθμών που θα πληκτρολογήσει ο χρήστης θα το διαβάσετε εκ’ των προτέρων. 91. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο θα διαβάσει το πλήθος των μαθητών ενός σχολείου και για κάθε έναν από αυτούς τους ετήσιους μέσους όρους τους. Το πρόγραμμα θα εμφανίσει στην οθόνη το πλήθος των μαθητών που είχαν βαθμό κάτω από 10, το πλήθος των μαθητών που είχαν βαθμό από 10 έως 18 και το πλήθος των μαθητών που είχαν βαθμό πάνω από 18. Επίσης, για κάθε μια από αυτές τις κατηγορίες θα εμφανίσει και το ανάλογο ποσοστό. 92. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο θα διαβάσει ακέραιους θετικούς αριθμούς και θα εμφανίσει πόσοι από αυτούς ήταν περιττοί και πόσοι άρτιοι. Το πλήθος των αριθμών που θα πληκτρολογήσει ο χρήστης θα το διαβάσετε εκ’ των προτέρων. 93. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο θα εμφανίσει όλα τα πολλαπλάσια του 5 από το 5 έως το 1000. 94. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο θα διαβάσει ακέραιους θετικούς αριθμούς και θα εμφανίσει πόσοι από αυτούς είναι πολλαπλάσια του 3, πόσοι πολλαπλάσια του 5 και πόσοι του 8. Το πλήθος των αριθμών που θα πληκτρολογήσει ο χρήστης θα το διαβάσετε εκ’ των προτέρων. 95. Σε μία εταιρεία parking υπάρχουν 3 χώροι στάθμευσης ανάλογα με το είδος των οχημάτων (φορτηγά (Φ), ΙΧ, (Ι) μοτοσικλέτες (Μ)). Για κάθε όχημα κόβεται ένα εισιτήριο. Στο parking μπορούν να κοπούν συνολικά 450 εισιτήρια την ημέρα ανεξαρτήτως του είδους των οχημάτων. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει το είδος του οχήματος (να ελέγχει την ορθή καταχώριση των δεδομένων) και θα υπολογίσει και εμφανίσει τον αριθμό των φορτηγών , των ΙΧ και των μοτοσικλετών που πάρκαραν στο τέλος της ημέρας. (Υποθέστε ότι στο τέλος της ημέρας έχουν παρκάρει ακριβώς 450 οχήματα).

Η δομή της επανάληψης

23


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 96. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει το πλήθος (έστω Ν) κάποιων ανθρώπων και τα ακόλουθα στοιχεία για κάθε έναν από αυτούς : Κωδικός φύλου (1= αγόρι 2= κορίτσι ). Ύψος. Βάρος. Ηλικία. Το πρόγραμμα να ελέγχει την ορθότητα καταχώρισης των δεδομένων ώστε : Το πλήθος Ν να είναι θετικός αριθμός. Ο κωδικός φύλου να είναι μόνο 1ή 2. Το ύψος να είναι στο διάστημα [1..2]. Το βάρος να είναι στο διάστημα [50..120]. Η ηλικία να είναι στο διάστημα [20..90]. Το πρόγραμμα να εμφανίσει: A. Τον μέσο όρο της ηλικίας γυναικών με βάρος μεγαλύτερο των 60 κιλών. B. Το πλήθος των ανδρών με ύψος μεγαλύτερο του 1,80, βάρος μικρότερο των 85 κιλών και ηλικία μικρότερη των 40. 97. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει το πλήθος (έστω Ν) κάποιων ανθρώπων και τα ακόλουθα στοιχεία για κάθε έναν από αυτούς: Όνομα Κωδικό φύλλου (1= άνδρας , 2= γυναίκα ). Το πρόγραμμα να ελέγχει την ορθότητα καταχώρισης των δεδομένων ώστε : Το πλήθος Ν να είναι θετικός αριθμός. Ο κωδικός φύλου να είναι μόνο 1 ή 2. Το πρόγραμμα να υπολογίσει και να εμφανίσει πόσες είναι οι γυναίκες και πόσοι οι άνδρες. 98. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα εμφανίσει την προπαίδεια, δηλαδή τα γινόμενα : 1x1=1 1x2=2 … 1x10=10

2x1=2 2x2=4 … 2x10=20

… … … …

10x1=10 10x2=20 … 10x10=100

99. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα εμφανίσει όλες τις ακέραιες λύσεις της εξίσωσης: 2x-4y+5z=0 για τιμές των x, y, z, στο διάστημα 0..100. 100. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που να υπολογίσει και εμφανίσει όλες τις ακέραιες λύσεις της εξίσωσης 3*x - 2*y=4 στο διάστημα 1 έως 100. 101. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που να εμφανίσει τους τέλειους θετικούς ακέραιους αριθμούς που είναι μικρότεροι του 1000. Τέλειος λέγεται ένας αριθμός του οποίου οι διαιρέτες οι μικρότεροι του εαυτού του έχουν άθροισμα ίσο με τον αριθμό. Για παράδειγμα το 6 είναι τέλειος : 1 + 2 + 3=6

Η δομή της επανάληψης

24


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 102. Όταν ένας οδηγός κάνει παράβαση η Τροχαία επιβάλλει και έναν βαθμό ποινής, από 5 μέχρι 40 μονάδες. Ας υποθέσουμε ότι όταν ο οδηγός συγκεντρώσει 4 παραβάσεις, οι βαθμοί ποινής του αθροίζονται και αν το άθροισμα υπερβαίνει τις 40 μονάδες αφαιρείται το δίπλωμα για ένα τρίμηνο, ενώ αν υπερβαίνει τις 60 μονάδες αφαιρείται για ένα έτος. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο: A. Να διαβάσει το πλήθος των οδηγών που συμπλήρωσαν 4 παραβάσεις. B. Να διαβάσει τους 4 βαθμούς ποινής για τον καθένα από αυτούς κάνοντας έλεγχο αν βρίσκονται στο διάστημα [5,40]. C. Να υπολογίσει το άθροισμα τους για κάθε οδηγό και αν αυτό υπερβαίνει το 40 να εμφανίσει «ΑΦΑΙΡΕΣΗ ΔΙΠΛΩΜΑΤΟΣ 3 ΜΗΝΕΣ», ενώ αν υπερβαίνει το 60 να εμφανίσει «ΑΦΑΙΡΕΣΗ ΔΙΠΛΩΜΑΤΟΣ ΕΝΑ ΕΤΟΣ». 103. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα διαβάσει το πλήθος (έστω Ν) κάποιων υπαλλήλων και τα ακόλουθα στοιχεία για κάθε έναν από αυτούς: Γραμματικές γνώσεις (1= δημοτικό 2= γυμνάσιο 3= πτυχιούχος ). Ηλικία. Το πρόγραμμα να υπολογίσει και να εμφανίσει την μικρότερη ηλικία από κάθε κατηγορία γραμματικών γνώσεων. Θεωρήστε ότι οι ηλικίες των ανθρώπων που δίνει ο χρήστης είναι από 20 έως 75 ετών καθώς επίσης ότι έχει δοθεί τουλάχιστον ένας άνθρωπος από κάθε κατηγορία. 104. Δίνεται η συνάρτηση: f(x,y)=2*x2-3*y*εφ(y)+ημ(x) , όπου τα x,y είναι ακέραιοι αριθμοί. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal που θα υπολογίσει και θα εμφανίσει την μικρότερη και μεγαλύτερη τιμή της συνάρτησης όταν τα x,y παίρνουν ακέραιες τιμές στο διάστημα 2..4. Απαραίτητη γνώση: ημίτονο  sin( ) εφαπτομένη  tan (). Για να χρησιμοποιηθούν πρέπει να ανοίξουν οι σχετικές βιβλιοθήκες που τις περιέχουν: Uses math 105. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο να διαβάσει την ημερήσια κατανάλωση σε Kwh ενός σπιτιού για ορισμένο αριθμό ημερών και να υπολογίσει και εμφανίσει: A. Την μέση ημερήσια κατανάλωση. B. Ποια μέρα (1η, 2η κοκ) σημειώθηκε η μεγαλύτερη κατανάλωση και ποια ήταν αυτή. C. Ποια μέρα (1η, 2η κοκ) σημειώθηκε η μικρότερη κατανάλωση και ποια ήταν αυτή. Το πλήθος των ημερών που θα πληκτρολογήσει ο χρήστης θα το διαβάσετε εκ’ των προτέρων.

Η δομή της επανάληψης

25


Κέρος Α. Ιωάννης | Καθηγητής Πληροφορικής ΠΕ19 | 1o ΕΠΑΛ Κιλκίς 106. Στα πλαίσια του πρωταθλήματος ποδοσφαίρου γίνονται κάθε Κυριακή κάποιοι αγώνες. Γράψτε πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο: A. Να διαβάσει το πλήθος των αγώνων που έγιναν. B. Να διαβάσει το όνομα της γηπεδούχου ομάδας και τον αριθμό των γκολ που σημείωσε καθώς και το όνομα της φιλοξενούμενης ομάδας και τον αριθμό των γκολ που σημείωσε για κάθε αγώνα της Κυριακής. C. Να εμφανίσει σε ποιον αγώνα σημειώθηκε η μεγαλύτερη διαφορά τερμάτων. Για παράδειγμα ανάμεσα στον Ολυμπιακό και τον ΠΑΟΚ. D. Να εμφανίσει πόσες ισοπαλίες υπήρξαν, πόσες νίκες γηπεδούχων ομάδων και πόσες νίκες φιλοξενούμενων ομάδων. 107. Τα παρακάτω τμήματα προγράμματος Pascal έχουν σκοπό να διαβάσουν αριθμούς μέχρι να δοθεί η τιμή 0 και να εμφανίσουν τον μέγιστο και τον ελάχιστο των αριθμών αυτών. Ποιο / ποια από τα τρία θα δουλέψει σωστά για όλες τις περιπτώσεις και ποιος / ποιοι λάθος και γιατί; Α readln(x); max:=0; min:=x; while x<>0 do begin if x>max then max:=x; if x< min then min:=x; readln(x); end; writeln(max,min);

Β readln(x); max:=x; min:=x; while x<>0 do begin if x>max then max:=x; if x< min then min:=x; readln(x); end; writeln(max,min);

Γ readln(x); max:=0; min:=x; while x>0 do begin if x>max then max:=x; if x< min then min:=x; readln(x); end; writeln(max,min);

108. Τρεις αθλητές κάνουν από 6 προσπάθειες στη σφαίρα. Νικητής είναι εκείνος ο οποίος έχει το μεγαλύτερο μέσο όρο στις 6 προσπάθειες. Γράψτε πρόγραμμα στην Γλωσσομάθεια και στην Pascal που να διαβάσει τις επιδόσεις των αθλητών σε κάθε μια από τις προσπάθειες τους και να εμφανίσει την επίδοση του νικητή. 109. Σε μια διεθνή συνάντηση άρσης βαρών έλαβαν μέρος 15 αθλητές. Σύμφωνα με τους κανονισμούς του αθλήματος, κάθε αγωνιζόμενος λαμβάνει μέρος σε δυο κινήσεις (αρασέ και ζετέ). Σε κάθε κίνηση εκτελεί τρεις προσπάθειες. Από αυτές λαμβάνεται υπόψη η καλύτερη. Στη συνέχεια προστίθενται οι καλύτερες προσπάθειες ανά κίνηση και προκύπτει το συνολικό βάρος που σήκωσε ο αγωνιζόμενος. Νικητής είναι ο αθλητής με το μεγαλύτερο άθροισμα από όλους. Να γραφεί πρόγραμμα στην Γλωσσομάθεια και στην Pascal το οποίο: A. Να διαβάσει τα ονόματα των 15 αθλητών. B. Να διαβάσει τα βάρη που σήκωσαν οι αθλητές σε κάθε προσπάθεια και σε κάθε κίνηση. C. Να υπολογίσει και να εμφανίσει σε ποια προσπάθεια έγινε η καλύτερη επίδοση και το αντίστοιχο βάρος σε κάθε κίνηση για καθέναν από τους 15 αθλητές. D. Να υπολογίσει και να εμφανίσει το σύνολο των κιλών που σήκωσε κάθε αθλητής. E. Να υπολογίσει και να εμφανίσει το όνομα του νικητή και το βάρος που σήκωσε. Να μη ληφθεί υπόψη η περίπτωση της ισοβαθμίας.

Η δομή της επανάληψης

26


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.