test_st(новый) / Test_4
.docДонецкий национальный технический университет
Тест №4 Вариант №1
Учебная дисциплина - системное программирование.
1.Записать результаты работы программ, которые выводятся операторами printf(3 балла).
double f_par(double (*pf)(double), double a, double b)
{double s=0; s+=pf(++a*b); return s; }
double f1(double x) { return x/2; }
double f2(double x) {double z=3; return 4*x*z; }
void main()
{double a=4.0,b=3.0,c;
clrscr(); c=f_par(f1,a,b);
printf("\nSol1: %f",c);
printf("\nSol2: %f", f_par(f2,a,b)); getch();
}
2. Записать последнюю строку вывода на экран, если были введены режимы 1,2,5 (2 балла).
int x;
int f1(void) {printf("\n режим 1:"); x+=4; return 1; }
int f2(void) {printf("\n режим 2:"); x=x++ *2; return 2; }
int f3(void) {printf("\n режим 2:"); x-=4; return 3; }
int (* menu(void))(void)
{ int choice; int (*menu_items[] )( ) ={f1,f2,f3};
printf("\nВедите номер режима 1 или 2 или 3:");scanf("%d",&choice);
if (choice<4 && choice>0) return menu_items[choice-1];
else return NULL;
}
void main()
{int (*r)(void);int t; clrscr();
while (1)
{r=menu();
if (r==NULL) { printf("\nОшибка выбора режима! x=%d", x); getch(); return; }
t=(*r)(); x+=t; printf("t=%d",t);
}
}
Донецкий национальный технический университет
Тест №4 Вариант №2
Учебная дисциплина - системное программирование.
1.Записать результаты работы программ, которые выводятся операторами printf(3 балла).
double f_par(double (*pf)(double), double a, double b)
{double s=0; s+=pf(a++/b); return s-1; }
double f1(double x) { return 2*x/2; }
double f2(double x) {double z=2; return 3*x/z; }
void main()
{double a=2.0,b=4.0,c;
clrscr(); c=f_par(f1,a,b);
printf("\nSol1: %f",c);
printf("\nSol2: %f", f_par(f2,a,b)); getch();
}
2. Записать последнюю строку вывода на экран, если были введены режимы 1,3,8 (2 балла).
int x;
int f1(void) {printf("\n режим 1:"); x+=4; return 1; }
int f2(void) {printf("\n режим 2:"); x=x++ *2; return 2; }
int f3(void) {printf("\n режим 2:"); x-=4; return 3; }
int (* menu(void))(void)
{ int choice; int (*menu_items[] )( ) ={f1,f2,f3};
printf("\nВедите номер режима 1 или 2 или 3:");scanf("%d",&choice);
if (choice<4 && choice>0) return menu_items[choice-1];
else return NULL;
}
void main()
{int (*r)(void);int t; clrscr();
while (1)
{r=menu();
if (r==NULL) { printf("\nОшибка выбора режима! x=%d", x); getch(); return; }
t=(*r)(); x+=t; printf("t=%d",t);
}
}
Донецкий национальный технический университет
Тест №4 Вариант №3
Учебная дисциплина - системное программирование.
1.Записать результаты работы программ, которые выводятся операторами printf(3 балла).
double f_par(double (*pf)(double), double a, double b)
{double s=0; s+=pf(--a*b); return s+3; }
double f1(double x) { return sin(x)/2; }
double f2(double x) {double z=cos(x); return sin(x)*z; }
void main()
{double a=1.0,b=3.0,c;
clrscr(); c=f_par(f1,a,b);
printf("\nSol1: %f",c);
printf("\nSol2: %f", f_par(f2,a,b)); getch();
}
2. Записать последнюю строку вывода на экран, если были введены режимы 2,2,6 (2 балла).
int x;
int f1(void) {printf("\n режим 1:"); x+=4; return 1; }
int f2(void) {printf("\n режим 2:"); x=x++ *2; return 2; }
int f3(void) {printf("\n режим 2:"); x-=4; return 3; }
int (* menu(void))(void)
{ int choice; int (*menu_items[] )( ) ={f1,f2,f3};
printf("\nВедите номер режима 1 или 2 или 3:");scanf("%d",&choice);
if (choice<4 && choice>0) return menu_items[choice-1];
else return NULL;
}
void main()
{int (*r)(void);int t; clrscr();
while (1)
{r=menu();
if (r==NULL) { printf("\nОшибка выбора режима! x=%d", x); getch(); return; }
t=(*r)(); x+=t; printf("t=%d",t);
}
}
Донецкий национальный технический университет
Тест №4 Вариант №4
Учебная дисциплина - системное программирование.
1.Записать результаты работы программ, которые выводятся операторами printf(3 балла).
double f_par(double (*pf)(double), double a, double b)
{double s=0; s+=pf(++a*--b); return s; }
double f1(double x) { return 2*x-2; }
double f2(double x) {double z=3; return x*x-z; }
void main()
{double a=4.0,b=3.0,c;
clrscr(); c=f_par(f1,a,b);
printf("\nSol1: %f",c);
printf("\nSol2: %f", f_par(f2,a,b)); getch();
}
2. Записать последнюю строку вывода на экран, если были введены режимы 3,2,4 (2 балла).
int x;
int f1(void) {printf("\n режим 1:"); x+=4; return 1; }
int f2(void) {printf("\n режим 2:"); x=x++ *2; return 2; }
int f3(void) {printf("\n режим 2:"); x-=4; return 3; }
int (* menu(void))(void)
{ int choice; int (*menu_items[] )( ) ={f1,f2,f3};
printf("\nВедите номер режима 1 или 2 или 3:");scanf("%d",&choice);
if (choice<4 && choice>0) return menu_items[choice-1];
else return NULL;
}
void main()
{int (*r)(void);int t; clrscr();
while (1)
{r=menu();
if (r==NULL) { printf("\nОшибка выбора режима! x=%d", x); getch(); return; }
t=(*r)(); x+=t; printf("t=%d",t);
}
}