قرآن در کامپیوتر

دانلود نرم افزار های قرآنی یه صورت رایگان

قرآن در کامپیوتر

دانلود نرم افزار های قرآنی یه صورت رایگان

Algorithm

Algorithm

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

الگوریتم به مجموعه دستورالعملهایی گفته می شود که مراحل حل یک مسئله و یا مرحل مختلف انجام کاری را با یک زبان واضح ، روشن و بدون ابهام وپیچیدگی با جزئیات کافی بیان کرده و در آن شروع و پایان عملیات و همچنین ، ترتیب اجرای دستورالعمل ها کاملا مشخص شده باشد . مثال ( الگوریتم محاسبه مجموع 2 عدد 10 و 20 )

 

1.       شروع

2.       10------>  A

3.       20------>  B 

4.       A + B  ------<  C

5.       محتویات  C  را چاپ کن

6.       پایان

 

اجزای اصلی  الگوریتم :

نقطه شروع

دستورالعمل ها ( جملات اجرائی )

جملات معمولی  و محاوره ای

گزاره ها و روابط ریاضی

اشکال هندسی استاندارد

نقطه پایان

 

متغییر  : خانه ای از حافظه که داده های ورودی ، محاسباتی و خروجی را درخود نگه می دارد .

 

انواع جملات :

شرطی : گاهی اوقات نیاز به تصمیم گیرهای خاصی است . ( اگر )

محاسباتی : محاسبات ریاضی و ... 

ثابت ها

عملگرها

توضیحی : جهت افزایش آگاهی اجرای الگوریتم .

ورودی  و  خروجی : داه های ورودی  و یا نتیجه محاسبات ( خروجی ) .

 

حلقه های تکرار ( Loop ) :

اجزاء حلقه های تکرار :

شمارنده  حلقه : جهت کنترل تعداد دفعات تکرار .

بدنه حلقه : جملات و دستورالعمل هایی که با توجه به صورت مسئله انجام شود .

گام افزایش : پس از اجرای هرمرحله یکی به شمارنده اضافه میکند .

شرط پایانی : جهت توقف پس از انجام مراحل تکرار .

مثال : الگوریتم چاپ عددهای متوالی تا 20

1.       شروع

2.       1------>  I

3.       I   را چاپ کن

4.       I + 1  ------I <

5.       اگر I<= 20   آنگاه  برگرد به خط  3

6.       پایان

الگوریتمی بنویسید که شعاع دایره را خوانده  سپس محیط و مساحت دایره را محاسبه و چاپ کند . ( ?= 14/3 )

1.       شروع

2.       R  را دریافت کن

3.       R*R*3.14   ------<  S

4.       2*R*3.14   ------<  P

5.       S  و P  را چاپ کن

6.       پایان

مسئله های زیر را حل کنید :

1-       مقسوم علیه های عدد ورودی N  رامحاسبه وچاپ کند .

2-       مجموع مقسوم علیه های عدد ورودی N  رامحاسبه وچاپ کند .

3-       تعداد مقسوم علیه های عدد ورودی N  رامحاسبه وچاپ کند .

4-       عدد های اول ک.چکتر از 100  را چاپ کند .

5-       عددی را از ورودی گرفته در صورتی که عدد ورودی اول باشد آنرا چاپ کند .

6-    عددی را از ورودی گرفته در صورتی که عدد ورودی تام باشد آنرا چاپ کند . ( عددی که مجموع مقسوم علیه های بجز خودش با خودش برابر باشد تام گویند مثل عدد 3+2+1=6 )

7-    حقوق کارمندی W  ریال است . هرماه 5/8  درصد حقوق او بابت بازنشستگی و 5 درصد آن بابت مالیات کسر می شود . الگوریتمی بنویسید که پس ار کسورت دریافتی ماهانه این کارمند را چاپ کند.

8-       الگوریتمی بنویسید که میانگین هندسی دو عدد مثبت ورودی را چاپ کند . ( میانگین هندسی دو عدد مثبت جذر حاصلضرب آنهاست )

9-       الگوریتم میانگین هندسی سه عدد را بنویسید .

10-   الگوریتمی بنویسید که Max  10  عدد را همراه با شماره ردیف عدد را چاپ کند .( Max  چندمین عدد است )

11-  الگوریتمی بنویسید که معدل کل 13 درس دانش آموزی را محاسبه و چاپ کند. ( هر درس دارای سه نمرات ثلث اول و دوم باضریب یک ثلث  سوم با ضریب دو )

12-   عددهای تام کوچکتر از 5000  را چاپ کند .

13-   عددهای اول بین 100  تا  350  را چاپ کند .

14-  فرض کنید در N امین روز سال هستیم ، الگوریتمی بنویسید که تاریخ روز را معین کند . ( مثلا ، اگر در روز 64 سال باشیم ، تاریخ دوم خردادماه است  یا 2/3  ، هدف تعیین شمارة  روز و ماه مربوطه است )

15-  روز اول سال ، چهارشبه است . الگوریتمی بنویسید که معین کند روز N ام سال چه روزی از هفته است . ( مثلا روز چهاردهم سه شنبه و روز صدوچهل و سوم جمعه است ).

16-   عدد دو رقمی  N مفروض است . الگوریتمی بنویسید که مجموع ارقام عدد N  را بدست آورد .

17-   الگوریتمی بنویسید که عدد دورقمی N  را گرفته سپس مقلوب آنرا چاپ کند .( عدد 27؛ مقلوب 72)

18-   عدد طبیعی N  مفروض است  معین کنید  N  چند رقم دارد.

19-   الگوریتم فاکتوریل عدد ورودی N . ( N!  )

20-  الگوریتمی بنویسید که میانگین 8 عدد داده شده  4/8 ، 9 ، 4 ، 1 ، 9/3 ، 6/7 ، 4/3 ،2  را حساب کرده معین کند چندتا از این اعداد از میانگین بشتر است .

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

22-  الگوریتمی بنویسید که تعیین کند یک سکه 100  ریالی را به چند طریق می توان با سکه های 20 ، 10 و 5 ریالی خرد کرد . ( لازم است که از تمام سکه ها استفاده شود ).

 |+| نوشته شده در  پنجشنبه یازدهم اسفند 1384ساعت 22:31  توسط داود بیگدلی  |  آرشیو نظرات
برنامه نویسی به زبان QBASIC


   
Qbasic

BASIC  مخفف کلمات ( Beginner'S   All – Purpose Symbolic Instruction Code    به معنی کد حاوی دستورات نمادین همه منظوره مخصوص نوآموزان ) میباشد . این زبان درکالج Dartmouth بین سالهای 1963 و 1964 توسط پروقسور John Kemeny  و  Thomas Kurts به عنوان یک زبان آموزشی ایجادگشت .علت اصلی ایجاد این زبان را می توان در پیچیدگی های زبان های متداول از قبیل Fortran  و  Assembly  وغیره جستجو کرد .

 QBASIC  مفسر بیسیکی است که به همراه سیستم عامل MS-DOS نگارش 5 و بالاتر ارائه گردید. شرکت مایکروسافت تولید کننده QBASIC ، با تکمیل این محصول ، نگارش های دیگری از بیسیک را روانه بازار کرده است که نمونه دیگری از آنها Quick Basic می باشد .

Quick Basic : نرم افزاری است ک هفایل های بیسیک را به فایل های قابل اجرا در محیط سیستم عامل تبدیل می کند .

دستورات QBASIC  :

CLS : این دستور زمانی بکار می رود که نیاز باشد صفحه نمایش پاک گردد . معمولا در ابتدای هر برنامه نوشته می شود .

 

LET : برای انجام کارهای جایگزینی و محاسباتی

 

MOD : باقیمانده تقسیم   بصورت     10   mod  2   جواب  صفر است

 

( Back Slash ) علامت کسر وارونه :  تقسیم جزء صحیح  بصورت    10     3  که جواب 3 می شود

 

INPUT : برای ورودی  ( متغییر عددی  مانند x , a , b ,n , m   ,Max , Min , Sum,  و ... . متغییر نشانه ای( جلوی متغییر عددی علامت $ اضافه می شود مانند a$ , b$ , Name$ , City$  )

 

 GOTO n:برو به خط n در اول خطی که قرار است دستور از آنجا اجرا شود عدد دلخواه n را مینویسیم 

 

PRINT : دستور خروجی برای به نمایش در آوردن نتیجه برنامه ( همانند متغییر عددی با این تفاوت که در جلوی متغییر علامت $ باشد ).

 

برنامه مساحت مستطیل

Cls

Input  a , b

Let  S= a * b

Print  S

End

برنامه تبدیل Ngr  (وزن یک جسم ) به Kg  و Gr

Cls

Input  Ngr

Let  Kg = Ngr    1000

Let  Gr = Ngr  Mod  1000

Print  Kg  ,  Gr

End

برنامه مجموع ارقام عدد طبیعی دو رقمی N 

Cls

Input   N

Let  D2 = N 10

Let  D1 = N  Mod  10

Let  SD = D1 + D2

Print  SD

End

برنامه چاپ نام ورودی 

Cls

Input  Name$

Print  Name$

End

 

 

 

IF در بیسیک چند نوع  دستور شرطی از نوع IF داریم :

شرط : یک عبارت منطقی است که ارزش آن یا درست  یا نادرست باشد . اگر شرط برقرار باشد ( یعنی ارزش عبارت منطقی بعد از IF درست باشد ) ؛ دستور(ات) بعد از Then اجرا می شود  والا  دستور بعد از خط Then  …  Then  …  اجرا می شود .

عبارات منطقی : در دستور شرطی بعد از کلمه IF یک عبارت منطقی است .که دارای دو ارزش  درست  یا  نادرست است . عبارات منطقی دو گونه است  1- رابط های منطقی (  AND  -  OR  -  NOT )   2- عملگرهای رابطه ای  ( =   ,  <  ,  >  , <=  ,  >=  ,  < >  )  

 

IF  …  Then  …  ( در یک خط ): صورت کلی آن          دستور(ات )  Then  شرط IF  

برنامه Max  بین دو عدد

Cls

Input  a  ,  b

Let  Max =  a

If    b  >  Max    Then     Let  max = b

Print  Max

End

 

 

IF  بلوکی  ( بیش از یک خط ) : صورت کلی  آن                                       Then  شرط IF  

  دستور   (1) 

دستور   (2)

...   ....   ...

دستور  (...)

END IF

برنامه چاپ  زوج ( EVEN ) یا فرد ( ODD ) ؛ عدد ورودی N

Cls

Input  N

If     N / 2  =  Int ( N / 2 )     Then

    Print  N ;  “ Is EVEN “

    End

End IF

Print   N ; “ Is ODD “

End

 

 

IF  …   Then  …   ELSE  ( یک خط و بیش از یک خط ) در صورتی که شرط برقرار باشد دستور(ات) بعد از Then اجرا می شود . والا دستور(ات) بعد از Else  اجرا خواهد شد . اگر نتوان دستور فوق را دریک خط نوشت ؛ باید از IF بلوکی استفاده کرد.

     

   دستور(ات)  Else  دستور(ات)  Then  شرط IF

 

                                      Then  شرط IF  

  دستور   (1) 

دستور   (2)

...   ....   ...

دستور  (...)

ELSE

  دستور   (1) 

دستور   (2)

...   ....   ...

دستور  (...)

END IF

در یک موسسه ؛ مالیات حقوق کارمندان را به قرار زیر محاسبه می شود .

الف : تا 50000  ریال  معاف از مالیات

ب : از  50001    تا  70000  ریال چهار درصد مازاد  50000

ج : از  70001  به بالا   ده درصد

Cls

Input   W

If  W  < =  50000   Then

     Print  “ Tax = 0  Rial ‘

     End

End If

If   W =  70000  Then

      Let   Tax =  4  *  ( W – 50000 )  /  100

Else

      Let  Tax  =  800  +  10  * ( W  -  70000 )

End If

Print  “ Tax = “ ;  Tax  ;  “ Rials “

End

 

 

 

 

فرایندهای تکراری ( حلقه تکرار )

اجرای تعدادی دستور به دفعات معین ؛ یا تا برقراری شرایطی جهت رسیدن به جواب مسئله است . دستوراتی که به دفعات تکرار می شود ؛ یک حلقه تکرار  راتشکیل می دهند .

FOR   -   NEXT  : در صورتی استفاده می شود که دفعات تکرار معین و یا بتوان فرایند تکرار را با متغییری کنترل کرد .

 

چاپ اعدا متوالی تا 20

Cls

For  I=1   To   20

         Print  I ;

Next  I

End

 

STEP  : در حلقه For  - Next   قدمهای تکرار یکی ؛ یکی رو به جلو تعریف شده در بقیه حالت ها چه مثبت چه منفی باید در مقابل     For  -  To     Step  معلوم گردد .

چاپ نزولی از 20  تا  1 

Cls

For  I =  20    to   1  Step  - 1

        Print  I

Next  I

End

 

با توجه به دانسته های بالا برای مسئله های داده شده در بخش الگوریتم برنامه بنویسید . در صورتیکه نرم افزار QBASIC را در کامپیوترتان ندارید در بخش نظزات وبلاگ آدرس  E-Mail خودتان ار بنویسید تا برایتان نرم افزار را ارسال کنم . هرچند این نرم افزار برای محیط DOS تعریف شده اما بدون هیچگونه مشکلی در محیط ویندوز XP کار می کند . جهت اطلاع می گویم برای مشاهده تمام صفحه محیط QBASIC از کلید ترکیبی Alt  +  Enter  استفاده کنید . برای برگشت هم از همان کلید ترکیبی استفاده کنید .

چند نمونه برنامه

برنامه چاپ زوج  یا  فرد بودن عدد ورودی

Cls

Input  N

Let  r = N  Mod  2

If  r = 0  Then  Print  N ; " is Even " Else  Print  N ; " is Odd "

End

 

 

 

 

برنامه تبدیل ثانیه به ساعت ؛ دقیقه و ثانیه

Cls

Input  S

Let H = S 3600

Let  S = S Mod 3600

Let  M = S 60

Let  Se = S  Mod 60

Print  H , M , Se

End

 

 

 

 

چاپ مقسوم علیه های عدد 12

Cls

Let  I = 1

8 Let  r = 12  Mod  I

If  r = 0  Then  Print  I

Let I = I + 1

If  I  < = 12  Then  Goto 8

End

 

 

چاپ مقسوم علیه های عدد 12 بکمک دستور For – Next

Cls

For  I = 1    To   12

      R = 12  Mod  I

      If  r = 0  Then   Print  I

Next  I

End

 

 

چاپ تعداد مقسوم علیه های عدد 12

Cls

Let  K = 0

For  I = 1      To    12

      R = 12     Mod   I

      If  r = 0      Then     Let   K =  K = 1

Next  I

Print  K

End

 

چاپ مجموع مقسوم علیه های عدد 12

Cls

Let  S = 0

For  I = 1      To      12

      R = 12     Mod    I

       R = 0    Then    Let  S = S + I

Next  I

Print   S

End

 

 

 

چاپ مقسوم علیه های عدد ورودی

Cls

Input  N

For  I = 1       To      N

      R = N   Mod   I

      If  r = 0     Then     Print I

Next  I

End

 

 

چاپ عدد ورودی به شرط اول بودن عدد ( به کمک  تعداد مقسوم علیه )

Cls

Let  K = 0

Input  N

For  I = 1      To        N

      R = N     Mod    I

      If  r = 0      Then     Let  K = K + 1

Next  I

If  K = 2    Then    Print  N ; " is Aval "

End

 

 

 

چاپ عدد ورودی به شرط اول بودن عدد ( به کمک  مجموع مقسوم علیه )

Cls

Let  S =0

Input  N

For  I = 1       To      N

      R = N    Mod     I

      If   r = 0     Then     Let  S = S + I

Next  I

If  S = N + 1      Then    Print N ; " is Aval "

End

 

 

چاپ عدد ورودی به شرط  تام بودن عدد

Cls

Let  S = 0

Input  N

For  I = 1       To         N/2

       R =  N     Mod    I

       If  r = 0      Then    S = S + I

Next  I

If  S = N       Then     Print  N ; " is  TAM "

End

 

 

 

چاپ عددهای زوج  بین دو عدد  ورودی به شرط اینکه عدد اول از دوم کوچکتر باشد( معلوم نیست عدد اول زوج باشد )

Cls

Input  m , n

Let  r = m    Mod   2

If  r > 0     Then    Let  m = m + 1

7 Print  m

Let m = m + 2

If  m < = N    Then    Goto  7

End

 

 

 

 

Cls

Input  N

Let  r = N  Mod  7

For  I = 0      To     5

      If  r = I      Then    Print  I ; " Shanbe"  : End

Next  I

Print  " Joomae "

End

 

 

چاپ تعداد ارقام عدد ورودی

Cls

Let K = 0

Input  N

3 Let  M = N 10

If M > 0  Then    Let  K = K + 1

Let  N = M

If  N > 0  Then    Goto  3

Print K

End

 

 

 

چاپ مجموع  ارقام عدد ورودی

Cls

Let S = 0

Input  N

3 Let R = N  Mod   10

Let  M = N 10

If M > 0  Then    Let  S = S + r

Let  N = M

If  N > 0  Then    Goto  3

Print  S

End

 

 

 

تولید عددهای فرد  دو رقمی

Cls

For  I = 1      To    9     Step 2

      For K = 1       To     9     Step 2

             Sum = I * 10 + K

             Prin  Sum

       Next k

Next I

End

 

 

 

 

تعداد دفعات ممکن خرد  کردن  اسکناس  2000  ریالی  بکمک سکه های 50  ؛ 100  و 250  ریالی به شرط اینکه از هر سکه حداقل یکی باشد .

Cls

K = 0

For P = 1    To     33

    For  S = 1    To     17

            For D = 1    To    7

                  Let  sum = P * 50  +  S * 100  +  d * 250

                   If  Sum = 2000     Then    k = k + 1

            Next D

     Next S

Next P

Print K

End

 

 دریافت نرم افزار QBASIC

http://www.4shared.com/file/942998/fb41f2db/Qprog.html


 

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد