تمرینات فصل دوم:
1ـ فایل سرآیند به چه منظور مورد استفاده قرار میگیرند و امتیازات استفاده از آنها را بیان کنید.
جواب:به همراه کامپلر زبان C علاوه بر تابع main()، توابع از قبل نوشته شدهای ارائه میشوند که بسیاری از اعمال در برنامهنویسی C توسط این توابع از پیش نوشته شده انجام میشوند. این توابع در تعدادی از فایلها به نام فایلهای سرآیند قرار دارند. پسوند این فایلها .h است. مزیت استفاده از این فایلها آن است که برنامه نویس میتواند در برنامه خود با فراخوانی توابع از قبل نوشته شده اعمالی را انجام دهد و نیازی به نوشتن آنها ندارد.
2ـ شکل کلی یک برنامه در C را بیان کرده و هر بخش را توصیف نمائید.
جواب: برنامههای زبان C از مجموعهای از دستورات و تعدادی تابع تشکیل میشود. هر تابع برای حل بخشی از مسئله نوشته میشود و دارای نام است. بدنهی اصلی برنامه تابعی به نام main() است و علاوه بر آن توابع دیگر از قبل نوشته شده و در تعدادی فایل به نام فایلهای سرآیند قرار دارند پسوند این فایلها .h است.
3ـ برنامهی زیر چه اشکالی دارد؟ سعی کنید آن را تایپ و اجرا کنید تا به اشکال آن پی ببرید.
#include≤stdio.h>
main();
{
printf(“keep looking !”);
printf(“you\’|| find it”);
return(0)
}
جواب: اشکال این برنامه این است که بعد از تابع main() سمی کالن (;) گذاشته شده است.
4ـ برنامهای بنویسید که خروجی زیر را تولید کند.
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)
}
5ـ برنامهای بنویسید که مقدار 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)
}
6ـ خروجی دستورات زیر چیست؟
number = (1/3)*3;
printf(“(1/3)*3 is equal to %5.2 f , number);
جواب: خروجی این برنامه (1/3)*3 is equal to 0.00 میباشد.
7ـ برنامهای بنویسید که وزن کالایی را برحسب کیلوگرم دریافت کرده، وزن آن را برحسب گرم در خروجی چاپ کند.
جواب:
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)
}
8ـ شرکتی به هر یک از دو نفر از متخصصین خود، ماهانه 750000 ریال پرداخت میکند. او میخواهد بداند که اگر 5/13 درصد به حقوق هر کدام اضافه کند. سالانه چقدر به هزینه شرکت اضافه میشود. برنامهای بنویسید که این کار را برای شرکت انجام دهد.
جواب:
x = حقوق ماهانه 2 نفر × 13.5
y = x × 12
z = y × 2
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)
}
9ـ در شرکتی، سالانه 150 بسته کاغذ A4 مصرف میشود. در پایان سال، این شرکت میخواهد بداند که در سال آینده چقدر باید برای این بخش از تجهیزات اداری، هزینه کند. برنامهای بنویسید که قسمت این اقلام را در امسال از ورودی خوانده، با خواندن نرخ تورم در سال آینده هزینه شرکت را در این بخش محاسبه نماید و به خروجی ببرد. تورم به صورت درصد وارد میشود که برنامه باید آن را به یک مقدار اعشار تبدیل کند. مثلا اگر تورم را به صورت 6/5 از ورودی بخواند باید آن را به صورت 056/0 به کار ببرد.
جواب:
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)
}
10ـ برنامهای بنویسید که ارتفاع و قاعده مثلثی را از ورودی خوانده مساحت آن را محاسبه کرده به خروجی ببرد.
جواب:
قاعده × ارتفاع × 2/1 = مساحت
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)
}
11ـ وزن یک مولکول آب 3/0 × 10-23 گرم و وزن یک لیتر آب در حدود 950 گرم است. برنامهای بنویسید که وزن آب را بر حسب لیتر از ورودی خوانده، تعداد مولکولهای آن را محاسبه کند.
جواب:
950 × وزن آب (لیتر) = وزن آب (گرم)
/ وزن آب (گرم) = تعداد مولکولها3/0 × 10-23
#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)
}
12ـ هر سال برابر با 3.156 × 107 ثانیه است. برنامه ای بنویسید که سن شما را دریافت کرده و به ثانیه تبدیل کند.
جواب:
تعداد ثانیههای هر سال × مقدار سن به سال = مقدار سن به ثانیه
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)
}