Πανελλήνιες 2012 - Λύσεις

Ξεκίνησε από Γιάννης Αναγνωστάκης, 07 Ιουν 2012, 03:16:23 ΜΜ

« προηγούμενο - επόμενο »

gedeon

Παράθεση από: janag79 στις 07 Ιουν 2012, 04:58:31 ΜΜ

Κοίτα..Αν το γράφαμε σε διαγώνισμα σε τάξη, μπορεί  να έκοβα πολλά  μόνο και μόνο για να σου τονίσω την σημαντικότητα του

Εδώ, με βάση το ότι η παράλειψη σου επηρεάζει τα ερωτήματα Δ2,Δ4 άντε να σου κόψουν 3-4 μόρια (το πολύ) , κατά τη προσωπική μου άποψη


Όσο κι αν σας φαίνεται περίεργο το συγκεκριμένο λάθος είναι   -1 μονάδα.

Γιάννης Αναγνωστάκης

Παράθεση από: gedeon στις 07 Ιουν 2012, 05:00:57 ΜΜ
Όσο κι αν σας φαίνεται περίεργο το συγκεκριμένο λάθος είναι   -1 μονάδα.

Οπότε μικρό το κακό....

dolcefarniente

Ευχαριστώ janag79 και gedeon για τις απαντήσεις.

gedeon

Η ΚΕΕ στέλνει βαθμολόγηση προγραμμάτων δίνοντας μονάδες ανά γραμμή εντολής....
δε πάει στη λογική ότι εφόσον λείπει το 2ο readln  δε θα δουλέψει η while.

Όμως ο βαθμολογητής έχει τη "δυνατότητα" να θεωρήσει μεγαλύτερης βαρύτητας αυτή την έλλειψη και να κόψει 2, 3 μονάδες.
Συνήθως σε αυτές τις ασκήσεις γίνονται και οι αποκλίσεις απο βαθολογητή σε βαθμολογητή.

dolcefarniente

Και για όσους έβαλαν μηνύματα στις εντολές εξόδου παρά τις υποδείξεις;;

gedeon

Παράθεση από: dolcefarniente στις 07 Ιουν 2012, 05:15:30 ΜΜ
Και για όσους έβαλαν μηνύματα στις εντολές εξόδου παρά τις υποδείξεις;;

Δεν υπάρχει πρόβλημα... είτε σωστή είναι η writeln είτε λάθος, δεν βαθμολογείται. Βαθμολογούνται μόνο αυτά που ζητούν τα θέματα

kostas318

#36
Και πάλι καλησπέρα

Στο θέμα Δ έβαλα την case για τον υπολογισμό με βάση το γραμμα πειράζει?
την χρέωση για τους επιβάτες την έκανα με ξεχωριστό if έξω απο την case και σε ξεχωριστή μεταβλητή απο την χρέωση οχήματος και το αποτέλεσμα για τους επιβάτες το πρόσθετα σε μια μεταβλητή μαζί με την χρέωση οχήματος απο την case

Λογικά είναι σωστό απλά να το επιβεβαιώσω

program thema_d;
uses crt;
var
typos:char;
xreosi_oxim,xreosi_epiv,tel_xreosi,syn_xreosi:real;
ar_fortigon,ar_epivaton:integer;
begin
xreosi_oxim:=0;
xreosi_epiv:=0;
tel_xreosi:=0;
syn_xreosi:=0;
ar_fortigon:=0;
ar_epivaton:=0;
write('Δώσε τον τύπο του οχήματος: ');
readln(typos);
while typos <>'ΤΕΛΟΣ' do
begin
write('Δώσε τον αριθμό των επιβατών: ');
readln(ar_epivaton);
case typos of
'M': xreosi_oxim:=10;
'A': xreosi_oxim:=20;
'Φ': begin
     xreosi_oxim:=30;
     ar_fortigon:=ar_fortigon+1;
     end;
end;
if ar_epivaton=1 then
xreosi_epiv:=0
else
if ar_epivaton>1 then
xreosi_epiv:=(ar_epivaton-1)*5;
tel_xreosi:=xreosi_oxim+xreosi_epiv;
syn_xreosi:=syn_xreosi+tel_xreosi;
writeln('Το όχημα πρεπει να πληρώσει συνολικά: ',tel_xreosi:6:2);
writeln();
write('Δώσε τον τύπο του οχήματος: ');
readln(typos);
end;
writeln('Συνολικά επιβιβάστηκαν ',ar_fortigon,' φορτηγά');
writeln('Η συνολική χρέωση ολων των οχημάτων ειναι',syn_xreosi:8:2);
end.

vaiosz

Κάποιος που έχει κάνει το Θέμα Γ με πρόγραμμα σε Pascal αλλά το έχει ολόσωστο, πόσα μόρια πιστεύετε ότι μπορεί να χάσει;
Μηχανικός Η/Υ Συστημάτων

kostas318

Γιατί κάποιος που ελυσε το θέμα Γ με pascal να χάσει μονάδες ??????  :o αφου έλεγε με ψευδοκώδικα ή εντολές pascal αλλίως ας έλεγε ας δοθεί ο αλγόριθμος σε ψευδοκώδικα.
Πιστεύω πως από την στιγμή που η λειτουργία του αλγορίθμου είναι σωστή και βγάζει τα ζητούμενα αποτελέσματα δεν πρέπει να χάσεις κάτι

Stefevan

Ο αλγόριθμος μπορεί να αποδοθεί: Με ψευδοκώδικα
χρησιμοποιώντας τις εντολές που αναφέρονται στο σχετικό
πίνακα του βιβλίου σας ή με στοιχεία (εντολές) της γλώσσας
Pascal.


Όντως... γιατί ?? Δεν τίθεται τέτοιο θέμα. Προφανώς και δεν χάνει μόρια!! Πιο ξεκάθαρο δεν γίνεται να είναι το παραπάνω!!!  Που να μην το έλεγαν κιόλας

Γιάννης Αναγνωστάκης

Παράθεση από: kostas318 στις 07 Ιουν 2012, 09:45:49 ΜΜ
Και πάλι καλησπέρα

Στο θέμα Δ έβαλα την case για τον υπολογισμό με βάση το γραμμα πειράζει?
την χρέωση για τους επιβάτες την έκανα με ξεχωριστό if έξω απο την case και σε ξεχωριστή μεταβλητή απο την χρέωση οχήματος και το αποτέλεσμα για τους επιβάτες το πρόσθετα σε μια μεταβλητή μαζί με την χρέωση οχήματος απο την case

Λογικά είναι σωστό απλά να το επιβεβαιώσω

program thema_d;
uses crt;
var
typos:char;
xreosi_oxim,xreosi_epiv,tel_xreosi,syn_xreosi:real;
ar_fortigon,ar_epivaton:integer;
begin
xreosi_oxim:=0;
xreosi_epiv:=0;
tel_xreosi:=0;
syn_xreosi:=0;
ar_fortigon:=0;
ar_epivaton:=0;
write('Δώσε τον τύπο του οχήματος: ');
readln(typos);
while typos <>'ΤΕΛΟΣ' do
begin
write('Δώσε τον αριθμό των επιβατών: ');
readln(ar_epivaton);
case typos of
'M': xreosi_oxim:=10;
'A': xreosi_oxim:=20;
'Φ': begin
     xreosi_oxim:=30;
     ar_fortigon:=ar_fortigon+1;
     end;
end;
if ar_epivaton=1 then
xreosi_epiv:=0
else
if ar_epivaton>1 then
xreosi_epiv:=(ar_epivaton-1)*5;
tel_xreosi:=xreosi_oxim+xreosi_epiv;
syn_xreosi:=syn_xreosi+tel_xreosi;
writeln('Το όχημα πρεπει να πληρώσει συνολικά: ',tel_xreosi:6:2);
writeln();
write('Δώσε τον τύπο του οχήματος: ');
readln(typos);
end;
writeln('Συνολικά επιβιβάστηκαν ',ar_fortigon,' φορτηγά');
writeln('Η συνολική χρέωση ολων των οχημάτων ειναι',syn_xreosi:8:2);
end.


Η μεταβλητή typos δεν είναι char (γιατί κάποια στιγμή παίρνει την τιμή 'ΤΕΛΟΣ')


Παρά τους άσκοπους μηδενισμούς που κάνεις στην αρχή (εκτός των syn_xreosi,ar_fortigon)  φαίνεται πως είναι μία χαρά η λύση σου

kostas318

Ευχαριστώ για την απάντηση σας.

Τη μεταβλητή τύπος το σκέφτηκα μετά ότι είναι string.Πόσο μπορεί να μου κόψει για αυτό το λάθος?

Ευχαριστώ


gedeon

Παράθεση από: kostas318 στις 09 Ιουν 2012, 09:52:54 ΜΜ
Ευχαριστώ για την απάντηση σας.

Τη μεταβλητή τύπος το σκέφτηκα μετά ότι είναι string.Πόσο μπορεί να μου κόψει για αυτό το λάθος?

Ευχαριστώ



-1 μονάδα,

Αν είχα το γραπτό σου ούτε αυτή θα έκοβα λόγω της λύσης που έδωσες, μπράβο σου

ronalz

ευχαριστω για τη στηριξη σας :)
ο βαθμος μου στον δομημενο προγραμματισμο ηταν 199,0 ^^ :)