Процес квантування сигналів по рівню
Контрольная работа - Компьютеры, программирование
Другие контрольные работы по предмету Компьютеры, программирование
?магаються в програмі.
Наприклад, при введенні створюючого поліному і інформаційної частини таких, що були наведені в попередніх прикладах, після натискання кнопки "Виконати обчислення" матимемо у відповідних полях такі результати:
- проміжні результати:
- остаточні результати:
Кнопка "Очистити поля форми":
повертає форму у початковий стан, тобто стирає всі записані раніше дані:
Кнопка "Побудувати кодер"
При натисканні даної кнопки програма виконує побудову кодера заданої комбінації циклічного коду.
Наприклад, при введенні циклічного коду, що був наведений у попередніх прикладах, виконується побудова кодеру вигляду:
Кнопка "Вихід": завершує роботу програми.
Додаток 1
#include
#pragma hdrstop
#include "Unit1.h"
#include
#include
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Edit1->Text=" ";
Edit2->Text=" ";
Edit3->Text=" ";
Edit4->Text=" ";
Edit5->Text=" ";
Edit6->Text=" ";
Edit7->Text=" ";
Edit8->Text=" ";
Label11->Caption=" ";
Label12->Caption=" ";
Label13->Caption=" ";
Series1->Clear();
Series2->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
float n=StrToFloat(Edit1->Text);
float de=StrToFloat(Edit2->Text);
float t=StrToFloat(Edit4->Text);
float uvh=StrToFloat(Edit3->Text);
int i;
int l=0, l1=0;
int c=0, c1=0;
int mas1[10];
int mas[10];
float un=0;
float un1=0;
float add=0;
int x1=0;
int x2,x3,x4,x5,x6;
int x21,x31,x41,x51,x61,x11;
do
{
mas[l]=1;
c++;
for (i=c;i<n;i++)
mas[i]=0;
if (l==0)
{
un=de*pow(2,n-c);
x1=un;
}
if (l==1)
{
un=mas[l-1]*de*pow(2,n-c+1)+mas[l]*de*pow(2,n-c);
x2=un;
}
if (l==2)
{
un=mas[l-2]*de*pow(2,n-c+2)+mas[l-1]*de*pow(2,n-c+1)+mas[l]*de*pow(2,n-c);
x3=un;
}
if (l==3)
{
un=mas[l-3]*de*pow(2,n-c+3)+mas[l-2]*de*pow(2,n-c+2)+mas[l-1]*de*pow(2,n-c+1)+
mas[l]*de*pow(2,n-c);
x4=un;
}
if (l==4)
{
un=mas[l-4]*de*pow(2,n-c+4)+mas[l-3]*de*pow(2,n-c+3)+
mas[l-2]*de*pow(2,n-c+2)+mas[l-1]*de*pow(2,n-c+1)+mas[l]*de*pow(2,n-c);
x5=un;
}
if (l==5)
{
un=mas[l-5]*de*pow(2,n-c+5)+mas[l-4]*de*pow(2,n-c+4)+mas[l-3]*de*pow(2,n-c+3)+
mas[l-2]*de*pow(2,n-c+2)+mas[l-1]*de*pow(2,n-c+1)+mas[l]*de*pow(2,n-c);
x6=un;
}
if (uvh>un)
;
if (uvh==un)
mas[l]=1;
if (uvh<un)
mas[l]=0;
Label11->Caption = Label11->Caption + IntToStr(mas[l]) + " " ;
l++;
mas1[l1]=1;
c1++;
for (i=c1;i<n;i++)
mas1[i]=0;
if (l1==0)
{
un1=mas1[l1]*de*pow(2,n-c1);
x11=un1;
}
if (l1==1)
{
un1=mas1[l1-1]*de*pow(2,n-c1+1)+mas1[l1]*de*pow(2,n-c1);
x21=un1;
}
if (l1==2)
{
un1=mas1[l1-2]*de*pow(2,n-c1+2)+mas1[l1-1]*de*pow(2,n-c1+1)+
mas1[l1]*de*pow(2,n-c1);
x31=un1;
}
if (l1==3)
{
un1=mas1[l1-3]*de*pow(2,n-c1+3)+mas1[l1-2]*de*pow(2,n-c1+2)+mas1[l1-1]*de*pow(2,n-c1+1)+
mas1[l1]*de*pow(2,n-c1);
x41=un1;
}
if (l1==4)
{
un1=mas1[l1-4]*de*pow(2,n-c1+4)+mas1[l1-3]*de*pow(2,n-c1+3)+mas1[l1-2]*de*pow(2,n-c1+2)+mas1[l1-1]*de*pow(2,n-c1+1)+
mas1[l1]*de*pow(2,n-c1);
x51=un1;
}
if (l1==5)
{
un1=mas1[l1-5]*de*pow(2,n-c1+5)+mas1[l1-4]*de*pow(2,n-c1+4)+mas1[l1-3]*de*pow(2,n-c1+3)+mas1[l1-2]*de*pow(2,n-c1+2)+mas1[l1-1]*de*pow(2,n-c1+1)+
mas1[l1]*de*pow(2,n-c1);
x61=un1;
}
if (uvh>un1)
mas1[l1]=1;
if (uvh==un1)
mas1[l1]=0;
if (uvh<un1)
mas1[l1]=0;
Label12->Caption = Label12->Caption + IntToStr(mas1[l1]) + " " ;
l1++;
}
while (l!=n);
float map=0;
float mvp=0;
float skap=0;
float skvp=0;
map=de/2;
Edit5->Text=FloatToStrF(map,ffFixed,2,2);
mvp=100/(pow(2,n+1));
Edit6->Text=FloatToStrF(mvp,ffFixed,2,2);
skap=de/(pow(3,0.5)*2);
Edit8->Text=FloatToStrF(skap,ffFixed,2,2);
skvp=100/(pow(3,0.5)*pow(2,n+1));
Edit7->Text=FloatToStrF(skvp,ffFixed,2,2);
float tp=0;
tp=n*t;
Label13->Caption=FloatToStrF(tp,ffFixed,2,2);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
float n=StrToFloat(Edit1->Text);
float de=StrToFloat(Edit2->Text);
float t=StrToFloat(Edit4->Text);
float uvh=StrToFloat(Edit3->Text);
int i;
int l=0, l1=0;
int c=0, c1=0;
int mas1[10];
int mas[10];
float un=0;
float un1=0;
float add=0;
int x1=0;
int x2,x3,x4,x5,x6;
int x21,x31,x41,x51,x61,x11;
do
{
mas[l]=1;
c++;
for (i=c;i<n;i++)
mas[i]=0;
if (l==0)
{
un=de*pow(2,n-c);
x1=un*10;
}
if (l==1)
{
un=mas[l-1]*de*pow(2,n-c+1)+mas[l]*de*pow(2,n-c);
x2=un*10;
}
if (l==2)
{
un=mas[l-2]*de*pow(2,n-c+2)+mas[l-1]*de*pow(2,n-c+1)+mas[l]*de*pow(2,n-c);
x3=un*10;
}
if (l==3)
{
un=mas[l-3]*de*pow(2,n-c+3)+mas[l-2]*de*pow(2,n-c+2)+mas[l-1]*de*pow(2,n-c+1)+
mas[l]*de*pow(2,n-c);
x4=un*10;
}
if (l==4)
{
un=mas[l-4]*de*pow(2,n-c+4)+mas[l-3]*de*pow(2,n-c+3)+
mas[l-2]*de*pow(2,n-c+2)+mas[l-1]*de*pow(2,n-c+1)+mas[l]*de*pow(2,n-c);
x5=un*10;
}
if (l==5)
{
un=mas[l-5]*de*pow(2,n-c+5)+mas[l-4]*de*pow(2,n-c+4)+mas[l-3]*de*pow(2,n-c+3)+
mas[l-2]*de*pow(2,n-c+2)+mas[l-1]*de*pow(2,n-c+1)+mas[l]*de*pow(2,n-c);
x6=un*10;
}
if (uvh>un)
;
if (uvh==un)
mas[l]=1;
if (uvh<un)
mas[l]=0;
l++;
mas1[l1]=1;
c1++;
for (i=c1;i<n;i++)
mas1[i]=0;
if (l1==0)
{
un1=mas1[l1]*de*pow(2,n-c1);
x11=un1*10;
}
if (l1==1)
{
un1=mas1[l1-1]*de*pow(2,n-c1+1)+mas1[l1]*de*pow(2,n-c1);
x21=un1*10;
}
if (l1==2)
{
un1=mas1[l1-2]*de*pow(2,n-c1+2)+mas1[l1-1]*de*pow(2,n-c1+1)+
mas1[l1]*de*pow(2,n-c1);
x31=un1*10;
}
if (l1==3)
{
un1=mas1[l1-3]*de*pow(2,n-c1+3)+mas1[l1-2]*de*pow(2,n-c1+2)+mas1[l1-1]*de*pow(2,n-c1+1)+
mas1[l1]*de*pow(2,n-c1);
x41=un1*10;
}
if (l1==4)
{
un1=mas1[l1-4]*de*pow(2,n-c1+4)+mas1[l1-3]*de*pow(2,n-c1+3)+mas1[l1-2]*de*pow(2,n-c1+2)+mas1[l1-1]*de*pow(2,n-c1+1)+
mas1[l1]*de*pow(2,n-c1);
x51=un1*10;
}
if (l1==5)
{
un1=mas1[l1-5]*de*pow(2,n-c1+5)+mas1[l1-4]*de*pow(2,n-c1+4)+mas1[l1-3]*de*pow(2,n-c1+3)+mas1[l1-2]*de*pow(2,n-c1+2)+mas1[l1-1]*de*pow(2,n-c1+1)+
mas1[l1]*de*pow(2,n-c1);
x61=un1*10;
}
if (uvh>un1)
mas1[l1]=1;
if (uvh==un1)
mas1[l1]=0;
if (uvh<un1)
mas1[l1]=0;
l1++;
}
while (l!=n);
float map=0;
float mvp=0;
float skap=0;
float skvp=0;
map=de/2;
Edit5->Text=FloatToStrF(map,ffFixed,2,2);
mvp=100/(pow(2,n+1));
Edit6->Text=FloatToStrF(mvp,ffFixed,2,2);
skap=de/(pow(3,0.5)*2);