Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчёт.doc
Скачиваний:
5
Добавлен:
06.12.2018
Размер:
196.1 Кб
Скачать

8. Анализ работы по решению задачи

Общее количество прогонов программы = 100

в том числе для устранения синтаксических ошибок = 13

синтаксические ошибки:

1. Было:

файл: myio2.с, функция Finish

void finish( char *final );

{

printf( “%s\n ”,final )

}

стало:

void Finish( char *final )

{

printf( “%s\n ”,final );

}

2. Было:

файл: main2.c, функция main

{

do{

title( SQUARES );

getpar( );

calc( );

стало:

{

do{

Title( SQUARES );

GetPar( );

Calc( );

3. Было

файл: calc2.c, функция calc

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

{

n = Begnum + i;

printf( OUTMSG, n n * n );

стало

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

{

n = Begnum + i;

printf( OUTMSG, n, n * n );

в том числе для устранения логических ошибок = 42

Логические ошибки:

1. Было:

файл: myio2.c, функция YesNo

int YesNo( char *text )

{

int c;

printf( “\n%s”, text );

c = getchar( );

if( (c == ’y’) || (c == ’Y’) )

return 1;

else

return 0;

}

стало:

файл: myio2.c, YesNo

int YesNo( char *text )

{

int c;

printf( “\n%s”, text );

fflush( stdin );

c = getchar( );

if( (c == ’y’) || (c == ’Y’) )

return 1;

else

return 0;

}

2. Было:

файл: const.h

#define MINNUM 1 /* мин. обрабатываемое число */

#define MAXNUM 1000 /* макс. Обрабатываемое число */

#define MINLINES 1 /* мин. выводимое число строк */

#define MAXLINES 100 /* макс. выводимое число строк */

стало:

#define MINNUM -181 /* мин. обрабатываемое число */

#define MAXNUM 181 /* макс. Обрабатываемое число */

#define MINLINES 1 /* мин. количество выводимых строк */

#define MAXLINES 20 /* макс. количество выводимых строк */

3. Было:

файл: myio2.c, функция GetPar

void GetPar( void )

{

Begnum = GetNum( STARTNUM, MINNUM, MAXNUM );

Maxnum = GetNum( NUMBERS, MINLINES, MAXLINES );

}

стало:

файл: myio2.c, функция GetPar

void GetPar( void )

{

Begnum = GetNum( STARTNUM, MINNUM, MAXNUM );

Maxnum = GetNum( NUMBERS, MINLINES, MAXLINES );

if( Begnum + Maxnum > MAXNUM + 1 )

Maxnum = MAXNUM - Begnum + 1;

}

4. Было:

Файл: myio2.c, функция GetNum

int GetNum( char* query, int minnum, int maxnum )

{

int n;

printf( "\n%s = ", query );

if( n < minnum )

n = minnum;

else if( n > maxnum )

n = maxnum;

return n;

}

стало:

int GetNum( char* query, int minnum, int maxnum )

{

int n;

printf( "\n%s = ", query );

fflush( stdin );

if( scanf( "%d", &n ) != 1 )

n = ( minnum + maxnum ) / 2;

else if( n < minnum )

n = minnum;

else if( n > maxnum )

n = maxnum;

return n;

}

5. Было:

Файл: myio2.c, функция YesNo

int YesNo( char* text )

{

int c;

printf( “%s”, text );

fflush( stdin );

c = getchar( );

if ( (c == ’y’) || (c == ’Y’) )

return 1;

else

return 0;

}

стало:

int YesNo( char* text )

{

int c;

printf( “\n%s [Y/N]? ”, text );

fflush( stdin );

c = getchar( );

if ( (c == ’y’) || (c == ’Y’) )

return 1;

else

return 0;

в том числе для тестирования = 45

Общее количество строк исходного текста программы = 169

в том числе строк только с комментариями = 72

Размер исполняемого модуля (*.exe), байт = 14217 байт.