Δύσκολες Ασκήσεις στις Δομές Επανάληψης

Ξεκίνησε από olga_ath, 13 Οκτ 2010, 02:47:27 ΜΜ

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

Anastasis13

Παράθεση από: evry στις 16 Ιαν 2011, 08:27:39 ΜΜΠρόβλημα:
Να αναπτύξετε ένα πρόγραμμα σε μια από τις γλώσσες του IOI το οποίο να διαβάζει το πλήθος των ημερών για τις οποίες είναι γνωστή η τιμή του αγαθού, την τιμή του αγαθού για κάθε μία από αυτές τις ημέρες, και να υπολογίζει το μέγιστο δυνατό κέρδος από μία αγορά και στη συνέχεια μία πώληση.

Αλγόριθμος μεγιστοποίηση_κέρδους

Διάβασε days

Αν days < 2 τότε

  Γράψε 1

αλλιώς

  Διάβασε x1, x2

  profit ← x2/x1

  Για i από 3 μέχρι days

    Διάβασε dayi

    Αν dayi < x1 τότε ! Αν μπορώ να το αγοράσω φθηνότερα

      x2 ← dayi

      x1 ← dayi

    αλλιώς_αν dayi > x2 τότε ! Αν μπορώ να το πουλήσω περισσότερα

      x2 ← dayi

    Τέλος_αν

    Αν x2/x1 > profit τότε profit ← x2/x1

  Τέλος_επανάληψης

  Γράψε profit

Τέλος_αν

Τέλος



! Time : O(days)

! Space : O(1)

nokotsos

Καλημέρα πως μπορώ να εξηγήσω στα παιδιά την μεθοδολογία για αυτήν την δύσκολη μετατροπή(Από Όσο σε Για)?
Σ <-- 0
Ι <-- 4
ΟΣΟ Ι<100 ΕΠΑΝΑΛΑΒΕ
 Ι <-- Ι + 5
 Σ <-- Σ + Ι
 ΓΡΑΨΕ Ι
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ Σ
Η προτεινόμενη λύση του ΟΕΦΕ(2018) είναι ΓΙΑ Ι ΑΠΟ 9 ΜΕΧΡΙ 104(πως να καταλαβαίνουν να βρίσκουν το τελικό σημείο και το αρχικό)

ripper

Παράθεση από: nokotsos στις 12 Δεκ 2022, 10:54:01 ΠΜΚαλημέρα πως μπορώ να εξηγήσω στα παιδιά την μεθοδολογία για αυτήν την δύσκολη μετατροπή(Από Όσο σε Για)?
Σ <-- 0
Ι <-- 4
ΟΣΟ Ι<100 ΕΠΑΝΑΛΑΒΕ
 Ι <-- Ι + 5
 Σ <-- Σ + Ι
 ΓΡΑΨΕ Ι
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ Σ
Η προτεινόμενη λύση του ΟΕΦΕ(2018) είναι ΓΙΑ Ι ΑΠΟ 9 ΜΕΧΡΙ 104(πως να καταλαβαίνουν να βρίσκουν το τελικό σημείο και το αρχικό)


Καλημέρα, πες τους να σκεφτούν πίνακα τιμών στο μυαλό τους, άρα θα πήγαινε

Για ι από 4 μέχρι 99 με_βημα 5
    Σ <- Σ + (ι+5)


Όποτε εύκολα θα καταλάβουν γιατί πάει
Για ι από 9 μέχρι 104

Γιαννούλης Γιώργος

Παράθεση από: nokotsos στις 12 Δεκ 2022, 10:54:01 ΠΜΚαλημέρα πως μπορώ να εξηγήσω στα παιδιά την μεθοδολογία για αυτήν την δύσκολη μετατροπή(Από Όσο σε Για)?
Σ <-- 0
Ι <-- 4
ΟΣΟ Ι<100 ΕΠΑΝΑΛΑΒΕ
 Ι <-- Ι + 5
 Σ <-- Σ + Ι
 ΓΡΑΨΕ Ι
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ Σ
Η προτεινόμενη λύση του ΟΕΦΕ(2018) είναι ΓΙΑ Ι ΑΠΟ 9 ΜΕΧΡΙ 104(πως να καταλαβαίνουν να βρίσκουν το τελικό σημείο και το αρχικό)
Νομίζω ότι η πιο εύκολη λύση να καταλάβουν είναι:

Σ <- 0

ΓΙΑ Ι ΑΠΟ 4 ΜΕΧΡΙ 99 ΜΕ_ΒΗΜΑ 5

  Σ <- Σ + (Ι + 5)

  ΓΡΑΨΕ Ι+5

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΡΑΨΕ Σ
Ουσιαστικά επειδή το ΓΙΑ αλλάζει το μετρητή του στο τέλος της επανάληψης, ότι χρησιμοποιεί την τιμή του μετρητή ενώ έχει ήδη αλλάξει του βάζεις την αλλαγμένη του τιμή στις εκφράσεις.