7 Απριλίου 2010

Απαντήσεις επαναληπτικές εσπερινά 2004

ΘΕΜΑ 1ο
Α.   1.   Κάθε αλγόριθμος απαραίτητα ικανοποιεί τα εξής κριτήρια: είσοδος (input), έξοδος (output), καθοριστικότητα (definiteness), περατότητα (finiteness), αποτελεσματικότητα (effectiveness).
      2.   Δεν ικανοποιείται το κριτήριο της καθοριστικότητας, αφού δεν λαμβάνεται υπόψην η περίπτωση όπου η διακρίνουσα (Δ) είναι αρνητική, οπότε και θα υπάρχει πρόβλημα με την τετραγωνική της ρίζα.
      3.   Δεν ικανοποιείται το κριτήριο της περατότητας, αφού στον έλεγχο της συνθήκης τερματισμού (Α=0), το Α θα είναι πάντοτε ίσο με –20, οπότε θα γίνουν άπειρες επαναλήψεις.

Β.   1.   α.   Είναι λανθασμένη.
            β.   Υπάρχει περίπτωση η συνθήκη συνέχειας να είναι εξαρχής ψευδής, οπότε να μην εκτελεστεί καμία επανάληψη.
      2.   α.   Είναι λανθασμένη.
            β.   Θα εκτελεστούν τέσσερις (4) επαναλήψεις, αφού στο τέλος της 3ης επανάληψης το Β θα είναι ίσο με 50 και όχι μεγαλύτερο.
Γ.   Σχ. Βιβλίο, παρ. 7.2, σελ. 148-149.
Δ.   1 – Σ, 2 – Λ, 3 – Λ.
ΘΕΜΑ 2ο
1.   ΠΡΟΓΡΑΜΜΑ Θέμα_2
      ΜΕΤΑΒΛΗΤΕΣ
                  ΑΚΕΡΑΙΕΣ: Α, Β, S
      ΑΡΧΗ
                  ΔΙΑΒΑΣΕ Α, Β
                  S ¬ 0
                  ΟΣΟ Β > 0 ΕΠΑΝΑΛΑΒΕ
                              ΑΝ Β MOD 2=1 ΤΟΤΕ
                              S ¬ S+A
                              ΤΕΛΟΣ_ΑΝ
                              Α ¬ Α*2
                              Β ¬ Β DIV 2
                  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
                  ΓΡΑΨΕ S
      ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
2.   Ο ζητούμενος πίνακας τιμών φαίνεται παρακάτω:

A
B
S
Αρχικές τιμές
15
20
0
1η επανάληψη
30
10
0
2η επανάληψη
60
5
0
3η επανάληψη
120
2
60
4η επανάληψη
240
1
60
5η επανάληψη
480
0
300
Έξω από την επανάληψη, θα εμφανίσει την τιμή του S η οποία θα είναι 300.
ΘΕΜΑ 3ο
Αλγόριθμος Δημοσκόπηση
Πλήθος_ΝΑΙ ¬ 0
Άνδρες_ΝΑΙ ¬ 0
Γυν_ΝΑΙ ¬ 0
Για i από 1 μέχρι 2000
            εμφάνισε “Δώσε το φύλο του πολίτη (Α / Γ)”
            διάβασε Φ
            Όσο (Φ < > “A”) και (Φ < > “Γ”) επανάλαβε
                        εμφάνισε “Λάθος τιμή. Ξαναπροσπάθησε”
                        διάβασε Φ
            Τέλος_επανάληψης
            εμφάνισε “Δώσε την απάντηση (ΝΑΙ / ΟΧΙ / ΔΕΝ ΞΕΡΩ)”
            διάβασε Α
            Όσο (Α< >“ΝΑΙ”) και (Α< >“ΟΧΙ”) και (Α< >“ΔΕΝ ΞΕΡΩ”) επανάλαβε
                        εμφάνισε “Λάθος τιμή. Ξαναπροσπάθησε”
                        διάβασε Α
            Τέλος_επανάληψης
            Αν Α=“ΝΑΙ” τότε
                        Πλήθος_ΝΑΙ ¬ Πλήθος_ΝΑΙ+1
                        Αν Φ=“Α” τότε
                                    Άνδρες_ΝΑΙ ¬ Άνδρες_ΝΑΙ+1
                        αλλιώς
                                    Γυν_ΝΑΙ ¬ Γυν_ΝΑΙ+1
                        Τέλος_αν
            Τέλος_αν
Τέλος_επανάληψης
!Εξασφάλιση καθοριστικότητας αλγορίθμου
Αν Πλήθος_ΝΑΙ > 0 τότε
            Ποσ_ανδρών ¬ (Άνδρες_ΝΑΙ / Πλήθος_ΝΑΙ)*100
            Ποσ_γυν ¬ (Γυν_ΝΑΙ / Πλήθος_ΝΑΙ)*100
εμφάνισε “Ποσοστό ανδρών που απάντησαν ΝΑΙ: ”, Ποσ_Ανδρών
            εμφάνισε “Ποσοστό γυναικών που απάντησαν ΝΑΙ: ”, Ποσ_γυν
αλλιώς
            εμφάνισε “Κανένας δεν απάντησε ΝΑΙ”
Τέλος_αν
Τέλος Δημοσκόπηση
ΘΕΜΑ 4ο
Αλγόριθμος Διαγωνισμός
!Εισαγωγή δεδομένων
Για i από 1 μέχρι 5000
            εμφάνισε “Δώσε αριθμό μητρώου και ονοματεπώνυμο διαγωνιζόμενου”
            διάβασε ΑΜ[i], ΟΝ[i]
            εμφάνισε “Δώσε τους βαθμούς του”
            διάβασε ΒΑΘ1[i], ΒΑΘ2[i]
            ΜΟ[i] ¬ (ΒΑΘ1[i] + ΒΑΘ2[i]) / 2
Τέλος_επανάληψης
!Εμφάνιση επιτυχόντων
Εμάνισε “Αριθ. Μητρώου            Ονοματεπώνυμο            Μέσος Όρος”
Για i από 1 μέχρι 5000
            Αν ΜΟ[i] > = 60 τότε
                        εμφάνισε ΑΜ[i], ΟΝ[i], ΜΟ[i]
            Τέλος_αν
Τέλος_επανάληψης
!Αναζήτηση διαγωνιζόμενου με τον αριθμό μητρώου του
εμφάνισε “Δώσε αριθμό μητρώου διαγωνιζόμενου”
διάβασε key
done ¬ Ψευδής
i ¬ 1
pos ¬ 0
Όσο (i < = 5000) και (done = Ψευδής) επανάλαβε
            Αν ΑΜ[i]=key τότε
                        done ¬ Αληθής
                        pos ¬ i
            αλλιώς
                        i ¬ i+1
            Τέλος_αν
Τέλος_επανάληψης
Αν done = Αληθής τότε
            εμφάνισε ΑΜ[i], ΟΝ[i], ΜΟ[i]
            Αν ΜΟ[i] > = 60 τότε
                        εμφάνισε “ΕΠΙΤΥΧΩΝ”
            αλλιώς
                        εμφάνισε “ΑΠΟΤΥΧΩΝ”
            Τέλος_αν
αλλιώς
            εμφάνισε “Ο αριθμός μητρώου δεν αντιστοιχεί σε διαγωνιζόμενο”
Τέλος_αν
Τέλος Διαγωνισμός

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου