Отладка и интеграция модулей. Приобретение навыков отладки и интеграции модулей в единую программу

Страницы работы

Содержание работы

Министерство образования и науки РФ

Тульский государственный университет

Кафедра прикладной математики и информатики

Технологии проектирования программных систем

Лабораторная работа №5

«Отладка и интеграция модулей.

Выполнил:   студент группы                                      

Проверил:                                                                 

 

Тула - 2004

ЦЕЛЬ РАБОТЫ:

Приобретение навыков отладки и интеграции модулей в единую программу.

ЗАДАНИЕ:

Собрать разработанные и оттестированные модули в единую программу и провести ее отладку.

ВЫПОЛНЕНИЕ:

Соберем разработанные в предыдущих лабораторных работах модули в единую программу. При этом роль модулей будут выполнять соответствующие им функции.

Текст программы:

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#include <math.h>

float  mysin(float x)

{

while (x>M_PI) x-=2*M_PI;

while (x<-M_PI) x+=2*M_PI;

float S=x, A=x,q,eps=0.001,n=1;

while(fabs(A)>=eps)

{

q=-x/(2*n)*x/(2*n+1);

A*=q;

S+=A;

n+=1;

}

return S;

}

float F(float t, float eps)

{

float x,s,a,q,n;

x=t;

n=1; a=(x-1)/x; s=(x-1)/x;

do {

q=n/((n+1)*(x-1)/x);

a=a*q;

s=s+a;

n=n+1;

} while (fabs(a)>=eps);

return s;

}

float fi(float t, float z)

{

return (t*z/10+t*mysin(z));

}

void main(void)

{

float t, z, eps, t0, tk, ht, z0, zn, hz, U, F_, fi_, mysin_;

clrscr();

printf("Эта программа вычисляет значение функции U(t,z).\n");

for(;;) {

printf("Введите t0 (|t0|<5) = ");

scanf("%f", &t0);

if (fabs(t0) < 5)

break;

else {

printf("|t0|>=5. Не может быть такого!\nВведите другое значение!\n");

}

}

for(;;) {

printf("Введите tk (|tk|>=5, tk >= t0) = ");

scanf("%f", &tk);

if (fabs(tk) < 5 && tk >= t0)

break;

else {

if(fabs(tk)>=5) printf("|tk|>5.");

if(tk<t0) printf("tk<t0.");

printf("Не может быть такого!\nВведите другое значение!\n");

}

}

for(;;) {

printf("Введите ht (ht>0, ht<=(tk-t0)) = ");

scanf("%f", &ht);

if ((ht <= (tk - t0)) && ht > 0)

break;

else {

if(ht > (tk - t0)) printf("ht > (tk - t0).");

if(ht <= 0) printf("ht <= 0.");

printf("Не может быть такого!\nВведите другое значение!\n");

}

}

for(;;) {

printf("Введите z0 (|z0|>=5) = ");

scanf("%f", &z0);

if (fabs(z0) < 5)

break;

else printf("|z0|>5. Не может быть такого!\nВведите другое значение!\n");

}

for(;;) {

printf("Введите zn (|zn|>=5, zn>z0)= ");

scanf("%f", &zn);

if (fabs(zn) < 5 && zn >= z0)

break;

else {

if(fabs(zn)>=5) printf("|zn|>=5.");

if(zn < z0) printf("zn < z0.");

printf("Не может быть такого!\nВведите другое значение!\n");

}

}

for(;;) {

printf("Введите hz (hz>0, hz<=(zn-z0))= ");

scanf("%f", &hz);

if ((hz <= (zn - z0)) && hz > 0)

break;

else {

if(hz > (zn - z0)) printf("hz > (zn - z0).");

if(hz <= 0) printf("hz <= 0.");

printf("Не может быть такого!\nВведите другое значение!\n");

}

}

for(;;) {

printf("Введите eps (0<eps<0.99)= ");

scanf("%f", &eps);

if (eps > 0 && eps <0.99)

break;

else {

if(eps<=0) printf("eps<=0.");

if(eps>=0.99) printf("eps>=0.99.");

printf("Не может быть такого!\nВведите другое значение!\n");

}

}

printf("Результаты работы программы:\n");

printf("-------------T-----------------------------------м\n");

printf("ж  Значения  ж        Значения параметров        ж\n");

printf("ж   функции  +-----------------T-----------------+\n");

printf("ж      U     ж         t       ж         z       ж\n");

printf("+------------+-----------------+-----------------+\n");

for (t = t0; t <= tk; t += ht) {

for (z = z0; z <= zn; z += hz) {

if (fabs(fi(t,z))<0.00001) {

printf("-хыхэшх эр 0!");

exit(1);

}

U = F(t, eps)*mysin(t*z)/fi(t, z);

printf("ж  % 2.4f   ж      % .2f      ж      % .2f      ж\n", U, t, z);

}

}

printf("L------------+-----------------+------------------\n");

Похожие материалы

Информация о работе