Файл: Программа моделирования написана на языке javascript. Программа состоит из 3х частей файла формата html,css,js.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 10.01.2024

Просмотров: 57

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Алгоритмы, описание и листинг программ имитационного моделирования сигнатурного анализатораАлгоритм программы многоканального сигнатурного анализатора следующий:1.Ввод исходных данных (установление связей в регистре сдвига, указание длинны потока ).2.Начало работы регистра сдвига (разбиение входящей строки (на элементы массива)).3.Передача ее в функцию реализующую сдвиг.4. Преобразование конечного состояния регистров из двоичной системы в свертку.Описание программыПрограмма моделирования написана на языке java-script . Программа состоит из 3-х частей файла формата html ,css ,js.Html-это файлы оболочки программы которые открываются через браузер. Css-файл отвечает за установление стилей.Js-основной файл выполняющий обработку данный (скрипт). При запуске программы запускается скрипт .Объявление переменныхvar nomer=0;var x1=false;X1,X2,X3-false потому что вначале программы связи не установдленыvar x2=false;var x3=false;function rand2(min,max){ return Math.floor(Math.random()*(max-min+1))+min;}function proverka(chB){//данная функция визуализирует связи в регистре в триггерами if(chB==1){ if(x1){ $('#hide1,#summ3,#plusnext2').hide(); x1=false; } else{ $('#hide1,#summ3,#plusnext2').show(); x1=true; } } else if(chB==2){ if(x2){ $("#hide2,#summ2,#plusnext1").hide(); x2=false; } else{ $("#hide2,#summ2,#plusnext1").show(); x2=true; } } else if(chB==3){ if(x3){ $("#hide3,#summ1,#plusnext3").hide(); x3=false; } else{ $("#hide3,#summ1,#plusnext3").show(); x3=true;}}}function asd(){//эта функция отвечает за промежуток времени между тактамиvar t=document.getElementById("vvod"); $("#kolvo").val(t.value.length); var t=document.getElementById("vvod1"); $("#kolvo1").val(t.value.length); var t=document.getElementById("vvod2"); $("#kolvo2").val(t.value.length); var t=document.getElementById("vvod3"); $("#kolvo3").val(t.value.length); ech();}function ech(){//данная функция отображает число битов последовательностиvar one=$("#kolvo").val(); var two=$("#kolvo1").val(); var three=$("#kolvo2").val(); var four=$("#kolvo3").val(); if(one==two&&two==three&&three==four&&four==one){//если длинны равны то программа $("#activity").attr("disabled", false); //разрешает выполнение } else{ $("#activity").attr("disabled","disabled"); }}function createArray(maxLength, aString){//при случайной генерации данная функция генерирует var arr=[]; //массив случайных бит заданной последовательностиfor(i=0; i<=maxLength; i++){ arr[i]=aString.slice(i,i+1); }return arr;}function add(){//эта функция берет с каждого массива по 1 му элементу формируя входящий var one=$("#vvod").val();//вектор и подает на функцию сверткиvar two=$("#vvod1").val();
var three=$("#vvod2").val(); var four=$("#vvod3").val(); var kolvo=$("#kolvo").val(); var kolvo1=$("#kolvo1").val(); var kolvo2=$("#kolvo2").val(); var kolvo3=$("#kolvo3").val(); var a=createArray(kolvo, one); var b=createArray(kolvo1, two); var c=createArray(kolvo2, three); var d=createArray(kolvo3, four); $("#element").val(a[nomer]+b[nomer]+c[nomer]+d[nomer]); if(nomer==$("#kolvo").val()){ nomer=0; } $("#zero1").html(a[nomer]); $("#zero2").html(b[nomer]); $("#zero3").html(c[nomer]); $("#zero4").html(d[nomer]); changePlace();//вызывается функция светркиnomer++;}function summ(arg1,arg2){//эта функция реализует деление по модулю дваif(arg1==arg2){ result=0; } else { result=1;}return result;}//эта функция реализует один цикл работы программы для пошагового выполненияfunction changePlace(){ var a=$("#summ4").html(); var s=$("#rez1").html(); var l=$("#rez2").html(); var i=$("#rez3").html(); var d=$("#rez4").html(); var n=$("#summnext1").html(); var m=$("#summnext2").html(); var t=$("#summnext3").html(); $("#summ4").html(s); $("#summnext2").html(d); $("#summnext1").html(i); $("#summnext3").html(l); $("#summ1").html(s); $("#summ2").html(s); $("#summ3").html(s); start(); var s=$("#rez1").html(); var l=$("#rez2").html(); var i=$("#rez3").html(); var d=$("#rez4").html(); $("#sostoyanieTriggerov").val(d+i+l+s); $("#NomerTakta").val(nomer+1+"Такт");}function start(){ var a=$("#summ4").html(); var d=$("#zero4").html(); var c=$("#summnext2").html();//для второго var e=$("#zero3").html();//красный var f=$("#zero2").html();//красный (третий триггер)var g=$("#summnext1").html();//черныйvar rn=$("#zero1").html();//для 4го (красный)var o=$("#summnext3").html();//черный var r=summ(a,d); if(x1){ var r1=summ(c,a); var rezultat1=summ(r1,e); $("#rez3").html(rezultat1); } else{ var r1=summ(c,e) $("#rez3").html(r1); } if(x2){ var r2=summ(a,g); var rezultat2=summ(r2,f) $("#rez2").html(rezultat2); } else{ var r2=summ(f,g); $("#rez2").html(r2); } if(x3){ var r3=summ(a,o); var rezultat3=summ(r3,rn); $("#rez1").html(rezultat3); } else{ var r3=summ(rn,o); $("#rez1").html(r3); } $("#rez4").html(r);}function generator(){//берет из генератора и визуализирует входящие последовательности$("#vvod").val(generator2());$("#vvod1").val(generator2());$("#vvod2").val(generator2());$("#vvod3").val(generator2());asd();}function generator2(){ var cols=Number($("#number").val()); var r=rand2(cols-1,cols-1); var str="1"; for(i=1;i<=r;i++){ str=str+rand2(0,1); } return str;}function count(){ var cols1=Number($("#number").val()); for(i2=1;i2<=cols1;i2++){ setTimeout(function(){ add(); },i2*300); }}function initArray(){//данная функция переводит из двоичной системы в сверткуthis.length = initArray.arguments.length;for (var i = 0; i < this.length; i++)this[i] = initArray.arguments[i];}function from10toradix(value,radix){var retval = '';var ConvArray = new initArray(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','H','P');var i = 0;intnum = parseInt(value,10);while (intnum > 0.9){ i++;tmpnum = intnum;// связь возвращаемой строки с новым значением:

retval = ConvArray[tmpnum % radix] + retval;intnum = Math.floor(tmpnum / radix);}return retval;}function compute(cform){// b2h Перевод из двоичной в шестнадцатиричную tmpvar = parseInt(cform.sostoyanieTriggerov.value,2);cform.signatura.value = " " + from10toradix(tmpvar,16);}