Лабораторная работа №1.1
.docxМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ КЫРГЫЗСКОЙ РЕСПУБЛИКИ
КЫРГЫЗСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ ИМ. И. РАЗЗАКОВА
Лабораторная работа
Бишкек 2022
Лабораторная работа №1.1
Вариант №7
По каналу связи передаётся сообщение длиной n=7 двоичных символов. Символы могут искажаться с вероятностью р=0,03. Используемый метод кодирования позволяет исправлять ошибки в одном или двух символах. Наличие хотя бы одной неисправленной ошибки делает ошибочным всё сообщение.
Составить алгоритм и программу (на основе метода Монте-Карло) для определения следующих величин:
– вероятность того, что сообщение будет ошибочным;
– среднее число ошибок в ошибочном сообщении.
Листинг кода:
ERR_CR FUNCTION RN1,D2 ;ФУНКЦИЯ КОДИРОВАНИЕ
.5,1/1,2 ;
INITIAL X$ERR,0 ;ПЕРЕМЕННАЯ ДЛЯ КОЛИЧЕСТВO ОШИБОК
INITIAL X$ERR_COR,0 ;ПЕРЕМЕННАЯ ДЛЯ ВОЗМОЖНЫХ ИСПРАВЛЕНИЙ
GENERATE 1 ;ГЕНЕРАЦИЯ СООБЩЕНИЙ
SAVEVALUE ERR,0 ;ОБНУЛЯЮ ПЕРЕМ КОЛИЧ ОШИБОК
SAVEVALUE ERR_COR,FN$ERR_CR ;ТАК КАК КОДИРОВАНИЕ ПОЗВОЛЯЕТ ИСПРАВИТЬ В ОДНОМ ИЛИ ДВУХ СИМВОЛАХ. А РАЗЫГРЫВАЮ ИХ ЧЕРЕЗ ФУНКИЮ
SPLIT 6 ;РАЗДЕЛЯЮ СИМВОЛЫ
TRANSFER .03,MET1,MET2 ;3% ИСКАЖАЕТСЯ
MET2 ASSIGN 1,1 ;УСТАНАВЛИВАЕМ ПАРАМЕТР ЧТО СИМВОЛ ОШИБОЧНЫЙ
SAVEVALUE ERR+,1 ;УВЕЛ СЧЕТЧИК
TRANSFER ,MET6 ;ПЕРЕХОД
MET1 ASSIGN 1,0 ;ДЛЯ ОСТАЛЬНЫХ 97% УСТАН ДРУГОЙ ПАРАМЕТР
MET6 TEST G X$ERR_COR,0,MET7 ;ЕСЛИ ERR_COR НЕ 0 ТО ПРОД ИНАЧЕ ОТПР К МЕТ7
TEST E P1,1,MET7 ;ЕСЛИ СИМВОЛ ОШИБ ТО ПРОДОЛ ИНАЧЕ ОТПР К МЕТ7
ASSIGN 1,0 ;ИСПРАВЛЯЕМ ОШИБКИ
SAVEVALUE X$ERR-,1 ;УМЕН КОЛИЧ ОШИБОК
SAVEVALUE X$ERR_COR-,1 ;УМЕН ERR_COR
MET7 ASSEMBLE 7 ;ОБРАТНО СОБИРАЕМ СООБЩЕНИЕ(ИЗ СИМВОЛОВ)
TEST E X$ERR,0,MET5 ;ЕСЛИ ОСТАЛИСЬ ОШИБОК ТО ВСЕ СООБЩ ОШИБОЧНЫЕ
TERMINATE
MET5 TERMINATE
GENERATE 100
TERMINATE 1
START 1
Результат:
GPSS World Simulation Report - LB3_1.37.1
Wednesday, February 23, 2022 12:16:59
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 100.000 20 0 0
NAME VALUE
ERR 10001.000
ERR_COR 10002.000
ERR_CR 10000.000
MET1 9.000
MET2 6.000
MET5 18.000
MET6 10.000
MET7 15.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 99 0 0
2 SAVEVALUE 99 0 0
3 SAVEVALUE 99 0 0
4 SPLIT 99 0 0
5 TRANSFER 693 0 0
MET2 6 ASSIGN 31 0 0
7 SAVEVALUE 31 0 0
8 TRANSFER 31 0 0
MET1 9 ASSIGN 662 0 0
MET6 10 TEST 693 0 0
11 TEST 693 0 0
12 ASSIGN 31 0 0
13 SAVEVALUE 31 0 0
14 SAVEVALUE 31 0 0
MET7 15 ASSEMBLE 693 0 0
16 TEST 99 0 0
17 TERMINATE 74 0 0
MET5 18 TERMINATE 25 0 0
19 GENERATE 1 0 0
20 TERMINATE 1 0 0
SAVEVALUE RETRY VALUE
1 0 -40
2 0 -21
3 0 -1
ERR 0 1.000
ERR_COR 0 1.000
CEC XN PRI M1 ASSEM CURRENT NEXT PARAMETER VALUE
689 0 100.000 689 0 1
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
696 0 200.000 696 0 19