نمونه سوال 1
نمونه سوال از مبحث شرط و گرافیک می باشد.
سوال 1- برنامه ای بنویسید که نمرات یک دانش آموز سال اول دبیرستان را بگیرد و معدل آن را حساب کند و بگوید که آیا مشروط شده است یا خیر . برای نوشتن این برنامه باید توجه داشته باشید که برنامه نام درس را چاپ می کند تا دانش آموز نمره ی خود را وارد کرده و همچنین واحد درس مورد نظر را نیز وارد کند.
main() { cout << "lotfan nomre khod va vahede dars ra pas az har dars vared konid."<<endl; float r, f, sh, zi, cmp, vr, vf, vsh, vzi, vcmp; cout << "riazi? vahed? " << endl; cin >> r >> vr; cout << "fizik? vahed? " << endl; cin >> f >> vf; cout << "shimi? vahed? " << endl; cin >> sh >> vsh; cout << "zist? vahed? " << endl; cin >> zi >> vzi; cout << "computer? vahed? " << endl; cin >> cmp >> vcmp; float avr = (r * vr + f * vf + zi * vzi + sh * vsh + cmp * vcmp ) / (vr + vf + vzi + vsh + vcmp); cout << "\n\n\n" << "moadele shoma barabar ast ba: " << avr << endl; if(avr < 12) cout << "motaasefane shoma mashrut shodeid! :( " << endl; getch(); }
سول 2- برنامه ای بنویسید که مراکز و شعاع های دو دایره را بگیرد و وضعیت این دو دایره را نسبت به هم بیان کند. سپس آنها را رسم نماید.
main() { cout << "please enter (x,y) and R of circle 1:" << endl; int x1, y1, r1; cin >> x1 >> y1 >> r1; cout << "please enter (x,y) and R of circle 2:" << endl; int x2, y2, r2; cin >> x2 >> y2 >> r2; float d = sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)); if(r1 +r2 <= d) { cout << " kharej az ham" << endl; } else if( r1 + r2 == d) { cout << "momas!" << endl; } else cout << "motaghate" << endl; //drawing circles ... initwindow(800, 800); setcolor(14); circle(x1, y1, r1); setcolor(3); circle(x2, y2, r2); getch(); }
سوال 3- برنامه ای بنویسید که ابتدا موجودی یک حساب را بگیرد سپس مقدار درخواست شده برای برداشت از آن را نیز بگیرد و بیان کند که آیا این برداشت ممکن است یا نه و در صورت امکان برداشت، باقی موجودی حساب را نیز چاپ کند.
main() { cout << "mojudie hesabe shoma?" << endl; float a; cin >> a; cout << "lotfan mablaghe darkhasti ra vared konid: " << endl; float b; cin >> b; if( a-b >= 0) { cout << " shoma mitavanid az hesabe khod bardasht konid:" << endl; cout << " baghi mandeye hesabe shoma: "<<a-b<<endl; } else cout << "mablageh vared shoma dar hesabe shoma mojud nemibashad!"; getch(); }
سوال 4- برنامه ای بنویسید که دو عدد را از ورودی بگیرد و بدون استفاده از % یا مد گرفتن بگوید که آیا دو عدد بر هم بخش پذیر هستند یا نه.
main() { cout << "2 adad vared konid: " << endl; int num1, num2; cin >> num1 >> num2; int d, r; d = num1 / num2; r = num1 - num2 * d; if(r == 0) { cout << "bakhshpazir" << endl; } else cout << " bakhsh pazir nistand " << endl; getch(); }
سوال 5- برنامه ای بنویسید که یک عدد با طول 5 رقم را از ورودی گرفته و مغلوب آن را چاپ کند و بررسی کند که آیا عدد آینه ای است یا نه.
مثلا عدد 12321 آینه ای است اما 12343 آینه ای نیست.
main() { cout << "Please enter a number in 5 digits: " << endl; int num, num1; cin >> num; num1 = num; int rev = 0; rev = rev * 10 + (num % 10); num = num / 10; rev = rev * 10 + (num % 10); num = num / 10;; rev = rev * 10 + (num % 10); num = num / 10; rev = rev * 10 + (num % 10); num = num / 10; rev = rev * 10 + (num % 10); num = num / 10; cout << "your reversed number is: " << rev << endl; if(num1 == rev) cout << "your number is mirror number." << endl; else cout << "your number is NOT mirror number." << endl; getch(); }
سوال 6- برنامه ای بنویسید که 5 عدد را از ورودی گرفته و در انتها بزرگترین عدد و همین طور کوچکترین عدد وارد شده را نمایش دهد.
main() { int min, max; cout << "Please enter first number " << endl; int a; cin >> a; min = a; max = a; cout << "Please enter second number " << endl; cin >> a; if(a > max) max = a; if(a < min) min = a; cout << "Please enter third number " << endl; cin >> a; if(a > max) max = a; if(a < min) min = a; cout << "Please enter fourth number " << endl; cin >> a; if(a > max) max = a; if(a < min) min = a; cout << "Please enter fifth number " << endl; cin >> a; if(a > max) max = a; if(a < min) min = a; cout << "the Maximun number is: " << max << endl; cout << "the Minimum number is: " << min << endl; getch(); }
سوال 7- برنامه ی روبه رو چه کاری انجام میدهد؟ خروجی نمونه برای آن بکشید
main() { cout << "please enter one number: " << endl; int num; cin >> num; initwindow(800, 800); if(num % 3 == 0) { setcolor(num % 15); circle(200, 200, 150); } else { setcolor(num % 15); rectangle(200, 200, 450, 450); } getch(); }
اگر عدد وارد شده به سه بخش پذیر باشد دایره می کشد و در غیر آن صورت مربع رسم می کند.
سوال 8- برنامه ای بنویسید که یک کاراکتر از ورودی دریافت کند و اگر حرف L وارد شده بود شکل سمت چپ و اگر حرف R وارد شده بود شکل سمت راست را رسم کند. و در غیر این صورت اعلام کند که حرف وارد شده نادرست است.
main() { cout << "please enter one letter ( L or R ) : " << endl; char c; cin >> c; initwindow(800, 800); if(c == 'L' || c == 'l') { setcolor(14); rectangle(100, 100, 600, 500); setcolor(4); line(100, 100, 600, 500); line(100, 500, 600, 100); } else if(c == 'R' || c == 'r') { setcolor(14); rectangle(100, 100, 600, 600); setcolor(12); circle(350, 350, 250); } else cout << "Please enter correct characer next time!" << endl; getch(); }
سوال 9- برنامه ای بنویسید که از کاربر سوال کند که دایره بکشد یا مستطیل و در صورت انتخاب هر کدام از این دو شکل، اندازه ها و اعداد لازم را از کاربر پرسیده و در انتها شکل مورد نظر کاربر را رسم کند.
main() { cout << "please choose! B for bar and and E for ellipse" << endl; char c; cin >> c; if(c == 'B' || c == 'b') { cout << "Please enter 4 numbers: " << endl; int a, b, c, d; cin >>a >>b >>c >> d; initwindow(800, 800); setfillstyle(8, 12); bar(a, b, c, d); } else if(c == 'E' || c == 'e') { cout << "Please enter 4 numbers: " << endl; int a, b, c, d; cin >> a >> b >> c >> d; initwindow(800, 800); setfillstyle(8, 10); fillellipse(a, b, c, d); } else cout << "please enter correct character next time!" << endl; getch(); }
سوال 10 - فرض کنید در شهر تهران کرایه ی تاکسی به صورت زیر محاسبه می شود:
حال برنامه ای بنویسید که کیلومتر طی شده توسط تاکسی را از ورودی گرفته و مبلغ کرایه را با استفاده از جدول بالا محاسبه و اعلام کند.
برای مثال اگر کیلومتر گرفته شده از ورودی 12 کیلومتر باشد مبلغ کرایه به صورت زیر محاسبه میشود:
300کرایه تا پنج کیلومتر + 5*50 کرایه ی از 5 تا 10 کیلومتر + 2*35 کرایه از 10 تا 12 کیلومتر = مبلغ کرایه
main() { float k, c; cout << "Kilometers? ... " << endl; cin >> k; if(k <= 5) c = 300; else if(k > 5 && k <= 10) c = 300 + (k - 5) * 50; else if(k > 10 && k <= 20) c = 300 + 5 * 50 + (k - 10) * 35; else if(k > 20 && k <= 30) c = 300 + 5 * 50 + 10 * 35 + (k - 20) * 25; else c = 300 + 5 * 50 + 10 * 35 + 10 * 25 + (k - 30) * 15; cout << "It costs " << c << " Rials \n"; getch(); }