= 0 ) return x; else if(-2 < x < 0 ) /* if(-2 < x < 0 ) */ return pow( x, 3.0 ); else /* if( x <= -2 ) */ return pow( x, 2.0 ); } جواب ب)"> = 0 ) return x; else if(-2 < x < 0 ) /* if(-2 < x < 0 ) */ return pow( x, 3.0 ); else /* if( x <= -2 ) */ return pow( x, 2.0 ); } جواب ب)">

Presentation is loading. Please wait.

Presentation is loading. Please wait.

الف) تابع y = f(x) = X >= 0x -2 < x < 0 x3x3 X <= -2 x2x2 را بصورت يك تابع زبان C بنويسيد. ب) برنامه اي بنويسيد كه مقدار اعشاري x را از ورودي دريافت كند.

Similar presentations


Presentation on theme: "الف) تابع y = f(x) = X >= 0x -2 < x < 0 x3x3 X <= -2 x2x2 را بصورت يك تابع زبان C بنويسيد. ب) برنامه اي بنويسيد كه مقدار اعشاري x را از ورودي دريافت كند."— Presentation transcript:

1 الف) تابع y = f(x) = X >= 0x -2 < x < 0 x3x3 X <= -2 x2x2 را بصورت يك تابع زبان C بنويسيد. ب) برنامه اي بنويسيد كه مقدار اعشاري x را از ورودي دريافت كند و تابع f را صدا بزند سپس مقدار f(x) ( در برنامه اصلي ) چاپ شود نمونه مسائل امتحان :

2 double f(double x) { if( x >= 0 ) return x; else if(-2 < x < 0 ) /* if(-2 < x < 0 ) */ return pow( x, 3.0 ); else /* if( x <= -2 ) */ return pow( x, 2.0 ); } جواب الف)

3 #include /* mathematics functions */ double f(double x); main() { double x; scanf("%lf", &x); printf("f(%6.2f) = %6.2f ", x, f(x) ); } double f(double x) { if( x >= 0 ) return x; else if(-2 < x < 0 ) /* if(-2 < x < 0 ) */ return pow( x, 3.0 ); else /* if( x <= -2 ) */ return pow( x, 2.0 ); } جواب ب)

4 Switch دستور switch ( expression ) { case const-expr : statements default : statements }

5 #include main( ) { int c, i, nwhite, nother, ndigit[10] ; nwhite = nother = 0 ; for ( i = 0 ; i < 10 ; i++) ndigit[i] = 0 ;

6 while ( ( c = getchar() ) != EOF ) { switch ( c ) { case ‘0’ : case ‘1’ : case ‘2’ : case ‘3’ : case ‘4’ : case ‘5’ : case ‘6’ : case ‘7’ : case ‘8’ : case ‘9’ : ndigit[ c – ‘0’ ]++ ; break ; case ‘ ‘ : case ‘\n’ : case ‘\t’ : nwhite++ ; break ; default : nother++ ; break ; }

7 و علت استفاده از آن Function prototypeدرباره درباره return 0 ; در تابع main( )

8 توابع رياضي:Prototype is in math.h double acos( double arg) double asin( double arg) double atan( double arg) double atan2( double y, double x) زاويه قطبي نقطه (x,y) double sin( double arg) double cos( double arg) double tan( double arg) double log( double num) natural logarithm for num double log10( double num) the base 10 logarithm for num double pow( double x, double y) double floor( double num) largest integer not greater than num double fabs( double num) absolute value of num double exp( double arg) e arg double sqrt( double num) the square root of num

9 Prototype in stdlib.h int abs( int num ) absolute value long labs(long num) absolute value

10 #include void itoa(int, char* ); void reverse( char* ); main() { int n ; char st[20] ; scanf(“%d”, n); itoa( n, st ); for( sum = 0, i = 0 ; i < strlen(st) ; i++ ) if ( ‘0’ <= st[i] <= ‘9’ ) sum = sum + ( st[ i ] – ‘0’ ) ; printf(“%d”, sum ); } itoa.cنام برنامه

11 sqrt( ( pow( x, 2.0 ) + pow( y, 2.0 ) ) / ( ( 5 – x * y) / ( exp( 3.0 ) + fabs( x – y ) ) ) )

12 main() { int n, sum, i = 0 ; char st[20] ; scanf(“%d”, n); itoa( n, st ); if ( n < 0 ) i++ ; for( sum = 0 ; i < strlen(st) ; i++ ) { putchar('\t') ; putchar( st[i] ); sum = sum + ( st[ i ] - '0' ) ; printf("\nsum=%d\n", sum); } printf("%d", sum ); }

13 /* reverse: reverse string s in place */ void reverse(char s[]) { int c, i, j; for (i = 0, j = strlen(s)-1; i < j; i++, j--) { c = s[i]; s[i] = s[j]; s[j] = c; }

14 void itoa(int n, char s[]) { int i, sign; if ((sign = n) < 0) /* record sign */ n = -n; /* make n positive */ i = 0; do { /* generate digits in reverse order */ s[i++] = n % 10 + '0'; /* get next digit */ } while ((n /= 10) > 0); /* delete it */ if (sign < 0) s[i++] = '-'; s[i] = '\0'; reverse(s); }

15 #include

16 main() { int x, i, neven = 0, nodd = 0 ; clrscr(); for ( i = 0 ; i < 10 ; i++ ) { printf( “ Enter a number: \t “ ); scanf( “%d”, &x ) ; if ( (x % 2) == 0 ) ++neven ; else ++nodd ; }

17 printf(“ number of evens = %d\n”, neven); printf(“ number of odds = %d\n”, nodd); }

18 الف) تابعي بنويسيد كه عدد صحيح و غير منفي n را از ورودي دريافت نموده و فاكتوريل آنرا محاسبه نمايد. 0! = 1! = 1 n! = n * (n-1) * (n-2) * … * 2 * 1 n>=2

19 int fact( int n) { int i, p ; if( n < 0 ) return -1; else if ( n == 0 || n == 1 ) return 1; else { for( i = 1, p = 1 ; i <= n ; i++) p = p * i ; return p; } حل:

20 ب) برنامه اي بنويسيد كه يك عدد صحيح و نا منفي را از كاربر دريافت نموده و با استفاده از فراخواني تابع قسمت الف فاكتوريل آنرا محاسبه نموده و در خروجي چاپ نمايد. #include int fact( int ) ; main() { int t ; printf(“Please enter a non-negative integer number :\t”); scanf( “%d”, &t) ; printf( “%d”, fact( t ) ) ; }

21 int fact( int n) { int i, p ; if( n < 0 ) return -1; else if ( n == 0 || n == 1 ) return 1; else { for( i = 1, p = 1 ; i <= n ; i++) p = p * i ; return p; }

22 Recursive بازگشتي يعني يك تابع بطور مستقيم يا غير مستقيم خود را صدا كند. f f, g double f ( double x) { …. return f( x – 1 ) ; }

23 double f( double x ) { ….. return g( x – 1 ) ; } double g( double x ) { ….. return f( x – 1 ) ; }

24 الف) تابعي بنويسيد به نام fact كه عدد صحيح و غير منفي n را از ورودي دريافت نموده و فاكتوريل آنرا محاسبه نمايد.) به طور بازگشتي) 0! = 1! = 1 n! = n * (n-1) * (n-2) * … * 2 * 1 n>=2 حل: fact ( n ) = 1 n = 0 يا 1 n * fact ( n-1 ) n >= 2

25 int fact( int n ) { if ( n == 0 || n ==1 ) return 1; else if( n >= 2 ) return n * fact( n – 1 ) ; else /* n is negative */ return -1 ; }

26 تابعي بنويسيد به نام fibo كه جمله n ام سري فيبوناچي را محاسبه نمايد. سري فيبوناچي به اينصورت تعريف مي شود : حل: int fibo( int n) { if ( n == 1 || n==2 ) return 1 ; else if ( n >= 3 ) return fibo( n – 1 ) + fibo( n – 2 ) ; else /* n is negative */ return -1 ; } fibo( 1 ) = fibo ( 2 ) = 1 fibo (n) = fibo( n – 1) + fibo( n – 2 )

27 A= fabs( ( 2 * exp( x + y ) / sqrt( x) - ( pow(x, 2) + pow(y, 2 )) / ( x * log(y) ) ) / ( exp( sqrt( x + y ) ) / log ( sqrt ( pow( x, 2 ) + pow(y, 2) ) ) + pow(y, 3 ) / ( x – 10 ) ) )

28 A= fabs( ( 2* exp( x + y ) / sqrt( x ) - ( pow ( x, 2 ) + pow(y,2) ) / ( x * log(y) ) ) / ( exp( sqrt( x + y ) ) / log( sqrt ( pow ( x, 2 ) + pow(y,2) ) ) + pow( y, 3 ) / ( x – 10 ) ) )


Download ppt "الف) تابع y = f(x) = X >= 0x -2 < x < 0 x3x3 X <= -2 x2x2 را بصورت يك تابع زبان C بنويسيد. ب) برنامه اي بنويسيد كه مقدار اعشاري x را از ورودي دريافت كند."

Similar presentations


Ads by Google