.


:




:

































 

 

 

 





- , . , , . main ( ), , , .

( ) ( ), . . , , . , , , . , , , ..

- ( , ), ( ) .

, , , , , . .

rus, r unsigned char. , 1, , 0 .

int rus (unsigned char r)

{

if (r>='' && c<=' ')

return 1;

else

return 0;

}

 

, . main, , .

, () .

, , , , . , ,

int rus (unsigned char r); rus (unsigned char);

, , , .. , . , , #include. 1.

, , . . . , , , .

:

[< >] [< >] < >

([< >])

{< >}

, static extern. .

. , , int.

, , . , , .

, return, . , , , . return ( return), . , , void, . , , return , .

- , . - , . (,) (,...), , . , , , , . , .

, , void.

. . , , , , . , int.

register, int .

. , , .

, , . , int, .. char int. , , double.

, , . .

˗ , , .

, , auto, .. . . , , return . , , . , .

, . . , , . , .

/* */

void change (int x, int y)

{

int k=x;

x=y;

y=k;

}

 

/* */

void change (int *x, int *y)

{

int k=*x;

*x=*y;

*y=k;

}

,

change (&a,&b);

 

, , . () :

[< >] [< >] < > ([< >]) [,< >];

, , . , , , , . , . , , .

- , . .

, , . int, , .

, :

1. , int;

2. , .

, , , .

, , .

static, static. , extern.

:

< > ([< >])

, - ( ), .

, . , .

, , , . , .

:

1. . , , . , , . , . . , , , .

2. .

3. .

4. return , . return , .

, . , .

int (*fun)(int x, int *y);

 

fun : int int. int. , fun *, , fun int.

int *fun (intx,int *y);

 

fun :

(*fun)(i,&j);

 

, fun, *.

. , . , .

double (*fun1)(int x, int y);

double fun2(int k, int l);

fun1 = fun2; /* */

(*fun1)(2,7); /* */

 

fun1 , double, fun2. , .. , , , .

27. , cos(x) .

double proiz(double x, double dx, double (*f)(double x));

double fun(double z);

int main()

{

double x; /* */

double dx; /* */

double z; /* */

scanf("%f,%f",&x,&dx); /* x dx */

z=proiz(x,dx,fun); /* */

printf("%f",z); /* */

return 0;

}

 

double proiz(double x,double dx, double (*f)(double z))

{ /* */

double xk,xk1,pr;

xk=fun(x);

xk1=fun(x+dx);

pr=(xk1/xk-1e0)*xk/dx;

return pr;

}

 

double fun(double z)

{ /* */

return (cos(z));

}

 

- fun proiz . , cos(x) proiz

z=proiz(x,dx,cos);

 

sin(x)

z=proiz(x,dx,sin);

() , . , ( ) (), ( ), ( ). , , , , .. .

. , , , . , n = 0, 1, n=n, n+1.

, . f(n) , .. , .

. , , , .

, . , . , , ( -). , , , . , , , , .

, (.33):

int P(); { P; ; } int P(); { ; P; } int P(); { ; P; ; }

.33.

 

28. .

.

X=23 , Y=34. :

F1 = Sum (X, Y) = X+Y = Sum (23, 34)= 23+34=57

X 1 , X=231=22.

F2 = Sum (X1,Y) = X1+Y = Sum (22,34)= 22+34=56=F1 1

, 1, 1. :

F2 = Sum (X1,Y) = (X1) + Y = (X+Y) 1= Sum (X,Y)1.

.. : Sum (X1,Y) = Sum (X,Y)1, :

Sum (X,Y) = Sum (X1,Y)+1.

.. X Y X 1 c Y 1.

( ). , X 1. ? , 0, .. . , .. Sum(0,Y) = Y.

, :

:

 

int SumXY (int x, int y)

{

if (x == 0) return(y);

else return(SumXY(x-1,y)+1);

}

 

() , , , :

29. :

int SumXY (int x, int y)

{

if (x == 0) return(y);

else return(SumXY(x-1,y)+1);

}

 

int SubXY (int x, int y)

{

if (y == 0) return(x);

else return(SubXY(x,y-1)-1);

}

 

int MultXY (int x, int y)

{

if (y == 1) return(x);

else return(MultXY(x,y-1)+x);

}

 

int DivXY (int x, int y)

{

if (x <= y) return(0);

else return(DivXY(x-y,y)+1);

}

 

int MODXY (int x, int y)

{

if (x < y) return(x);

else

if (x == y) return(0);

else return(MODXY(x-y,y));

}

 

int main()

{

int a,b;

 

printf(" A:\n");

scanf("%i",&a);

printf(" B:\n");

scanf("%i",&b);

printf(" A + B = %d", SumXY(a,b));

printf(" A - B = %d", SubXY(a,b));

printf(" A * B = %d", MultXY(a,b));

printf(" A / B = %d", DivXY(a,b));

printf(" A mod B = %d", MODXY(a,b));

}

 

30. () . "" ( 300 . ..). : m n 0 m>n. n=0, (m,n)=m; n≠0, m, n, r ( r m n) (m,n)=(n,r).

:

, (), : .

, . , , , 0.

:

int NODWhile (int m, int n)

{

int x;

while (n!= 0)

{

m = m % n;

x = m;

m = n;

n = x; // m n

}

return(m);

}

 

, , :

int NODWhile (int m, int n)

{

int x;

while (n!= 0)

{

m = m % n;

x =m;

m =n;

n =x; // m n

}

return(m);

}

 

int NOD (int m, int n)

{

if (n == 0) return(m);

else return(NOD(n,m % n));

}

 

int main()

{

int m,n;

 

printf(" \n");

scanf("%d", &m);

printf(" N\n");

scanf("%d", &n);

 

printf("n=%d m=%d NOD=%d\n", n, m, NOD(m,n));

printf("n=%d m=%d NODWhile=%d\n", n, m,NODWhile(m,n));

printf("n=%d m=%d NOK=%d\n", n, m, ceil(m*n/NOD(m,n)));

}

 

31. .

, N , , N!, 1 N , .. . N : .

: , 1, , . .. :

. , 1!=1, N!=(N-1)!×N. , :

, prelast, last , . :

1.

2. prelast = 1; last = 1;

3. n > 2, (n − 2) :

3.1. c = prelast + last;

3.2. prelast = last;

3.3. last = c;

4. last;

5.

:

. .

, ( ) .

.

int Fib (int n)

{

if ((n == 1) || (n == 2)) return(1);

else return(Fib(n-1)+Fib(n-2));

}

 

int FibCircle (int n)

{

int prelast,last,c,i;

if ((n == 1) || (n == 2)) return(1);

else

{

prelast = 1;

last = 1;

for(i=1;i<n-2;i++)

{

c = prelast + last;

prelast = last;

last = c;

}

}

return(last);

}

 

int FibBine (int n)

{

return(ceil(1/sqrt(5) * (pow((1+sqrt(5))/2,n) - pow((1-sqrt(5))/2,n))));

}

 

int Factorial (int n)

{

if (n == 1) return(1);

else return(Factorial(n-1)*n);

}

 

int FactorialNotRec (int n)

{

int i,f = 1;

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

{

f = f*i;

}

return(f);

}

 

int FactorialStirling (int n)

{

return(ceil(pow(n,n)*sqrt(2*M_PI*n)/exp(n)));

}

 

int _tmain(int argc, _TCHAR* argv[])

{

int i,n;

 

printf(" N:\n");

scanf("%d", &n);

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

{

printf("FibR[%d]\n", Fib(i));

printf("FibC[%d]\n", FibCircle(i));

printf("FibB[%d]\n", FibBine(i));

}

 

printf("Recurs: %d! = %d\n", n, Factorial(n));

printf("Circle: %d! = %d\n", FactorialNotRec(n));

printf("Stirling: %d! = %d\n", FactorialStirling(n));

 

system("pause");

}

 

, XXIII , : . , , , , . , , , . , , , . , , . . , , , : . . . ( ) , , . , .

:

1.

2.

3.

4.

, .





:


: 2016-10-22; !; : 1673 |


:

:

.
==> ...

1741 - | 1591 -


© 2015-2024 lektsii.org - -

: 0.208 .