تبليغاتX
علم دانستن و هنر توانستن - مبانی کامپیوتر

سخت افزار:مجموعه قطعات الكترونيكي كامپيوتر كه به نوعي با هم و با دنياي بيرون رابطه دارند را سخت افزار گويند.

نرم افزار:مجموعه برنامه هاي هستند كه سخت افزار را وادار به نوعي فعاليت مي كند.

برنامه:مجموعه دستورالعمل هاي كه منجر به دستيابي به يك هدف مشترك مي شود را برنامه گويند.

تعريف خروجي:مجموعه ابزارهايي كه به نوعي اطلاعات را از درون سيستم به بيرون منتقل مي كند را خروجي گويند.

تعريف ورودي:مجموعه ابزارهاي الكتريكي يا الكترونيكي كه به نوعي اطلاعات را يا داده ها را وارد سيستم مي كند را ورودي گويند.

كامپيوتر نيز همانند انسان داراي ابزارهاي خروجي است.

كامپيوتر نيز همانند انسان داراي ابزارهاي ورودي است.

كنترل گر مركزي:قسمتي از سيستم است به عبارتي تمامي كنترل هاي سيستم به عهده اين قسمت مي باشد (cpu)

تعريف حافظه: حافظه در واقع مكاني است كه براي ذخيره سازي اطلاعات يا داده هاي خام مورد استفاده قرار مي گيرد.

اطلاعات: مجموعه داده هاي پردازش شده است.

داده هاي خام: مجموعه داده هاي پردازش نشده است.

پردازش: تجزيه و تحليل يك سري اطلاعات است.

كامپيوتر: مجموعه اي از قطعات الكترونيكي است كه با هم گردآوري شده و مجموعه سخت افزار را به وجود آورده و به كمك نرم افزار مجموعه اي نسبتا هوشمند بوجود آورده است.

سيستم عامل: عبارت است از 1)برنامه كلي كه به عنوان روح و مدير سيستم وظايف عمده اي را بر عهده دارد كه از جمله اين موارد1)مديريت سيستم2)فراهم آوردن محيطي جهت ارتباط با دنياي بيرون 3)فراهم آوردن محيطي جهت فعال شدن نرم افزارها و يا حتي سيتسم عامل هاي ديگر

زبان برنامه نويسي: يك زبان برنامه نويسي عبارت است از مجموعه دستورالعمل ها و مجموعه قواعد حاكم كه مجموعا جهت انجام كار يا عملي از ان زبان استفاده مي كنيم.

زبان هاي برنامه سازي به طور كلي در سه سطح:سطح پايين، سطح ميانه، سطح بالا تقسيم بندي مي شوند.

زبان هاي سطح پايين: زبان هايي هستند كه معمولا درك آن براي مشكل ولي به زبان كامپيوتر و به سطح پايين يعني سخت افزار نزديك تر است.

زبان هاي سطح بالا: زبان هاي مستند كه به زبان انسان يا كاربران نزديك شده و درك آن براي كاربران به سهولت صورت مي گيرد.

تقسيم بندي علوم كامپيوتر:1)شاخه سخت افزار 2)شاخه نرم افزار

تقسيم بندي سخت افزار:1)ورودي ها:صفحه كليد يا كيبرد، موس، اسكنر، فلاپي يا هم ورودي و هم خروجي. قلم نوري، دوربين ديجيتال

2)خروجي:فلاپي درايو، پرينتر، اسپيكر(بلندگو)، مانيتور، رايتر(هم ورودي و هم خروجي)، سي دي درايو، چاپگر

3)كنترل گر مركزي (cpu): CPU قسمت اصلي سيستم مي باشند كه به عبارتي كنترل گر مركزي در داخل CPU قرار مي گيرد و اين CPU بر روي بردهاي اصلي كامپيوتر به نام برد قرار مي گيرند.

4)حافظه:حافظه ها يا موقت اند يا دائم، حافظه ها يا اصلي اند يا جانبي

تعريف حافظه اصلي: حافظه هاي اصلي حافظه هايي هستند كه با كنترل در مركزي يعني CPU بلاواسطه در ارتباط اند.

تعريف حافظه جانبي: حافظه هاي جانبي حافظه هايي هستند كه به وسيله حافظه هاي اصلي با CPU در ارتباط‌اند .

تعريف حافظه دائم:حافظه هايي هستند كه اطلاعات ثابت است و به نوعي مي شود گفت يكبار مصرف اند از نظر ثبت اطلاعات مانند CD.

تعريف حافظه موقت: حافظه هايي هستند كه اطلاعات آنها دائمي نيست ممكن است با قطع جريان برق اطلاعات آنها از بين برود.

حافظه اصلي

حافظه ROM

حافظه RAM

حافظه هاي ROM:حافظه ROM از نوع دائم اند و هم چنين اصلي اند.

خصوصيات ROM:با قطع برق اطلاعات از بين نمي رود فقط قابل خواندن است و قابل نوشتن نيست كم حجم و گران قيمت است.

حافظه هايRAM:يك حافظه اصلي است و موفت

خصوصيات RAM:با جريان برق اطلاعات از بين مي رود هم قابل خواندن است و هم قابل نوشتن كم حجم و گران قيمت است.

حافظه جانبي:مانند هاردديسك (ديسك سخت)، فلاپي ديسك (ديسك نرم)، LCDها، DVDها و نوارهاي مغناطيسي.

نوارهاي مغناطيسي:نوعي حافظه هاي جانبي است كه با دسترسي ترتيبي هستند.

حافظه انسان قابل گسترش است ولي كامپيوتر غير قابل گسترش است.

خصوصيات نسل هاي كامپيوتري:

1)نسل اول:اين كامپيوترها اساس كارشان بر مبناي كار لامپ هاي خلا بوده و از روشن و خاموش بودن اين لامپها به عنوان بود و نبود اطلاعات استفاده مي شود.

خصوصيات اين نسل عبارت است از بالا بودن مصرف انرژي، پايين بودن سرعت(سرعت انتقال داده ها و سرعت پردازش اطلاعات)، گرما زياد، حافظه پايين، پايين بودن حجم حافظه، اشغال فضاي زياد.

2)نسل دوم:به جاي لامپ خلاء اختراع و جايگزيني ترانزيستورها به محض ورود به عرصه علم كامپيوتر باعث كاهش حجم، كاهش مصرف انرژي، افزايش حافظه، افزايش سرعت و كاهش نسبي گرما شد كه از خصوصيات بارز اين نسل است.

3)نسل سوم:جايگزيني IC ها به جاي ترانزيستورها در نسل سوم كامپيوتر با جايگزين شدن IC ها خصوصيات زير به هر كامپيوتر تعلق گرفت:

1)مصرف انرژي به حداقل رسيد. 2)حجم و فضاي اشغالي توسط سيستم به حداقل رسيد 3)گرماي توليدي به حداقل رسيد و نزديك به صفر 4)قدرت ذخيره سازي و قدرت پردازش افزايش پيدا كرد. در خصوصيات بسيار مهم ديگر به شرح ذيل اتفاق افتاد:

1)كامپيوترها به صورت استفاده شخصي مبدل شده و در منازل و ادارات مورد استفاده قرار گرفت.

2)امكان برقراري ازتباط ما بين كامپيوترها از شهري به شهري يا از كشوري به كشوري و يا از نقطه اي به نقطه ديگر امكان پذير شد.

نسل چهارم:IC ها بر روي يكسري بردها قرار گرفت و سرعت بالا، مصرف انرژي حداقل افزايش حجم صورت گرفت.

بيت:كوچكترين محل ذخيره سازي اطلاعات است كه مقدار ان فقط مي تواند صفر و يك باشد كه آن را بيت مي گويند.

بايت:هرگاه مجموعه هست بيت در كنار هم قرار گيرد يك بايت تعريف مي شود.

براي ذخيره سازي اطلاعات مي توانيم از اعداد استفاده كنيم.

يادآوري 1: مي دانيم اعداد رياضي بر مبناي ده استوار است و در اين مبنا ده عدد صفر، يك تا نه با جايگشت هاي مختلف تمامي اعداد را توليد مي كند. لذا اگر ما تمامي حروف و علائم را كد گذاري كنيم و به هر كدام كه واحد اختصاص دهيم و با تغيير مبناي اين كدها به اضافه تغيير كد اعداد مبناي ده و انتقال تمامي اين مبناها به مبناي واحدي به نام باينري مي تواند نقطه آغازي براي ذخيره سازي تمامي حروف و ارقام قرار گيرد به حساب آيد.

تعريف مبناي پاييزي: همان گونه كه گفته شد مبناي باينري همان مبناي دو است به عبارت ديگر مباني كه فقط از صفر و يك تشكيل مي شود.

يادآوري2: براي نمايش مبناي اعداد، اعداد را به اين شكل در داخل پرانتز 10(133) و در پاي پرانتز مبنا را مشخص مي كنيم. استاندارد مبناي اعداد رياضي ده و استاندارد مبناي اعداد در كامپيوتر مبناي دو مي باشد.

يادآوري 3: هرگاه صحبت خاصي شود ديگر نمي توان آن مبنا را در بين ارقام اعداد مبنا مشاهده كرد(يعني اگر صحبت از مبناي 2 باشد ارقام تشكيل دهنده اعداد ما فقط صفر و يك است و دو قابل مشاهده نيست يا به عبارت ديگر اينكه خود مبنا در بين ارقام وجود ندارد چرا كه با جايگشت هاي مختلف آن عدد توليد خواهد شد.

2،1،0... A،B،C،D،E،F

16(     )=10(165)

16(    )=10(1479)

روش تبديل اعداد به مبناي 2:

جهت تبديل اعداد به مبناي 2 اعداد در مبناي ده را با استفاده از تقسيم هاي متوالي به مبناي دو مي بريم.

2(   )=10(25)

4(    )=10(95)

2(     )=10(46)

جهت ذخيره سازي در كامپيوتر:مبناي ذخيره سازي همان مبناي بيت يا همان مبناي لامپ خلاء و مبناي دو يا باينري مي باشد چرا كه يك لامپ دو حالت خاموش و روشن را دارد.

بيت دو حالت صفر و يك را در خود جاي مي دهد و مبناي باينري همان صفر و يك است براي ذخيره سازي داده ها و اطلاعات در كامپيوتر بايد تمامي داده ها و اطلاعات كدگذاري شده و به زبان صفر و يك يعني زبان ماشين ترجمه شوند تمامي عمليات بر روي اين اعداد صورت مي گيرد.

نكته 1:همان گونه كه در مبناي ده يكان، دهگان، صدگان و هزارگان و... داريم در مبناي دو نيز مبناي يكي، دوتايي، چهارتايي، هشت تايي و ... يعني توان هاي عدد دو را داريم چرا كه در مبناي ده مرتبه تغييراتي يعني از يكان به دهگان يا از دهگان به صدگان به هزارگان با استفاده از توان هاي عدد ده است لذا بر اين مبنا و معيار در مبناي دو نيز تغييرات بر مبناي توان هاي دو است.

148

تمرين:اعداد را از مبناي داده شده به مبناي خواسته شده ببريد؟

2(     )=16(       )=10(      )=3(2121)

2(     )=16(       )=10(       )=5(4432)

2(    )=16(     )=10(      )=7(634215)

2(    )=16(     )=10(      )=9(87654321)

2(    )=4(     )=10(      )=2(11011011)

2(    )=7(     )=5(      )=2(111110)

(AB2)=16(       )=2(        )10=

 

تذكر:هرگاه كامپيوترماnبيتي باشدما مي توانيم حداكثر  را در آن نمايش دهيم به شرطي كه تعداد بيتهاي ماهمگي براي اعداد مثبت به كار رود يعني بيتي به عنوان بيت علامت نداشته باشد.

جمع اعداد باينري:جمع اعداد باينري همانندجمع اعداد داراي قواعد و قوانين است به شرح ذيل:

                          يك رقم نقلي

يادآوري:همان گونه كه در جمع اعداد در مبناي ده وقتي مجموع اعداد از نه بيشتر ميشود از قاعده ده بر يك استفاده مي كنيم درجمع باينري نيز از رقم نقلي استفاده مي كنيم.

مثال1)

تفريق اعداد باينري : براي تفريق اعداد از سه روش زير استفاده مي كنيم :

1)روش اول تفريق : روشي است كه با استفاده از قواعد ذيل قابل انجام است‌ :

1 رقم قرضي   

مثال 2:

                   

                 

تمرين :

              

2)روش دوم تفريق : با استفاده از روش مكمل يك اعداد باينري .

توضيح : روش بدست اوردن مكمل يك اعداد باينري : در اين روش تمامي صفرها به يك و يكها به صفر تبديل مي شود .

مثال 3 :

در اين روش جهت تفريق به شرح ذيل اقدام مي كنيم :

ابتدا عدد تفريق شونده (عدد دومي) را مكمل يك مي كنيم سپس عدد مكمل شده يك را با عدد اول جمع مي نمائيم . آخرين بيت با ارزش حاصلجمع را حذف يا ناديده فرض مي كنيم . در گام بعدي حاصل نهايي را با يك جمع مي كنيم .

 

مثال 4:

3)روش سوم تفريق : با استفاده از قاعده مكمل دو :

توضيح : براي بدست آوردن مكمل دو اعداد به صورت باينري : ابتدا مكمل يك عدد آن را بدست آورده حاصل مكمل يك را با يك جمع مي كنيم در اين روش پس از محاسبه مكمل دو عدد تفريق شونده آن را با عدد اول جمع مي كنيم در نهايت بيت با ارزش را در صورت يك بودن حذف مي كنيم .

 

مثال :

ضرب اعداد باينري : اگر عدد دومي بيت اول يك بود خود عدد اول را مي نويسيم و اگر عدد دومي بيت اول صفر بود به تعداد ارقام عدد اول صفر مي گذاريم .

تقسيم اعداد باينري :

سوال 1 : كوچكترين واحد اطلاعاتي در حافظه چه نام دارد؟

16 بيت چند بايت است ؟

سوال 2) اگر كامپيوتر ما هشت بيتي باشد كدام يك از اعداد زير قابل نمايش نيست؟چرا؟

1024     512   256   128   64

تمرين : حاصل عبارات زير را محاسبه كنيد؟

                                

تمرين : تفريق هاي زير را به سه روش الف)معمولي ب)مكمل يك ج) مكمل دو بدست آوريد .

          


الگوريتم :

كلمه الگوريتم برگرفته از اسم دانشمند ايراني خوارزمي است . الگوريتم در اصطلاح لغت به معناي متد و روش و تكنيك حل مسئله است به طور كلي الگوريتم عبارت است از فهرستي از دستورالعمل ها كه براي انجام يك كار قدم به قدم اجرا شود در الگوريتم شروع و پايان كار بايد مشخص باشد .

 

فلوچارت (روند نما يا نمايش روند)

نمايش تصويري الگوريتم را فلوچارت مي ناميم .

 

اجزاي فلوچارت :

 


شروع :                                              

 


دستورات اجرايي :

 

تصميم گيري يا عبارات شرطي :

 


ورودي ها و خروجي ها :

 


چاپ كرد :                                           يا

 

مثال : مي خواهيم اعداد صفر تا ده را چاپ كنيم الگوريتم مربوطه را بنويسيد ؟

 

 

 

 

مثال : مطلوب است الگوريتم توليد حاصلجمع اعداد كوچكتر از ده .

 

 

 

 

مطلوب است الگوريتم جمع اعداد زوج كوچكتر از 20 .

 

 

 

 

مطلوب است الگوريتم محاسبه حاصلجمع اعداد فرد كوچكتر از 20

 

 

 

 

مثال : مطلوب است الگوريتم محاسبه اعداد اول كوچكتر از 100 را .

مطلوب است الگوريتم و فلوچارت توليد اعداد فيبوناچي را .

مطلوب است الگوريتم فلوچارتي كه بتواند عدد دلخواهي را گرفته و فاكتوريل آنرا محاسبه نمايد ؟

مطلوب است الگوريتمي كه محاسبه نمايد مجموع زواياي يك n ضلعي  را . (چند ضلعي منتظم)

مطلوب است الگوريتمي كه محاسبه نمايد مساحت متوازي الاضلاع .

مطلوب است الگوريتم و فلوچارت محاسبه ريشه هاي معادله درجه دوم .

مطلوب است الگوريتمي كه محاسبه نمايد توان هاي فرد كوچكتر از 10 عدد دلخواهي را .

مطلوب است محاسبه الگوريتم مساحت دايره اي دلخواه را .


عناصر تشكيل دهنده زبان پاسكال به عنوان يك زبان برنامه سازي :

اين عناصر عبارتند از : 1)كاراكترها  2)كلمه هاي ذخيره شده  3)شناسه ها   4)اعداد يا عددها  5)رشته ها  6)ثابتها   7)متغيرها   8)عبارتها  9)دستورات يا دستورها   10)زير برنامه ماحصل اينها مي شود برنامه .

1)كاراكترها : مجموعه حروف از A تا  Z و از a تا z  و از 0 تا 9 و كاراكترهاي ويژه جمع ، تفريق ، ضرب (*) ، تقسيم (/) ، مساوي جايگزين ( )، مساوي قياسي (=) ، مميز (.) ، سيميكالن (;) ، كالن كتيشين (,) ،  يا (|) ، توان (^) ، علامت بزرگتر (<) ، علامت بزرگتر يا مساوي (>=) ، علامت كوچكتر (>) ، علامت كوچكتر يا مساوي (<=) ، علامت نامساوي (<>) ، علامت دو نقطه فاصله (..) ، پرانتز باز و بسته (  ) ، كروشه باز و بسته [    ] ، آكلاد باز و بسته {   } ، دلار ($) ، تناقض (#) ، آندرساين (@) ، دو نقطه (:)

 

2)كلمه‌ي ذخيره شده پاسكال : در زبان پاسكال كلمه هاي ذخيره شده معيني وجود دارد كه داراي معني از پيش تعيين شده اي هستند از اين كلمه هاي ذخيره شده تنها مي توان با همان هدف مشخص شده اش استفاده كرد و برنامه نويس نمي تواند آنها را به دلخواه از نو تعريف كند و يا كاربردهاي ديگري از آنها با كار گيرد .

AND                    END                     MOD                    REPEAT

ARRY                  FILE                     NIL                       DET

BEGIN                 FOR                     NOT                     THEN

CASE                            FORWARD                   OF                        TO

CONST                Function               OR                       Type

DIV                      GOTO                  PACKED             UNTIL

DO                       IF                         PROCEDVRE      VAR

DOWN TO                    IN                         PROGRAM                   WHILE

ELSE                    LABEL                 RECORP              WITH

از آنجا كه كامپايلرهاي زبان هاي برنامه سازي كلمات ذحيره شده اي را (كلمه هاي رزرو شده اي را) مختص خود دارند بنابراين زبان پاسكال همچون داراي نسخه هاي مختلف (ورژن هاي مختلف) خود را دارا است و از جمله اين ورژن ها ، ورژن هاي توربو پاسكال 7 مي باشد .

لذا بين حروف ، حروف كلمه هاي ذخيره شده اصلي زبان پاسكال مي گوييم و به اين هم كلمه هاي ذخيره شده توربو پاسكال 7 مي باشند .

ASM                                        UNIT          STRING

CONSTRCUCTOR       OBJECT    

INTER FACE                UNTIL

INLINE                          USES

SHI                                XOR

3)شناسه ها : يك شناسه مي بايست با حروف آغاز شود حروف بزرگ يا كوچك فرقي ندارد (ترجيحاً از حروف كوچكتر)

تعريف شناسه : يك شناسه نامي است كه به برخي از عناصر برنامه نسبت داده مي‌شود مانند ثابتها متغيرها ، زير برنامه ها ، توابع و يا خود برنامه ها مثلاً شناسه نام برنامه ، نام برنامه يك شناسه است مثل PROGRAM1 يا P1

تذكر : طول هر شناسه در زبان پاسكال حداكثر 8 كاراكتر مي باشد .

مثال چند شناسه درست : K1 ، ALI1 ، ay ، AbCD ، EF ، H ، H12 ، X ، A121K12 ، ABCDEF

تذكر : شناسه نمي تواند از كلمات ذحيره شده باشد .

مثال چند شناسه غلط : SHI ، K-12 ، PROGRAM

تذكر : بعضي از شناسه ها در پاسكال وجود دارد كه به آنها شناسه هاي استاندارد مي‌گوييم .

SQRT , SQR , FALSE , TRUE

4)انواع اعداد در زبان پاسكال : عدد در پاسكال به صورت مختلف نمايان مي شود .

الف)اعداد مي توانند به صورت صحيح (مثبت و منفي)

ب)به صورت اعشاري يعني داراي نقطه اعشار

ج)به صورت تواندار (بانماد علمي) ظاهر شوند .

الف)اعداد صحيح : اين نوع اعداد نه شامل مميز و نه شامل توان است بلكه دنباله اي از اعداد است كه علامت مثبت يا منفي قبل از آنها نمايان مي شود . دامنه اعداد صحيح در پاسكال از 0 تا 2147483647+ و اعداد صحيح منفي از 1- تا 2147483647-

تذكر : اعداد صحيح نمي تواند فيمابين خود علامت ويرگول يا كتيشن يا در انتها و ابتدا علامت مميز را داشته باشد .

مثال :                     غلط است       0.21            147,12

ب)اعداد اعشاري : اعداد اعشاري حتماً داراي يك مميز يا به صورت تواندار ظاهر مي‌شود .

تذكر : نقطه اعشار بايد بين دو رقم ظاهر گردد و اگرنه غلط است .

درست است                 16.0               0.16

غلط است 0/6          16.        0.          .0

نقطه اعشار در اول و آخر اعداد نمي تواند ظاهر گردد .

ج)اعداد تواندار : براي جا به جايي نقطه اعشار توان يا ضريب مقياس به شكل زير اقدام مي كنيم :

جهت نمايش در زبان پاسكال به روش علمي يعني با استفاده از عدد E و e به جاي 10 استفاده مي كنيم اين روش را روش علمي مي گوئيم .

مثال :   معادل است با  يا

           معادل است با    

 

د)اعداد اعشاري غيرمجاز :  يا

تذكر : توان بايد صحيح باشد .

غلط است چون فاصله مجاز نمي باشد .  

5)رشته ها : دنباله اي از كاراكترهاي كه بين دو علامت كالن ظاهر مي شود را رشته گويند .

مثال :                                                                     ,12AbKARIM,

تذكر : رشته ها چون داخل كتيشن هستند اول رشته مي تواند عدد باشد در صورتي كه در شناسه ها اين چنين نبود شناسه ها با رشته ها متفاوتند .

تذكر : حداكثر اين كاراكترها 255 تا مي تواند باشد .

تذكر : اگر رشته اي حاوي كتيشن باشد بايد كتيشن دو بار تكرار شود .

مثال :                                                                                        ‘I don”t’

مثال : فرض كنيد جمله اي داريم بيش از 255 كاراكتر است و اولين نقطه شروع آن با A  و 255 كاراكتر با K و 256 كاراكتر با b و آخرين كاراكتر با n به انتها برسد لذا از آنجايي كه كامپايلر پاسكال در رشته ها بيش از 255 تا را تشخيص نمي دهد . جمله بايد به شكل زير نوشته شود .

b...n’   

‘A....k’

انواع داده ها : داده ها در زبان پاسكال عبارت است از : الف)نوع ساده  ب)نوع رشته‌اي   ج)ساخت يافته ها    د)اشاره گرها

الف) داده هاي نوع ساده : عنصري است واحد و يگانه كه به هر شناسه آن يك عنصر اختصاص داده مي شود به عبارت ديگر داده هاي ساده عبارتند از اعداد صحيح، اعداد اعشاري ، كاراكترها بوليين (yes , No)

ب)داده هاي نوع رشته اي : رشته اي از كاراكترها را نشان ميب دهند هر عنصر داده رشته اي يك رشته كامل را نشان مي دهد .

ج)داده هاي نوع ساخت يافته : كه خود با آرايه ها ، ركوردها ، مجموعه ها و فايل ها تقسيم مي شود . از عناصري چندگانه تشكيل مي شوند .

د)داده هاي نوع اشاره گر : داده هاي نوع اشاره گر نيز براي ايجاد داده هاي ساخت يافته و پويا و ديناميك به كار مي رود . (هر اشاره گر آدرس داده بعد از خودش را در خود نهفته دارد.)

6)ثابتها : هر گاه عنصر داده اي به طور دائم مقدار خاصي را به يك شناسه اختصاص دهد به‌ان شناسه مقدار ثابت مي گوييم .

ثابتها هميشه قبل از شروع هر برنامه در زبان پاسكال تعريف مي شوند كه قطعاً دو هدف را دنبال خواهد كرد اولاً به يك شناسه مقدار ثابت بدهد ثانياً اينكه يك عنصر داده اي را به يك مقدار ثابت اختصاص دهد .

7)متغيرها (Varible): متغير شناسيه اي است كه در طول برنامه مقدار آن تغيير مي‌كند .

مثال : نام مي تواند يك متغير باشد چرا كه از فردي به فرد ديگر تغيير مي كند .

8)عبارت : عبارتها به مجموعه اي از عملوندها كه شامل اعداد ، ثابتها و متغيرها كه به وسيلة عملگرهاي معيني به هم مربوط مي شوند را عبارت گوييم.

9)دستورات : يك دستور در زبان پاسكال عبارت است از مجموعه اي از دستورالعمل‌ها كه در يك غالب واحد براي عمل مشخصي به كار رود .

10)ريز برنامه : ريزبرنامه عبارت است از مجموعه اي از توابع كه هر كدام به طور جدا و متمايز مي تواند در طول يك برنامه به عنوان يك دستورالعمل ظاهر شود .

مثال : هر گاه روندي كه جمع دو عدد را محاسبه مي كند به عنوان تابع تعريف كنيم و در طول برنامه اسم تابع فراخواني شود مثل اين است كه زير برنامه به طور كامل در آن نقطه از برنامه نوشته شده باشد .

تمرين : كداميك از شناسه هاي زير مجازند‌؟

123     file    file2  8ab   a8b

تمرين : كداميك از اعداد زير مجازند ؟

12E12    0.5     .0     .8

تمرين : كداميك از رشته هاي زير در زبان پاسكال مجازند؟

,a+b+c,       ‘Don’t’      ‘Name :

 

عملگرهاي محاسباتي در زبان پاسكال :

+ : عملگري است كه دو عملوند دارد كه مقدار آن عددي است و حاصل دو عملوند عدد مي باشد .

- : عملگري است كه دو عملوند دارد كه مقدار آن عددي است و حاصل دو عملوند عدد مي باشد .

/ : در علامت تقسيم هر دو عملوند را داراست ولي عملوند اول از نوع صحيح و عملوند دوم از نوع طبيعي است .

 

عملگر DIV و عملگر MOD :

عملوند دوم DIV و MOD بايد مخالف صفر باشد .

مثال : I+J يك عبارت فرضي است اگر I مقدار عدد 11 و J مقدار 3- را دريافت كند حاصل چه خواهد بود؟

اگر عملگر + به -تبديل شود چطور ؟

? IDIVJ

? IMODJ

Programs roots;

(* توضيحات *const)

K=0   ;

Var

a,b,c,root , x1,x2:real ;

BEGIN

write (‘a=’) ;

read (a) :

write (‘b=’) ;

read (b) ;

x1:=(a+b)/2

End .

اصولاً هر برنامه در هر زباني داده هايي را به عنوان ورودي دريافت مي كند . البته اگر برنامه احتياج به داده هاي ورودي داشته باشد و به قطع داده ها پس از پردازش به عنوان اطلاعات خروجي و به عنوان حاصل برنامه به بيرون منتقل خواهد شد . اگر برنامه ما داراي خروجي باشد . معمولاً داده هاي ورودي يا به توسط صفحه كليد يا به عبارتي توسط فاميل هاي ورودي در اختيار برنامه قرار مي گيرد و اطلاعات خروجي نيز در فايل هاي خروجي و با دستگاه هاي خروجي قرار گرفته و به بيرون از سيستم يا برنامه منتقل مي شود .

PROGRAM P1 (input , output)

دستور READ : از دستور READ براي خواندن عنصرهاي داده اي از فايل از داده‌هاي ورودي و جايگزيني آنها در متغيرهاي صحيح ، اعشاري ، كاراكتري يا رشته‌اي استفاده مي شود اين دستور به شكل ذيل نشان داده مي شود :

READ(input Varible) ;

دستور READ از نظر قالب كلي همانند آنچه در فوق ذكر شد مي باشد كه در آن متغيرهاي ورودي به جاي input varible قرار مي گيرند و input varible  ها با كاما از هم جدا مي شوند .

تذكر : متغيرهاي بوليين نمي توانند در ليست متغيرهاي ورودي قرار بگيرند .

مثال :                                                                                READ (a,b,c);

مثال :                                                                                              : Var

a,b,c:Read;

I,J : int ;

READ (a,b,c);

مثال 2)توصيف و توضيحي است براي كاملتر بيان كردن دستور READ در مثال 1 همان گونه كه مي بينيم دستور READ متغيرهاي را مي گيرد به جز متغيرهاي بوليين به شرطي كه اين متغيرهاي در اول برنامنه و در قسمت تعريف متغيرها تعريف شده باشند .

در دستور READ هر گاه عنصر داده اي اول را وارد كنيم مي بايست براي وارد كردن عنصر بعدي فاصله اي را اعمال كنيم .

PROGRAM P1 (input , out) ;

Varible a,b,c : Real ;

BEGIN

Read (a,b,c) ;

write (a,b,c) ;

End

تذكر : اگر دستور READ بلافاصله بعد از دستور READ اولي ظاهر شود دستور READ دوم خواندن را از جايي شروع مي كند كه دستور اول خاتمه پيدا كرده است .

Varible

a,b,c : Real ;

i,j:int ;

READ (a,b,c) ;

READ (I,j) ;

تذكر : براي دريافت داده هاي كاراكتري داده ها و عنصر داده اي بايد به طور متوالي و پشت سر هم باشند .

Var

c1,c2,c3 : char ;

i,j : int ;

READ (C1,C2,C3) ;

READ (i,j) ;

اگر فرض كنيم به جاي Z,y,x,c3,c2,c1 قرار بگيرند نبايد بين x و y و z فاصله قائل شد .

انواع داده ها : هر داده در پاسكال معناي خاصي را مي دهد داده هاي از نوع اعشاري را به وسيله Read نمايش مي دهيم . داده نوع صحيح را به وسيله integer نمايش مي‌دهند . داده نوع كاراكتري را با char نمايش مي دهيم . داده هاي از نوع بوليين را توسط Bool نمايش مي دهيم . داده هاي از نوع رشته اي را با String نمايش مي‌دهيم.

دستور READIN : دقيقاً مشابه دستور READ عمل مي كند با توجه به اينكه READ IN پس از اجراي خودش به خط بعدي مي رود يعني بعد از دستور جاري در خط بعدي اجرا خواهد شد .

مثال : اگر بنا باشد برنامه داده هاي زير را دريافت كند يعني داده هاي

1        2        3

4        5        6       

7        8        9

دستورات پاسكال بايد به قرار زير باشد :

READ IN (a,b,c) ;

READ IN (d,e,f) ;

READ IN (j,h,i) ;

دستور write : اين دستور براي نوشتن عنصرهاي داده اي در فايل خروجي به كار مي‌رود . اين دستور به صورت پارامتر زير نمايش داده مي شود .

write (out put data aiteims);

عنصرهاي داده اي خروجي همانند عناصر داده اي ورودي بايد شرايط دستور write را رعايت كنند عناصر خروجي مي تواند رشته ها ، ثابتهاي عددي ، متغير يا عبارت باشند.

دستور write هم مي تواند شناسه هايي را يا رشته هايي را چاپ نمايد و هم در مقابل شناسه ها مقدار تعريف شده شناسه را دريافت كند .

مثال :

write (‘x=’x);

مثال : فرض كنيد تكه برنامه ما بخواهد x را از صفحه كليد گرفته و براي x مقدار دريافتي را در خروجي به صورت x= محتواي x درج كند دستورات لازم به قرار زير است :

PROGRAM P2;

Var

x:integer;

BEGIN

READ (x) ;

write (‘x=’x);

End

مثال : جمع دو عدد

PROGRAM P3;

Var

a,b,c : integer ;

Begin

READ (a,b) ;

C:=a+b ;

write (‘C=’C);                a=2             b=3             اجرا

End                                a+b=5

تذكر : دستور write همانند دستور Read كه پارامترهاي مختلف را دريافت مي كند مي تواند پارامترهاي خروجي مختلفي را داشته باشد .

مثال :

write  (‘x=’x , ‘y=’y  , ‘x=’k);

دستور write IN بعد از اتمام دستور به خط بعدي مي رود .

 

نوع داده ها در زبان پاسكال :

اشاره گر       Pointer                 آرايه array

اعشاري            read                  بوليين boolean

ركورد                     record                  كاراكتر char

* مجموعه          set                    * شمارشي enumerated

* رشته string                            * فايل file

* زيردامنه subrange                   صحيح integer

همان گونه كه در فوق مشاهده مي شود انواع داده ها در زبان پاسكال مي توانند تعريف شوند به گونه اي كه تعريف نوع اعداد در پاسكال از منطق خاصي پيروي مي‌كند .

 

مثال : وقتي تعريف مي كنيم a و b از نوع صحيح (integer) در قسمت varible برنامه (در تعريف متغيرها) a و b به شكل زير تعريف مي شوند .

Var

a,b:integer ;

توضيح اينكه متغير a و b دو متغير جدا و متمايز از هم هستند كه هر دو نوع مشترك integer  را دارند براي مشخص كردن نوع داده ها از دو نقطه (:) استفاده مي كنيم و اگر داده هاي از انواع مختلف داشته باشيم هر نوع را با كالن از هم جدا كرده و انواع يكسان را در يك خط قرار مي دهيم .

Var

a,b : inteher ;

i,j : Read ;

k1,k2 : array ;

 

+ نوشته شده در  چهارشنبه سوم بهمن 1386ساعت 9:37 PM  توسط مجتبي  | 

 





Powered by WebGozar