سوالات امتحان میان ترم فرزانگان 4 به همراه پاسخ
برای مطالعه بر روی ادامه مطلب کلیک کنید
1- برنامه ای بنویسید که یک عدد را از ورودی گرفته ومجموع ارقام جایگاه مضرب دو آن را چاپ کند
نمونه: ورودی 8321549376
خروجی 7+9+5+2+8=31
main() { cout << "Please enter a number: \n"; int num, sum = 0, a; cin >> num; while(num > 0) { num = num / 10; a = num % 10; sum = sum + a; num = num / 10; } cout << "sum is: " << sum << endl; getch(); }
2- برنامه ای بنویسید که عدد N را از ورودی گرفته و N بیضی تودرتوی متحدالمرکز را مانند شکل زیر بکشد
(اعداد دلخواه خودتان را برای شعاع ها و مختصات مرکز قرار دهید)
main() { cout << "Please enter a number: \n"; int num; cin >> num; initwindow(800, 800); int r = 50; while(num > 0) { ellipse(400, 400, 0, 360, r, 50); //rasme beyzi dar amuzeshe graphic amade r = r + 50; num--; } getch(); }
3- برنامه ی زیر یک عدد را از ورودی گرفته و مقسوم علیه های مضرب 7 عدد را چاپ می کند
main() { cout >> "Please enter a number: ">>endl; int num; cin << num; i = 1; while(i >= num) { if(num % i = 0) if(i % 7 = 0); cout >> i >> endl; **** i++; } getch(); }
الف) در نوشتن این برنامه اشتباهاتی رخ داده است. این اشتباهات را یافته و برنامه را تصحیح کنید
ب) جدول خروجی این برنامه را به ازای ورودی 42 بکشید
ج) خطی که در برنامه با علامت ستاره نشان داده شده است به ازای ورودی 42چند بار تکرار می شود؟
جواب:
الف) برنامه ی زیر تصحیح شده ی برنامه ی بالاست. به اشتباهات دقت کنید!
main() { cout << "Please enter a number: " << endl; int num, i; cin >> num; i = 1; while(i <= num) { if(num % i == 0) if(i % 7 == 0) cout << i << endl; i++; } getch(); }
ب) خروجی این برنامه به ازای 42 به صورت زیر می باشد:
ج) با توجه به جدول برنامه خط مربوطه 4 بار اجرا خواهد شد.
4- به برنامه ی زیر دقت کنید، خروجی این برنامه چیست؟
main() { cout << "Please enter a number: " << endl; int num, i; cin >> num; while(num > 0) { num = num / 10; cout << "*"; } getch(); }
این برنامه به ازای تعداد ارقام یک عدد، کاراکتر * را چاپ میکند.
از دو سوال زیر بچه های گروه A سوال 5 و بچه های گروه B سوال 6 را حل کنید:
5- برنامه ای بنویسید که یک عدد بدون محدودیت در تعداد ارقام را از ورودی گرفته و ارقام جایگاه زوج آنرا حذف نموده و عدد حاصل را در یک متغیر ریخته و آن را چاپ کند:
نمونه: ورودی 879456259132
خروجی 746512
main() { cout << "Please enter a number: " << endl; int num, num1 = 0, b; cin >> num; while(num > 0) //hazfe arghame jaygahe zoj va sakhte adadi jadid num1 { b = num % 10; num1 = num1 * 10 + b; num = num / 100; } int newnum = 0, c; while(num1 > 0) // gharine kardane adade num1 baraye daryafte javabe nahayi newnum { c = num1 % 10; newnum = newnum * 10 + c; num1 = num1 / 10; } cout << "adade jadid: " << newnum << endl; getch(); }
در این برنامه باید توجه کرد که پس از حذف ارقام جایگاه زوج و ساخت عددی جدید با ارقام جایگاه فرد، عدد بدست آمده قرینه ی عدد مورد نظر سوال است. لذا باید عدد بدست آمده را قرینه کرد. بنابراین این برنامه دو تا حلقه ی while پشت سر هم دارد.
6- برنامه ای بنویسید که یک عدد را از ورودی گرفته و تعداد ارقام آن را بدست آورده و آن را چاپ کند.
main() { cout << "Please enter a number: " << endl; int num, sum = 0; cin >> num; while(num > 0) { num = num / 10; sum = sum + 1; } cout << "majmu: " << sum << endl; getch(); }