e-ΜΑΘΗΜΑΤΑ |
Πανελλαδικές 2021 - Θέμα Β1 |
!Ε2013-Δ
!Τα δεδομένα (κείμενο, εικόνα, ήχος, κλπ), κατά τη μετάδοσή τους μέσω ενσύρματων
!ή ασύρματων καναλιών επικοινωνίας, αλλοιώνονται λόγω του θορύβου που χαρακτηρίζει
!κάθε κανάλι. Ο τρόπος προστασίας των δεδομένων μετάδοσης είναι ο ακόλουθος:
!Για κάθε 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. Να περιλαμβάνει κατάλληλο τμήμα δηλώσεων.
!Δ2. Για κάθε τιμή ποιότητας του καναλιού, που χαρακτηρίζεται από ακεραίους
! από 1 έως και 10, να πραγματοποιούνται το πολύ 100.000 διαφορετικές προσπάθειες
! μετάδοσης-λήψης και διόρθωσης λαθών. Εάν όμως ληφθούν 100 λανθασμένες αποφάσεις,
! τότε να διακόπτεται η διαδικασία για τη συγκεκριμένη τιμή ποιότητας του καναλιού.
!Δ3.Σε κάθε προσπάθεια μετάδοσης-λήψης και διόρθωσης λαθών να πραγματοποιούνται
! οι ακόλουθες ενέργειες:
! α. Να διαβάζει (χωρίς έλεγχο εγκυρότητας των τιμών τους) τη μεταδοθείσα λέξη,
! καθώς και τη ληφθείσα λέξη και να ελέγχει, εάν αυτές ταυτίζονται.
! β. Να διορθώνει τη ληφθείσα λέξη στο δέκτη, βάσει της παραπάνω περιγραφής
! του αλγορίθμου.
!Δ4. α. Να αποθηκεύει, για κάθε τιμή ποιότητας καναλιού, σε πίνακα ΛΑΘΗΑΠΟΦ[10]
! το ποσοστό των λανθασμένων αποφάσεων και σε πίνακα ΛΑΘΗΛΗΨ[10] το ποσοστό
! των λανθασμένων λήψεων.
! β. Να εμφανίζει συγκεντρωτικά τα ποσοστά των λανθασμένων αποφάσεων και
! λανθασμένων λήψεων στο δέκτη.
ΠΡΟΓΡΑΜΜΑ πομπος
ΣΤΑΘΕΡΕΣ
Ν = 100000
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: ΜΕΤΑΔΟΣΗ[31], ΛΗΨΗ[31]
ΠΡΑΓΜΑΤΙΚΕΣ: ΛΑΘΗΑΠΟΦ[10], ΛΑΘΗΛΗΨ[10]
ΑΚΕΡΑΙΕΣ: τιμή_ποιότητας, πλ_λαθος_αποφ, αποφ_συνολικά, λάθη_μετάδοσης
ΑΚΕΡΑΙΕΣ: συνολική_μετάδοση, λαθη, i, j, πληθος1, πληθος0
ΛΟΓΙΚΕΣ: σταματα
ΑΡΧΗ
ΓΙΑ τιμή_ποιότητας ΑΠΟ 1 ΜΕΧΡΙ 10
! αρχικοποίηση μετρητών για τα ποσοστά
πλ_λαθος_αποφ <- 0
αποφ_συνολικά <- 0
λάθη_μετάδοσης <- 0
συνολική_μετάδοση <- 0
σταματα <- ΨΕΥΔΗΣ
i <- 1
ΟΣΟ i <= Ν ΚΑΙ σταματα = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
! α. Να διαβάζει (χωρίς έλεγχο εγκυρότητας των τιμών τους) τη μεταδοθείσα λέξη,
! καθώς και τη ληφθείσα λέξη και να ελέγχει, εάν αυτές ταυτίζονται.
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 31
ΔΙΑΒΑΣΕ ΜΕΤΑΔΟΣΗ[j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 31
ΔΙΑΒΑΣΕ ΛΗΨΗ[j]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
λαθη <- 0
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 31
ΑΝ ΜΕΤΑΔΟΣΗ[j] <> ΛΗΨΗ[j] ΤΟΤΕ
λαθη <- λαθη + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! β. Να διορθώνει τη ληφθείσα λέξη στο δέκτη, βάσει της παραπάνω περιγραφής
! του αλγορίθμου.
πληθος1 <- 1
πληθος0 <- 0
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 31
ΑΝ ΛΗΨΗ[j] = 1 ΤΟΤΕ
πληθος1 <- πληθος1 + 1
ΑΛΛΙΩΣ
πληθος0 <- πληθος0 + 1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ πληθος1 > πληθος0 ΤΟΤΕ
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 31
ΛΗΨΗ[j] <- 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΛΛΙΩΣ
ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 31
ΛΗΨΗ[j] <- 0
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΑΝ
!Δ4. α. Να αποθηκεύει, για κάθε τιμή ποιότητας καναλιού, σε πίνακα ΛΑΘΗΑΠΟΦ[10]
! το ποσοστό των λανθασμένων αποφάσεων και σε πίνακα ΛΑΘΗΛΗΨ[10] το ποσοστό
! των λανθασμένων λήψεων.
λάθη_μετάδοσης <- λάθη_μετάδοσης + λαθη
συνολική_μετάδοση <- συνολική_μετάδοση + 31
αποφ_συνολικά <- αποφ_συνολικά + 1
ΑΝ λαθη > 15 ΤΟΤΕ
πλ_λαθος_αποφ <- πλ_λαθος_αποφ + 1
ΑΝ πλ_λαθος_αποφ > 100 ΤΟΤΕ
σταματα <- ΑΛΗΘΗΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ
i <- i + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΛΑΘΗΑΠΟΦ[τιμή_ποιότητας] <- (πλ_λαθος_αποφ/ αποφ_συνολικά)* 100
ΛΑΘΗΛΗΨ[τιμή_ποιότητας] <- (λάθη_μετάδοσης/ συνολική_μετάδοση)* 100
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ τιμή_ποιότητας ΑΠΟ 1 ΜΕΧΡΙ 10
ΓΡΑΨΕ τιμή_ποιότητας, ΛΑΘΗΑΠΟΦ[τιμή_ποιότητας], ΛΑΘΗΛΗΨ[τιμή_ποιότητας]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
|