اطلاعیه

Collapse
No announcement yet.

الگوریتم و برنامه نویسی

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    الگوریتم و برنامه نویسی


    ابتدا به نکاتی در مورد مفهوم الگوریتم اشاره می کنم و در نهایت به بیان روش های نوشتن االگوریتم ها ی مختلف می پردازم.


    قبل از هر چیز برای نوشتن یک برنامه خوب باید بتوانیم راه حل مسئله را بیان کنیم یعنی هدفمان را از نوشتن برنامه مشخص نمائیم.


    با نوشتن الگوریتم ها و فلوچارت ها این کار صورت پذیر می باشد . در واقع الگوریتم ها بیان گر راه حل مسئله با جزئیات کامل و مرتب و با یک زبان قابل فهم است. در ابتدای هر الگوریتم کلمه شروع و در پایان آن کلمه پایان را مینویسیم و در واقع محل شروع و پایان برنامه را مشخص میکنیم. برای درک بهتر موضوع به مثال زیر توجه کنید:


    مثال


    می خواهیم الگوریتمی بنویسیم که دو عدد را از ورودی بگیرد و معدل آنرا حساب کند:


    1- شروع


    2- دو عدد را بگیرد


    3- دو عدد را با هم جمع کن


    4- حاصل تقسیم را چاپ کن


    5- پایان


    بصورت زیر نین می توان نوشت:



    1- شروع


    2- دو عدد A , B را بگیر


    3- Sum = A+B


    4- M = sum/2


    5- مقدار M را چاپ کن .


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




    Reveng will surely come... Your hard time are ahead
    // - - - - - - - - - -
    برگه های کتاب به منزله بالهایی هستند که روح ما را به عالم نور و روشنایی پرواز میآ*دهند. فرانسوا ولتر
    // - - - - - - - - - -
    اگر برای هرچیزی به غیر از علاقه ی شدیدتان به الکترونیک تلاش کنید ، خیلی دور نخواهید رفت / خیلی هم خوب نخواهید شد.
    // - - - - - - - - - -

    #2
    پاسخ : الگوریتم و برنامه نویسی

    استفاده از شرط در الگوریتم

    به دو صورت می توانیم در نوشتن الگوریتم ها جملات شرطی قرار دهیم.



    1-

    اگر شرط آنگاه دستور درصورت درست بودن شرط

    و اگر نه دستور درصورت غلط بودن شرط

    2-

    اگر شرط آنگاه دستور درصورت درست بودن شرط

    به مثال زیر توجه کنید:

    میخواهیم الگوریتمی بنویسیم که دو عدد را بگیرد و عدد بزرگتر را چاپ نماید:


    1- شروع


    2- A , B را بگیر


    3- M = A


    4- اگر M > A آنگاه= B M


    5-M را چاپ کن

    :biggrin:
    Reveng will surely come... Your hard time are ahead
    // - - - - - - - - - -
    برگه های کتاب به منزله بالهایی هستند که روح ما را به عالم نور و روشنایی پرواز میآ*دهند. فرانسوا ولتر
    // - - - - - - - - - -
    اگر برای هرچیزی به غیر از علاقه ی شدیدتان به الکترونیک تلاش کنید ، خیلی دور نخواهید رفت / خیلی هم خوب نخواهید شد.
    // - - - - - - - - - -

    دیدگاه


      #3
      پاسخ : الگوریتم و برنامه نویسی

      Trece کردن

      تست کردن الگوریتم یا فلوچارت و یا برنامه را Trace می گویند.

      این عمل مشخص میکند که با برنامه ای که نوشته ایم جواب دلخواه خود را می گیریم؟

      برای این منظور به دلخواه اعدادی را به متغیر های موجود در الگوریتم نسبت می دهیم سپس خط به خط برنامه را اجرا کرده و در نهایت اگر به جواب دلخواه رسیدیم برنامه درست و اگر نه برنامه اشکال دارد

      مثال

      می خواهیم ببینیم الگوریتم زیر چه عملی را انجام می دهد


      1- شروع

      2- A , B را بگیر

      3- M = A

      4- اگر M > A آنگاه= B M

      5-M را چاپ کن


      در برنامه بالا A=2 و B=3 بصورت تصادفی در نظر گرفته می شود و حاصل M برابر 3 خواهد بود بنابر این این الگوریتم طریقه ی چاپ عدد بزرگتر را بیان می کند

      با چند بار Trace کردن به صحت این موضوع پی خواهید برد


      تا اینجا با نوشتن الگوریتم ها و شرط و هم چنین تست برنامه آشنا سدید اکنون می خواهم نمونه هائی از انواع الگوریتم را بیان کنم


      الگوریتمی که اعداد زوج را چاپ کند:

      1- شروع

      2- C = 10

      3- C را چاپ کن

      4- C = C +2

      5- اگر C >= 98 آنگاه برو به خط 2

      6- پایان

      الگوریتمی که اعداد فرد 3 رقمی را چاپ کند

      1- شروع

      2- C = 101

      3- C را چاپ کن

      4- C = C + 2

      5- اگر C < 1000 آنگاه برو به خط 2

      6- پایان

      الگوریتمی که اعداد مضرب بین 22 تا 637 را محاسبه و چاپ کند

      1- شروع

      2- C = 25

      3- C را چاپ کن

      4- C = C + 25

      5- اگر C < 637 آنگاه برو به خط 2

      6- پایان
      Reveng will surely come... Your hard time are ahead
      // - - - - - - - - - -
      برگه های کتاب به منزله بالهایی هستند که روح ما را به عالم نور و روشنایی پرواز میآ*دهند. فرانسوا ولتر
      // - - - - - - - - - -
      اگر برای هرچیزی به غیر از علاقه ی شدیدتان به الکترونیک تلاش کنید ، خیلی دور نخواهید رفت / خیلی هم خوب نخواهید شد.
      // - - - - - - - - - -

      دیدگاه


        #4
        پاسخ : الگوریتم و برنامه نویسی

        نمونه مسایل الگوریتم برای برنامه نویسی
        1- لگوریتمی بنویسیدکه سه عددرا بگیردوعددبزرگترراچاپ نماید؟

        2- لگوریتمی بنویسیدکه دوعددرادردومتغیردریافت نمایدوبدون استفاده ازهرمتغیرکمکی مقادیردومتغیرراجابجا نماید

        3- لگوریتمی بنویسیدکه اعدادزوج دورقمی راچاپ نماید؟

        4- لگوریتمی بنویسیدکه مجموع اعدادفردسه رقمی را محاسبه وچاپ نماید؟

        5- لگوریتمی بنویسیدکه سه عددرا بگیردومشخص نمایدکه آیا این سه عدد می تواننداضلاع یک مثلث باشند(شرط اینکه 6- سه عدداضلاع مثلث باشند این است که مجموع هردوضلع ازضلع دیگربزرگترباشد)؟

        6- لگوریتمی بنویسید که یک عددرابگیردومشخص نمایدکه آیا این عدد اول است یا خیر؟

        7- لگوریتمی بنویسید که که یک عددرا بگیردومقسوم علیه های آن را چاپ نماید؟

        8- لگوریتمی بنویسیدکه دوعددرا بگیردومقسوم علیه های مشترک آنها را چاپ نماید؟

        9- لگوریتمی بنویسیدکه یک عددرا بگیردوارقام آن را تک تک چاپ نماید؟

        10-لگوریتمی بنویسیدکه یک عددرا بگیردومجموع ارقام آن را چاپ نماید؟

        11- لگوریتمی بنویسیدکه یک عددرا بگیردوتعدادارقام آن را چاپ نماید؟

        12- لگوریتمی بنویسیدکه یک عددرا بگیردومغلوب آن را محاسبه وچاپ نماید؟

        13-لگوریتمی بنویسیدکه تعدادی عددرابگیرد ومجموع آنها را محاسبه وچاپ نماید؟(شرط پایان، ورود عددصفراست)

        14- لگوریتمی بنویسیدکه تعدادی عددرا بگیردومعدل آنها را محاسبه وچاپ نماید؟(شرط پایان، ورودعددصفراست)

        15- لگوریتمی بنویسیدکه اعدادمضرب2 بین 30 تا 128 را محاسبه وچاپ نماید؟

        16- لگوریتمی بنویسیدکه مجموع اعدادمضرب سه بین 20 تا 90 را محاسبه وچاپ نماید؟

        17- لگوریتمی بنویسیدکه معدل اعدادمضرب سه بین 20 تا 90 را محاسبه وچاپ نماید؟

        18- لگوریتمی بنویسیدکه اعداداول بین 10 تا 110 را محاسبه وچاپ نماید؟

        19- لگوریتمی بنویسیدکه مجموع اعداداول بین 30 تا 180 را محاسبه وچاپ نماید؟

        20- الگوریتمی بنویسیدکه معدل اعداداول بین 30 تا 200 را محاسبه وچاپ نماید؟

        Reveng will surely come... Your hard time are ahead
        // - - - - - - - - - -
        برگه های کتاب به منزله بالهایی هستند که روح ما را به عالم نور و روشنایی پرواز میآ*دهند. فرانسوا ولتر
        // - - - - - - - - - -
        اگر برای هرچیزی به غیر از علاقه ی شدیدتان به الکترونیک تلاش کنید ، خیلی دور نخواهید رفت / خیلی هم خوب نخواهید شد.
        // - - - - - - - - - -

        دیدگاه


          #5
          پاسخ : الگوریتم و برنامه نویسی

          حل الگوریتم های داده شده به زبان QBASIC

          1 . الگوریتمی بنویسیدکه سه عددرا بگیردوعددبزرگترراچاپ نماید؟

          Input a,b,c

          If a>=b and a>=c then print a

          If b>=a and b>=c then print b

          If c>=a and c>=b then print c

          End

          2. الگوریتمی بنویسیدکه دوعددرا در دومتغیردریافت نمایدوبدون استفاده ازهرمتغیرکمکی مقادیردومتغیرراجابجا نماید

          Input a,b

          A=a+b

          B=a-b

          A=a-b

          Print a,b

          End

          3 . الگوریتمی بنویسیدکه اعدادزوج دورقمی راچاپ نماید؟

          For i=10 to 98 step 2

          Print i

          Next i

          End

          4 . الگوریتمی بنویسیدکه مجموع اعدادفردسه رقمی را محاسبه وچاپ نماید؟

          sum=0

          for i=101 to 999 step 2

          sum=sum+i

          next i

          print sum

          End

          5 . الگوریتمی بنویسیدکه سه عددرا بگیردومشخص نمایدکه آیا این سه عدد می تواننداضلاع یک مثلث باشند(شرط اینکه سه عدداضلاع مثلث باشند این است که مجموع هردوضلع ازضلع دیگربزرگترباشد)؟

          Input a,b,c

          If (a

          End

          6 . الگوریتمی بنویسید که یک عددرابگیردومشخص نمایدکه آیا این عدد اول است یا خیر؟

          Input a

          If a=2 then goto 5

          For i=2 to a-1

          R=a mod i

          If r=0 then

          print “aval nist”

          goto 10

          endif

          next i

          5 print “aval ast”

          10 end

          7 .الگوریتمی بنویسید که که یک عددرا بگیردومقسوم علیه های آن را چاپ نماید؟

          Input a

          For i=1 to a

          R= a mod i

          If r=0 then print i

          Next i

          End

          8.الگوریتمی بنویسیدکه دوعددرا بگیردومقسوم علیه های مشترک آنها را چاپ نماید؟

          Input a,b

          For i= 1 to a

          R1=a mod i

          R2=b mod i

          If r1=0 and r2=0 then print i

          Next i

          End

          9 .الگوریتمی بنویسیدکه یک عددرا بگیردوارقام آن را تک تک چاپ نماید؟

          Input a

          While a<>0

          R= a mod 10

          Print r

          A= a\10

          Wend

          End

          10 .الگوریتمی بنویسیدکه یک عددرا بگیردومجموع ارقام آن را چاپ نماید؟

          Input a

          Sum=0

          While a<>0

          R= a mod 10

          Sum=sum+r

          A= a\10

          Wend

          Print sum

          End

          11 .الگوریتمی بنویسیدکه یک عددرا بگیردوتعدادارقام آن را چاپ نماید؟

          Input a

          i=0

          While a<>0

          I=i+1

          A= a\10

          Wend

          Print i

          End

          12 .الگوریتمی بنویسیدکه یک عددرا بگیردومغلوب آن را محاسبه وچاپ نماید؟

          Input a

          Sum=0

          While a<>0

          R= a mod 10

          Sum=(sum*10)+r

          A= a\10

          Wend

          Print sum

          End

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

          Input a

          Sum=0

          While a<>0

          Sum=sum+a

          Input a

          Wend

          Print sum

          End

          14.الگوریتمی بنویسیدکه تعدادی عددرا بگیردومعدل آنها را محاسبه وچاپ نماید؟(شرط پایان، ورودعددصفراست)

          Input a

          Sum=0

          I=0

          While a<>0

          Sum=sum+a

          I=i+1

          Input a

          Wend

          M=(sum/i)

          Print m

          End

          15.الگوریتمی بنویسیدکه اعدادمضرب2 بین 30 تا 128 را محاسبه وچاپ نماید؟

          For i=32 to 128 step 2

          Print i

          Next i

          End

          16.الگوریتمی بنویسیدکه مجموع اعدادمضرب سه بین 20 تا 90 را محاسبه وچاپ نماید؟

          Sum=0

          For i=21 to 90 step 3

          Sum=sum+i

          Next i

          Print sum

          End

          17.الگوریتمی بنویسیدکه معدل اعدادمضرب سه بین 20 تا 90 را محاسبه وچاپ نماید؟

          Sum=0

          C=0

          For i=21 to 90 step 3

          Sum=sum+i

          I=i+1

          Next i

          M=sum/i

          Print m

          End

          18.الگوریتمی بنویسیدکه اعداداول بین 10 تا 110 را محاسبه وچاپ نماید؟

          For c=11 to 109

          For i=2 to c-1

          R=c mod i

          If r=0 then goto 10

          next i

          print c

          10 next c

          End

          19.الگوریتمی بنویسیدکه مجموع اعداداول بین 30 تا 180 را محاسبه وچاپ نماید؟

          Sum=0

          For c=31 to 179

          For i=2 to c-1

          R=c mod i

          If r=0 then goto 10

          next i

          sum=sum+c

          10 next c

          Print sum

          End

          20.الگوریتمی بنویسیدکه معدل اعداداول بین 30 تا 200 را محاسبه وچاپ نماید؟

          Sum=0

          L=0

          For c=31 to 179

          For i=2 to c-1

          R=c mod i

          If r=0 then goto 10

          next i

          sum=sum+c

          l=l+1

          10 next c

          M=sum/l

          Print m

          End

          Reveng will surely come... Your hard time are ahead
          // - - - - - - - - - -
          برگه های کتاب به منزله بالهایی هستند که روح ما را به عالم نور و روشنایی پرواز میآ*دهند. فرانسوا ولتر
          // - - - - - - - - - -
          اگر برای هرچیزی به غیر از علاقه ی شدیدتان به الکترونیک تلاش کنید ، خیلی دور نخواهید رفت / خیلی هم خوب نخواهید شد.
          // - - - - - - - - - -

          دیدگاه


            #6
            پاسخ : الگوریتم و برنامه نویسی

            امیدوارم که مفید واقع بشه :nice:
            Reveng will surely come... Your hard time are ahead
            // - - - - - - - - - -
            برگه های کتاب به منزله بالهایی هستند که روح ما را به عالم نور و روشنایی پرواز میآ*دهند. فرانسوا ولتر
            // - - - - - - - - - -
            اگر برای هرچیزی به غیر از علاقه ی شدیدتان به الکترونیک تلاش کنید ، خیلی دور نخواهید رفت / خیلی هم خوب نخواهید شد.
            // - - - - - - - - - -

            دیدگاه


              #7
              پاسخ : الگوریتم و برنامه نویسی

              بچه ها لطف کنید اگر سوالی در مورد الگوریتم هست توی همین تاپیک مطرح کنید

              ممنونم :rolleyes:
              Reveng will surely come... Your hard time are ahead
              // - - - - - - - - - -
              برگه های کتاب به منزله بالهایی هستند که روح ما را به عالم نور و روشنایی پرواز میآ*دهند. فرانسوا ولتر
              // - - - - - - - - - -
              اگر برای هرچیزی به غیر از علاقه ی شدیدتان به الکترونیک تلاش کنید ، خیلی دور نخواهید رفت / خیلی هم خوب نخواهید شد.
              // - - - - - - - - - -

              دیدگاه


                #8
                پاسخ : الگوریتم و برنامه نویسی

                دوستان من یه برنامه نوشته بودم که فلوچارت طراحی میکنه و اجرا میکنه...

                گفتم شاید اینجا بدرد بخوره

                لینک دانلود:
                http://professional.programming.goog...artSetupXP.exe

                اگه بدرد خورد نظری هم در موردش بدین

                ممنونم
                http://ceworld.ir/images/ads/dornablogcom_ads.gif

                دیدگاه


                  #9
                  پاسخ : الگوریتم و برنامه نویسی

                  بدکی نبود ممنون
                  Reveng will surely come... Your hard time are ahead
                  // - - - - - - - - - -
                  برگه های کتاب به منزله بالهایی هستند که روح ما را به عالم نور و روشنایی پرواز میآ*دهند. فرانسوا ولتر
                  // - - - - - - - - - -
                  اگر برای هرچیزی به غیر از علاقه ی شدیدتان به الکترونیک تلاش کنید ، خیلی دور نخواهید رفت / خیلی هم خوب نخواهید شد.
                  // - - - - - - - - - -

                  دیدگاه

                  لطفا صبر کنید...
                  X