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

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

حلقه ی تو در تو تمرینهای پیچیده تر

ادامه ی تمرینها تا حدودی پیچیده تر است. اما لازم است آنها را به صورت کامل یاد بگیرید! 


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

*********
 *******
   *****
    ***
      *
برای تحلیل این سوال باید توجه کنیم که 5 خط داریم و در خط صفرم، صفر فاصله و 9 ستاره، در خط یکم، یک فاصله و 7 ستاره، در خط دوم، دو فاصله و 5 ستاره، در خط سوم، سه فاصله و 3 ستاره و در خط چهارم ، چهار فاصله و یک ستاره داریم. 
پس واضح است که حلقه ی بیرونی که تعداد خطوط را نشان میدهد 5 بار تکرار میشود. اما حلقه های درونی( برای فاصله ها و ستاره ها) را چه جور تفسیر کنیم؟

حلقه ی درونی اول که برای رسم فاصله هاست، به تعداد i بار تکرار خواهد شد. ( کافی است به توضیحات بالا کمی توجه کنیم) 
حلقه ی درونی دوم که برای رسم ستاره هاست را می توان به صورت روبه رو با استفاده از یک متغیر کمکی نوشت. به این صورت که متغیر a اول 9 باشد و هر بار 2 تا از آن کم شده و در حلقه ی درونی دوم هر بار a تا ستاره رسم بشود. 
برنامه ی آن به صورت زیر خواهد بود: 
#include <conio.h>
#include <iostream.h>

int main()
{   int a=9;
    for(int i=0;i<5;i++)    //dar kol 5 khat darim
    {
        for(int j=0;j<i;j++)    //rasme fasele ha
        {
            cout<<' ';
        }
        
        for(int j=0;j<a;j++)    //rasme a ta setare
        {
            cout<<'*';
            
        }
        a=a-2;                  // az a 2 ta kam mikonim baraye khate badi
        cout<<endl;
    }
        getch();
        return 0;
}
8- برنامه ای بنویسید که شکل زیر را نمایش دهد: ( وارونه ی شکل بالا) 

      *
    ***
   *****
 *******
*********

با توجه به شکا بالا می توانیم بفهمیم که کلا 5 خط داریم که در خط صفرم چهار فاصله و یک ستاره داریم. در خط یکم سه فاصله و سه ستاره داریم. در خط دوم دو فاصله و 5 ستاره داریم. در خط سوم یک فاصله و 7 ستاره داریم. در خط چهارم صفر فاصله و 9 ستاره داریم. 
پس حلقه ی بیرونی 5 بار تکرا می شود.
حلقه ی درونی اول برای فاصله ها برای خط i ام 4 منهای i تا فاصله رسم می کند. 
حلقه ی درونی دوم برای رسم ستاره ها برای خط i ام باز هم باید از متغیر کمکی استفاده کنیم که از اول a=1 باشد و هر بار 2 تا به a اضافه شود. 
#include <conio.h>
#include <iostream.h>

int main()
{   int a=1;
    for(int i=0;i<5;i++)    //dar kol 5 khat darim
    {
            for(int j=0;j<4-i;j++)    //rasme fasele ha
        {
            cout<<' ';
        }
        
        for(int j=0;j<a;j++)    //rasme a ta setare
        {
            cout<<'*';
            
        }
        a=a+2;                  // be a 2 ta ezafe mikonim baraye khate badi
        cout<<endl;
    }
        getch();
        return 0;
}

9 - برنامه ای بنویسید که یک عدد n را از ووردی گرفته و n خط را به صورت زیر نمایش دهد: ( تمدید برنامه ی بالا) 


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

int main()
{   int a=1,n;
    cin>>n;
    for(int i=0;i<n;i++)    //dar kol n khat darim
    {
            for(int j=0;j<n-1-i;j++)    //rasme fasele ha
        {
            cout<<' ';
        }
        
        for(int j=0;j<a;j++)    //rasme a ta setare
        {
            cout<<'*';
            
        }
        a=a+2;                  // be a 2 ta ezafe mikonim baraye khate badi
        cout<<endl;
    }
        getch();
        return 0;
}
تحلیل برنامه به عهده ی دانش آموز است. 


10- برنامه ای بنویسید که n  را از ورودی گرفته و 2n-1 خط زیر را رسم کند: 

      *
    ***
   *****
 *******
*********
...          ( خط n ام که n تا ستاره دارد) 

*********
 *******
   *****
    ***
      *

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

int main()
{   int a=1,n;
    cin>>n;
    for(int i=0;i<n-1;i++)    //dar kol n-1 khate afzayeshi darim
    {
            for(int j=0;j<n-1-i;j++)    //rasme fasele ha
        {
            cout<<' ';
        }
        
        for(int j=0;j<a;j++)    //rasme a ta setare
        {
            cout<<'*';
            
        }
        a=a+2;                  // be a 2 ta ezafe mikonim baraye khate badi
        cout<<endl;
    }
    
    for(int i=0;i<n;i++)    //dar kol n khate kaheshi darim
    {
        for(int j=0;j<i;j++)    //rasme fasele ha
        {
            cout<<' ';
        }
        
        for(int j=0;j<a;j++)    //rasme a ta setare
        {
            cout<<'*';
            
        }
        a=a-2;                  // az a 2 ta kam mikonim baraye khate badi
        cout<<endl;
    }
        getch();
        return 0;
}

تحلیل برنامه به عهده ی دانش آموز است. 

11- به عنوان تمرین شکل زیر را رسم کنید: ( n را از ورودی بگیرید) 


...          ( خط n ام که n تا ستاره دارد) 

*********
 *******
   *****
    ***
      *
    ***
   *****
 *******
*********
...          ( خط n ام که n تا ستاره دارد) 




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

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

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

حلقه ی تو در تو تمرینهای پیچیده تر

پنجشنبه, ۱۶ آذر ۱۳۹۱، ۰۶:۰۳ ب.ظ

ادامه ی تمرینها تا حدودی پیچیده تر است. اما لازم است آنها را به صورت کامل یاد بگیرید! 


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

*********
 *******
   *****
    ***
      *
برای تحلیل این سوال باید توجه کنیم که 5 خط داریم و در خط صفرم، صفر فاصله و 9 ستاره، در خط یکم، یک فاصله و 7 ستاره، در خط دوم، دو فاصله و 5 ستاره، در خط سوم، سه فاصله و 3 ستاره و در خط چهارم ، چهار فاصله و یک ستاره داریم. 
پس واضح است که حلقه ی بیرونی که تعداد خطوط را نشان میدهد 5 بار تکرار میشود. اما حلقه های درونی( برای فاصله ها و ستاره ها) را چه جور تفسیر کنیم؟

حلقه ی درونی اول که برای رسم فاصله هاست، به تعداد i بار تکرار خواهد شد. ( کافی است به توضیحات بالا کمی توجه کنیم) 
حلقه ی درونی دوم که برای رسم ستاره هاست را می توان به صورت روبه رو با استفاده از یک متغیر کمکی نوشت. به این صورت که متغیر a اول 9 باشد و هر بار 2 تا از آن کم شده و در حلقه ی درونی دوم هر بار a تا ستاره رسم بشود. 
برنامه ی آن به صورت زیر خواهد بود: 
#include <conio.h>
#include <iostream.h>

int main()
{   int a=9;
    for(int i=0;i<5;i++)    //dar kol 5 khat darim
    {
        for(int j=0;j<i;j++)    //rasme fasele ha
        {
            cout<<' ';
        }
        
        for(int j=0;j<a;j++)    //rasme a ta setare
        {
            cout<<'*';
            
        }
        a=a-2;                  // az a 2 ta kam mikonim baraye khate badi
        cout<<endl;
    }
        getch();
        return 0;
}
8- برنامه ای بنویسید که شکل زیر را نمایش دهد: ( وارونه ی شکل بالا) 

      *
    ***
   *****
 *******
*********

با توجه به شکا بالا می توانیم بفهمیم که کلا 5 خط داریم که در خط صفرم چهار فاصله و یک ستاره داریم. در خط یکم سه فاصله و سه ستاره داریم. در خط دوم دو فاصله و 5 ستاره داریم. در خط سوم یک فاصله و 7 ستاره داریم. در خط چهارم صفر فاصله و 9 ستاره داریم. 
پس حلقه ی بیرونی 5 بار تکرا می شود.
حلقه ی درونی اول برای فاصله ها برای خط i ام 4 منهای i تا فاصله رسم می کند. 
حلقه ی درونی دوم برای رسم ستاره ها برای خط i ام باز هم باید از متغیر کمکی استفاده کنیم که از اول a=1 باشد و هر بار 2 تا به a اضافه شود. 
#include <conio.h>
#include <iostream.h>

int main()
{   int a=1;
    for(int i=0;i<5;i++)    //dar kol 5 khat darim
    {
            for(int j=0;j<4-i;j++)    //rasme fasele ha
        {
            cout<<' ';
        }
        
        for(int j=0;j<a;j++)    //rasme a ta setare
        {
            cout<<'*';
            
        }
        a=a+2;                  // be a 2 ta ezafe mikonim baraye khate badi
        cout<<endl;
    }
        getch();
        return 0;
}

9 - برنامه ای بنویسید که یک عدد n را از ووردی گرفته و n خط را به صورت زیر نمایش دهد: ( تمدید برنامه ی بالا) 


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

int main()
{   int a=1,n;
    cin>>n;
    for(int i=0;i<n;i++)    //dar kol n khat darim
    {
            for(int j=0;j<n-1-i;j++)    //rasme fasele ha
        {
            cout<<' ';
        }
        
        for(int j=0;j<a;j++)    //rasme a ta setare
        {
            cout<<'*';
            
        }
        a=a+2;                  // be a 2 ta ezafe mikonim baraye khate badi
        cout<<endl;
    }
        getch();
        return 0;
}
تحلیل برنامه به عهده ی دانش آموز است. 


10- برنامه ای بنویسید که n  را از ورودی گرفته و 2n-1 خط زیر را رسم کند: 

      *
    ***
   *****
 *******
*********
...          ( خط n ام که n تا ستاره دارد) 

*********
 *******
   *****
    ***
      *

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

int main()
{   int a=1,n;
    cin>>n;
    for(int i=0;i<n-1;i++)    //dar kol n-1 khate afzayeshi darim
    {
            for(int j=0;j<n-1-i;j++)    //rasme fasele ha
        {
            cout<<' ';
        }
        
        for(int j=0;j<a;j++)    //rasme a ta setare
        {
            cout<<'*';
            
        }
        a=a+2;                  // be a 2 ta ezafe mikonim baraye khate badi
        cout<<endl;
    }
    
    for(int i=0;i<n;i++)    //dar kol n khate kaheshi darim
    {
        for(int j=0;j<i;j++)    //rasme fasele ha
        {
            cout<<' ';
        }
        
        for(int j=0;j<a;j++)    //rasme a ta setare
        {
            cout<<'*';
            
        }
        a=a-2;                  // az a 2 ta kam mikonim baraye khate badi
        cout<<endl;
    }
        getch();
        return 0;
}

تحلیل برنامه به عهده ی دانش آموز است. 

11- به عنوان تمرین شکل زیر را رسم کنید: ( n را از ورودی بگیرید) 


...          ( خط n ام که n تا ستاره دارد) 

*********
 *******
   *****
    ***
      *
    ***
   *****
 *******
*********
...          ( خط n ام که n تا ستاره دارد) 


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

نظرات  (۳۰)

برنامه ای بنویسید که n را از ورودی  بخواند وجدول ضرب n*n را چاپ کند.

mamnoon

سلام توروخدا جواب این سوال آخری چی میشه تمرین سختیه.لطفا جوابشو بنویسید
برنامه ی بنویسید هر شکلی را چاپ کند c++
پاسخ:
؟
salam mikhastam bedonam in tamrin ha ham momkene to emtehane farda biad
salam khanoom,mishe begin tooye emtehane farda bayad #include ha ro benevisim ya na"!?? merC
پاسخ:
!!
شاید بگیم بنویسید شاید بگیم ننویسید. معلوم نیست!!! 
۳۰ آذر ۹۲ ، ۱۸:۵۶ hamoon ye karbar :))
mishe zood tar j bedin plzZz?? mC
 

 
سلام
میشه برنامه 
       **
      ***
    *****
      ***
       **    for رو برام بنویسین با حلقه 
ممنون میشم اگه عین برنامه رو برام بنویسین

salam mishe lotfan barnameye mosalas to khali bezarid

سلام تو سوال 10 خط n ام که n تا نداره مثلا اگه  n=5 باشه نه تا ستاره داره ! (?)
۰۴ ارديبهشت ۹۳ ، ۰۸:۰۳ وحید داودپور
خیلی مفید بود. ممنون ازتون.

سلام میخواستم بدونم در امتحان 2  شنبه (22/2/93)  فرزانگان 4 آرایه ها هم هست؟

*لطفا جواب را سریع تر بدید با تشکر*

سلام ممنون از جواب تون   :(
پاسخ:
متاسفانه دیر سوالت رو دیدم... تا الان دیگه خودت متوجه شدی ... 
ba salam farda emtehan sakhte?
khaaaaaaaaanoooooooooooooooom farda arayeham hassssssssssssssssss ????????:(((((((((((((((((((

۲۲ ارديبهشت ۹۳ ، ۲۱:۰۲ یکی از بچه های فرزانگان 4
سلام خانم نازاری
من یکی از بچه های فرزانگان 4 اولم  راستش از بچه ها شنیدم شما میخوایین از مدرسه ما برین
می خواستم خواهش کنم بمونین ما ارزومونه معلم باهوش ونخبه ای مثل شما داشته باشیم
اگه ما شما رو رنجوندیم خواستم از طرف همه بچه ها از شما عذر خواهی کنم
پاسخ:
به هیچ وجه دانش آموزان منو نرجوندند و رفتن من اصلا بخاطر بچه ها نیست. اتفاقا موندنم امسال فقط بخاطر بچه ها بود! :)
خانم ایکاش بمونین ماخیلی شما رو دوستداریم
اگه برین خیلی دلمون براتون تنگ میشه

سلام

میشه برنامه

       *

     ***

   *****

     ***

      *

 forرو با حلقه

 

کامل برام  بنویسید

ممنون میشم

      

با عرض سلام...
لطفا راهنمایی  کنید.
*
**
***

 و
این برنامشو ببنویسید با توضیحات (خیلی ممنون)
           +
         *+*
       *++*
     **+**

مچکککککککککککرم واقعا این برنامه رونیاز داشتم ممنون که درسایت تون گذاشتین
برنامه ای بنویسد که عددnرقم را از ورودی بگیرد وتوسط حلقه forبرعکس ان را بنویسد

سلام 

جواب برنامه های بنویسید

a^b

a*b

a/b 

سلام میشه برنامه شکت زیر واسم بنویسید * * * * *
* * * *
* *
* * * *
* * * * *
lمرسی
سلام میشه اینو برام حلش کنید
برنامه ای بنویسید که یک تاس را 6000 بار پرتاب کرده و توسط آرایه ای تعداد دفعات آمدن هر وجه را حساب کند 
برنامه ای بنویسید ک چاپ کند برنامه زیر را
1 2 3 4
1 2 3
1 2
 1
با عرض سلام و خسته نباشید.برنامتون یه اشکال کوچیک داره.قبل getch() باید یک _ بذارید و هدر فایل conio.h رو هم اضافه کنید.
سلام من میخوام برنامه هشتم رو به زبانc#بنویسم اونجایی کهcout<end1هست چی باید بنویسم؟end1چیه؟؟؟؟
عالی بود مرسی از کار خوبتون و توضیح جالبتون 

ارسال نظر

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