تمرینات فصل دوم:

شنبه, فروردین ۲۴, ۱۳۸۷ ۲۳:۴۴

در این پست تمرینات فصل دوم کتاب برنامه نویسی به زبان C نوشته مهندس عین اله جعفرنژادقمی بهمراه حل آن قرار دارد.

 

۱ـ فایل سرآیند به چه منظور مورد استفاده قرار می‌گیرند و امتیازات استفاده از آنها را بیان کنید.

جواب: به همراه کامپلر زبان C علاوه بر تابع main()، توابع از قبل نوشته‌ شده‌ای ارائه می‌شوند که بسیاری از اعمال در برنامه‌نویسی C توسط این توابع از پیش نوشته شده انجام می‌شوند. این توابع در تعدادی از فایل‌ها به نام فایل‌های سرآیند قرار دارند. پسوند این فایل‌ها .h است. مزیت استفاده از این فایل‌ها آن است که برنامه نویس می‌تواند در برنامه خود با فراخوانی توابع از قبل نوشته شده اعمالی را انجام دهد و نیازی به نوشتن آنها ندارد.

 

۲ـ شکل کلی یک برنامه در C را بیان کرده و هر بخش را توصیف نمائید.

جواب: برنامه‌های زبان C از مجموعه‌ای از دستورات و تعدادی تابع تشکیل می‌شود. هر تابع برای حل بخشی از مسئله نوشته می‌شود و دارای نام است. بدنه‌ی اصلی برنامه تابعی به نام main() است و علاوه بر آن توابع دیگر از قبل نوشته شده و در تعدادی فایل به نام فایل‌های سرآیند قرار دارند پسوند این فایل‌ها .h است.

 

۳ـ برنامه‌ی زیر چه اشکالی دارد؟ سعی کنید آن را تایپ و اجرا کنید تا به اشکال آن پی ببرید.

#include≤stdio.h>

main();

{

printf(“keep looking !”);

printf(“you\’|| find it”);

return(0)

}

جواب: اشکال این برنامه این است که بعد از تابع main() سمی کالن (;) گذاشته شده است.

 

۴ـ برنامه‌ای بنویسید که خروجی زیر را تولید کند.

The answer to the question of

life, The universe and everything is 42.

جواب:

#include≤stdio.h>

#include≤conio.h>

main()

{

clrscr();

printf(“The answer to the question of \n”);

printf(“life, The universe and everything is 42.”);

return(0)

}

 

۵ـ برنامه‌ای بنویسید که مقدار X را از ورودی خوانده، عبارت زیر را محاسبه کند:

y = 1/(X2 × X + 3)

جواب:

#include≤stdio.h>

#include≤conio.h>

main()

{

float x,y;

clrscr();

printf(“\n Please enter your X: ”);

scanf(“%f” , &x);

y = 1/(x*x+x+3);

printf(“\n X is: %f , Y is: %f” , x,y);

getch();

return(0)

}

 

۶ـ خروجی دستورات زیر چیست؟

number = (1/3)*3;

printf(“(۱/۳)*۳ is equal to %5.2 f , number);

جواب: خروجی این برنامه (۱/۳)*۳ is equal to 0.00  می‌باشد.

 

۷ـ برنامه‌ای بنویسید که وزن کالایی را برحسب کیلوگرم دریافت کرده، وزن آن را برحسب گرم در خروجی چاپ کند.

 

جواب:

kg: وزن به کیلوگرم

g: وزن به گرم

#include≤stdio.h>

#include≤conio.h>

main()

{

float kg , g;

clrscr();

printf(“\n Enter weight by kg: “);

scanf(“%f” ,&kg);

g = kg * 1000;

printf(“\n The weight by g is: %f” ,g);

getch();

return(0)

}

 

۸ـ شرکتی به هر یک از دو نفر از متخصصین خود، ماهانه ۷۵۰۰۰۰ ریال پرداخت می‌کند. او می‌خواهد بداند که اگر ۵/۱۳ درصد به حقوق هر کدام اضافه کند. سالانه چقدر به هزینه شرکت اضافه می‌شود. برنامه‌ای بنویسید که این کار را برای شرکت انجام دهد.

جواب:

x = حقوق ماهانه ۲ نفر × ۱۳٫۵

y = x × ۱۲

z = y × ۲

x: مقدار اضافه حقوق ماهیانه

y: مقدار اضافه حقوق سالیانه

z: مقدار هزینه‌ی شرکت در یک سال

#include≤stdio.h>

#include≤conio.h>

main()

{

float x , y, z;

clrscr();

x = 750000 * 13.5;

y = x * 12;

z = y * 2;

printf(“\n It is= %f “,z);

getch();

return(0)

}

 

۹ـ در شرکتی، سالانه ۱۵۰ بسته کاغذ A4 مصرف می‌شود. در پایان سال، این شرکت می‌خواهد بداند که در سال آینده چقدر باید برای این بخش از تجهیزات اداری، هزینه کند. برنامه‌ای بنویسید که قسمت این اقلام را در امسال از ورودی خوانده، با خواندن نرخ تورم در سال آینده هزینه شرکت را در این بخش محاسبه نماید و به خروجی ببرد. تورم به صورت درصد وارد می‌شود که برنامه باید آن را به یک مقدار اعشار تبدیل کند. مثلا اگر تورم را به صورت ۶/۵ از ورودی بخواند باید آن را به صورت ۰۵۶/۰ به کار ببرد.

جواب:

x: قیمت یک خودکار (تمام خودکارها)

y: قیمت یک بسته کاغذ A4 (تمام خودکارها)

T: نرخ تورم (که باید بصورت درصد در محاسبات به کار رود.)

A: هزینه‌ی کالاها در سال جاری

B: هزینه کالاها در سال آینده

#include≤stdio.h>

#include≤conio.h>

main()

{

float x , y, A, B, T;

clrscr();

printf(“\n Enter your x, y, T : “);

scanf(“%f%f%f” ,&x ,&y ,&T);

x = x * 150;

y = y * 50

T = T * 0.01;

A = x + y;

B = A + A * T;

printf(“\n it is : %f” ,B);

getch();

return(0)

}

 

۱۰ـ برنامه‌ای بنویسید که ارتفاع و قاعده مثلثی را از ورودی خوانده مساحت آن را محاسبه کرده به خروجی ببرد.

جواب:

قاعده × ارتفاع × ۲/۱ = مساحت

x: قاعده مثلث

y: ارتفاع مثلث

s: مساحت مثلث

#include≤stdio.h>

#include≤conio.h>

main()

{

float x , y, s;

clrscr();

printf(“\n Enter your x, y: “);

scanf(“%f%f” ,&x ,&y);

s = (1./2.) * x * y;

printf(“\n S is : %f” ,s);

getch();

return(0)

}

 

۱۱ـ وزن یک مولکول آب ۳/۰ × ۱۰-۲۳ گرم و وزن یک لیتر آب در حدود ۹۵۰ گرم است. برنامه‌ای بنویسید که وزن آب را بر حسب لیتر از ورودی خوانده، تعداد مولکول‌های آن را محاسبه کند.

جواب:

۹۵۰ × وزن آب (لیتر) = وزن آب (گرم)

 / وزن آب (گرم) = تعداد مولکول‌ها۳/۰ × ۱۰-۲۳

 

#include≤stdio.h>

#include≤conio.h>

#include≤math.h>

main()

{

float wl , wg, s, M;

clrscr();

printf(“\n Enter weight of water: “);

scanf(“%f” ,&wl);

wg = wl * 950;

M = wg / 3.0 * pow(10.0 , -23);

printf(“\n M is : %f” ,M);

getch();

return(0)

}

 

۱۲ـ هر سال برابر با ۳٫۱۵۶ × ۱۰۷ ثانیه است. برنامه ای بنویسید که سن شما را دریافت کرده و به ثانیه تبدیل کند.

جواب:

تعداد ثانیه‌های هر سال × مقدار سن به سال = مقدار سن به ثانیه

age: مقدار سن به سال

s: مقدار سن به ثانیه

#include≤stdio.h>

#include≤conio.h>

#include≤math.h>

main()

{

float age , s;

clrscr();

printf(“\n Enter your age: “);

scanf(“%f” ,&age);

s = age * 3.156 * Pow(10.0 , 7);

printf(“\n s is : %f” ,s);

getch();

return(0)

}

 

پاسخ به نوشته