RSS    

   Реферат: Кодирующее устройство для кода Файера

  For i:=1 to _N Do

   Begin

    MoveTo(x+i*k,y);

    Str(Sa[i],Elm);

    OutText(Elm);

   End;

  SetTextStyle(0,0,1);

  MoveTo(x+17,y-20);

  Str(_N,Elm);

  OutText(Elm);

  MoveTo(x+_N*17,y-20);

  Str(0,Elm);

  OutText(Elm);

  SetTextStyle(1,0,4);

   i:=1;

   MoveTo(x+i*k,y);

   Setcolor(Color);

   Str(Sa[i],Elm);

   OutText(Elm);

   Stop:=False;

   Repeat

    Begin

     ch:=ReadKey;

     Case ch Of

     #75:Begin

        Setcolor(Fon);

          MoveTo(x+i*k,y);

          Str(Sa[i],Elm);

          OutText(Elm);

          i:=i-1;

          if(i<1)then i:=_N;

          SetColor(Color);

          MoveTo(x+i*k,y);

          Str(Sa[i],Elm);

          OutText(Elm);

        Stop:=False;

        End;{влево}

     #77:Begin

          SetColor(Fon);

          MoveTo(x+i*k,y);

          Str(Sa[i],Elm);

          OutText(Elm);

          i:=i+1;

          if(i>_N)then i:=1;

          SetColor(Color);

          MoveTo(x+i*k,y);

          Str(Sa[i],Elm);

          OutText(Elm);

          Stop:=False;

         End;{вправо}

      '1':Begin

           SetColor(7);

           MoveTo(x+i*k,y);

           Str(Sa[i],Elm);

           OutText(Elm);

           SetColor(Color);

           MoveTo(x+i*k,y);

           sa[i]:=1;

           F[i]:=Sa[i];

           Str(Sa[i],Elm);

           OutText(Elm);

         Stop:=False;

        End;

      '2':Begin

           SetColor(7);

           MoveTo(x+i*k,y);

           Str(Sa[i],Elm);

           OutText(Elm);

           SetColor(Color);

           MoveTo(x+i*k,y);

           sa[i]:=0;

           F[i]:=Sa[i];

           Str(Sa[i],Elm);

           OutText(Elm);

           Stop:=False;

        End;

     #13:Begin Stop:=True; End;

     End;

    End;

   Until(Stop);

   SetTextStyle(0,0,1);

 End;

{---------------------------------------}

{Вывод образующей матрицы}

Procedure OutPutObr_Matrix(x,y : Integer;Obr_Matr : Two_Matrix  );

 Var k,i,j : Integer;

     Elm : String;

 Begin

   k:=12;

   For i:=1 to _N Do

     Begin

       For j:=1 to _N Do

         Begin

           MoveTo(x+j*k,i*10+y);

           Str(Obr_Matr[i,j],Elm);

           OutText(Elm);

         End;

    End;

   SetColor(4);

   For i:=1 to _N Do

     Begin

       For j:=_N+1 to _N+_M-1 Do

         Begin

           MoveTo(x+j*k,i*10+y);

           Str(Obr_Matr[i,j],Elm);

           OutText(Elm);

         End;

    End;

 End;

{----------------------------------}

{Вывод полученной кодовой комбинации}

Procedure OutPut(x,y : Integer;F,A : Mass1);

 Var k,s : Integer;

     Elm : String;

  Begin

    MoveTo(x+10,y-20);

    Str(_N+_M-1,Elm);

    OutText(Elm);

    MoveTo(x+(_N+_M)*12-3,y-20);

    Str(0,Elm);

    OutText(Elm);

    k:=12;

    For i:=1 to _N Do Cicle_Kod[i]:=F[i];

    s:=1;

    For i:=_N+1 To _N+_M-1 Do

     Begin

      Cicle_Kod[i]:=A[s];

      s:=s+1;

     End;

    For i:=1 to _N Do

      Begin

        MoveTo(x+i*k,y);

        Str(Cicle_Kod[i],Elm);

        OutText(Elm);

      End;

    SetColor(4);

    For i:=_N+1 to _N+_M-1 Do

      Begin

        MoveTo(10+x+i*k,y);

        Str(Cicle_Kod[i],Elm);

        OutText(Elm);

      End;

  End;

{---------------------------------}

{выход из программы}

Function _Exit(Fon,Color : Integer;Col_Simv : Byte) : integer;

 Var x,y,k : Integer;

     Stop : Boolean;

     Ch : Char;

Begin

  Window_(250,200,450,300,1,'Выход');

  x:=225;

  y:=260;

  k:=80;

  SetTextStyle(0,0,1);

  SetColor(Col_Simv);

  For i:=1 to 2 do

    Begin

      MoveTo(x+i*k,y);

      OutText(Y_No[i]);

    End;

  i:=1;

  SetFillStyle(1,Fon);

  Bar(x+i*k-30,y-15,x+i*k+30,y+15);

  MoveTo(x+i*k,y);

  Setcolor(Color);

  OutText(Y_No[i]);

  Stop:=False;

  Repeat

   ch:=ReadKey;

     Case ch Of

     #75:Begin

          SetFillStyle(1,7);

          Bar(x+i*k-30,y-15,x+i*k+30,y+15);

        Setcolor(Col_Simv);

          MoveTo(x+i*k,y);

          OutText(Y_No[i]);

          i:=i-1;

          if(i<1)then i:=1;

          SetFillStyle(1,Fon);

          Bar(x+i*k-30,y-15,x+i*k+30,y+15);

          SetColor(Color);

          MoveTo(x+i*k,y);

          OutText(Y_No[i]);

        Stop:=False;

        End;{влево}

     #77:Begin

          SetFillStyle(1,7);

          Bar(x+i*k-30,y-15,x+i*k+30,y+15);

          Setcolor(Col_Simv);

          MoveTo(x+i*k,y);

          OutText(Y_No[i]);

          i:=i+1;

          if(i>2)then i:=2;

          SetFillStyle(1,Fon);

          Bar(x+i*k-30,y-15,x+i*k+30,y+15);

          SetColor(Color);

          MoveTo(x+i*k,y);

          OutText(Y_No[i]);

          Stop:=False;

         End;{вправо}

     #13:Begin Stop:=True; _Exit:=i End;

     End;{Case}

  Until Stop;

  SetTextStyle(0,0,0);

End;

{---------------------------------}

{ОСНОВНАЯ ПРОГРАММА               }

{---------------------------------}

Begin

 InitGrf;

Repeat

  flag:=false;

  Fon(3,2,GetMaxX-3,30);

  setcolor(0);

  moveto(20,465);

  SetTextJustify(0,1);

  outtext('Esc -  Выход');

  Menu(3,'Работа','О программе','Помощь','','','');

  Case t Of

     1:Begin

         Repeat

           SetFillStyle(1,7);                     {Строка состтояния}

           Bar(3,450,getmaxx-3,getmaxy-3);

           SetColor(15);

           Line(3,450,getmaxx-3,450);

           Line(3,450,3,getmaxy-3);

           SetColor(0);

           Line(3,getmaxy-3,getmaxx-3,getmaxy-3);

           Line(getmaxx-3,450,getmaxx-3,getmaxy-3);

           {moveto(20,465);

           SetTextJustify(0,1);

           SetColor(0);

           outtext('Нажмите любую клавишу ...');}

           VerMenu(3,'Ввод комбинации','Образующая матрица','Выход','','','');

           Case Np Of

             1 : Begin

                   Visual(Mas);

                   Dopoln(F);

                   Delenye(F,P);

                   Window_(30,300,610,410,1,'Закодированное сообщение. Красные   

                   символы - контрольные.');

                   OutPut(40,370,F,R);

                   ReadKey;

                   SetFillStyle(1,3);

                   Bar(30,150,610,410);

                 End;

             2 : Begin

                   Window_(30,50,610,445,1,'Образующая матрица');

                   Ed_Matrix(Obraz_Matrix);

                   Obr_Matrix(Obraz_Matrix);

                   OutPutObr_Matrix(40,90,Obraz_Matrix);

                   ReadKey;

                   SetFillStyle(1,3);

                   Bar(30,50,610,450);

                 End;

             3 : Begin

                  Case _Exit(1,15,0) of

                   1 : begin

                         Np:=3;

                         flag:=true;

                       end;

                   2 : Flag:=False;

                  end

                 End;

           End;

         Until (Np=3) or (Np=4);

         Ramka_Off(x1,y1,x2,y2);

       End;

     2:Begin

         SetFillStyle(1,7);                     {Строка состтояния}

           Bar(3,450,getmaxx-3,getmaxy-3);

           SetColor(15);

           Line(3,450,getmaxx-3,450);

           Line(3,450,3,getmaxy-3);

           SetColor(0);

           Line(3,getmaxy-3,getmaxx-3,getmaxy-3);

           Line(getmaxx-3,450,getmaxx-3,getmaxy-3);

         Window_(100,80,510,400,1,'О программе');

         moveto(130,130);

         SetTextJustify(0,1);

         outtext('Данная программа является курсовой работой');

         moveto(300,145);

         SetTextJustify(1,1);

         outtext('по курсу :');

         moveto(300,160);

         SetTextJustify(1,1);

         outtext('" Передача информации " ');

         moveto(120,200);

         SetTextJustify(0,1);

         outtext('Задание : Построить кодирующее устройство');

         moveto(185,220);

         outtext('для кода Файра.Кодируемых сообщений 63,');

         moveto(185,240);

         outtext('число обнаруживаемых ошибок Br=4, число');

         moveto(185,260);

         outtext('исправляемых ошибок Bs=3.');

         moveto(120,290);

         outtext('Студент :        Иванов А. Е.');

         moveto(120,310);

         outtext('Группа  :        BM-1-97');

         moveto(120,330);

         outtext('Преподаватель :  Каевченко .');

         moveto(300,380);

         SetTextJustify(1,1);

         outtext('СМОЛЕНСК  1999 г.');

        moveto(20,465);

        SetTextJustify(0,1);

        SetColor(0);

        outtext('Нажмите любую клавишу ...');

        Readkey;

        Ramka_Off(x1,y1,x2,y2);

       End;

     3:Begin

         SetFillStyle(1,7);                     {Строка состтояния}

           Bar(3,450,getmaxx-3,getmaxy-3);

           SetColor(15);

           Line(3,450,getmaxx-3,450);

           Line(3,450,3,getmaxy-3);

           SetColor(0);

           Line(3,getmaxy-3,getmaxx-3,getmaxy-3);

           Line(getmaxx-3,450,getmaxx-3,getmaxy-3);

           Window_(100,50,500,350,1,'Помощ');

         moveto(120,110);

         SetTextJustify(0,1);

         outtext('<--  -->  ПЕРЕДВИЖЕНИЕ ПО ГОРИЗОНТАЛЬНОМУ МЕНЮ.');

         moveto(120,130);

         outtext('‑  |');

         moveto(120,135);

         outtext('|  |     ПЕРЕДВИЖЕНИЕ ПО ВЕРТИКАЛЬНОМУ МЕНЮ.');

         moveto(120,140);

         outtext('|  ­');

         moveto(114,150);

         moveto(114,155);

         outtext('<Enter>       АКТИВАЦИЯ ПУНКТА МЕНЮ.');

         moveto(140,200);

         outtext('В программе использованы соотношения :');

         moveto(120,220);

         outtext('L >= Bs       c >= Bs+Br-1');

         moveto(160,235);

         outtext('L');

                         moveto(120,240);

         outtext('e = 2 -1       m = c + L');

         moveto(120,260);

         outtext('n = НОК(e,c)');

         moveto(120,280);

         outtext('После расчетов получили образующий многочлен');

         moveto(120,300);

         outtext('Файра : P(x)=1011001011');

         moveto(20,465);

         SetTextJustify(0,1);

         SetColor(0);

         outtext('Нажмите любую клавишу ...');

         ReadKey;

         Ramka_Off(x1,y1,x2,y2);

       End;

  End; {Case}

Until flag;

closegraph;

End.

Оглавление.

Аннотация

Введение

1. Теоретическое введение

1.1. Постановка задачи.
1.2. Понятие двоичных циклических кодов.
1.2.1. Общие понятия и определения.

            1.2.2. Методы построения циклических кодов.

1.3.Технические средства кодирования для двоичных

      циклических кодов.

1.4. Коды Файра.

  2. Разработка схемы кодирующего устройства.

2.1. Построение кода Файра.
2.2. Структурная схема кодирующего устройства.

 3. Анализ технического задания.  

 4. Работа устройства

  5.Выбор узлов принципиальной схемы.

5.1. Расчет генератора тактовых импульсов
5.2. Счетчик К555 ИЕ10
5.3. Тригер К555 ТВ6
5.4. Регистр К155ИР13.

 6. Описание разработки системы.

6.1. Модульная структура системы.
6.2. Организация пользовательского интерфейса  .
6.2.1. Меню системы.
6.2.2. Обработка ошибочных ситуаций.
6.3. Спецификация на программные модули.

 7 . Тестирование.

7.1. Выбор методики тестирования.
7.2. Результаты тестирования

  8. Ограничения на разработку.

8.1.  Инструкция пользователя

 Заключение.

 

 Список литературы.

 

 Приложения

 

Приложение 1.  Перечень элементов.

 

Приложение 2. Блок схема алгоритма.

 

Приложение 3. Текст программных модулей.

 

    Приложение 4. Экранные формы.

 


Страницы: 1, 2, 3, 4, 5, 6, 7


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

Обратная связь

Поиск
Обратная связь
Реклама и размещение статей на сайте
© 2010.