Η ανάρτηση υπάρχει και στο παρακάτω λίνκ
http://okiriostonipologiston.blogspot.gr/2014/06/2014.html (http://okiriostonipologiston.blogspot.gr/2014/06/2014.html)
Στη συνέχεια παραθέτω τις (βιαστικές ;-)) λύσεις των θεμάτων (συγγνώμη για την κακή ποιότητα της φωτογραφίας, θα ανεβάσω καλύτερη στη αργότερα...).
Εννοείται ότι οι προτεινόμενες λύσεις είναι ενδεικτικές, προφανώς δεν είναι οι μοναδικές και ενδέχεται να περιέχουν λάθη. Παρακαλώ πολύ αν εντοπίσετε λάθη, αλλά και για οποιοδήποτε σχόλιο επικοινωνήστε.
Ευχαριστώ πολύ.
Λοιπόν έχουμε και λέμε...
ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΛΥΣΕΙΣ
για τα θέματα του μαθήματος Δομημένος Προγραμματισμός (16-06-2014)
ΘΕΜΑ Α
Α1.
α. Σωστό
β. Σωστό
γ. Λάθος
δ. Σωστό
ε. Λάθος
στ. Σωστό
Α2.
1. β
2. γ
3. ε
4. στ
5. δ
Α3.
Οποιαδήποτε δύο χαρακτηριστικά από τα παρακάτω (σελ. 19)
· Η ακριβής περιγραφή των δεδομένων
· Ο Σαφής καθορισμός των βημάτων του
· Ο πεπερασμένος αριθμός βημάτων
· Η ολοκλήρωση κάθε βήματος σε πεπερασμένο χρόνο
· Η ακρίβεια αποτελεσμάτων κάθε βήματος
Α4.
α. 10
β. 3.1416
γ. i=2
Α5.
krat,. foros : παράμετροι μεταβλητής
akath: παράμετρος τριμής
ΘΕΜΑ Β
Β1
(για την εικόνα κλικ https://drive.google.com/#folders/0B0vTQRXS6uPINnQ2TEhpZEtYUTQ (https://drive.google.com/#folders/0B0vTQRXS6uPINnQ2TEhpZEtYUTQ)
Β2
Program Thema_B2_2014;
Var
plithos, sum, x, y : integer;
Begin
plithos := 0;
sum := 0;
x := 100;
repeat
readln(y);
plithos := plithos + 1;
sum := sum + y;
x := x div 2;
until x <= 5;
if sum > 80 then
writeln('πληθος=', plithos)
else
writeln('αθροισμα=', sum)
End.
ΘΕΜΑ Γ.
Program Thema_C_2014;
Var
kivismos, ilikia : integer;
asfalistra, asfalistra_me_fpa : real;
Begin
write('Δωσε μου τον Κυβισμό του αυτοκινήτου ');
readln(kivismos);
write('Δώσε μου την ηλικία του οδηγού ');
readln(ilikia);
if kivismos <= 1000 then
asfalistra := 150
else
if kivismos <= 2000 then
asfalistra := 200
else
asfalistra := 300;
if ilikia <= 23 then
asfalistra := asfalistra + 40;
asfalistra_me_fpa := asfalistra + (asfalistra * 23/100);
writeln('Το τελικό ποσό ασφσλίστρων με ΦΠΑ είναι: ' , asfalistra_me_fpa:10:2);
End.
ΘΕΜΑ Δ.
Program Thema_D_2014;
Var
nomos, nomos_megaliterou_eksetastikou : string;
i, plithos_mathiton, sinolo_eksetazomenon_mathiton : integer;
plithos_aponton, plithos_sxoleion_xwris_apontes : integer;
sinolo_paronton, paronters_eksetastikou : integer;
megaliteros_arithmos_mathiton : integer;
Begin
plithos_mathiton := 0; sinolo_eksetazomenon_mathiton := 0;
plithos_aponton := 0; plithos_sxoleion_xwris_apontes := 0;
sinolo_paronton :=0;
nomos := ' ';
nomos_megaliterou_eksetastikou := ' ';
for i := 1 to 143 do
begin
write('Δώσε τον νομό του εξεταστικού κέντρου ');
readln(nomos);
write('Δώσε το πλήθος των μαθητών που έχουν δικαίωμα να
προσέλθουν στις εξετάσεις ');
readln(plithos_mathiton);
write('Δώσε το πλήθος των απόντων μαθητών ');
readln(plithos_aponton);
if plithos_mathiton > megaliteros_arithmos_mathiton then
begin
megaliteros_arithmos_mathiton := plithos_mathiton;
nomos_megaliterou_eksetastikou := nomos;
end;
paronters_eksetastikou := plithos_mathiton - plithos_aponton;
sinolo_paronton := sinolo_paronton + paronters_eksetastikou;
if plithos_aponton = 0 then
plithos_sxoleion_xwris_apontes :=
plithos_sxoleion_xwris_apontes + 1;
end;
writeln('Ο νομός με το μεγαλύτερο εξεταστικό κέντρο είναι ο : ',
nomos_megaliterou_eksetastikou);
writeln('Ο συνολικός αριθμός των μαθητών που προσήλθαν στις
εξετάσεις ήταν', sinolo_paronton);
writeln('Το πλήθος των εξεταστικών κέντρων χωρίς απόντες είναι: ',
plithos_sxoleion_xwris_apontes);
End.
στο Α4 στο β, αντι για 3.1416 εγραψα 3.1415 ( δεν εκανα την στρογγυλοποιηση). Μήπως ξέρετε πόσο κόβουν, αν κόβουν σε αυτή την περίπτωση;
Για άλλη μια φορά βάζουν θέμα στην Pascal όπου πρέπει να καταχωρήσεις ένα string σε άλλο (nomos_megaliterou_eksetastikou := nomos;), κάτι που δεν ισχύει στην Pascal αλλά και ούτε που υπάρχει σχετικό παράδειγμα μέσα στην ύλη. Δεν πειράζει όμως ποιος ασχολείται με τα ΕΠΑΛ; Ή ποιός σύμβουλος-καθηγητής-γονιός-μαθητής-ΠΕΚΑΠ-ΕΠΥ-ΕΠΕ-... θα διαμαρτυρηθεί; Το εκλαμβάνουμε σωστό και πάμε παρακάτω.
Δυστυχώς,έχεις δίκιο είμαι μαθητής και το βλέπω..και εκτός αυτού για το "string"είδα και άλλα λάθη σε πανελλαδικές ασκήσεις..οπως πχ αυτο στην case :
case x of
1,2,3,5 :z:=z+1;
5..10:z:=z+2;
end;
είναι τυχαίο παράδειγμα,που θέλω να δείξω ότι βάζουν διπλότυπες τιμές (πχ το 5) που αν θα το περάσεις ακριβώς έτσι όπως είναι στον compiler ΔΕΝ πρόκειται να το κάνει compilation.