تبليغاتX
آشنائی با مبانی کامپیوتر - بيگدلي

آشنائی با مبانی کامپیوتر - بيگدلي

آشنائي با مفاهيم مباني كامپيوتر

سال نو مبارک

سالی خوب همراه با سلامتی برای همه آرزومندم

.سال نو مبارک

+ نوشته شده در  دوشنبه بیست و نهم اسفند 1384ساعت 23:53  توسط داود بيگدلي  | 

نو روز عید باستانی

 

هر روزتان نو روز ؛ نوروزتان پیروز

نوروزعید باستانی

 

نوروز جشن شکوهمند ايران باستان،گوياي پيشينه تابناک ميهن ما و جلوه اي مهم از فرهنگ غني قوم ايراني ست.نوروز که قرن هاي دراز است بر همه جشن هاي جهان فخر مي فروشد از آن روست که يک قرارداد مصنوعي اجتماعي و يا يک جشن تحميلي سياسي نيست ،جشن جهان است و روز شادماني زمين ،اسمان و آفتاب و جوش شگفتيها و شور زدنها و سرشار از هيجان هراغاز.خاطره خويشاوندي انسان با طبيعت است.عظمت و شکوه خيال انگيز اين جشن ملي پرنده فکر ايراني ميهن پرست و علاقه مند به سنت هاي ديرين را در عالم بي انتهاي انديشه به پرواز درآورده و به سوي گذشته هايش مي کشاند.
ابوريحان بيروني در (التفهيم) در پاسخ به اين سوال که نوروز چيست مي نويسد:
«نخستين روز است ازفروردين ماه و زين جهت روز نو نام کردند زيرا که پيشاني سال نو است و آنچه از پس اوست از اين پنج روز ، همه جشن هاست و ششم فروردين ماه نوروز بزرگ دارند،زيرا که خسروان بدان پنج روز حقهاي خشم و گروهان بگزاردندي و حاجتها روا کردندي ،آنگاه بدين روز ششم خلوت کردندي ، خاصگان را و اعتقاد پارسيان اندر نوروز نخستين آنست که اول روزي ست از زمانه و بدو فلک آغازيد گشتن. »
در نوروز نامه منسوب به خيام آمده است که:
«سيي نهادن نوروز آن بوده است که چون دانستند آفتاب را دو دور بوده ،يکي آن که سيصد و شصت و پنج روز و ربعي از شبانه روز به اول دقيقه حمل باز آيد ،به همان وقت که هر روز رفته بود بدين دقيقه نتواند آمدن ،چه هرسال از مدت همي کم شود.چون جمشيد اين دو را در يافت نوروز نام نهاد و جشن آيين آورد.پس از آن پادشاهان و ديگر مردمان بدو اقتدا کردند.»
ابو ريحان در آثار الباقيه مي نويسد:
«برخي از علماي ايراني مي گويند سبب اينکه اين روز را نوروز مي نامند اين است که در ايام تهمورث صائبه آشکار شدند و چون جمشيد به پادشاهي رسيد دين خود را تجديد کرد و اين کار خيلي بزرگي به نظر آمد و آن روز را که روز تازه اي بود ،جمشيد عيد گرفت.»
بلعمي در ترجمه تاريخ طبري ،تاليف ابو جعفر محمد بن جرير بن يزيد طبري درباره پيدايش نوروز گفته اند:
«در زمان قديم مثلا در دوره ساساني يا اشکاني کسر سال را
۶ ساعت تمام حساب مي کردند .بنا براين در هر ۴ سال متوالي جمع اين کسر هاي سالانه به يک روز مي رسيد .براي اينکه آغاز سال از آن موقع طبيعي يعني اول تابستان که منسوب به زرتشت بود تجاوز نکند،به جاي آنکه هر چهار سال يک روز به سال چهارم مثل اين ايام بيفزايند و آن را کبيسه کنند هر ۱۲۰ سال مي افزودند از جمع اين ربعها يک ماه درست مي کردند و به سال مي افزودند و آن ماه را ماه کبيسه مي گفتند.بنابراين در هر ۱۲۰ سال محل نوروز از اول تابستان تا اول برج جوزا تغيير مکان پيدا مي کرد و در سال صد و بيستم دوباره برمي گشت به جاي خودش.
بعد از سلطنت يزدگرد و انقراض دولت ساساني ديگر کسي اين حساب کبيسه را نگاه نداشت .در نتيجه نوروز هر
۱۲۰ سال يک ماه جلو افتاد.تا اوايل سلطنت محمود غزنوي ،اول فروردين با اول برج حمل منطبق شد و نوروز از جاي قديم خود که اول تابستان باشد به اول حمل که آغاز فصل بهار است منتقل شد.»
معنا و فلسفه هفت سین:
سبزه: تولد دوباره
سمنو: ثروت
سنجد: عشق
سیر: دارو
سیب: زیبایی و سلامت
سماق: رنگ طلوع آفتاب
سرکه: سن و صبر
سنبل: آمدن بهار
سکه: ثروت
آرزوي سالي نيکو و شاد براي همه شما.
سال نو مبارک!
+ نوشته شده در  دوشنبه بیست و نهم اسفند 1384ساعت 9:47  توسط داود بيگدلي  | 

الگوریتم

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

+ نوشته شده در  سه شنبه نهم اسفند 1384ساعت 14:45  توسط داود بيگدلي  |