لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 16
برنامه نویسی شیء گرا .NET
مقدمه ای بر برنامه نویسی شی گراء در دات نت
برنامه نویسی شی گراء، بدون شک مهمترین تحول در دنیای نرم افزار طی سالیان گذشته بوده که بیشترین تاثیر را در پیشبرد نرم افزار بدنبال داشته و ما امروز در صنعت گسترده نرم افزار از دستاوردهای وسیع آن بهره مند هستیم . در این مقاله قصد داریم ، به بررسی برنامه نویسی شی گراء پرداخته و از این زاویه نگاهی به دات نت داشته باشیم .
بمنظور شناخت برنامه نویسی شی گراء ، کافی است به اطراف خود نگاهی داشته باشیم .جارو برقی ، قهوه جوش ، پنکه سقفی و مجموعه بسیار گسترده ای از سایر اشیاء را پیرامون زندگی خود مشاهده می نمائیم . اشیاء ما را محاصره و یا در محاصره اشیاء می باشیم . برخی از این اشیاء نظیر دوربین ، مستقل عمل نموه و برخی دیگر نظیر تلفن و ماشین های پاسخگو با سایر اشیاء ارتباط دارند . برخی از اشیاء دارای داده ها ئی می باشند که بین کاربران استفاده می گردد(یک دفترچه تلقن) . برخی از اشیاء شامل اشیاء دیگری می باشند، یک دستگاه بستنی ساز درون فریزر ، نمونه ای در این زمینه است .
بسیاری از اشیاء از لحاظ عملکرد با یکدیگر مشابه ولی از لحاظ اهداف با یکدیگر متفاوت می باشند . مثلا" وان حمام و سینک آشبزخانه هر دو امکان استفاده از آب را فراهم می نمایند ،ولی این کار بندرت اتفاق خواهد افتاد که شما در سینک آشبزخانه دوش گرفته و یا ظروف آشبزخانه خود را در وان حمام بشوئید! بهرحال وان حمام و سینک آشبزخانه موجود در منزل ، احتمالا" از یک لوله آب مشترک در ساختمان استفاده و اینترفیس آنها در موارد متعددی مشترک است ( پیچ آب گرم وسرد ، یک شیر آب ، یک فاضلاب ) .
در صورت تامل در ارتباط با اشیاء فوق ، با سوالات متعددی مواجه خواهیم شد . چه تفاوت هائی بین یک وان حمام و سینک آشبزحانه ، وجود دارد ؟ آیا اختلاف موجود به محل آنها ، اندازه لگن و یا گودی آنها از سطح زمین برمی گردد. شباهت موجود بین اشیاء فوق چیست ؟در برخی موارد انجام عملات یکسان در ارتباط با یک شی ، رفتارهای متفاوتی را بدنبال خواهد داشت . یک شی قادر به انجام عملیات متفاوتی با توجه به ماهیت وضعیت بوجود آمده است . مثلا " زمانیکه دکمه Play یک دستگاه کنترل کننده DVD و یا VCD فعال می گردد ، دستگاه قوق ، یک فیلم را پخش و ما شاهد نمایش آن بر روی صفحه تلویزیون خواهیم بود. اما اگر یک CD در دستگاه Player باشد ، همزمان با فشردن دکمه Play ، دستگاه Player باعث پخش CD صوتی شده و ما شاهد نواختن موسیقی از بلندگوهای مربوطه خواهیم بود. همانگونه که مشاهده می گردد در چنین وضعیتی ، فعال نمودن دکمه ها ی مشابه ، عملیات یکسان ولی با نتایج متفاوت را بدنبال داشته است .
به بسیاری از اشیاء پیرامون خود، می توان بعنوان جعبه های سیاه ( black box ) ، نگاه نمود.در چنین حالتی نسبت به اصول اولیه عملکرد شی مورد نظر و پردازش های اولیه آن شناخت لازم وجود خواهد داشت ولی بسیاری از جزئیات عملیاتی که یک شی انجام می دهد برای ما ناشناخته خواهد بود. اکثرا" در زمان استفاده از یک شی علاقه مند به رویکرد فوق می باشند ( آشنائی با پتانسیل های شی و نحوه بالفعل نمودن آنان و پرهیز از درگیر شدن و آگاهی از جزئیات مربوطه ) . در چنین مواردی برای استفاده از اشیاء موجود در منزل ، ضرورتی به آگاهی از مکانیزم داخلی بعنوان شرط لازم وجود نخواهد داشت و می توان بدون درگیر شدن در جزئیات از شی موجود استفاده نمود.
بمنظور بررسی موضوع اشاره شده ، می توانیم نگاهی به عملکرد یک لامپ 100 وات ، داشته باشیم . سیم پیچ درون لامپ چیزی بیشتر از یک مقاومت ساده نیست . زمانیکه برق فعال ( سوئیج فعال گردد) شده باشد ، حرارت سیم پیچ درون لامپ در حدود 2500 درجه سلسیوس ، خواهد بود.وضعیت فوق ، باعث تشعش گرما ئی متناسب با طول رشته سیم درون لامپ ( قطر خیر ) و حدود 1750 لومن ( واحد پخش نور) می گردد .بدین ترتیب نور مرئی با طول موجی حدود 555 نانومنر را شاهد خواهیم بود. رشته موجود در لامپ از تنگستن تشکیل شده است . آیا به این حجم ازاطلاعات بهمراه جزئیات مربوطه در زمان استفاده از لامپ ، نیاز خواهیم داشت و یا صرفا" می خواهیم زمانیکه سوئیچ فعال می گردد، لامپ روشن و با سایر مسائل و نحوه انجام این کار ، کاری نداریم ؟ در این راستا ، استفاده کنندگان از لامپ آن را بمنزله یک جعبه سیاه در نظر گرفته و صرفا" تمایل به آگاهی از نحوه استفاده از اینترفیس مربوطه برای بخدمت گرفتن پتانسیل موجود را دارند .
هر شی دارای دو خصلت ذاتی است : وضعیت ( state ) و رفتار ( Behavior ) . مثلا" یک لامپ دارای اطلاعاتی نظیر : روشن/خاموش بودن ، نام تجاری ، طول عمر و موارد دیگر است که جملگی وضعیت شی فوق را مشخص می نمایند. رفتار لامپ ، شامل ارائه نور و روشنائی است . یک شی مسلما" نسبت به خود ، بمنزله یک جزیره است . بسیاری از اشیاء بصورت دسته جمعی و با تشریک مساعی در یک سیستم قرار خواهند گرفت . مثلا" تلویزیون و بلندگوهای آن بخشی از سیستمی می باشند که موسوم به تئاتر خانوادگی است . یخچال و اجاق گاز بخشی از سیستمی با نام آشپزخانه می باشند. این نوع سیستم ها خود متعلق به یک سیستم بزرگتر و با نام آپارتمان و یا خانه می باشند . مجموعه ای از آپارتمانها سیستم دیگری را با نام مجتمع ایجاد می نمایند.یک نرم افزار را می توان مشتمل بر مجموعه ای از اشیاء در نظر گرفت که هر یک پتانسیل های لازم را ارائه و با بخدمت گرفتن آنان و بهره گیری از پتانسیل های موجود زمینه نیل به اهداف مورد نظر فراهم خواهد شد. بمنظور طراحی و پیاده سازی یک برنامه شی گراء در اولین مرحله می بایست ، اقدام به طراحی و ایجاد اشیاء مورد نظر با توجه به اهداف نرم افزار نمود.مرحله فوق ، اولین گام و بدون شک مهمترین مرحله در فرآیند ایجاد یک سیستم است . در مرحله دوم که ارزش آن شاید بمراتب بالاتر از مرحله قبل باشد ، می بایست نحوه ارتباط اشیاء با یکدیگر بدرستی مشخص گردد. در زمان ایجاد یک سیستم بزرگ که دارای پیچیدگی های خاص خود است ، می بایست نسبت به دو مرحله فوق ، شناخت لازم وجود داشته و بدون آگاهی لازم ، امکان ایچاد اینچنین سیستم های بزرگی با رویکرد شی گراء ، چالش های خاص خود را بدنبال خواهند داشت . در چنین مواردی می توان فرآیند پیاده سازی یک سیستم را شامل دو مرحله مهم طراحی شی گراء و برنامه نویسی شی گراء در نظر گرفت . برنامه نویسی مبتنی بر عنصر ، پایه و اساس این نوع سیستم ها محسوب می گردد . برنامه نویسی اشیاء در نرم افزار ، نیازمند یک زبان برنامه نویسی شی گراء نمی باشد و اگر از یک زبان برنامه نویسی شی گراء استفاده می گردد ، بدین مفهوم نخواهد بود که کد نوشته شده ، شی گراء خواهد بود. زبان ها صرفا" می توانند کمکی در فرآیند فوق را ارائه و هیچگونه تضمینی در این رابطه را ارائه نخواهند داد. با استفاده از ویژوال بیسیک ، امکان نوشتن نرم افزار شی
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 5
برنامه نویسی توربو پاسکال Trackback
بخش تعیین نوع یک برنامه پاسکال، اسامی و کاربرد شناسه هایی را که توسط کاربر تعریف شده اند، به کامپایلر اعلام می کند. همچنین در این بخش به کامپایلر اعلام می شود که چه اطلاعاتی در حافظه باید ذخیره شود. در تعیین نوع از کلمه var استفاده می شود.
نوع داده ها
نحوه ی جایگیری یک عدد خاص در حافظه، توسط نوع داده ی آن عدد مشخص می شود. در پاسکال استاندارد، چهار نوع داده ی از پیش تعریف شده وجود دارند که عبارتند از : Real( برای اعداد حقیقی)، integer (برای اعداد صحیح)، Char( برای داده های کارکتری) و Boolean (برای مقادیر True و false) در توربو پاسکال نوع داده ی دیگری به نام String وجود دارد که استاندارد نیست ولی پردازش مجموعه ای از کارکتر ها را( مثلا، نام یک شخص) را آسان تر می کنند. در این بخش نوع داده ها را مطرح کرده و در فصل ۷ به بررسی آنها خواهیم پرداخت.
یک داده را هم می توان داخل برنامه پاسکال نوشت و هم می توان آن را طوری در نظر گرفت که توسط برنامه دریافت می شود. داده ای که داخل برنامه نوشته می شود، یک لیترال نامیده می شود.
نوع داده integer
در ریاضیات، integer ها اعداد صحیح مثبت یا منفی هستند و عددی که بدون علامت است، مثبت در نظر گرفته می شود. در پاسکال برای نمایش اعداد صحیح از نوع داده ی integer استفاده می شود.چون ظرفیت حافظه محدود است، کلیه اعداد صحیح را نمی توان نمایش داد. توربو پاسکال اعداد بین ۳۲۷۶۸- تا ۳۲۷۶۸ را نشان می دهد. ثوابتی با عنوانMaxint وجود دارد که بزرگترین عدد مثبت را مشخص میکند. در اعداد صحیح نمی توان از ویرگول استفاده کرد. بعضی از اعداد صحیح به شرح زیر هستند:
۳۵- ۶۷- ۵۸۸۸ ۱۰۰۸۹
می توانیم اعداد صحیح را خوانده و نمایش دهیم، عملیات محاسباتی معمولی (نظیر جمع، تفرق، ضرب و تقسیم) روی آنها انجام دهیم و دو عدد صحیح را با یکدیگر مقایسه کنیم.
نوع داده ی Real
یک عدد حقیقی شامل یک بخش صحیح و یک بخش اعشاری است که توسط نقطه اعشار از یکدیگر جدا شده اند. در پاسکال برای نمایش اعداد حقیقی از نوع داده Real استفاده می شود و یک عدد حقیقی باید با عدد شروع شده و به عدد ختم شود. بنابراین در پاسکال اعداد -.۲۵ و ۶۴. را باید به صورت ۰.۲۵- و ۶۴.۰ نوشت.
برای نمایش اعداد خیلی بزرگ و اعداد خیلی کوچک می توانیم از نماد علمی استفاده کنیم. در نمایش اعداد، عدد حقیقی ۱۰۵×۱.۲۳ معادل با عدد ۱۲۳۰۰۰.۰ است که در آن توان ۵ به معنای «انتقال نقطه اعشار به اندازه ۵ رقم به سمت راست» می باشد. در پاسکال نمایش علمی اعداد به صورت ۱.۲۳E+۵ یا ۱۲۳E۵ خواهد بود. اگر توان دارای علامت منفی باشد، نقطه اعشار به سمت چپ منتقل می شود.(به عنوان مثال عدد ۰.۳۴E-۴ معادل با ۰.۰۰۰۰۳۴خواهد بود). در جدول زیر تعدادی عدد حقیقی معتبر و نامعتبر را ملاحظه می کنید. در آخرین خط ملاحظه می شود که در نمایش علمی پاسکال می توانیم یک عدد حقیقی را بدون نقطه اعشار نشان دهیم. می توانیم اعداد حقیقی را دریافت کرده و آنها را چاپ کنیم، روی آنها اعمال محاسباتی معمولی انجام دهیم و آنها را با یکدیگر مقایسه کنیم.
اعداد حقیقی نامعتبر
اعداد حقیقی معتبر
۱۵۰(نقطه اعشاری وجود ندارد)
.۱۲۵۴ (قبل از نقطه اعشاری عدد وجود ندارد)
۱۵۲. (بعد از نقطه اعشاری عدد وجود ندارد)
-۱۵E-۰.۳ (جزء ۰.۳ نامعتبر است)
-۱۵E-.۳ (جزء .۳ نامعتبر است)
۳.۱۴۱۵۹
۰.۰۰۵
۱۲۳۴۵.۰
۱۵.۰E-۰۴
۲.۳۴۵E۲
۱.۱۵E-۷
۱۲E+۵
نوع داده char
نوع داده ی char برای یک داده کارکتری بکار می رود. این داده می تواند، یک حرف، یک عدد یا یک علامت خاص باشد. هر داده کارکتری میان یک جفت نقل قول (”) قرار می گیرد، در زیر نمونه هایی از داده های کارکتری را در زیر مشاهده می کنید.
‘a’ ‘z’ ‘۲′ ‘*’ ”’ ‘ ‘
در نمونه های فوق کارکتر یکی مانده به آخر کارکتر نقل قول است، آخرین کارکتر ، کارکتر فضای خالی است، که آن را با فشردن کلید فاصله خالی در بین یک جفت نقل قول می توان ایجاد کرد.
گرچه در برنامه داده نوع char را باید با علائم نقل قول مشخص کرد ولی داده ای که از بیرون دریافت می شود را نباید درون علائم نقل قول گذاشت. به عنوان مثال، هنگام وارد کردن حرفZ به یک برنامه بجای وارد کردن رشته’Z'، کلید Z را فشار دهید. روی داده های نوع char نمی توان اعمال ریاضی انجام داد.به این معنا که در پاسکال عبارت ‘۲′+’۳′ است. با این حال می توانیم کارکترها را با یکدیگرمقایسه کرده و آنها را دریافت و چاپ کنیم.
نوع داده ی Boolean
بر خلاف سایر انواع داده ها، نوع داده ی Boolean(نوع داده بولن بعد از مرگ جوج بول که مخترع جبر دو مقداری است، به این نام انتخاب شد).فقط دو مقدار true و false را می تواند داشته باشد. برای نمایش مقادیر شرطی، از این نوع داده می توانیم استفاده کنیم، به طوری که برنامه با توجه به این مقادیر می تواند تصمیم گیری کند. یک داده منطقی را می توان چاپ کرد ولی نمی توان به عنوان ورودی آن را دریافت کرد.
نوع داده ی string
کلیه ی نوع داده های Real، integer، Char و Boolean استاندارد هستند. توربو پاسکال از نوع داده ی پنجمی با عنوان string (یکی از کلمات کلیدی توربو پاسکال) نیز حمایت می کند، که شامل کارکترهایی است که میان یک جفت علامت نقل قول قرار گرفته اند. در خط زیر نمونه هایی از این نوع داده را می بینید:
‘asdfg’ ‘۱۲۳۴۵′ ‘true’
توجه داشته باشید که رشته ی ‘۱۲۳۴۵′ همانند عدد ۱۲۳۴۵ در حافظه ذخیره نمی شود، همچنین عملگرهای محاسباتی را نمی توان با این رشته به کار برد.(فقط در حالت اتصال رشته ها به هم و فقط جمع). رشته ‘true’ نیز، به شکلی متفاوت از ارزش منطقی True ذخیره می شود. در توربو پاسکال می توان، رشته ها را دریافت کرد، در حافظه ذخیره کرد، با یکدیگر مقایسه نمود و آنها را نمایش داد.یک داده ی رشته ای حدکثر ۲۵۵ کارکتر می تواند داشته باشد. هنگام وارد کردن یک داده رشته ای برای یک برنامه، درست مانند داده ی نوع Char، علامت های نقل قول آن را حذف کنید. گرچه در پاسکال استاندارد مجاز به استفاده از داده های رشته ای نیستید، اما در خود برنامه می توانید از آنها استفاده کنید. رشته ها معمولا در دستورالعمل هایی که برای نمایش اطلاعات بکار می روند، مورداستفاده قرار می گیرند.
هدف از کاربرد انواع داده ها
استفاده از انواع داده ها کامپایلر را قادر می سازد که عملکرد متناسب با هر یک از سلول های حافظه ی یک برنامه را تشخیص دهد. اگر سعی کنید، به شکلی نادرست، با داده ای در حافظه کار کنید.(مثلا در سلولی از حافظه که دارای نوع داده ی Integer است بخواهید یک رشته را ذخیره کنید)در این حالت نیز با یک پیغام خطا مواجه خواهید شد.پوشش چنین خطاهایی، کامپیوتر را از اجرای دستوراتی که نادرست هستند، مصون می دارد. در قسمت بعد، نحوه ی اعلام انواع نوع داده هر یک از سلول های حافظه به کامپایلر، بیان می شود.
تعیین نوع
از طریق تعیین نوع ثابت ها و متغییر ها، اسامی و نوع اطلاعاتی را که در سلول هایی از حافظه توسط یک برنامه خاص اشغال شده است، به کامپایلر اعلام می کنیم.
تعیین نوع ثوابت
تعیین نوع ثابت
Const
metersToYards = ۱.۱۹۶;
مشخص می کند که شناسه ی metersToYards نام سلولی ازحافظه است که همواره عدد حقیقی ۱.۱۹۶ در آن جای دارد.شناسه metersToYards یک ثابت نامیده می شود. پاسکال نوع داده metersToYards را (که Real است) از روی مقدار آن برمی گزیند. ثوابت فقط در مواردی مورد استفاده قرار می گیرند، که قرار باشد داده ها هیچ وقت تغییر نکنند.(به عنوان مثال، یک یارد مربع همواره برابر با ۱.۱۹۶ متر مربع است). نمی توان دستوری نوشت که محتوای یک ثابت را تغییر دهد.
مثال:۱-۲
در دستورات زیر چهار ثابت، از چهار نوع متفاوت تعیین نوع می شوند. محتوای ثابت دوم، یعنی MySmallInteger، از ثابت اول یعنی MyLargInteger گرفته می شود. سومین ثابت یعنی star، یک داده ی نوع char را در خود دارد و چهارمین ثابت، یعنی FirstMonth دارای یک داده ی نوع string می باشد.
Const
MyLargInteger = ۹۹۹۹;
MySmallInteger = - MyLargInteger;
Star = ‘*’;
FirstMonth = ‘January’;
نمایش نحوی
تعیین نوع ثابت
شکل استفاده: const constant = value;
مثال: const MyPi = ۳.۱۴۱۵۹;
شرح: value متناظر با شناسه ی constant است و هیچ گاه تغییر نخواهد کرد. Value می تواند هم یک مقدار باشد و هم می تواند توسط ثابت دیگری که قبلا مقدار دهی شده، تعریف شود. در جلوی کلمه const می توان بیش از یک ثابت را تعیین نوع کرد، به این صورت که بعد از نام هر ثابت، یک نقطه ویرگول قرار می گیرد.
تعیین نوع متغییرها
سلول های از حافظه که برای ذخیره داده های ورودی برنامه و خروجی های آن بکار می روند، متغییر نامیده می شوند، زیرا مقادیری که در آنها ذخیره شده است، هنگام اجرای برنامه قابل تغییر است. در دستورات زیر نام دو متغییر(Sqmeters و SqYards) برای ذخیره اعداد حقیقی ارائه می شود.
Var Sqmeters , SqYards :Real;
توجه داشته باشید که در پاسکال، از توضیحات که برای عملکرد متغییر ارائه می شوند و درون یک جفت آکولاد قرار دارند، چشم پوشی می شود. در تعیین نوع یک
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 16
برنامه نویسی شیء گرا .NET
مقدمه ای بر برنامه نویسی شی گراء در دات نت
برنامه نویسی شی گراء، بدون شک مهمترین تحول در دنیای نرم افزار طی سالیان گذشته بوده که بیشترین تاثیر را در پیشبرد نرم افزار بدنبال داشته و ما امروز در صنعت گسترده نرم افزار از دستاوردهای وسیع آن بهره مند هستیم . در این مقاله قصد داریم ، به بررسی برنامه نویسی شی گراء پرداخته و از این زاویه نگاهی به دات نت داشته باشیم .
بمنظور شناخت برنامه نویسی شی گراء ، کافی است به اطراف خود نگاهی داشته باشیم .جارو برقی ، قهوه جوش ، پنکه سقفی و مجموعه بسیار گسترده ای از سایر اشیاء را پیرامون زندگی خود مشاهده می نمائیم . اشیاء ما را محاصره و یا در محاصره اشیاء می باشیم . برخی از این اشیاء نظیر دوربین ، مستقل عمل نموه و برخی دیگر نظیر تلفن و ماشین های پاسخگو با سایر اشیاء ارتباط دارند . برخی از اشیاء دارای داده ها ئی می باشند که بین کاربران استفاده می گردد(یک دفترچه تلقن) . برخی از اشیاء شامل اشیاء دیگری می باشند، یک دستگاه بستنی ساز درون فریزر ، نمونه ای در این زمینه است .
بسیاری از اشیاء از لحاظ عملکرد با یکدیگر مشابه ولی از لحاظ اهداف با یکدیگر متفاوت می باشند . مثلا" وان حمام و سینک آشبزخانه هر دو امکان استفاده از آب را فراهم می نمایند ،ولی این کار بندرت اتفاق خواهد افتاد که شما در سینک آشبزخانه دوش گرفته و یا ظروف آشبزخانه خود را در وان حمام بشوئید! بهرحال وان حمام و سینک آشبزخانه موجود در منزل ، احتمالا" از یک لوله آب مشترک در ساختمان استفاده و اینترفیس آنها در موارد متعددی مشترک است ( پیچ آب گرم وسرد ، یک شیر آب ، یک فاضلاب ) .
در صورت تامل در ارتباط با اشیاء فوق ، با سوالات متعددی مواجه خواهیم شد . چه تفاوت هائی بین یک وان حمام و سینک آشبزحانه ، وجود دارد ؟ آیا اختلاف موجود به محل آنها ، اندازه لگن و یا گودی آنها از سطح زمین برمی گردد. شباهت موجود بین اشیاء فوق چیست ؟در برخی موارد انجام عملات یکسان در ارتباط با یک شی ، رفتارهای متفاوتی را بدنبال خواهد داشت . یک شی قادر به انجام عملیات متفاوتی با توجه به ماهیت وضعیت بوجود آمده است . مثلا " زمانیکه دکمه Play یک دستگاه کنترل کننده DVD و یا VCD فعال می گردد ، دستگاه قوق ، یک فیلم را پخش و ما شاهد نمایش آن بر روی صفحه تلویزیون خواهیم بود. اما اگر یک CD در دستگاه Player باشد ، همزمان با فشردن دکمه Play ، دستگاه Player باعث پخش CD صوتی شده و ما شاهد نواختن موسیقی از بلندگوهای مربوطه خواهیم بود. همانگونه که مشاهده می گردد در چنین وضعیتی ، فعال نمودن دکمه ها ی مشابه ، عملیات یکسان ولی با نتایج متفاوت را بدنبال داشته است .
به بسیاری از اشیاء پیرامون خود، می توان بعنوان جعبه های سیاه ( black box ) ، نگاه نمود.در چنین حالتی نسبت به اصول اولیه عملکرد شی مورد نظر و پردازش های اولیه آن شناخت لازم وجود خواهد داشت ولی بسیاری از جزئیات عملیاتی که یک شی انجام می دهد برای ما ناشناخته خواهد بود. اکثرا" در زمان استفاده از یک شی علاقه مند به رویکرد فوق می باشند ( آشنائی با پتانسیل های شی و نحوه بالفعل نمودن آنان و پرهیز از درگیر شدن و آگاهی از جزئیات مربوطه ) . در چنین مواردی برای استفاده از اشیاء موجود در منزل ، ضرورتی به آگاهی از مکانیزم داخلی بعنوان شرط لازم وجود نخواهد داشت و می توان بدون درگیر شدن در جزئیات از شی موجود استفاده نمود.
بمنظور بررسی موضوع اشاره شده ، می توانیم نگاهی به عملکرد یک لامپ 100 وات ، داشته باشیم . سیم پیچ درون لامپ چیزی بیشتر از یک مقاومت ساده نیست . زمانیکه برق فعال ( سوئیج فعال گردد) شده باشد ، حرارت سیم پیچ درون لامپ در حدود 2500 درجه سلسیوس ، خواهد بود.وضعیت فوق ، باعث تشعش گرما ئی متناسب با طول رشته سیم درون لامپ ( قطر خیر ) و حدود 1750 لومن ( واحد پخش نور) می گردد .بدین ترتیب نور مرئی با طول موجی حدود 555 نانومنر را شاهد خواهیم بود. رشته موجود در لامپ از تنگستن تشکیل شده است . آیا به این حجم ازاطلاعات بهمراه جزئیات مربوطه در زمان استفاده از لامپ ، نیاز خواهیم داشت و یا صرفا" می خواهیم زمانیکه سوئیچ فعال می گردد، لامپ روشن و با سایر مسائل و نحوه انجام این کار ، کاری نداریم ؟ در این راستا ، استفاده کنندگان از لامپ آن را بمنزله یک جعبه سیاه در نظر گرفته و صرفا" تمایل به آگاهی از نحوه استفاده از اینترفیس مربوطه برای بخدمت گرفتن پتانسیل موجود را دارند .
هر شی دارای دو خصلت ذاتی است : وضعیت ( state ) و رفتار ( Behavior ) . مثلا" یک لامپ دارای اطلاعاتی نظیر : روشن/خاموش بودن ، نام تجاری ، طول عمر و موارد دیگر است که جملگی وضعیت شی فوق را مشخص می نمایند. رفتار لامپ ، شامل ارائه نور و روشنائی است . یک شی مسلما" نسبت به خود ، بمنزله یک جزیره است . بسیاری از اشیاء بصورت دسته جمعی و با تشریک مساعی در یک سیستم قرار خواهند گرفت . مثلا" تلویزیون و بلندگوهای آن بخشی از سیستمی می باشند که موسوم به تئاتر خانوادگی است . یخچال و اجاق گاز بخشی از سیستمی با نام آشپزخانه می باشند. این نوع سیستم ها خود متعلق به یک سیستم بزرگتر و با نام آپارتمان و یا خانه می باشند . مجموعه ای از آپارتمانها سیستم دیگری را با نام مجتمع ایجاد می نمایند.یک نرم افزار را می توان مشتمل بر مجموعه ای از اشیاء در نظر گرفت که هر یک پتانسیل های لازم را ارائه و با بخدمت گرفتن آنان و بهره گیری از پتانسیل های موجود زمینه نیل به اهداف مورد نظر فراهم خواهد شد. بمنظور طراحی و پیاده سازی یک برنامه شی گراء در اولین مرحله می بایست ، اقدام به طراحی و ایجاد اشیاء مورد نظر با توجه به اهداف نرم افزار نمود.مرحله فوق ، اولین گام و بدون شک مهمترین مرحله در فرآیند ایجاد یک سیستم است . در مرحله دوم که ارزش آن شاید بمراتب بالاتر از مرحله قبل باشد ، می بایست نحوه ارتباط اشیاء با یکدیگر بدرستی مشخص گردد. در زمان ایجاد یک سیستم بزرگ که دارای پیچیدگی های خاص خود است ، می بایست نسبت به دو مرحله فوق ، شناخت لازم وجود داشته و بدون آگاهی لازم ، امکان ایچاد اینچنین سیستم های بزرگی با رویکرد شی گراء ، چالش های خاص خود را بدنبال خواهند داشت . در چنین مواردی می توان فرآیند پیاده سازی یک سیستم را شامل دو مرحله مهم طراحی شی گراء و برنامه نویسی شی گراء در نظر گرفت . برنامه نویسی مبتنی بر عنصر ، پایه و اساس این نوع سیستم ها محسوب می گردد . برنامه نویسی اشیاء در نرم افزار ، نیازمند یک زبان برنامه نویسی شی گراء نمی باشد و اگر از یک زبان برنامه نویسی شی گراء استفاده می گردد ، بدین مفهوم نخواهد بود که کد نوشته شده ، شی گراء خواهد بود. زبان ها صرفا" می توانند کمکی در فرآیند فوق را ارائه و هیچگونه تضمینی در این رابطه را ارائه نخواهند داد. با استفاده از ویژوال بیسیک ، امکان نوشتن نرم افزار شی
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 5
برنامه نویسی توربو پاسکال Trackback
بخش تعیین نوع یک برنامه پاسکال، اسامی و کاربرد شناسه هایی را که توسط کاربر تعریف شده اند، به کامپایلر اعلام می کند. همچنین در این بخش به کامپایلر اعلام می شود که چه اطلاعاتی در حافظه باید ذخیره شود. در تعیین نوع از کلمه var استفاده می شود.
نوع داده ها
نحوه ی جایگیری یک عدد خاص در حافظه، توسط نوع داده ی آن عدد مشخص می شود. در پاسکال استاندارد، چهار نوع داده ی از پیش تعریف شده وجود دارند که عبارتند از : Real( برای اعداد حقیقی)، integer (برای اعداد صحیح)، Char( برای داده های کارکتری) و Boolean (برای مقادیر True و false) در توربو پاسکال نوع داده ی دیگری به نام String وجود دارد که استاندارد نیست ولی پردازش مجموعه ای از کارکتر ها را( مثلا، نام یک شخص) را آسان تر می کنند. در این بخش نوع داده ها را مطرح کرده و در فصل ۷ به بررسی آنها خواهیم پرداخت.
یک داده را هم می توان داخل برنامه پاسکال نوشت و هم می توان آن را طوری در نظر گرفت که توسط برنامه دریافت می شود. داده ای که داخل برنامه نوشته می شود، یک لیترال نامیده می شود.
نوع داده integer
در ریاضیات، integer ها اعداد صحیح مثبت یا منفی هستند و عددی که بدون علامت است، مثبت در نظر گرفته می شود. در پاسکال برای نمایش اعداد صحیح از نوع داده ی integer استفاده می شود.چون ظرفیت حافظه محدود است، کلیه اعداد صحیح را نمی توان نمایش داد. توربو پاسکال اعداد بین ۳۲۷۶۸- تا ۳۲۷۶۸ را نشان می دهد. ثوابتی با عنوانMaxint وجود دارد که بزرگترین عدد مثبت را مشخص میکند. در اعداد صحیح نمی توان از ویرگول استفاده کرد. بعضی از اعداد صحیح به شرح زیر هستند:
۳۵- ۶۷- ۵۸۸۸ ۱۰۰۸۹
می توانیم اعداد صحیح را خوانده و نمایش دهیم، عملیات محاسباتی معمولی (نظیر جمع، تفرق، ضرب و تقسیم) روی آنها انجام دهیم و دو عدد صحیح را با یکدیگر مقایسه کنیم.
نوع داده ی Real
یک عدد حقیقی شامل یک بخش صحیح و یک بخش اعشاری است که توسط نقطه اعشار از یکدیگر جدا شده اند. در پاسکال برای نمایش اعداد حقیقی از نوع داده Real استفاده می شود و یک عدد حقیقی باید با عدد شروع شده و به عدد ختم شود. بنابراین در پاسکال اعداد -.۲۵ و ۶۴. را باید به صورت ۰.۲۵- و ۶۴.۰ نوشت.
برای نمایش اعداد خیلی بزرگ و اعداد خیلی کوچک می توانیم از نماد علمی استفاده کنیم. در نمایش اعداد، عدد حقیقی ۱۰۵×۱.۲۳ معادل با عدد ۱۲۳۰۰۰.۰ است که در آن توان ۵ به معنای «انتقال نقطه اعشار به اندازه ۵ رقم به سمت راست» می باشد. در پاسکال نمایش علمی اعداد به صورت ۱.۲۳E+۵ یا ۱۲۳E۵ خواهد بود. اگر توان دارای علامت منفی باشد، نقطه اعشار به سمت چپ منتقل می شود.(به عنوان مثال عدد ۰.۳۴E-۴ معادل با ۰.۰۰۰۰۳۴خواهد بود). در جدول زیر تعدادی عدد حقیقی معتبر و نامعتبر را ملاحظه می کنید. در آخرین خط ملاحظه می شود که در نمایش علمی پاسکال می توانیم یک عدد حقیقی را بدون نقطه اعشار نشان دهیم. می توانیم اعداد حقیقی را دریافت کرده و آنها را چاپ کنیم، روی آنها اعمال محاسباتی معمولی انجام دهیم و آنها را با یکدیگر مقایسه کنیم.
اعداد حقیقی نامعتبر
اعداد حقیقی معتبر
۱۵۰(نقطه اعشاری وجود ندارد)
.۱۲۵۴ (قبل از نقطه اعشاری عدد وجود ندارد)
۱۵۲. (بعد از نقطه اعشاری عدد وجود ندارد)
-۱۵E-۰.۳ (جزء ۰.۳ نامعتبر است)
-۱۵E-.۳ (جزء .۳ نامعتبر است)
۳.۱۴۱۵۹
۰.۰۰۵
۱۲۳۴۵.۰
۱۵.۰E-۰۴
۲.۳۴۵E۲
۱.۱۵E-۷
۱۲E+۵
نوع داده char
نوع داده ی char برای یک داده کارکتری بکار می رود. این داده می تواند، یک حرف، یک عدد یا یک علامت خاص باشد. هر داده کارکتری میان یک جفت نقل قول (”) قرار می گیرد، در زیر نمونه هایی از داده های کارکتری را در زیر مشاهده می کنید.
‘a’ ‘z’ ‘۲′ ‘*’ ”’ ‘ ‘
در نمونه های فوق کارکتر یکی مانده به آخر کارکتر نقل قول است، آخرین کارکتر ، کارکتر فضای خالی است، که آن را با فشردن کلید فاصله خالی در بین یک جفت نقل قول می توان ایجاد کرد.
گرچه در برنامه داده نوع char را باید با علائم نقل قول مشخص کرد ولی داده ای که از بیرون دریافت می شود را نباید درون علائم نقل قول گذاشت. به عنوان مثال، هنگام وارد کردن حرفZ به یک برنامه بجای وارد کردن رشته’Z'، کلید Z را فشار دهید. روی داده های نوع char نمی توان اعمال ریاضی انجام داد.به این معنا که در پاسکال عبارت ‘۲′+’۳′ است. با این حال می توانیم کارکترها را با یکدیگرمقایسه کرده و آنها را دریافت و چاپ کنیم.
نوع داده ی Boolean
بر خلاف سایر انواع داده ها، نوع داده ی Boolean(نوع داده بولن بعد از مرگ جوج بول که مخترع جبر دو مقداری است، به این نام انتخاب شد).فقط دو مقدار true و false را می تواند داشته باشد. برای نمایش مقادیر شرطی، از این نوع داده می توانیم استفاده کنیم، به طوری که برنامه با توجه به این مقادیر می تواند تصمیم گیری کند. یک داده منطقی را می توان چاپ کرد ولی نمی توان به عنوان ورودی آن را دریافت کرد.
نوع داده ی string
کلیه ی نوع داده های Real، integer، Char و Boolean استاندارد هستند. توربو پاسکال از نوع داده ی پنجمی با عنوان string (یکی از کلمات کلیدی توربو پاسکال) نیز حمایت می کند، که شامل کارکترهایی است که میان یک جفت علامت نقل قول قرار گرفته اند. در خط زیر نمونه هایی از این نوع داده را می بینید:
‘asdfg’ ‘۱۲۳۴۵′ ‘true’
توجه داشته باشید که رشته ی ‘۱۲۳۴۵′ همانند عدد ۱۲۳۴۵ در حافظه ذخیره نمی شود، همچنین عملگرهای محاسباتی را نمی توان با این رشته به کار برد.(فقط در حالت اتصال رشته ها به هم و فقط جمع). رشته ‘true’ نیز، به شکلی متفاوت از ارزش منطقی True ذخیره می شود. در توربو پاسکال می توان، رشته ها را دریافت کرد، در حافظه ذخیره کرد، با یکدیگر مقایسه نمود و آنها را نمایش داد.یک داده ی رشته ای حدکثر ۲۵۵ کارکتر می تواند داشته باشد. هنگام وارد کردن یک داده رشته ای برای یک برنامه، درست مانند داده ی نوع Char، علامت های نقل قول آن را حذف کنید. گرچه در پاسکال استاندارد مجاز به استفاده از داده های رشته ای نیستید، اما در خود برنامه می توانید از آنها استفاده کنید. رشته ها معمولا در دستورالعمل هایی که برای نمایش اطلاعات بکار می روند، مورداستفاده قرار می گیرند.
هدف از کاربرد انواع داده ها
استفاده از انواع داده ها کامپایلر را قادر می سازد که عملکرد متناسب با هر یک از سلول های حافظه ی یک برنامه را تشخیص دهد. اگر سعی کنید، به شکلی نادرست، با داده ای در حافظه کار کنید.(مثلا در سلولی از حافظه که دارای نوع داده ی Integer است بخواهید یک رشته را ذخیره کنید)در این حالت نیز با یک پیغام خطا مواجه خواهید شد.پوشش چنین خطاهایی، کامپیوتر را از اجرای دستوراتی که نادرست هستند، مصون می دارد. در قسمت بعد، نحوه ی اعلام انواع نوع داده هر یک از سلول های حافظه به کامپایلر، بیان می شود.
تعیین نوع
از طریق تعیین نوع ثابت ها و متغییر ها، اسامی و نوع اطلاعاتی را که در سلول هایی از حافظه توسط یک برنامه خاص اشغال شده است، به کامپایلر اعلام می کنیم.
تعیین نوع ثوابت
تعیین نوع ثابت
Const
metersToYards = ۱.۱۹۶;
مشخص می کند که شناسه ی metersToYards نام سلولی ازحافظه است که همواره عدد حقیقی ۱.۱۹۶ در آن جای دارد.شناسه metersToYards یک ثابت نامیده می شود. پاسکال نوع داده metersToYards را (که Real است) از روی مقدار آن برمی گزیند. ثوابت فقط در مواردی مورد استفاده قرار می گیرند، که قرار باشد داده ها هیچ وقت تغییر نکنند.(به عنوان مثال، یک یارد مربع همواره برابر با ۱.۱۹۶ متر مربع است). نمی توان دستوری نوشت که محتوای یک ثابت را تغییر دهد.
مثال:۱-۲
در دستورات زیر چهار ثابت، از چهار نوع متفاوت تعیین نوع می شوند. محتوای ثابت دوم، یعنی MySmallInteger، از ثابت اول یعنی MyLargInteger گرفته می شود. سومین ثابت یعنی star، یک داده ی نوع char را در خود دارد و چهارمین ثابت، یعنی FirstMonth دارای یک داده ی نوع string می باشد.
Const
MyLargInteger = ۹۹۹۹;
MySmallInteger = - MyLargInteger;
Star = ‘*’;
FirstMonth = ‘January’;
نمایش نحوی
تعیین نوع ثابت
شکل استفاده: const constant = value;
مثال: const MyPi = ۳.۱۴۱۵۹;
شرح: value متناظر با شناسه ی constant است و هیچ گاه تغییر نخواهد کرد. Value می تواند هم یک مقدار باشد و هم می تواند توسط ثابت دیگری که قبلا مقدار دهی شده، تعریف شود. در جلوی کلمه const می توان بیش از یک ثابت را تعیین نوع کرد، به این صورت که بعد از نام هر ثابت، یک نقطه ویرگول قرار می گیرد.
تعیین نوع متغییرها
سلول های از حافظه که برای ذخیره داده های ورودی برنامه و خروجی های آن بکار می روند، متغییر نامیده می شوند، زیرا مقادیری که در آنها ذخیره شده است، هنگام اجرای برنامه قابل تغییر است. در دستورات زیر نام دو متغییر(Sqmeters و SqYards) برای ذخیره اعداد حقیقی ارائه می شود.
Var Sqmeters , SqYards :Real;
توجه داشته باشید که در پاسکال، از توضیحات که برای عملکرد متغییر ارائه می شوند و درون یک جفت آکولاد قرار دارند، چشم پوشی می شود. در تعیین نوع یک
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 10
انواع محیطهای برنامه نویسی و امکانات نرم افزاری در PLC
امروزه استاندارد های خاص بیت المللی مثل IEC 1131 برای برنامه نویسی و کار با PLC ها وجود دارد که اغلب شرکت های سازنده و طراح PLC که معمولا نرم افزارهای مخصوص PLC های خودشان را تولید می کنند. از این روشهای استاندارد شده پیروی می کنند و فقط تفاوتهای جزیی در نرم افزارهای آنها به چشم می خورد که اکثر آنها هم در اثر تفاوتهای سخت افزاری سیستم های طراحی شده بوجود می آیند.اما در این بخش زبانها و محیطهای مختلف برنامه نویسی به طور مختصر و خلاصه به طور عمومی و کلی مورد بررسی قرار می گیرد تا در برخورد های احتمالی با این محیطها دچارسردرگمی نشوید.
بطور کلی می توان زبانها برنامه نویس PLCرا به پنج دسته تقسیم کرد:
• زبان SFC یا Sequential Function Chart Language
• زبان FBD یا Function Block Diagram Language
• زبان LD یا Ladder Diagram Language
• زبان ST یا Structured Text Language
• زبان IL یا Instruction List Language
پنج زبان فوق زبان های استاندارد و شناخته شده PLC ها هستند و کمپانی های سازنده سخت افزار و نرم افزار PLCها با وجود اختلاف های جزیی که ممکن است در نام یا ظاهر نرم افزار هایشان با نمونه های اصلی و جود داشته باشد، همگی بر اساس همین روشهای استاندارد شده حرکت می کنند.
زبان SFC:
در این محیط نیز مانند دیگر محیط های برنامه نویسی،ابزار هایی وجود دارند که در ابتدا باید با آنها آشنا شد، مهمترین ابزارهای موجود Transition,Initialstep,Step است.
هر Step معرف مرحله ای از روتین کنترلی است که در آن اتفاقاتی، براساس تعاریف نویسنده برنامه، به وقوع خواهد پیوست، هر step بایک مربع نشان داده می شود وشماره ای که معرف مرحله ای خاص از برنامه است داخل آن نوشته می شود.
تعریف عملیات آن مرحله نیز در درون یک مستطیل نوشته می شود که به مربع اصلی متصل شده و هر دوی اینها معرف یک مرحله از برنامه هستند.
در هر زمان و هر سیکل اسکن برنامه،step مربوط به آن فعال خواهد شد، برای نشان دادن step های فعال و غیر فعال از یک دایره کوچک استفاده می شود که درون مربع اصلی
:نمایش step فعال و غیر فعال
Step قرار می گیرد و در زمان اجرای برنامه مشخص می کند که کدام step فعال و کدام غیر فعال است.
بدیهی است که دستورات مربوط به step فعال در همان لحظه در حال اجرا شدن است و step غیر فعال، کاری انجام نمی دهد.برای نشان دادن وضعیت ابتدایی و در شروع برنامه SFC می بایست از یک Initial step استفاده کنیم که نشان دهنده شروع و مرحله آغاز برنامه است ، نماد گرافیکی step Initial یک مربع دو خطی است.
بدیهی است که هر برنامه SFC باید فقط دارای یک Initial step باشد که با شروع اجرای،به شکل فعال در خواهد آمد. شکل3-4: Initial step در شروع برنامه
مورد بعدی که باید در مورد آن صحبت شود Transition است که بصورت یک خط افقی مسیر ارتباطی بین دو step را قطع می کند. شماره مربوط آن در گوشه پایین و سمت راست آن نوشته می شودو توضیحات لازم را در قسمت راست می نویسندمانند
لازم بذکر است که قسمت توضیحات یک بخش آزاد و مجزا است و به هیچ عنوان قسمتی از برنامه محسوب نمی شود و تنها جنبه توضیح برای درک بهتر را دارد.
توابع کنترل پیوسته در PLC ها
در یک PLC با ورودی / خروجی آنالوگ ، پس از دریافت ورودیها، عملیات ریاضی مناسب روی آنها انجام می شود و سپس خروجی های آنالوگ تعیین می شوند. قابلیت و سطح کنترل بستگی به سرعت و قابلیت PLC در انجام عملیات ریاضی دارد. دریک فرایند کنترلی ممکن است جملات تناسبی ،انتگرال و مشتق وجود داشته باشند. به عنوان مثال با انجام عملیات زیر، کنترل با جمله تناسبی انجام می شود :
1.مقدار ورودی سنسور را بخوان، مقدار اندازه گیری شده (MV)را با مقدار (SP) مقایسه کن و مقدار خطا (E)را به دست آور. E=SP-MV
2.خطا را در یک ضریب ثابت(بهره سیستم)KP ضرب کن.
3.نتیجه را به مبدل D/A ارسال کن و به مرحله 1 برگرد.
البته در یک کنترل پیوسته برای بهبود پارامترهایی نظیر سرعت پاسخ، نوسان و خطاهای ماندگار لازم است از جملات مشتق و انتگرال نیز استفاده شود. در PLCهایی که امکان کنترل PID را دارند، معمولاالگوریتم کنترل در حافظه PLCوجود دارد و کاربر تنها ظرایب ورودی / خروجی را معین می کند. این الگوریتمها ممکن است به صورت زیر برنامه هایی باشند که در برنامه اصلی فراخوانی شوند.البته پیاده سازی کنترل PID با نرم افزار زمان زیادی را می گیرد و سیکل اجرای برنامه را طولانی می کند. در مواقعی