Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мой курсач.rtf
Скачиваний:
8
Добавлен:
15.03.2015
Размер:
5.28 Mб
Скачать

Vivod.Cpp

#include "myheader.h"

int vivod(int n, float t[], float Uvx[], float Uvih[])

{int i;

printf ("\n Box");

printf ("\n N t Uvx Uvih");

for (i=0; i< n; i++)

printf("\n %2d %3.1f %4.1f %5.2f", i+1,t[i], Uvx[i], Uvih[i]);

return 0;}

Vremya.Cpp

#include "myheader.h"

int vremya(int n, float t[]){

float dt=0,tn=10, tk=35; int i;

dt=(tk-tn)/(n-1);

for (i=0;i<n;i++)

t[i]=tn + i*dt;

return 0;}

Vxodvihod.Cpp

#include "myheader.h"

int UvhUvih (int n,float t[],float Uvx[], float Uvih[]){

int i, a=12, b=12 , b1=10, Uvx1=5, a3=1, a4=2, Uvx2=15, Uvx3=30;

float t1=22.5, a1=0.25, a2=0.5, b2=7.75, b3=0.25, b4=-29.75, tn=10;

vremya(n,t);

for (i=0;i<n;i++)

{if (t[i]<=t1) Uvx[i] = a*(t[i]-tn);

else Uvx[i] = a*(t1-tn)-b*(t[i]-t1);

if (Uvx[i]<=Uvx1) Uvih[i]= a1*Uvx[i]+b1;

else

if ((Uvx1<Uvx[i])&&(Uvx[i]<=Uvx2)) Uvih[i]= a2*Uvx[i]+b2;

else

if (Uvx[i]>Uvx3) Uvih[i]= a4*Uvx[i]+b4;

else Uvih[i] = a3*Uvx[i]+b3;}

return 0;}

zap.cpp

#include "myheader.h"

int zap(int n, float Uvx[],float Uvih[]){

FILE*z; int i;

z = fopen ("z.txt","w");

if (z==NULL){printf ("\n mistake");

exit (1);}

else

{for (i=0;i<n;i++) fprintf (z, "\nUvx= %5.2f Uvih=%5.2f", Uvx[i], Uvih[i]);

fclose (z);

} return 0;}

Выводы по программе:

В данной курсовой работе поставленную задачу реализовать удалось.

  • Написана программа, формирующая массивы времени, входного и выходного сигналов.

  • Программа вычисляет длительность импульса выходного сигнала w=11.61 , с погрешностью P=0.038, при числе точек n=704.

  • Выведена на экран таблица со значениями массивов времени, входного и выходного сигналов.

  • Произведена запись в файл результатов вычислений Uvx[i], Uvih[i].