Το Στέκι των Πληροφορικών

Επαγγελματικό Λύκειο => Γενικά => Προγραμματισμός Υπολογιστών => Μήνυμα ξεκίνησε από: Γιάννης Αναγνωστάκης στις 07 Ιουν 2012, 03:16:23 ΜΜ

Τίτλος: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: Γιάννης Αναγνωστάκης στις 07 Ιουν 2012, 03:16:23 ΜΜ
Λύσεις των θεμάτων 2012


ΘΕΜΑ Α
Α1)
α) Σωστό   
β) Λάθος
γ) Λάθος
δ) Σωστό 
ε) Σωστό

Α2)
1-ε
2-γ 
3-α
4-στ 
5-β

Α3) γ

Α4)
Βασικές αλγοριθμικές δομές: ακολουθία, επιλογή, επανάληψη
Τεχνικές : Ιεραρχικός σχεδιασμός, Τμηματικός προγραμματισμός

Α5) Φραστική, ψευδοκώδικας, λογικό διάγραμμα


ΘΕΜΑ Β

Β1)

                              Χ     Α
ΑΡΧΙΚΕΣ ΤΙΜΕΣ       10   20
1η επανάληψη        5    23
2η επανάληψη        2    22
3η επανάληψη        1    25
4η επανάληψη       0    24


Β2)

24 , 48 (αντίστοιχα για τις μεταβλητές Β,Γ)



ΘΕΜΑ Γ

Αρχή
   ΣΥΝΟΛΟ=0
   Για 50 φορές επανάλαβε
   Αρχή
      Διάβασε ΟΝ,GB
      AN GB<=2
      τότε ΧΡ=GB*10
      Αλλιώς Αν GB<=6
      τότε ΧΡ=2*10+(GB-2)*2.5
      Αλλιώς ΧΡ=2*10+4*2.5 + (GB-6)*1.5
      ΧΡ=ΧΡ+3
      Εμφάνισε ΟΝ,ΧΡ
      ΣΥΝΟΛΟ=ΣΥΝΟΛΟ+ΧΡ
   Τέλος
   ΜΟ=ΣΥΝΟΛΟ/50
   Εμφάνισε ΜΟ
Τέλος

ΘΕΜΑ Δ

program  themad;
var
   typos: string;
   sum,pl, money, epiv: integer;
begin
   sum:=0;
   pl:=0;
   readln(typos);
      while typos<>'ΤΕΛΟΣ' do
   begin
      readln(epiv);
      if typos='M'
      then money:=10
      else if typos='A'
      then money:=20
      else
         begin
              money:=30;
            pl:=pl+1;
         end;
      money:=money+(epiv-1)*5;
      sum:=sum+money;
      readln(typos);
   end;
      writeln(pl:5, sum:10);
end.
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: demy8 στις 07 Ιουν 2012, 03:24:01 ΜΜ
συμφωνώ απόλυτα με τις λύσεις σου, νομίζω οτι τα θέματα ήταν εύκολα, βέβαια με την υπόδειξη στο θέμα Γ κατάλαβα οτι ήθελε ψευδοκώδικα και απλά να χρησιμοποιήσουμε στοιχεία της pascal  (πχ AND) και όχι όλο το πρόγραμμα σε pascal.
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: Γιάννης Αναγνωστάκης στις 07 Ιουν 2012, 03:25:22 ΜΜ
nope...

Δεν τις κρατάει..

Κάθε φορά λαμβάνει άλλη τιμή με βάση την είσοδο...Επίσης δεν απαιτείται έλεγχος εγκυρότητας...
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: demy8 στις 07 Ιουν 2012, 03:27:38 ΜΜ
ναι ναι το προσεξα μετά για αυτο το έσβησα ;)
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: Γιάννης Αναγνωστάκης στις 07 Ιουν 2012, 03:29:40 ΜΜ
Παράθεση από: demy8 στις 07 Ιουν 2012, 03:27:38 ΜΜ
ναι ναι το προσεξα μετά για αυτο το έσβησα ;)

Ok :)
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: kostas318 στις 07 Ιουν 2012, 03:30:38 ΜΜ
Καλημέρα
Εχω μια ενσταση ως προς την απάντηση στο θέμα Α3, το Α θεωρω οτι είναι σωστό γιατί αφου δεν εχει παρενθεσεις δεν μπορει να εκτελειται πρωτα απο δεξια και το αποτελεσμα να το προσθετει στο 5 δεν ειναι μαθηματικα ορθό.
Παρακαλώ των καθηγητη που εγραψε τις απαντησεις να με βοηθησει να καταλάβω γιατι βγαινει 7

ευχαριστω
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: demy8 στις 07 Ιουν 2012, 03:32:41 ΜΜ
Χ := 5 + 7 div 3 * 4 - 6 =
        5 + 2 * 4 - 6 =
        5 + 8 - 6 =
        13 - 6 =
        7
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: Γιάννης Αναγνωστάκης στις 07 Ιουν 2012, 03:34:25 ΜΜ
Παράθεση από: demy8 στις 07 Ιουν 2012, 03:32:41 ΜΜ
Χ := 5 + 7 div 3 * 4 - 6 =
        5 + 2 * 4 - 6 =
        5 + 8 - 6 =
        13 - 6 =
        7

Με κάλυψε πλήρως η συνάδελφος
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: kostas318 στις 07 Ιουν 2012, 03:43:29 ΜΜ
ευχαριστω πολυ πανε τα 100 και εμειναν τα 96
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: Γιάννης Αναγνωστάκης στις 07 Ιουν 2012, 03:46:18 ΜΜ
Παράθεση από: kostas318 στις 07 Ιουν 2012, 03:43:29 ΜΜ
ευχαριστω πολυ πανε τα 100 και εμειναν τα 96

Κρίμα να χάσεις το 100 για ένα μαθηματικό λάθος...το 96 βέβαια δεν είναι και λίγο!
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: ronalz στις 07 Ιουν 2012, 03:47:49 ΜΜ
Ωραιά:)
το έπιασα το 100στάρη..
το Δ το εκανα me repeat .. until γιατι λέει οτι υπαρχει τουλαχιστον ενα όχημα..
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: Γιάννης Αναγνωστάκης στις 07 Ιουν 2012, 03:48:41 ΜΜ
Έβαλες if μέσα στη repeat?
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: ronalz στις 07 Ιουν 2012, 04:01:45 ΜΜ
ναι, γιατι να μη βαλω?..
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: Γιάννης Αναγνωστάκης στις 07 Ιουν 2012, 04:02:28 ΜΜ
Παράθεση από: ronalz στις 07 Ιουν 2012, 04:01:45 ΜΜ
ναι, γιατι να μη βαλω?..

εννοώ ιf typos<>'ΤΕΛΟΣ'....
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: ronalz στις 07 Ιουν 2012, 04:04:12 ΜΜ
until typos<>'ΤΕΛΟΣ'
αφου έλεγε οτι μπαινει τουλαχιστον μια φορα.
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: ronalz στις 07 Ιουν 2012, 04:07:02 ΜΜ
βασικα, καλα λες :D
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: Γιάννης Αναγνωστάκης στις 07 Ιουν 2012, 04:09:58 ΜΜ
Παράθεση από: ronalz στις 07 Ιουν 2012, 04:04:12 ΜΜ
until typos<>'ΤΕΛΟΣ'
αφου έλεγε οτι μπαινει τουλαχιστον μια φορα.



repeat
readln(typos);
if typos<>'ΤΕΛΟΣ' then
.....
until typos='ΤΕΛΟΣ'

1) Αφού το έκανες με until η συνθήκη είναι typos='ΤΕΛΟΣ'

2) Το if χρειάζεται, γιατί αν απουσιάζει τότε το πρόγραμμα διαβάζει αριθμό επιβατών, υπολογίζει χρέωση και συνολική χρέωση ακόμα και όταν δώσουμε τη λέξη 'ΤΕΛΟΣ', ενώ δεν θα έπρεπε...
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: ronalz στις 07 Ιουν 2012, 04:11:15 ΜΜ
ναι ξερω.. θα μου κοψουν μερικες απο εκει..
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: dolcefarniente στις 07 Ιουν 2012, 04:17:55 ΜΜ
Αν ήταν όμως κάπως έτσι:

sum:=0;
repeat
readln(typos);
readln(epivates);
if typos= 'M' then
  xr:= 10 +(epivates - 1)*5
else if typos = 'A' then
  xr:= 20 +(epivates - 1)*5
else if typos = 'Φ' then
  begin 
   xr:= 30 +(epivates - 1)*5;
  pl:= pl+1;
end;
sum = sum+ xr;
until typos = "ΤΕΛΟΣ"

αν έδινα τη λέξη τέλος δε θα έμπαινε σε κανένα if, θα γινόταν εκτέλεση 1 φορά και θα ήταν οκ. Σωστά;
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: Γιάννης Αναγνωστάκης στις 07 Ιουν 2012, 04:21:05 ΜΜ
Πέρα του ότι είναι λογικό λάθος, από τη στιγμή που δώσαμε τη λέξη 'ΤΕΛΟΣ' να πρέπει να δώσουμε και αριθμό επιβατών τι θα γινόταν με την εντολή sum = sum+ xr;

Τι τιμή θα είχε το xr για να γίνει η πρόσθεση; (προφανώς του προηγούμενου οχήματος)
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: dolcefarniente στις 07 Ιουν 2012, 04:32:32 ΜΜ
Παράθεση από: janag79 στις 07 Ιουν 2012, 04:21:05 ΜΜ
Πέρα του ότι είναι λογικό λάθος, από τη στιγμή που δώσαμε τη λέξη 'ΤΕΛΟΣ' να πρέπει να δώσουμε και αριθμό επιβατών τι θα γινόταν με την εντολή sum = sum+ xr;

Τι τιμή θα είχε το xr για να γίνει η πρόσθεση; (προφανώς του προηγούμενου οχήματος)

Σωστά. Τότε θα έπρεπε να υπάρχει ένα else xr:=0 πριν τη sum = sum+ xr;, οπότε για το αρχικό όχημα έχοντας αρχικοποιήσει το xr:=0 to sum θα ήταν 0 και θα σταματούσε η επανάληψη, ενώ για κάποιο επόμενο θα παρέμενε sum:=sum και θα σταματούσε.
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: Γιάννης Αναγνωστάκης στις 07 Ιουν 2012, 04:36:03 ΜΜ
Παράθεση από: dolcefarniente στις 07 Ιουν 2012, 04:32:32 ΜΜ
Σωστά. Τότε θα έπρεπε να υπάρχει ένα else xr:=0 πριν τη sum = sum+ xr;, οπότε για το αρχικό όχημα έχοντας αρχικοποιήσει το xr:=0 to sum θα ήταν 0 και θα σταματούσε η επανάληψη, ενώ για κάποιο επόμενο θα παρέμενε sum:=sum και θα σταματούσε.

Αυτό βελτιώνει τη κατάσταση , αλλά κατά την άποψη μου, δεν ικανοποιεί αυτό που ζητάει η άσκηση...Δηλαδή, δεν πρέπει να προχωράει και να δέχεται αριθμό επιβατών όταν έχουμε δώσει ως τύπο τη λέξη 'ΤΕΛΟΣ'..για αυτό είπα ότι χρειάζεται αυτό το if
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: ronalz στις 07 Ιουν 2012, 04:37:46 ΜΜ
πόσο λέτε να μου κόψουν?  :(
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: Γιάννης Αναγνωστάκης στις 07 Ιουν 2012, 04:39:51 ΜΜ
Παράθεση από: ronalz στις 07 Ιουν 2012, 04:37:46 ΜΜ
πόσο λέτε να μου κόψουν?  :(

Δεν πιστεύω πάνω 2 μόρια
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: dolcefarniente στις 07 Ιουν 2012, 04:43:19 ΜΜ
Παράθεση από: janag79 στις 07 Ιουν 2012, 04:36:03 ΜΜ
Αυτό βελτιώνει τη κατάσταση , αλλά κατά την άποψη μου, δεν ικανοποιεί αυτό που ζητάει η άσκηση...Δηλαδή, δεν πρέπει να προχωράει και να δέχεται αριθμό επιβατών όταν έχουμε δώσει ως τύπο τη λέξη 'ΤΕΛΟΣ'..για αυτό είπα ότι χρειάζεται αυτό το if

Συμφωνώ απολύτως με το while που έχεις δώσει, έχεις πολύ λιγότερα να σκεφτείς και να ελέγξεις από ότι στην υλοποίηση με repeat. Ευχαριστώ για την άποψη σου.
Και κάτι ακόμα, πόσα μόρια πιστεύεις ότι θα έκοβαν από κάποιον που δεν έβαλε ξανά read στο σώμα της επανάληψης και είναι σοβαρό λάθος;
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: ronalz στις 07 Ιουν 2012, 04:44:51 ΜΜ
Παράθεση από: janag79 στις 07 Ιουν 2012, 04:39:51 ΜΜ
Δεν πιστεύω πάνω 2 μόρια

σε ευχαριστω πολυ janag79..
και γενικα ευχαριστω όλο το Φορουμ για την συμπαρασταση σας σε εμας
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: Γιάννης Αναγνωστάκης στις 07 Ιουν 2012, 04:45:07 ΜΜ
Παράθεση από: dolcefarniente στις 07 Ιουν 2012, 04:43:19 ΜΜ
Συμφωνώ απολύτως με το while που έχεις δώσει, έχεις πολύ λιγότερα να σκεφτείς και να ελέγξεις από ότι στην υλοποίηση με repeat. Ευχαριστώ για την άποψη σου.
Και κάτι ακόμα, πόσα μόρια πιστεύεις ότι θα έκοβαν από κάποιον που δεν έβαλε ξανά read στο σώμα της επανάληψης και είναι σοβαρό λάθος;

Nα σαι καλά

Εννοείς σε κάποιον που το έκανε με while και δεν έβαζε να ξαναδιαβάζει πάλι τύπο πριν κλείσει η while;
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: Γιάννης Αναγνωστάκης στις 07 Ιουν 2012, 04:45:34 ΜΜ
Παράθεση από: ronalz στις 07 Ιουν 2012, 04:44:51 ΜΜ
σε ευχαριστω πολυ janag79..
και γενικα ευχαριστω όλο το Φορουμ για την συμπαρασταση σας σε εμας

Καλά αποτελέσματα να χετε παιδιά!
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: dolcefarniente στις 07 Ιουν 2012, 04:47:59 ΜΜ
Παράθεση από: janag79 στις 07 Ιουν 2012, 04:45:07 ΜΜ
Nα σαι καλά

Εννοείς σε κάποιον που το έκανε με while και δεν έβαζε να ξαναδιαβάζει πάλι τύπο πριν κλείσει η while;


Ναι. Στην περίπτωση της while αν δεν είχε μέσα read, αλλά μόνο έξω. Δε σταματάει ποτέ και είναι σοβαρό λάθος.
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: Γιάννης Αναγνωστάκης στις 07 Ιουν 2012, 04:58:31 ΜΜ
Παράθεση από: dolcefarniente στις 07 Ιουν 2012, 04:47:59 ΜΜ

Ναι. Στην περίπτωση της while αν δεν είχε μέσα read, αλλά μόνο έξω. Δε σταματάει ποτέ και είναι σοβαρό λάθος.

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

Εδώ, με βάση το ότι η παράλειψη σου επηρεάζει τα ερωτήματα Δ2,Δ4 άντε να σου κόψουν 3-4 μόρια (το πολύ) , κατά τη προσωπική μου άποψη
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: gedeon στις 07 Ιουν 2012, 05:00:57 ΜΜ
Παράθεση από: janag79 στις 07 Ιουν 2012, 04:58:31 ΜΜ

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

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


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

Οπότε μικρό το κακό....
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: dolcefarniente στις 07 Ιουν 2012, 05:06:32 ΜΜ
Ευχαριστώ janag79 και gedeon για τις απαντήσεις.
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: gedeon στις 07 Ιουν 2012, 05:09:32 ΜΜ
Η ΚΕΕ στέλνει βαθμολόγηση προγραμμάτων δίνοντας μονάδες ανά γραμμή εντολής....
δε πάει στη λογική ότι εφόσον λείπει το 2ο readln  δε θα δουλέψει η while.

Όμως ο βαθμολογητής έχει τη "δυνατότητα" να θεωρήσει μεγαλύτερης βαρύτητας αυτή την έλλειψη και να κόψει 2, 3 μονάδες.
Συνήθως σε αυτές τις ασκήσεις γίνονται και οι αποκλίσεις απο βαθολογητή σε βαθμολογητή.
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: dolcefarniente στις 07 Ιουν 2012, 05:15:30 ΜΜ
Και για όσους έβαλαν μηνύματα στις εντολές εξόδου παρά τις υποδείξεις;;
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: gedeon στις 07 Ιουν 2012, 05:19:04 ΜΜ
Παράθεση από: dolcefarniente στις 07 Ιουν 2012, 05:15:30 ΜΜ
Και για όσους έβαλαν μηνύματα στις εντολές εξόδου παρά τις υποδείξεις;;

Δεν υπάρχει πρόβλημα... είτε σωστή είναι η writeln είτε λάθος, δεν βαθμολογείται. Βαθμολογούνται μόνο αυτά που ζητούν τα θέματα
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: 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.
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: vaiosz στις 07 Ιουν 2012, 10:58:43 ΜΜ
Κάποιος που έχει κάνει το Θέμα Γ με πρόγραμμα σε Pascal αλλά το έχει ολόσωστο, πόσα μόρια πιστεύετε ότι μπορεί να χάσει;
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: kostas318 στις 07 Ιουν 2012, 11:03:28 ΜΜ
Γιατί κάποιος που ελυσε το θέμα Γ με pascal να χάσει μονάδες ??????  :o αφου έλεγε με ψευδοκώδικα ή εντολές pascal αλλίως ας έλεγε ας δοθεί ο αλγόριθμος σε ψευδοκώδικα.
Πιστεύω πως από την στιγμή που η λειτουργία του αλγορίθμου είναι σωστή και βγάζει τα ζητούμενα αποτελέσματα δεν πρέπει να χάσεις κάτι
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: Stefevan στις 07 Ιουν 2012, 11:30:03 ΜΜ
Ο αλγόριθμος μπορεί να αποδοθεί: Με ψευδοκώδικα
χρησιμοποιώντας τις εντολές που αναφέρονται στο σχετικό
πίνακα του βιβλίου σας ή με στοιχεία (εντολές) της γλώσσας
Pascal.


Όντως... γιατί ?? Δεν τίθεται τέτοιο θέμα. Προφανώς και δεν χάνει μόρια!! Πιο ξεκάθαρο δεν γίνεται να είναι το παραπάνω!!!  Που να μην το έλεγαν κιόλας
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: Γιάννης Αναγνωστάκης στις 09 Ιουν 2012, 06:56:07 ΜΜ
Παράθεση από: 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)  φαίνεται πως είναι μία χαρά η λύση σου
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: kostas318 στις 09 Ιουν 2012, 09:52:54 ΜΜ
Ευχαριστώ για την απάντηση σας.

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

Ευχαριστώ

Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: gedeon στις 09 Ιουν 2012, 09:59:11 ΜΜ
Παράθεση από: kostas318 στις 09 Ιουν 2012, 09:52:54 ΜΜ
Ευχαριστώ για την απάντηση σας.

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

Ευχαριστώ



-1 μονάδα,

Αν είχα το γραπτό σου ούτε αυτή θα έκοβα λόγω της λύσης που έδωσες, μπράβο σου
Τίτλος: Απ: Πανελλήνιες 2012 - Λύσεις
Αποστολή από: ronalz στις 08 Ιουλ 2012, 05:27:46 ΜΜ
ευχαριστω για τη στηριξη σας :)
ο βαθμος μου στον δομημενο προγραμματισμο ηταν 199,0 ^^ :)