код Файра..
8. Ограничения на разработку.
Для выполнения программы необходимо соблюдать некоторые требования, а
именно:
1) Программа может работать на персональных компьютерах с процессором не
ниже 80486 .
2) Для реализации интерфейса необходимо иметь цветной монитор с адаптером
не ниже VGA.
3) RAM не ниже 8MB.
4) Windows 95/98/NT
8.1. Инструкция пользователю.
В программе разработан интерфейс, подходящий под стандарты.
Интерфейс реализован в графическом режиме. Меню горизонтальное, с
выпадающими окнами. Главное окно программы изображено на рис.. Приложения
2.
Главное меню программы содержит следующие пункты:
1. О программе - дана краткая аннотация выполненной программы.
2. Работа - содержит подменю с пунктами:
1. Ввод - позволяет пользователю ввод соответствующих данных.
Здесь предусмотрена защита от некорректного ввода. В этом
пункте можно ввести любую информационную комбинацию.
2. Вывод - выполняется алгоритм построения образующей матрицы, с
последующем выводом ее на экран.
3. Выход - обеспечивает выход из программы. Используется защита
от случайного выхода.
Пункты меню активизируются нажатием клавиши .
При появления каждого окна в строке статуса появляется сообщение о
возможных действиях.
Передвижение по меню осуществляется клавишами перемещения курсора на
клавиатуре. Также используется "горячая клавиша" Esc. При нажатии на неё
происходит автоматический выход из программы.
Заключение
В данной работе был рассмотрен один из множества методов кодирования.
Достоинство данного метода в том, что он может находить исправлять пачки
ошибок. Также все циклические коды легко поддаются схемной реализации.
Все элементы принципиальной схемы имеют серии К155 или К55. Это одни
из самых распространенных и довольно не дорогих отечественных микросхем,
легко доступная любому пользователю.
Программа реализована на языке Turbo Pascal 7.0. Это наиболее
распространенный на сегодняшний день язык программирования. Поэтому в
программе разобраться трудностей не будет.
Кодирование информации наиболее актуальна в наши дни в связи с
развитием компьютерных сетей. Необходимо передавать информацию быстро и
точную.
Программа тестировалась восходящим методом. С помощью этого метода
сначала были протестированы отдельные модули программы, а затем и вся
программа.
Проведено тестирование программы необходимое для проверки
работоспособности программы, которое показало, что программа устойчиво
работает на все режимах работы и выполняет поставленную задачу.
Программа является универсальной и может быть усовершенствована
любым пользователем, разбирающимся в языке программирования Pascal 7.0 .
Дана общая модульная структура программа, которая может помочь ползо-
вателю разобраться в общей структуре программы и усовершенствовать
программу.
Список литературы.
1. Тёмников Ф. Е..
Теоретические основы информационной техники:
Учеб.пособие для вузов-2-е изд., перераб. и доп.-М.:Энергия, 1979.-
512 с., ил.
2. Липаев В.В.
Тестирование программ.- М.: Радио и связь,1986. - 296 с.: ил.
3. Тутевич В. Н.
Телемеханика:
Учеб.пособие для студентов вузов спец. “Автоматика и
телемеханика”-2-е изд., перераб. и доп.-М.: Высш. Шк., 1985.- 423 с.,
ил.
4. Зельдин Е. А.
Цифровые интегральные микросхемы в информационн-измерительной
аппаратуре. –Л.: Энергоатомиздат. Ленингр. отд-ние, 1986.- 280 с.: ил.
Приложения.
Приложение 1. Перечень элементов
| | | | |
|Поз. |Наименование |Кол|Примечания |
|Обозн. | | | |
| |Конденсаторы | | |
|С3 |К10-60 – 10 мКф + 10% |1 | |
| С1,С2 |К10-17а – 0.1 мКф + 0.1% |2 | |
| |Микросхемы. | | |
| |К555АГ3 |1 | |
| |К155ИР13 |9 | |
| |К555ТВ6 |1 | |
| |К555ИЕ10 |2 | |
| |К155ЛН1 | | |
| |К155ЛИ1 | | |
| |Резисторы | | |
|R1-R2 |С2-29В 5Ком±0.1% |2 | |
|R4 |МЛТ-0.125 – 30 Ком + 10% |1 | |
|R5 |МЛТ-0.125 – 1.5Koм + 10% |1 | |
Приложение 2. Блок-схема алгоритма.
Приложение 3. Текст програмных модулей.
Uses Crt,Graph,AlexUnit;
Const
_N = 33;
_M = 10;
Type
Delim_Mas = array[1 .. 100] of byte;
Mass1 = array[1 .. _N+_M-1] of byte;
Mass2 = array[1 .. _M] of byte;
Mass3 = array[1 .. _M-1] of byte;
Mas_Exit=array[1..2] of String;
Two_Matrix=array[1 .. _N,1 .. _N+_M-1] of byte;
P : Mass2 = (1,0,1,1,0,0,1,0,1,1);
Y_No : Mas_Exit = ('Да','Нет');
Var
F,Cicle_Kod : Mass1; R : Mass1;
Delimoe : Delim_Mas;
Obraz_Matrix : Two_Matrix;
Mas : Mass;
grDriver,grMode,ErrCode: Integer;
flag : boolean;
_t,c,n,m,i,schot,N0,Code : integer;
Function Sum(F,P : Byte) : Byte; {Суммирование по модулю 2}
i : Byte;
Begin
If ((F=1) and (P=1)) or ((F=0) and (P=0)) Then Sum:=0
Else Sum:=1;
End;
{-------------------------------}
Procedure Dopoln(Var F : Mass1); {Умножение на старшую степень образующего
многочлена}
for i:=_N+1 to _N+_M-1 do F[i]:=0;
{--------------------------------}
Procedure Delenye(F : Mass1;P : Mass2); {Деление многочлен на многочлен}
i,j,t : Byte; K : Mass1;
For i:=1 to _N do
IF F[i]=1 Then Begin
t:=1;
For j:=i to i+_M-1 do
K[j]:=Sum(F[j],P[t]);
F[j]:=K[j];
t:=t+1;
For i:=_N+1 to _N+_M-1 do
R[t]:=F[i];
{----------------------------------------}
Procedure Ed_Matrix(Var A : Two_Matrix); {Составление еденичной матрицы}
i : Integer;
A[i,_N+1-i]:=1
Procedure Obr_Matrix(Var A : Two_Matrix); {Получение образующей матрицы}
i,j,t,Schot,l,m : Byte; K : Mass1;
Delimoe[1]:=1;
Schot:=1;
IF Delimoe[i]=1 Then Begin
K[j]:=Sum(Delimoe[j],P[t]);
Delimoe[j]:=K[j];
l:=1;
For m:=i+1 to i+_M-1 do
A[Schot,_N+l]:=Delimoe[m];
l:=l+1;
End
Else Begin
Schot:=Schot+1;
Procedure InitGrf; {Инициализация графики}
grDriver := Detect;
InitGraph(grDriver, grMode,'c:\sub\bp\bgi');
if GraphResult <> grOk then Begin
Halt(1);
Procedure Visual(Var sa:mass); {Ввод информационных символов}
Var i,x,y,k,Fon,Color,a:Integer;
Code: Integer;
ch,chi:Char;
Stop:Boolean;
Elm : String;
moveto(20,465);
SetTextJustify(0,1);
SetColor(0);
outtext('Нажмите Enter');
x:=30;
y:=225;
k:=17;
Fon:=1;
Color:=14;
Window_(30,150,610,260,1,'Ввод нформационных символов');
SetTextStyle(1,0,4);
SetColor(Fon);
For i:=1 to _N Do
MoveTo(x+i*k,y);
Str(Sa[i],Elm);
OutText(Elm);
SetTextStyle(0,0,1);
MoveTo(x+17,y-20);
Str(_N,Elm);
MoveTo(x+_N*17,y-20);
Str(0,Elm);
i:=1;
Setcolor(Color);
Stop:=False;
Repeat
ch:=ReadKey;
Case ch Of
#75:Begin
Setcolor(Fon);
i:=i-1;
if(i_N)then i:=1;
SetColor(Color);
Страницы: 1, 2, 3, 4, 5, 6