Επιλογή Σελίδας

Tα δεδομένα (κείμενο, εικόνα, ήχος, κλπ), κατά τη μετάδοσή τους μέσω ενσύρματων ή ασύρματων καναλιών επικοινωνίας, αλλοιώνονται λόγω του θορύβου που χαρακτηρίζει κάθε κανάλι. Ο τρόπος προστασίας των δεδομένων μετάδοσης είναι ο ακόλουθος:

Για κάθε bit (ακέραιος με τιμή 0 ή 1), που ο πομπός θέλει να στείλει, μεταδίδει μια λέξη, που αντιστοιχεί σε πίνακα ΜΕΤΑΔΟΣΗ[31] με όλες τις τιμές του ταυτόσημες με το προς μετάδοση bit, δηλαδή, αν πρόκειται να σταλεί το bit 1, τότε η λέξη που μεταδίδεται είναι η 11…1 μήκους 31 bits, ενώ αν πρόκειται να σταλεί το bit 0, τότε η λέξη που μεταδίδεται είναι η 00…0, μήκους 31 bits. Ο δέκτης λαμβάνει λέξη μήκους 31 bits, τα οποία τοποθετούνται σε πίνακα ΛΗΨΗ[31]. Έχουμε «ΛΑΝΘΑΣΜΕΝΗ ΛΗΨΗ», εάν υπάρχει τουλάχιστον ένα στοιχείο του πίνακα ΛΗΨΗ[31] με διαφορετική τιμή από αυτήν του αντίστοιχου στοιχείου του πίνακα ΜΕΤΑΔΟΣΗ[31]. Εάν το πλήθος των 1 του πίνακα ΛΗΨΗ[31] είναι μεγαλύτερο από το πλήθος των 0, τότε ο δέκτης αποφασίζει ότι ο πομπός έστειλε 1, ενώ σε αντίθετη περίπτωση ο δέκτης αποφασίζει ότι ο πομπός έστειλε 0. Σε κάθε περίπτωση, αν περισσότερα από τα μισά των 31 bits της λέξης μετάδοσης έχουν αλλοιωθεί, τότε ο δέκτης θα έχει πάρει «ΛΑΝΘΑΣΜΕΝΗ ΑΠΟΦΑΣΗ».

Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ, το οποίο να κάνει τα εξής:

Δ1. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων.

Μονάδες 3

Δ2. Για κάθε τιμή ποιότητας του καναλιού, που χαρακτηρίζεται από ακεραίους από 1 έως και 10, να πραγματοποιούνται το πολύ 100.000 διαφορετικές προσπάθειες μετάδοσης-λήψης και διόρθωσης λαθών. Εάν όμως ληφθούν 100 λανθασμένες αποφάσεις, τότε να διακόπτεται η διαδικασία για τη συγκεκριμένη τιμή ποιότητας του καναλιού.

Μονάδες 4

Δ3.Σε κάθε προσπάθεια μετάδοσης-λήψης και διόρθωσης λαθών να πραγματοποιούνται οι ακόλουθες ενέργειες:

α. Να διαβάζει (χωρίς έλεγχο εγκυρότητας των τιμών τους) τη μεταδοθείσα λέξη, καθώς και τη ληφθείσα λέξη και να ελέγχει, εάν αυτές ταυτίζονται.

β. Να διορθώνει τη ληφθείσα λέξη στο δέκτη, βάσει της παραπάνω περιγραφής του αλγορίθμου.

Μονάδες 9

Δ4. α. Να αποθηκεύει, για κάθε τιμή ποιότητας καναλιού, σε πίνακα ΛΑΘΗΑΠΟΦ[10] το ποσοστό των λανθασμένων αποφάσεων και σε πίνακα ΛΑΘΗΛΗΨ[10] το ποσοστό των λανθασμένων λήψεων.

β. Να εμφανίζει συγκεντρωτικά τα ποσοστά των λανθασμένων αποφάσεων και λανθασμένων λήψεων στο δέκτη.

Μονάδες 4

Τα θέματα σε pdf, 2013, Επαναληπτικές, Ημερήσια

ΛΥΣΗ

ΠΡΟΓΡΑΜΜΑ ΘΕΜΑ_Δ_ΕΠΑΝ_ΗΜΕΡ_2013
ΜΕΤΑΒΛΗΤΕΣ
 ΑΚΕΡΑΙΕΣ: ΜΕΤΑΔΟΣΗ[31], ΛΗΨΗ[31], Πλήθος_λαθών_λήψης, Προσπάθειες, 
           Κανάλι, bit, Λάθος_αποφάσεις, Σωστά_bit, Πλήθος_0, Πλήθος_1
 ΠΡΑΓΜΑΤΙΚΕΣ: Λαθ_Ληψ[10], Λαθ_Αποφ[10]
ΑΡΧΗ
 ΓΙΑ Κανάλι ΑΠΟ 1 ΜΕΧΡΙ 10
     Λάθος_αποφάσεις <-- 0
     Προσπάθειες <-- 1
     Πλήθος_λαθών_λήψης <-- 0
     ΟΣΟ Προσπάθειες < 1000000 ΚΑΙ Πλήθος_λαθών_λήψης <100 ΕΠΑΝΑΛΑΒΕ

        ΓΙΑ bit ΑΠΟ 1 ΜΕΧΡΙ 31
            ΔΙΑΒΑΣΕ ΜΕΤΑΔΟΣΗ[bit], ΛΗΨΗ[bit]
        ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

        Σωστά_bit <-- 0
        Πλήθος_0 <-- 0
        Πλήθος_1 <-- 0
        ΓΙΑ bit ΑΠΟ 1 ΜΕΧΡΙ 31
            ΑΝ ΜΕΤΑΔΟΣΗ[bit] = ΛΗΨΗ[bit] ΤΟΤΕ
               Σωστά_bit <-- Σωστά_bit + 1
            ! Εντοπίστηκε λάθος bit
            ΑΛΛΙΩΣ 
               ! Μετρώ αν είναι περισσότερα τα 0 ή τα 1
               ΑΝ ΛΗΨΗ[bit]=0 ΤΟΤΕ
                  Πλήθος_0 <-- Πλήθος_0 + 1
               ΑΛΛΙΩΣ
                  Πλήθος_1 <-- Πλήθος_1 + 1
              ΤΕΛΟΣ_ΑΝ
            ΤΕΛΟΣ_ΑΝ
        ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

        ! Δεν έχουν μεταδοθεί σωστά όλα τα bits
        ΑΝ Σωστά_bit< 31 ΤΟΤΕ 
           Πλήθος_λαθών_λήψης <-- Πλήθος_λαθών_λήψης + 1

           ! Διόρθωση λάθους
           ΑΝ Πλήθος_0 > Πλήθος_1 ΤΟΤΕ  ! Πιθανότερη η μετάδοση 0
              ΓΙΑ bit ΑΠΟ 1 ΜΕΧΡΙ 31
                  ΛΗΨΗ[bit] <-- 0
              ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           ΑΛΛΙΩΣ
              ΓΙΑ bit ΑΠΟ 1 ΜΕΧΡΙ 31    ! Πιθανότερη η μετάδοση 1
                 ΛΗΨΗ[bit] <-- 1
              ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
           ΤΕΛΟΣ_ΑΝ

           ! Μεταδόθηκαν πιο πολλά λάθος από σωστά bit 
           ΑΝ Σωστά_bit < 16 ΤΟΤΕ
              Λάθος_αποφάσεις <-- Λάθος_αποφάσεις + 1
           ΤΕΛΟΣ_ΑΝ
           
        ΤΕΛΟΣ_ΑΝ

     Προσπάθειες <-- Προσπάθειες + 1
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
 
 Λαθ_Αποφ[κανάλι] <-- Λάθος_αποφάσεις / Προσπάθειες * 100
 Λαθ_Ληψ[κανάλι] <-- Πλήθος_λαθών_λήψης / Προσπάθειες * 100

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

ΓΙΑ Κανάλι ΑΠΟ 1 ΜΕΧΡΙ 10
   ΓΡΑΨΕ 'Κανάλι ', Κανάλι
   ΓΡΑΨΕ 'Ποσοστό λαθών απόφασης / Προσπαθειών', Λαθ_Αποφ[Κανάλι]
   ΓΡΑΨΕ 'Ποσοστό λαθών λήψης / Προσπαθειών', Λαθ_Ληψ[Κανάλι]
 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
Share This