آموزش برنامه نویسی به زبان ++C

این وبلاگ جهت آموزش برنامه نویسی به زبان ++C برای دانش آموزان دبیرستان فرزانگان ایجاد شده است.
يكشنبه, ۶ فروردين ۱۳۹۱، ۰۵:۰۶ ب.ظ

2- سوالات تکمیلی گرافیک

در این بخش ادامه ی سوالهای ورودی و خروجی که همراه با گرافیک هستند را حل خواهیم کرد

 

 


سوال 1-

برنامه­ ای بنویسید که شکل دایره­ های آرم المپیک را با 5 رنگ متفاوت بکشد

   

#include <conio.h>
#include <iostream>
#include <graphics.h>

using namespace std;

main()
{
    initwindow(700, 700);
    
    setlinestyle(1, 1, 8);  //ba in dastur zekhamate khat ra be 8 taghir midahim
    setcolor(1);
    circle(200, 200, 75);
    setcolor(7);
    circle(374, 200, 75);
    setcolor(4);
    circle(548, 200, 75);
    setcolor(6);
    circle(287, 275, 75);
    setcolor(2);
    circle(460, 275, 75);
    
    getch();
}

   

سوال2 -

برنامه­ ای بنویسید که یک خانه بکشد

main()
{
    initwindow(800, 800);
    
    setfillstyle(1, 14);
    bar(200, 200, 600, 600);
    setlinestyle(1, 1, 6);
    setcolor(14);
    line(200, 200, 400, 50);
    line(400, 50, 600, 200);
    setfillstyle(7, 5);
    bar(210, 210, 310, 310);
    bar(590, 210, 490, 310);
    setfillstyle(1, 5);
    bar(320, 360, 480, 600);
    setcolor(14);
    setlinestyle(1, 1, 6);
    line(400, 360, 400, 595);

    getch();
}


سوال 3- برنامه ای بنویسید که شکل زیر را رسم کند: 



main()
{
    int x1, x2, y1, y2;
    cout << "enter first coordination ";
    cin >> x1 >> y1;
    cout << "enter second coordination ";
    cin >> x2 >> y2;
    
    initwindow(800, 800);
    
    rectangle(x1, y1, x2, y2);
    line(x1, y1, x2, y2);
    line(x1, y2, x2, y1);
    
    getch();
}


سوال 4- برنامه ای بنویسید که شکل زیر را رسم کند: 

main()
{
    int x, y, r;
    cout << "enter  coordination ";
    cin >> x >> y;
    cout << "enter radius ";
    cin >> r;
    
    initwindow(800, 800);
    
    setcolor(13);
    circle(x, y, r);
    rectangle(x-r, y-r, x+r, y+r);
    
    getch();
}


سوال 5- برنامه ای بنویسید که شکل زیر را رسم کند: 


main()
{
    int x, y, r1, r2;
    cout << "enter  coordination ";
    cin >> x >> y;
    cout << "enter radiuses ";
    cin >> r1 >> r2;
    
    initwindow(800, 800);
    
    setfillstyle(10,13);
    bar(x-r1, y-r2, x+r1, y+r2);
    
    setfillstyle(10,14);
    fillellipse(x, y, r1, r2);
    
    getch();
}


سوال 6- برنامه ای بنویسید که شکل زیر را رسم کند: 


main()
{
    int x1, y1, x2, y2;
    cout << "enter  first coordination ";
    cin >> x1 >> y1;
    cout << "enter second coordination ";
    cin >> x2 >> y2;
    
    int a = (x1 + x2)/2;
    initwindow(800, 800);
    
    setfillstyle(1,14);
    bar(x1, y1, x2, y2);
    
    setcolor(13);
    line(x1, y1, a, y2);
    line(a, y2, x2, y1);
    line(x1, y2, a, y1);
    line(a, y1, x2, y2);
    
    getch();
}


سوال 7- برنامه ای بنویسید که شکل زیر را رسم کند: 


main()
{
    int x, y;
    cin >> x >> y;
    initwindow(800, 800);
    
    setfillstyle(1,12);
    fillellipse(x, y, 300, 200);
    
    setfillstyle(1,13);
    fillellipse(x, y, 100, 200);
    
    setfillstyle(1,14);
    fillellipse(x, y, 100, 100);
    
    getch();
}


سوال 8-

برنامه ­ای بنویسید که مختصات سه راس یک مثلث را بگیرد و خود مثلث و میانه­ های آن را رسم کند

 

جواب سوال 8:

main()
{
    cout << "Please enter 6 numbers: " << endl;
    int x1, x2, x3, y1, y2, y3;
    cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
    
    initwindow(800, 800);
    setlinestyle(1, 1, 2);
    setcolor(14);
    line(x1, y1, x2, y2);
    line(x2, y2, x3, y3);
    line(x3, y3, x1, y1);
    setlinestyle(1, 1, 1);
    setcolor(4);
    line(x1, y1, (x2 + x3)/2, (y2 + y3)/2);
    line(x2, y2, (x1 + x3)/2, (y1 + y3)/2);
    line(x3, y3, (x1 + x2)/2, (y1 + y2)/2);

    getch();
}


سوال 9

برنامه ­ای بنویسید که مختصات مرکز یک دایره را بگیرد و 5 دایره ­ی تودرتو بکشد و شعاع اولی 10 باشد و شعاع دایره­ های بعدی هرکدام 50 واحد از قبلی بزرگتر باشد

 

main()
{
    cout << "Please enter x and y of the first circle: " << endl;
    int x, y;
    cin >> x >> y;
    
    initwindow(800, 800);

    setlinestyle(1, 1, 5);
    setcolor(1);
    circle(x, y, 10);
    setcolor(2);
    circle(x, y, 10+50);
    setcolor(3);
    circle(x, y, 110);
    setcolor(4);
    circle(x, y, 160);
    setcolor(5);
    circle(x, y, 210);

    getch();
}


سوال 10-

برنامه­ ای بنویسید که شکل پرچم ایران را بکشد

 

main()
{
    initwindow(800, 800);
    setfillstyle(1, GREEN);//sabz
    bar(10, 10, 410, 110);
    setfillstyle(1, WHITE);//sefid
    bar(10, 110, 410, 210);
    setfillstyle(1, RED);//ghermez
    bar(10, 210, 410, 310);
    
    getch();
}


 سوال 11- برنامه ای بنویسید که شکل زیر را رسم کند: 

main()
{
    int x1, y1, x2, y2, x3, y3;
    cout<<" Please enter triangle coordinates ... ";
    cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
    
    initwindow(600,600);
    
    setcolor(14);
    line(x1, y1, x2, y2);
    line(x2, y2, x3, y3);
    line(x3, y3, x1, y1);
    
    getch();
}


سوال 12-  برنامه ای بنویسید که شکل زیر را رسم کند: 


main()
{
    initwindow(600,600);
    
    setcolor(14);
    line(100, 100, 300, 300);
    line(100, 100, 100, 300);
    line(100, 300, 300, 300);
    
    getch();
}

سوال 13-  برنامه ای بنویسید که شکل زیر را رسم کند: 


main()
{
    initwindow(600,600);
    
    setcolor(14);
    line(100, 100, 100, 500);
    line(100, 500, 500, 500);
    line(100, 100, 200, 500);
    line(100, 200, 300, 500);
    line(100, 300, 400, 500);
    line(100, 400, 500, 500);
    
    getch();
}


سوال 14-  برنامه ای بنویسید که سه نمره را از کاربر بگیرد و نمودار آنها را رسم کند: ( شکل زیر برای سه نمره ی 20 و 3 و 14 رسم شده است) 


main()
{
    int a, b, c;
    cin >> a >> b >> c;
    
    initwindow(600,600);
    
    setcolor(8);
    line(100, 100, 100, 500);
    line(100, 500, 500, 500);
    
    setfillstyle(8,14);
    bar(150, 500, 200, 500-a*10);
    bar(250, 500, 300, 500-b*10);
    bar(350, 500, 400, 500-c*10);
    
    getch();
}


  سوال 15-  برنامه­ ای بنویسید که مختصات دو نقطه­ ی ابتدایی و انتهایی یک پاره­ خط را بگیرد و علاوه بر رسم خود خط، عمود منصف آن را نیز رسم کند.


نمونه خروجی: 

main()
{
    int x1, y1, x2, y2;
    cin >> x1 >> y1 >> x2 >> y2;
    
    int xm = (x1 + x2) / 2;
    int ym = (y1 + y2) / 2;
    double a1 = (y2 - y1) / (x2 - x1);
    double a2 = -1 / a1; 
    int xn = 50, yn;
    yn = a2 * (xn - xm) + ym;
    
    initwindow(600,600);
    
    setcolor(14);
    line(x1, y1, x2, y2);
    line(xn, yn, xm, ym);
    
    getch();
}

 



نوشته شده توسط سارا نازاری
ساخت وبلاگ در بلاگ بیان، رسانه متخصصان و اهل قلم

آموزش برنامه نویسی به زبان ++C

این وبلاگ جهت آموزش برنامه نویسی به زبان ++C برای دانش آموزان دبیرستان فرزانگان ایجاد شده است.

2- سوالات تکمیلی گرافیک

يكشنبه, ۶ فروردين ۱۳۹۱، ۰۵:۰۶ ب.ظ

در این بخش ادامه ی سوالهای ورودی و خروجی که همراه با گرافیک هستند را حل خواهیم کرد

 

 


سوال 1-

برنامه­ ای بنویسید که شکل دایره­ های آرم المپیک را با 5 رنگ متفاوت بکشد

   

#include <conio.h>
#include <iostream>
#include <graphics.h>

using namespace std;

main()
{
    initwindow(700, 700);
    
    setlinestyle(1, 1, 8);  //ba in dastur zekhamate khat ra be 8 taghir midahim
    setcolor(1);
    circle(200, 200, 75);
    setcolor(7);
    circle(374, 200, 75);
    setcolor(4);
    circle(548, 200, 75);
    setcolor(6);
    circle(287, 275, 75);
    setcolor(2);
    circle(460, 275, 75);
    
    getch();
}

   

سوال2 -

برنامه­ ای بنویسید که یک خانه بکشد

main()
{
    initwindow(800, 800);
    
    setfillstyle(1, 14);
    bar(200, 200, 600, 600);
    setlinestyle(1, 1, 6);
    setcolor(14);
    line(200, 200, 400, 50);
    line(400, 50, 600, 200);
    setfillstyle(7, 5);
    bar(210, 210, 310, 310);
    bar(590, 210, 490, 310);
    setfillstyle(1, 5);
    bar(320, 360, 480, 600);
    setcolor(14);
    setlinestyle(1, 1, 6);
    line(400, 360, 400, 595);

    getch();
}


سوال 3- برنامه ای بنویسید که شکل زیر را رسم کند: 



main()
{
    int x1, x2, y1, y2;
    cout << "enter first coordination ";
    cin >> x1 >> y1;
    cout << "enter second coordination ";
    cin >> x2 >> y2;
    
    initwindow(800, 800);
    
    rectangle(x1, y1, x2, y2);
    line(x1, y1, x2, y2);
    line(x1, y2, x2, y1);
    
    getch();
}


سوال 4- برنامه ای بنویسید که شکل زیر را رسم کند: 

main()
{
    int x, y, r;
    cout << "enter  coordination ";
    cin >> x >> y;
    cout << "enter radius ";
    cin >> r;
    
    initwindow(800, 800);
    
    setcolor(13);
    circle(x, y, r);
    rectangle(x-r, y-r, x+r, y+r);
    
    getch();
}


سوال 5- برنامه ای بنویسید که شکل زیر را رسم کند: 


main()
{
    int x, y, r1, r2;
    cout << "enter  coordination ";
    cin >> x >> y;
    cout << "enter radiuses ";
    cin >> r1 >> r2;
    
    initwindow(800, 800);
    
    setfillstyle(10,13);
    bar(x-r1, y-r2, x+r1, y+r2);
    
    setfillstyle(10,14);
    fillellipse(x, y, r1, r2);
    
    getch();
}


سوال 6- برنامه ای بنویسید که شکل زیر را رسم کند: 


main()
{
    int x1, y1, x2, y2;
    cout << "enter  first coordination ";
    cin >> x1 >> y1;
    cout << "enter second coordination ";
    cin >> x2 >> y2;
    
    int a = (x1 + x2)/2;
    initwindow(800, 800);
    
    setfillstyle(1,14);
    bar(x1, y1, x2, y2);
    
    setcolor(13);
    line(x1, y1, a, y2);
    line(a, y2, x2, y1);
    line(x1, y2, a, y1);
    line(a, y1, x2, y2);
    
    getch();
}


سوال 7- برنامه ای بنویسید که شکل زیر را رسم کند: 


main()
{
    int x, y;
    cin >> x >> y;
    initwindow(800, 800);
    
    setfillstyle(1,12);
    fillellipse(x, y, 300, 200);
    
    setfillstyle(1,13);
    fillellipse(x, y, 100, 200);
    
    setfillstyle(1,14);
    fillellipse(x, y, 100, 100);
    
    getch();
}


سوال 8-

برنامه ­ای بنویسید که مختصات سه راس یک مثلث را بگیرد و خود مثلث و میانه­ های آن را رسم کند

 

جواب سوال 8:

main()
{
    cout << "Please enter 6 numbers: " << endl;
    int x1, x2, x3, y1, y2, y3;
    cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
    
    initwindow(800, 800);
    setlinestyle(1, 1, 2);
    setcolor(14);
    line(x1, y1, x2, y2);
    line(x2, y2, x3, y3);
    line(x3, y3, x1, y1);
    setlinestyle(1, 1, 1);
    setcolor(4);
    line(x1, y1, (x2 + x3)/2, (y2 + y3)/2);
    line(x2, y2, (x1 + x3)/2, (y1 + y3)/2);
    line(x3, y3, (x1 + x2)/2, (y1 + y2)/2);

    getch();
}


سوال 9

برنامه ­ای بنویسید که مختصات مرکز یک دایره را بگیرد و 5 دایره ­ی تودرتو بکشد و شعاع اولی 10 باشد و شعاع دایره­ های بعدی هرکدام 50 واحد از قبلی بزرگتر باشد

 

main()
{
    cout << "Please enter x and y of the first circle: " << endl;
    int x, y;
    cin >> x >> y;
    
    initwindow(800, 800);

    setlinestyle(1, 1, 5);
    setcolor(1);
    circle(x, y, 10);
    setcolor(2);
    circle(x, y, 10+50);
    setcolor(3);
    circle(x, y, 110);
    setcolor(4);
    circle(x, y, 160);
    setcolor(5);
    circle(x, y, 210);

    getch();
}


سوال 10-

برنامه­ ای بنویسید که شکل پرچم ایران را بکشد

 

main()
{
    initwindow(800, 800);
    setfillstyle(1, GREEN);//sabz
    bar(10, 10, 410, 110);
    setfillstyle(1, WHITE);//sefid
    bar(10, 110, 410, 210);
    setfillstyle(1, RED);//ghermez
    bar(10, 210, 410, 310);
    
    getch();
}


 سوال 11- برنامه ای بنویسید که شکل زیر را رسم کند: 

main()
{
    int x1, y1, x2, y2, x3, y3;
    cout<<" Please enter triangle coordinates ... ";
    cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
    
    initwindow(600,600);
    
    setcolor(14);
    line(x1, y1, x2, y2);
    line(x2, y2, x3, y3);
    line(x3, y3, x1, y1);
    
    getch();
}


سوال 12-  برنامه ای بنویسید که شکل زیر را رسم کند: 


main()
{
    initwindow(600,600);
    
    setcolor(14);
    line(100, 100, 300, 300);
    line(100, 100, 100, 300);
    line(100, 300, 300, 300);
    
    getch();
}

سوال 13-  برنامه ای بنویسید که شکل زیر را رسم کند: 


main()
{
    initwindow(600,600);
    
    setcolor(14);
    line(100, 100, 100, 500);
    line(100, 500, 500, 500);
    line(100, 100, 200, 500);
    line(100, 200, 300, 500);
    line(100, 300, 400, 500);
    line(100, 400, 500, 500);
    
    getch();
}


سوال 14-  برنامه ای بنویسید که سه نمره را از کاربر بگیرد و نمودار آنها را رسم کند: ( شکل زیر برای سه نمره ی 20 و 3 و 14 رسم شده است) 


main()
{
    int a, b, c;
    cin >> a >> b >> c;
    
    initwindow(600,600);
    
    setcolor(8);
    line(100, 100, 100, 500);
    line(100, 500, 500, 500);
    
    setfillstyle(8,14);
    bar(150, 500, 200, 500-a*10);
    bar(250, 500, 300, 500-b*10);
    bar(350, 500, 400, 500-c*10);
    
    getch();
}


  سوال 15-  برنامه­ ای بنویسید که مختصات دو نقطه­ ی ابتدایی و انتهایی یک پاره­ خط را بگیرد و علاوه بر رسم خود خط، عمود منصف آن را نیز رسم کند.


نمونه خروجی: 

main()
{
    int x1, y1, x2, y2;
    cin >> x1 >> y1 >> x2 >> y2;
    
    int xm = (x1 + x2) / 2;
    int ym = (y1 + y2) / 2;
    double a1 = (y2 - y1) / (x2 - x1);
    double a2 = -1 / a1; 
    int xn = 50, yn;
    yn = a2 * (xn - xm) + ym;
    
    initwindow(600,600);
    
    setcolor(14);
    line(x1, y1, x2, y2);
    line(xn, yn, xm, ym);
    
    getch();
}

 

موافقین ۰ مخالفین ۰ ۹۱/۰۱/۰۶
سارا نازاری

نظرات  (۲۰)

khanooom 
mishe lotfann 
ye noskhe  kammmmellll
az devc++ to weblog bezarin
lotfan:(
 
پاسخ:
باشه. حتما فردا صبح این کارو میکنم! نگران نباش!
khanoom az delay soali nazashtin???
 
پاسخ:
نه چون برای حرکته و حرکت هم نمیآد!
 salam khanoom!
!barnameE hast k bayad khoone bekeshim!! on kheili sakhte!nemifahmam 
پاسخ:
در حد همونایی که همیشه کار می کردیم. خونه و مزرعه نمی آد!
:)
hoora mrc!!  
vaghean man to ye soal dashtam 2 saat fekr mikardam bad in sait vaghean be dadam resid mamnon az lotfeton kheili lotf kardin
پاسخ:
خیلی خوشحال شدم. :)
salaam!
khanoom , mn har kari kardam , harchi barname neveshtam error dad!!
alanam hamina ro emtehan kardam bazam error mide :(
error hasho am k mikhoonam hamashuno anjam dadamo kodam kamelan doroste:-/
installation ro ham copy kardam hatta...
پاسخ:
خب چه اروری میده؟ متنش چیه؟ ... 
۲۶ آذر ۹۲ ، ۱۸:۲۰ نرگس جمالی
خانم نازاری تو امتحانات سوالی هست که بگه تو صفحه ی گرافیکی چیزی بنویسیم؟اون دستوری که دادین مهمه؟
پاسخ:
بله.
۲۶ آذر ۹۲ ، ۲۰:۲۸ صبا ابراهیمی
خانم نازاری ببخشید اگه که سوالات تو وبلاگتونو برا امتحان بخونیم موثره؟
پاسخ:
 هر چی مثال بیشتر حل کنید بهتره. 
نرگس فکر کنم مهم باشه بخونش
sar dard gereftaaaaaaaaaaaaaaaaaaaaaaam !!!!!!!!!!:|
ببخشید , کدوم دستور نرگس ؟! ؟!
۲۴ دی ۹۲ ، ۲۰:۲۴ نرگس جمالی

این دستور مبارکه:

outtext("salam")

و

outtextxy(x,y,"salam")

مرسی ./
خیر ببینی
سلام
ببخشید
من سوال آخر رو نفهمیدم چرا xn=50شد و چرا ynرا به اون شکل به دست آوردیم؟
یکم توضیح میدی؟
سوال اخرت اشتباه است.
۰۹ آذر ۹۳ ، ۰۰:۳۴ محمد جواد
سلام من وقتی داخل کد بلاکس برنامه جدید مینویسم خطا میده و میاد بیرون از کد بلاکس
سلام خوبین من یه برنامه دارم خواهش میکنم اگه میشه برام بنویسین و به ایمیلم ارسال کنید یا راهنماییم کنید


برنامه ای بنویسید که ستاره ای به شکل دایره چاپ کند.(در صفحه شطرنجی که ردیف اول یکی ستاره،ردیف دوم..،که آخرش به شکل دایره چاپ شه
الهی هرچی از خدا میخای بهت بده
خیلی عزیزی

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی