Αποστολέας Θέμα: Πανελλήνιες 2012 - Λύσεις  (Αναγνώστηκε 6470 φορές)

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 815
Πανελλήνιες 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.
« Τελευταία τροποποίηση: 07 Ιούν 2012, 03:39:53 μμ από janag79 »

demy8

  • Θαμώνας
  • ***
  • Μηνύματα: 35
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #1 στις: 07 Ιούν 2012, 03:24:01 μμ »
συμφωνώ απόλυτα με τις λύσεις σου, νομίζω οτι τα θέματα ήταν εύκολα, βέβαια με την υπόδειξη στο θέμα Γ κατάλαβα οτι ήθελε ψευδοκώδικα και απλά να χρησιμοποιήσουμε στοιχεία της pascal  (πχ AND) και όχι όλο το πρόγραμμα σε pascal.

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 815
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #2 στις: 07 Ιούν 2012, 03:25:22 μμ »
nope...

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

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

demy8

  • Θαμώνας
  • ***
  • Μηνύματα: 35
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #3 στις: 07 Ιούν 2012, 03:27:38 μμ »
ναι ναι το προσεξα μετά για αυτο το έσβησα ;)

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 815
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #4 στις: 07 Ιούν 2012, 03:29:40 μμ »
ναι ναι το προσεξα μετά για αυτο το έσβησα ;)

Ok :)

kostas318

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

ευχαριστω

demy8

  • Θαμώνας
  • ***
  • Μηνύματα: 35
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #6 στις: 07 Ιούν 2012, 03:32:41 μμ »
Χ := 5 + 7 div 3 * 4 - 6 =
        5 + 2 * 4 - 6 =
        5 + 8 - 6 =
        13 - 6 =
        7

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 815
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #7 στις: 07 Ιούν 2012, 03:34:25 μμ »
Χ := 5 + 7 div 3 * 4 - 6 =
        5 + 2 * 4 - 6 =
        5 + 8 - 6 =
        13 - 6 =
        7

Με κάλυψε πλήρως η συνάδελφος

kostas318

  • Νέος
  • *
  • Μηνύματα: 5
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #8 στις: 07 Ιούν 2012, 03:43:29 μμ »
ευχαριστω πολυ πανε τα 100 και εμειναν τα 96

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 815
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #9 στις: 07 Ιούν 2012, 03:46:18 μμ »
ευχαριστω πολυ πανε τα 100 και εμειναν τα 96

Κρίμα να χάσεις το 100 για ένα μαθηματικό λάθος...το 96 βέβαια δεν είναι και λίγο!

ronalz

  • Θαμώνας
  • ***
  • Μηνύματα: 27
    • ronalz@petros.gr
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #10 στις: 07 Ιούν 2012, 03:47:49 μμ »
Ωραιά:)
το έπιασα το 100στάρη..
το Δ το εκανα me repeat .. until γιατι λέει οτι υπαρχει τουλαχιστον ενα όχημα..

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 815
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #11 στις: 07 Ιούν 2012, 03:48:41 μμ »
Έβαλες if μέσα στη repeat?

ronalz

  • Θαμώνας
  • ***
  • Μηνύματα: 27
    • ronalz@petros.gr
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #12 στις: 07 Ιούν 2012, 04:01:45 μμ »
ναι, γιατι να μη βαλω?..

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 815
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #13 στις: 07 Ιούν 2012, 04:02:28 μμ »
ναι, γιατι να μη βαλω?..

εννοώ ιf typos<>'ΤΕΛΟΣ'....

ronalz

  • Θαμώνας
  • ***
  • Μηνύματα: 27
    • ronalz@petros.gr
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #14 στις: 07 Ιούν 2012, 04:04:12 μμ »
until typos<>'ΤΕΛΟΣ'
αφου έλεγε οτι μπαινει τουλαχιστον μια φορα.

ronalz

  • Θαμώνας
  • ***
  • Μηνύματα: 27
    • ronalz@petros.gr
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #15 στις: 07 Ιούν 2012, 04:07:02 μμ »
βασικα, καλα λες :D

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 815
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #16 στις: 07 Ιούν 2012, 04:09:58 μμ »
until typos<>'ΤΕΛΟΣ'
αφου έλεγε οτι μπαινει τουλαχιστον μια φορα.



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

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

2) Το if χρειάζεται, γιατί αν απουσιάζει τότε το πρόγραμμα διαβάζει αριθμό επιβατών, υπολογίζει χρέωση και συνολική χρέωση ακόμα και όταν δώσουμε τη λέξη 'ΤΕΛΟΣ', ενώ δεν θα έπρεπε...

ronalz

  • Θαμώνας
  • ***
  • Μηνύματα: 27
    • ronalz@petros.gr
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #17 στις: 07 Ιούν 2012, 04:11:15 μμ »
ναι ξερω.. θα μου κοψουν μερικες απο εκει..

dolcefarniente

  • Βετεράνος
  • ****
  • Μηνύματα: 56
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #18 στις: 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 φορά και θα ήταν οκ. Σωστά;

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 815
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #19 στις: 07 Ιούν 2012, 04:21:05 μμ »
Πέρα του ότι είναι λογικό λάθος, από τη στιγμή που δώσαμε τη λέξη 'ΤΕΛΟΣ' να πρέπει να δώσουμε και αριθμό επιβατών τι θα γινόταν με την εντολή sum = sum+ xr;

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

dolcefarniente

  • Βετεράνος
  • ****
  • Μηνύματα: 56
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #20 στις: 07 Ιούν 2012, 04:32:32 μμ »
Πέρα του ότι είναι λογικό λάθος, από τη στιγμή που δώσαμε τη λέξη 'ΤΕΛΟΣ' να πρέπει να δώσουμε και αριθμό επιβατών τι θα γινόταν με την εντολή sum = sum+ xr;

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

Σωστά. Τότε θα έπρεπε να υπάρχει ένα else xr:=0 πριν τη sum = sum+ xr;, οπότε για το αρχικό όχημα έχοντας αρχικοποιήσει το xr:=0 to sum θα ήταν 0 και θα σταματούσε η επανάληψη, ενώ για κάποιο επόμενο θα παρέμενε sum:=sum και θα σταματούσε.

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 815
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #21 στις: 07 Ιούν 2012, 04:36:03 μμ »
Σωστά. Τότε θα έπρεπε να υπάρχει ένα else xr:=0 πριν τη sum = sum+ xr;, οπότε για το αρχικό όχημα έχοντας αρχικοποιήσει το xr:=0 to sum θα ήταν 0 και θα σταματούσε η επανάληψη, ενώ για κάποιο επόμενο θα παρέμενε sum:=sum και θα σταματούσε.

Αυτό βελτιώνει τη κατάσταση , αλλά κατά την άποψη μου, δεν ικανοποιεί αυτό που ζητάει η άσκηση...Δηλαδή, δεν πρέπει να προχωράει και να δέχεται αριθμό επιβατών όταν έχουμε δώσει ως τύπο τη λέξη 'ΤΕΛΟΣ'..για αυτό είπα ότι χρειάζεται αυτό το if

ronalz

  • Θαμώνας
  • ***
  • Μηνύματα: 27
    • ronalz@petros.gr
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #22 στις: 07 Ιούν 2012, 04:37:46 μμ »
πόσο λέτε να μου κόψουν?  :(

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 815
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #23 στις: 07 Ιούν 2012, 04:39:51 μμ »
πόσο λέτε να μου κόψουν?  :(

Δεν πιστεύω πάνω 2 μόρια

dolcefarniente

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

Συμφωνώ απολύτως με το while που έχεις δώσει, έχεις πολύ λιγότερα να σκεφτείς και να ελέγξεις από ότι στην υλοποίηση με repeat. Ευχαριστώ για την άποψη σου.
Και κάτι ακόμα, πόσα μόρια πιστεύεις ότι θα έκοβαν από κάποιον που δεν έβαλε ξανά read στο σώμα της επανάληψης και είναι σοβαρό λάθος;

ronalz

  • Θαμώνας
  • ***
  • Μηνύματα: 27
    • ronalz@petros.gr
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #25 στις: 07 Ιούν 2012, 04:44:51 μμ »
Δεν πιστεύω πάνω 2 μόρια

σε ευχαριστω πολυ janag79..
και γενικα ευχαριστω όλο το Φορουμ για την συμπαρασταση σας σε εμας

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 815
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #26 στις: 07 Ιούν 2012, 04:45:07 μμ »
Συμφωνώ απολύτως με το while που έχεις δώσει, έχεις πολύ λιγότερα να σκεφτείς και να ελέγξεις από ότι στην υλοποίηση με repeat. Ευχαριστώ για την άποψη σου.
Και κάτι ακόμα, πόσα μόρια πιστεύεις ότι θα έκοβαν από κάποιον που δεν έβαλε ξανά read στο σώμα της επανάληψης και είναι σοβαρό λάθος;

Nα σαι καλά

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

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 815
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #27 στις: 07 Ιούν 2012, 04:45:34 μμ »
σε ευχαριστω πολυ janag79..
και γενικα ευχαριστω όλο το Φορουμ για την συμπαρασταση σας σε εμας

Καλά αποτελέσματα να χετε παιδιά!

dolcefarniente

  • Βετεράνος
  • ****
  • Μηνύματα: 56
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #28 στις: 07 Ιούν 2012, 04:47:59 μμ »
Nα σαι καλά

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


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

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 815
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #29 στις: 07 Ιούν 2012, 04:58:31 μμ »

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

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

gedeon

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 101
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #30 στις: 07 Ιούν 2012, 05:00:57 μμ »

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


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

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 815
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #31 στις: 07 Ιούν 2012, 05:03:10 μμ »
Όσο κι αν σας φαίνεται περίεργο το συγκεκριμένο λάθος είναι   -1 μονάδα.

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

dolcefarniente

  • Βετεράνος
  • ****
  • Μηνύματα: 56
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #32 στις: 07 Ιούν 2012, 05:06:32 μμ »
Ευχαριστώ janag79 και gedeon για τις απαντήσεις.

gedeon

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 101
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #33 στις: 07 Ιούν 2012, 05:09:32 μμ »
Η ΚΕΕ στέλνει βαθμολόγηση προγραμμάτων δίνοντας μονάδες ανά γραμμή εντολής....
δε πάει στη λογική ότι εφόσον λείπει το 2ο readln  δε θα δουλέψει η while.

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

dolcefarniente

  • Βετεράνος
  • ****
  • Μηνύματα: 56
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #34 στις: 07 Ιούν 2012, 05:15:30 μμ »
Και για όσους έβαλαν μηνύματα στις εντολές εξόδου παρά τις υποδείξεις;;

gedeon

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 101
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #35 στις: 07 Ιούν 2012, 05:19:04 μμ »
Και για όσους έβαλαν μηνύματα στις εντολές εξόδου παρά τις υποδείξεις;;

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

kostas318

  • Νέος
  • *
  • Μηνύματα: 5
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #36 στις: 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.
« Τελευταία τροποποίηση: 07 Ιούν 2012, 11:17:52 μμ από kostas318 »

vaiosz

  • Οπαδός
  • **
  • Μηνύματα: 17
    • vaiosz@jabber.org
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #37 στις: 07 Ιούν 2012, 10:58:43 μμ »
Κάποιος που έχει κάνει το Θέμα Γ με πρόγραμμα σε Pascal αλλά το έχει ολόσωστο, πόσα μόρια πιστεύετε ότι μπορεί να χάσει;
Μηχανικός Η/Υ Συστημάτων

kostas318

  • Νέος
  • *
  • Μηνύματα: 5
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #38 στις: 07 Ιούν 2012, 11:03:28 μμ »
Γιατί κάποιος που ελυσε το θέμα Γ με pascal να χάσει μονάδες ??????  :o αφου έλεγε με ψευδοκώδικα ή εντολές pascal αλλίως ας έλεγε ας δοθεί ο αλγόριθμος σε ψευδοκώδικα.
Πιστεύω πως από την στιγμή που η λειτουργία του αλγορίθμου είναι σωστή και βγάζει τα ζητούμενα αποτελέσματα δεν πρέπει να χάσεις κάτι

Stefevan

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 274
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #39 στις: 07 Ιούν 2012, 11:30:03 μμ »
Ο αλγόριθμος μπορεί να αποδοθεί: Με ψευδοκώδικα
χρησιμοποιώντας τις εντολές που αναφέρονται στο σχετικό
πίνακα του βιβλίου σας ή με στοιχεία (εντολές) της γλώσσας
Pascal.


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

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

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 815
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #40 στις: 09 Ιούν 2012, 06:56:07 μμ »
Και πάλι καλησπέρα

Στο θέμα Δ έβαλα την 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

  • Νέος
  • *
  • Μηνύματα: 5
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #41 στις: 09 Ιούν 2012, 09:52:54 μμ »
Ευχαριστώ για την απάντηση σας.

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

Ευχαριστώ


gedeon

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 101
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #42 στις: 09 Ιούν 2012, 09:59:11 μμ »
Ευχαριστώ για την απάντηση σας.

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

Ευχαριστώ



-1 μονάδα,

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

ronalz

  • Θαμώνας
  • ***
  • Μηνύματα: 27
    • ronalz@petros.gr
Απ: Πανελλήνιες 2012 - Λύσεις
« Απάντηση #43 στις: 08 Ιούλ 2012, 05:27:46 μμ »
ευχαριστω για τη στηριξη σας :)
ο βαθμος μου στον δομημενο προγραμματισμο ηταν 199,0 ^^ :)