Σάββατο 26 Οκτωβρίου 2013

Ποιες είναι οι διαφορές μεταγλωττιστή και διερμηνευτή;

1) Ο μεταγλωττιστής μεταφράζει όλες τις εντολές σε
    γλώσσα μηχανής και μετά τις εκτελεί. Ο διερμηνευτής
    μεταφράζει και εκτελεί επί τόπου μία εντολή κάθε
    φορά.
2) Ο διερμηνευτής παρέχει τη δυνατότητα πιο γρήγορου
    ελέγχου  και διόρθωσης των εντολών σε σχέση με το
    μεταγλωττιστή. Ο μεταγλωττιστής ωστόσο εξασφαλίζει
    ταχύτερη εκτέλεση του προγράμματος από το διερμηνευτή.
   

Συνηθισμένα σενάρια παραβίασης αλγοριθμικών κριτηρίων

Αναφέρετε τα πιο συνηθισμένα σενάρια παραβίασης
αλγοριθμικών κριτηρίων

Απάντηση

Είσοδος :  χρήση μιας μεταβλητής που δεν έχει πάρει
                 προηγουμένως τιμή.
Έξοδος :   ο αλγόριθμος δεν εμφανίζει κανένα αποτέλεσμα.
Περατότητα : κάποια επαναληπτική δομή δεν τερματίζεται
                      ποτέ (ατέρμων βρόχος).
Καθοριστικότητα :  σε κάποια εντολή πραγματοποιείται
                                 διαίρεση χωρίς να έχει διασφαλιστεί
                                 ότι ο παρονομαστής είναι διάφορος
                                 του μηδέν ή επιχειρείται ο υπολογισμός
                                 τετραγωνικής ρίζας χωρίς να έχει
                                 διασφαλιστεί ότι η υπόρριζος ποσότητα
                                 είναι μεγαλύτερη ή ίση του μηδενός.
Αποτελεσματικότητα: κάποια εντολή δίδεται με περιγραφικό
                                      τρόπο και μπορεί να αναλυθεί σε δύο
                                      ή περισσότερα απλούστερα βήματα.

Πίνακας αλήθειας

Κατασκευάστε τον πίνακα αλήθειας της παράστασης
     ΟΧΙ Χ ΚΑΙ Ρ  Ή ΟΧΙ Μ
όπου Χ, Ρ, Μ λογικές μεταβλητές

Απάντηση
Έστω ότι:
     Σ = ΟΧΙ Χ ΚΑΙ Ρ

 Χ    Ρ     Μ    ΟΧΙ Χ       ΟΧΙ Μ         Σ             Σ  Ή ΟΧΙ Μ
 Α    Α    Α         Ψ               Ψ         Ψ             Ψ
 Α    Α    Ψ         Ψ               Α         Ψ             Α
 Α    Ψ    Α         Ψ               Ψ         Ψ             Ψ
 Α    Ψ    Ψ         Ψ               Α         Ψ             Α
 Ψ    Α    Α         Α               Ψ         Α             Α
 Ψ    Α    Ψ         Α               Α         Α             Α
 Ψ    Ψ    Α         Α               Ψ         Ψ            Ψ
 Ψ    Ψ    Ψ         Α               Α         Ψ            Α

Ερωτήσεις σωστού λάθους

Ποιες από τις παρακάτω προτάσεις είναι σωστές και ποιες
λάθος;
1. Κάθε  πρόγραμμα τελειώνει με τη δεσμευμένη λέξη
    ΤΕΛΟΣ και το όνομα του προγράμματος.
2. Κάθε συνάρτηση υπολογίζει και επιστρέφει ένα μόνο
    αποτέλεσμα.
3. Μια διαδικασία δεν είναι απαραίτητο να ικανοποιεί
    τα αλγοριθμικά κριτήρια.
4. Μετά από την εκτέλεση μιας εντολής Διάβασε, ένα
    τουλάχιστον δεδομένο έχει εισαχθεί στον αλγόριθμο.
5. Οι εντολές Διάβασε και Γράψε εξουδετερώνουν η
   μία την άλλη.

Απαντήσεις

1. Λ
2. Σ
3. Λ
4. Σ
5. Λ


  

Δευτέρα 21 Οκτωβρίου 2013

Καταγραφή πλήθους επαναλήψεων

Πόσες φορές εμφανίζουν τη λέξη 'ΤΕΣΤ' οι παρακάτω
εντολές;
     Διάβασε Υ
     Αρχή_επανάληψης
        Διάβασε Χ
        Για κ από Χ+1 μέχρι Υ
             Εμφάνισε 'ΤΕΣΤ'          
        Τέλος_επανάληψης
        Εμφάνισε 'ΤΕΣΤ'
     Μέχρις_ότου Α_Τ(Χ) >= 0
     Εμφάνισε 'ΤΕΣΤ'

Απάντηση

Η Μέχρις_ότου εκτελείται ακριβώς μια φορά
αφού η συνθήκη Α_Τ(Χ) >= 0 είναι Αληθής
ανεξάρτητα από την τιμή του Χ. Έτσι σίγουρα το
ΤΕΣΤ θα εμφανιστεί τουλάχιστον 2 φορές (μία
φορά θα το τυπώσει η Εμφάνισε που βρίσκεται
αμέσως μετά τη Για, και μια φορά η Εμφάνισε
που βρίσκεται έξω από τη Μέχρις_ότου).
Πάμε τώρα στη Για..από..μέχρι:
* Αν Χ+1 = Υ, δηλαδή Χ = Υ-1, θα εμφανιστεί το
   ΤΕΣΤ ακριβώς μια φορά
* Αν  Χ < Υ-1, το ΤΕΣΤ θα εμφανιστεί
     (Υ-(Χ+1)) div 1 + 1 = (Y-X-1)+1 = (Y-X) φορές
* Αν Χ > Υ-1, το ΤΕΣΤ δε θα εμφανιστεί καμία
   φορά.
Κατά συνέπεια, το συνολικό πλήθος εμφανίσεων
της λέξης ΤΕΣΤ είναι:
* 3, αν Χ = Υ-1
* Υ-Χ+2, αν Χ < Υ-1
* 2, αν Χ > Υ-1 

Κυριακή 13 Οκτωβρίου 2013

Απλοποιήσεις

Ξαναγράψτε το παρακάτω σύνολο εντολών
χρησιμοποιώντας μία μόνο Για..από..μέχρι,
έτσι ώστε να εμφανίζει τα ίδια ακριβώς
αποτελέσματα στη μονάδα εξόδου.

     Για κ από 12 μέχρι 189 με_βήμα 11
          Για μ από 13 μέχρι 1000 με_βήμα 19
                 Αν μ = 19 τότε
                      Εμφάνισε κ+μ
                      Για λ από 120 μέχρι 10 με_βήμα -1
                            Αν λ = 100 τότε
                                 Εμφάνισε (κ-λ)*μ
                            Τέλος_αν
                      Τέλος_επανάληψης
                  Τέλος_αν
          Τέλος_επανάληψης
     Τέλος_επανάληψης

Λύση

     Για κ από 12 μέχρι 189 με_βήμα 11
          Εμφάνισε κ+19
          Εμφάνισε (κ-100)*19
     Τέλος_επανάληψης

Ερωτήσεις πολλαπλής επιλογής

Επιλέξτε τη σωστή επιλογή

1. Μια διαδικασία
    α. είναι ένα πρόγραμμα χωρίς συμβολικές σταθερές
    β. δεν μπορεί να υπολογίζει αποτελέσματα
    γ. δεν μπορεί να αντικατασταθεί από μια συνάρτηση
        που να επιτελεί την ίδια λειτουργία
    δ. έχει το δικό της τμήμα δήλωσης μεταβλητών και
       συμβολικών σταθερών

2. Οι αριθμητικοί τελεστές
    α. δεν έχουν καμιά απολύτως ιεραρχία
    β. έχουν μικρότερη προτεραιότητα από τους
        συγκριτικούς τελεστές
    γ. αποκαλούνται και πολλαπλασιαστές
    δ. έχουν μεγαλύτερη προτεραιότητα από τους
        λογικούς τελεστές

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

4. Οι τεχνητές γλώσσες
    α. χρησιμοποιούνται για την επικοινωνία των ανθρώπων
        μεταξύ τους
    β. δεν έχουν συντακτικό
    γ. χρησιμοποιούνται για την επικοινωνία του ανθρώπου
        με τον υπολογιστή
    δ. είναι δυσνόητες και δύσχρηστες

5. Ο δομημένος προγραμματισμός
    α. στηρίζεται στις δομές της ακολουθίας, επιλογής και
        επανάληψης
    β. στηρίζεται στη χρήση της εντολής GOTO
    γ. οδηγεί σε μακροσκελή προγράμματα
    δ. είναι μια τεχνική σχεδίασης λογικών διαγραμμάτων
       

Απαντήσεις

1. δ
2. δ
3. β
4. γ
5. α




Διόρθωση λανθασμένων προτάσεων

Διορθώστε τις παρακάτω λανθασμένες προτάσεις και
επαναδιατυπώστε τις με σωστό τρόπο.
1. Κάθε πρόγραμμα τελειώνει με τη λέξη ΤΕΛΟΣ.
2. Η δομή επιλογής είναι η πιο απλή αλγοριθμική δομή.
3. Η εμβέλεια των ονομάτων σε μια συνάρτηση είναι
    καθολική.
4. Κάθε λογικό διάγραμμα αρχίζει και τελειώνει με
    ένα ρόμβο.
5. Αν Μ < Ν, τότε Μ div N = M




Απαντήσεις

1. Κάθε πρόγραμμα τελειώνει με τη λέξη
    ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
2. Η δομή ακολουθίας είναι η πιο απλή αλγοριθμική δομή.
3. Η εμβέλεια των ονομάτων σε μια συνάρτηση είναι
    τοπική.
4. Κάθε λογικό διάγραμμα αρχίζει και τελειώνει με
    μια έλλειψη.
5. Αν Μ < Ν, τότε Μ div N = 0



Πέμπτη 10 Οκτωβρίου 2013

Ερωτήσεις σωστού-λάθους

Ποιες από τις παρακάτω προτάσεις είναι σωστές
και ποιες λάθος;
1. Μια δομή πολλαπλής επιλογής μπορεί να
    αντικατασταθεί από μια δομή απλής επιλογής
    που να επιφέρει το ίδιο αλγοριθμικό αποτέλεσμα.
2. Όταν το βήμα είναι 0, η περιεχόμενη ομάδα
    εντολών μιας Για..από..μέχρι εκτελείται άπειρες
    φορές.
3. Η καθοριστικότητα είναι ένας από τους τρόπους
    αναπαράστασης ενός αλγορίθμου.
4. Όταν η συνθήκη μιας Όσο..επανάλαβε είναι
    Αληθής, η περιεχόμενη ομάδα εντολών συνεχίζει
    να επαναλαμβάνεται.
5. Μια Μέχρις_ότου είναι ιδανική για έλεγχο
    ορθότητας εισερχόμενων δεδομένων και
    για την υλοποίηση προγραμμάτων που
    παρέχουν μενού λειτουργιών.

Απαντήσεις

1. Λ
2. Λ
3. Λ
4. Σ
5. Σ


Έξοδος αποτελεσμάτων

Τι θα εμφανίσει το παρακάτω σύνολο εντολών;
     Για κ από 12 μέχρι 29 με_βήμα 18
          Για λ από 10 μέχρι 7 με_βήμα -11
              Για μ από 20 μέχρι 80 με_βήμα 100
                    Εμφάνισε κ+λ+μ
              Τέλος_επανάληψης
          Τέλος_επανάληψης
     Τέλος_επανάληψης

Λύση

      * Η Για κ από ....γίνεται μία φορά (κ = 12)
      * Η Για λ από ... γίνεται μία φορά (λ = 10)
      * Η Για μ από ... γίνεται μία φορά (μ = 20)

      Έτσι η Εμφάνισε θα εκτελεστεί μία μόνο φορά και
      θα τυπώσει το αποτέλεσμα της παράστασης
      κ+λ+μ για κ = 12, λ = 10, μ = 20. Αφού
      κ+λ+μ = 12+10+20 = 42, η Εμφάνισε τυπώνει:
            42

Συμπληρώση κενών

Συμπληρώστε τα κενά που λείπουν ώστε το
παρακάτω σύνολο εντολών να εμφανίζει
όλους τους περιττούς ακεραίους από
το 1 έως και το 113

   Για κ από _____ μέχρι _____ με_βήμα ____
        Εμφάνισε  __*__ - 1
   Τέλος_επανάληψης

Απάντηση

     Για κ από 1 μέχρι 57 με_βήμα 1
        Εμφάνισε  2*κ - 1
     Τέλος_επανάληψης