19 Ιουνίου 2011

ΑΠΑΝΤΗΣΕΙΣ ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΗΜΕΡΗΣΙΟΥ 2011


ΘΕΜΑ A
Α1. §1.5 (σελ. 16,17,18)
Α2.      Αν Χ<>Α_Μ(Χ) τότε
Γράψε ‘Λάθος’
Τέλος_αν
Αν Χ=Α_Μ(Χ) και Χ<=0 τότε
Γράψε ‘Μη Θετικός’
Τέλος_αν
Αν Χ=Α_Μ(Χ) και Χ>0 τότε
Γράψε ‘Θετικός’
Τέλος_αν
Α3.
(α)  i ← 1
      Για j από 1 μέχρι 100
         Εμφάνισε Α[i,j]
         i ← i +1
      Τέλος_επανάληψης
(β)
Για j από 1 μέχρι 100
Εμφάνισε Α[50,j]
Τέλος_επανάληψης

Α4.      1. Α=1 Μ=100 Β=1                 2. Α=200 Μ=10 Β= -1
            3. Α= -200 Μ= -1 Β=1             4. Α=100 Μ=200 Β=2      5. Α=13 Μ=8128 Β=13
Α5.      Αληθής            table[i]=key                 Αληθής            table[i]>key     Ψευδής
ΘΕΜΑ B
Β1.                  ν ← 0, sum ← 0, max ← 0
Αρχή_επανάληψης
Διάβασε α
Αν α <= 0 τότε
ν ← ν + 1
sumsum
β ← - α
Αν β > max τότε
max ← β
Τέλος_Αν
Τέλος_Αν
Mέχρις_ότου α > 0
Αν ν = 0 τότε
Εμφάνισε ‘Σωστά’
Εμφάνισε ‘Δεν δόθηκαν μη θετικοί αριθμοί’
Αλλιώς
Εμφάνισε ‘Οι μη θετικοί είναι ’,ν
ΜΟ ← sum/ν
Εμφάνισε ‘Ο μέσος όρος των μη θετικών είναι ’, ΜΟ
Εμφάνισε ‘Ο μεγαλύτερος των μη θετικών είναι ’, max
Τέλος_Αν
B2.
I
J
A[I]
A[j]
οθόνη
1
4
3
13



13
3
13, 5, 8
2
3
5
8



8
5
13, 8, 5
3
2
5
8



8
5
13, 5, 8
ΘΕΜΑ Γ
Αλγόριθμος πρατήριο
Αρχή_επανάληψης
Διάβασε ποσ
μέχρις_ότου ποσ > 0 ΚΑΙ ποσ <= 10000
πλήθος ← 0, ν ← 0, sum1 ← 0, sum2 ← 0
Όσο ποσ > 0 και πλήθος < 3 επανάλαβε
Διάβασε τύπο
Αν τύπο = ’Β’ τότε
sum2 ← sum2 + (10000 - ποσ)
ποσ ← 10000

αλλιώς
Εμφάνισε ”Δώστε λίτρα”
Διάβασε λιτ
Αν λιτ <= ποσ τότε
ποσ ← ποσ - λιτ
sum1 ← sum1 + λιτ
ν ← ν + 1
εξυπηρέτηση←αληθής
αλλιώς
εξυπηρέτηση←ψευδής
Τέλος_αν
Τέλος_αν
Αν εξυπηρέτηση = αληθής τότε
Πλήθος ← 0
αλλιώς
πλήθος ← πλήθος + 1
Τέλος_αν
Τέλος_επανάληψης
Αν ν > 0 τότε
ΜΟ ← sum1 / ν
Εμφάνισε ”Η μέση ποσότητα καυσίμου ανά επιβατηγό είναι ”, ΜΟ
Τέλος_Αν
Εμφάνισε ”Η συνολική ποσότητα που εφοδιάσαν τα βυτιοφόρα την δεξαμενή είναι”, sum2
Τέλος πρατήριο
ΘΕΜΑ Δ
ΠΡΟΓΡΑΜΜΑ εταιρείες
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i, j
ΠΡΑΓΜΑΤΙΚΕΣ: κερδ[20,5], S1[20], S2[20], S3[20], MO[5], S
ΧΑΡΑΚΤΗΡΕΣ: ον[20]
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
ΔΙΑΒΑΣΕ ον[i]
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5
ΔΙΑΒΑΣΕ κερδ[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
S[i]←άθροισμα(κερδ,i)
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5
S←0
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
S← S + κερδ[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
MO[j]←S/20
ΓΡΑΨΕ MO[j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
S1[i]←0, S2[i]←0, S3[i]←0
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 3
S1[i]← S1[i] + κερδ[i,j]
S2[i]← S2[i] + κερδ[i, j+1]
S3[i]← S3[i] + κερδ[i, j+2]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
ΑΝ S1[i]>S2[i] ΚΑΙ S1[i]>S3[i] TOTE
ΓΡΑΨΕ ον[i], 2001
ΑΛΛΙΩΣ_ΑΝ S2[i]>S3[i] ΚΑΙ S2[i]>S1[i] TOTE
ΓΡΑΨΕ ον[i], 2002
ΑΛΛΙΩΣ
ΓΡΑΨΕ ον[i], 2003
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΣΥΝΑΡΤΗΣΗ άθροισμα(κερδ, i): ΠΡΑΓΜΑΤΙΚΗ
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i, j
ΠΡΑΓΜΑΤΙΚΕΣ: κερδ[20,5], S
ΑΡΧΗ
S ← 0
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 5
S← S + κερδ[i,j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
άθροισμα ← S
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

4 σχόλια:

  1. Αγαπητέ κύριε,

    Στο Θέμα Γ,
    αν ο τύπος είναι Βυτιοφόρο, δεν πρέπει να προσμετράται στα μη εξυπηρετούμενα οχήματα!
    Δηλαδή η τελευταία εκχώρηση (εξυπηρέτηση <-- Αληθής) πρέπει να διαγραφεί. Συνεπώς πρέπει να ξαναγραφεί το κομμάτι που χρησιμοποιεί τη συγκεκριμένη μεταβλητή.
    Επίσης, η δομή ΟΣΟ πρέπει να μετατραπεί σε ΜΕΧΡΙΣ_ΟΤΟΥ, διότι αν δόσεις αρχική ποσότητα = 0 (όπως κάνεις με τον έλεγχο εγκυρότητας), η επανάληψη δεν θα εκτελεστεί ποτέ!!!

    Στο Θέμα Δ, Η μεταβλητή S χρησιμοποιείται και σαν απλή μεταβλητή και σαν μεταβλητή με δείκτη (πίνακας)!

    Φιλικά

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. ευχαριστώ... προφανώς δεν θέλουμε να χάσουμε από πελάτες τα φορτηγά!

      Διαγραφή
  2. στο θέμα Α5 ή λύση σας είναι λάθος.
    Η σωστή
    αν table[i] > key τότε
    ΔενΒρέθηκε<-Ψευδής

    ΑπάντησηΔιαγραφή