بررسی زبان Ada
اسلاید 1: بسم الله الرحمن الرحیمwww.Ginoo.irموضوع: بررسی زبان Ada
اسلاید 2: تاریخچهاین زبان در سال 1970 توسط سازمان دفاع آمریکا طراحی شد.گرچه برای کاربردهای نظامی طراحی شدولی یک زبان همه منظوره برای حل بسیاری از مسائل برنامه نویسی است.ساختار بلوکی و مکانیزم نوع داده آن مثل پاسکال است ولی قابلیت هایی برای کاربردهای بی درنگ و توزیعی دارد.بسته بندی و وراثت در این زبان امکان پذیر است.Ada Augusta Byron ، اولین دانشمند علوم کامپیوتر میباشد. که به افتخار او این زبان Ada نام گرفته است.
اسلاید 3: Ada در ابتدا براي ۳ هدف طراحي شده بود:1- قابليت اطمينان و نگهداري برنامه (Program reliability and maintenance)2- برنامه نويسي به عنوان يک فعاليت انساني (Programming as a human activity)3- کارايي (Efficiency)خلاصه زبان ada: یک برنامهٔ ایدا از یک یا بیش از یک واحد تشکیل شدهاست. واحدهای برنامه ممکن است زیربرنامهها (که الگوریتمهای قابل اجرا را تعریف میکنند)، پکیجها (که مجموعهای از موجودیتها را تعریف میکنند)، واحدهای وظیفه (که محاسبات همزمان را تعریف میکنند)، واحدهای حفاظت شده (که عملیاتی برای اشتراک هماهنگ دادهها بین وظیفهها را تعریف میکنند)، یا واحدهای عمومی (که فرمهای پارامتردار پکیجها و زیربرنامهها را تعریف میکنند) باشند. هر واحد برنامه معمولاً شامل دوبخش است: یکی بخش ذکر خصوصیات، شامل اطلاعاتی که باید برای واحدهای دیگر آشکار باشند؛ و دیگری بخش بدنهٔ برنامه، شامل پیادهسازی جزئیاتی که لازم نیست برای واحدهای دیگر قابل رؤیت باشد. بیشتر واحدهای برنامه میتوانند به طور جداگانه کامپایل شوند.
اسلاید 4: کاربرد ها زبان ایدا:سیستمهای صورت پرداخت، سیستم بانکداری تجاری، سیستم معاملهٔ سهمیهبندی کالااکتشافات ژئوفیزیک و سیستم پردازش دادهها، و سیستم تجزیهٔ شیمیایی.مرکز تجاری مخابرات تلفن همراه و برنامههای تجاری ارتباطات راه دورFAA در جتهای تجاری، سیستمهای کنترل ترافیک هوایی، سیستمهای ردیابی و هدایت زمان پرواز، شبیهسازهای آموزش پروازسفینههای فضایی ناسا و محیطهای ایستگاههای فضایی.سیستمهای تولید خودکار، سیستمهای جوشکاری رباتیک و سیستمهای مدیریت موجودی.سیستمهای تعبیه شدهٔ نظامی استراتژیک، و اکثر برنامههایی که در برنامههای کاربردی و سیستمهای بیدرنگ، استفاده میشوند
اسلاید 5: ویژگی های زبان ایدا:ویژگی پیمانه ای بودن: قابلیت حمل : تمام کامپایلرهای ایدا معتبر هستند و ایدا یک زبان طراحی نرمافزاری است که از لحاظ بینالمللی استاندارد شده توسط ANSI و ISO میباشد.برنامهها می توانند به بخشهایی تقسیم شوند و این بخشها جداگانه توسط تیمهایی که به طور همزمان کار میکنند، نوشته شوند و سپس با یکدیگر مجتمع شوند .قابلیت استفاده مجدد :مفهوم پکیج در ADA اجازه میدهد که کاربران اجزایی از نرمافزار را که میتوانند بازیابی، استفاده و یا تغییر داده شوند بدون اینکه بر بقیهٔ اجزای برنامه اثر بگذارند، توسعه دهند. قابلیت اعتماد :به دلیل امکان تایپ کد قوی و وجود مکانیسم دستکاری و پردازش استثناء اصلاح و بهبود نرمافزار نوشته شده برای یک برنامهنویس دیگر- به دلیل پیمانه ای بودن زبان- آسان استنگهداری :
اسلاید 6: نقش زبان در سال ها مختلف:نقش این زبان بین سال های 80-1976: سخت افزار: ریزکامپیوترهایی برای امور اقتصادی- سیستم های ذخیره انبوه بزرگ متدها: انتزاع داده ها-معناشناسی رسمی-تکنیک های برنامه نویسی همزمان-تعبیه شده و بی درنگ. نقش های ادا 83 بین سال های 85- 1981 : سخت افزار : کامپیوترهای شخصی-اولین ایستگاه های کاری-بازی های ویدئویی-شبکه های محلی-آرپانتمتدها:برنامه نویسی شی گراء-محیط های محاوره ای-ویراستارهای نحوی. نقش های ادا95 بین سال های 95-1991 : سخت افزار: ایستگاه های کاری سریع وکامپوترهای متوسط ارزان-معماری های موازی-صدا-تصویر-فاکس-چندرسانه ای
اسلاید 7: ساختار واحد برنامههر واحد برنامه معمولا شامل دو بخش است:1- Specification ( بخش ذکر خصوصیات): که شامل اطلاعاتي است که بايد توسط واحد هاي ديگر قابل ديدن باشد.2- Body: شامل جزيات پياده سازي است که نيازي نيست براي ديگر واحدها قابل ديدن باشد.یک برنامه ADAاز یک یا بیش از یک واحد تشکیل شدهاست. واحدهای برنامه ممکن است هر یک از موارد زیر باشند:زیربرنامهها ( Procedure - Function)پکیج ها واحدهای وظیفه(task): تعريف يک کار شامل ترتيبي از عمليات واحدهای حفاظت شده : تعريف عملیاتی برای اشتراک هماهنگ دادهها بین وظیفهها واحدهای عمومی: تعریف فرمهای پارامتردار پکیجها و زیربرنامهها
اسلاید 8: عملیات پایه ای (Primitive Operation)اعمال اولیه عملیاتی هستند که به هنگام تعریف زبان تعیین می گردند.اعمال پایه ای که زبان ADA از آن حمایت می کند عبارتند از:عملیات محاسباتی:Mod , + , - , * , / ,abs ,remعملیات رابطه ای:=/= ، = ، > ، >= ، < ،<=عملیات انتساب::=عملیات بیتی: not , in , not in , And , Or , Xor , And then , Or Else
اسلاید 9: ترتيب انجام عمليات (Sequence Control) 1- در داخل عبارات جبري: عمليات با تقدم از چپ به راست انجام ميشود . Ada داراي عمليات مدار کوتاه (And then,OR Else) است. به طوري که اگر ارزيابي اولين عملوند براي تعيين مقدار عبارت کافي باشد فقط اولين عملوند را ارزيابي ميکند – استثنا پرانتز است.2- بين دستورات : ترتيب اجرا بدين ترتيب است که از آدرس پايين تر به آدرس بيشتر اجرا ميشود – استثنا ها : if case loop3- بين برنامه اصلي و فرعي: استثنائ اين مورد پردازش موازي است.
اسلاید 10: Dataداده هاي Ada شکل توسعه يافته اي از انواع پاسکال هستند اما قدرت تعريف نوع جديد درآنها بيشتر است .انواع داده ها :1) داده هاي اوليه - EDT2) ساختمان داده - SDT3) دادهاي کاربر ساز
اسلاید 11: صحيح حقيقي کاراکتري بولي رشته اي اشاره گرانواع داده هاي اوليه :بردارها آرايه ها فايلهارکورد زير نوع و ...انواع ساختمان داده :انواع دادهاي کاربر ساز:
اسلاید 12: دستورات دستورات و ساختارهاي کنترل ترتيب اجرا عبارتند از: - if- case- دستورات حلقه . (loop) حلقه به سه صورت است و exitاجازه خروج از حلقه را مي دهد.از goto نيز مي توان به طور محدود استفاده کرد. تمام دستورات کنترلي با کلمه کليدي end خاتمه مي يابند، مثل: end if براي خروج از ifوend loop براي خروج از loop .
اسلاید 13: انواع دستورات در ADAدستور انتسابدستورات شرطي دستور if دستور caseدستورات تکرار دستور loop دستور for دستور gotoدستور exit
اسلاید 14: در زبان Ada که هم برای قابلیت انعطاف و هم برای کارایی طراحی شده می توان زمان انقیاد (Binding) را تعیین کرد. یعنی انقیاد می تواند هم زودرس(EBT) و هم دیررس (LBT) باشد.در زبان Ada به برنامه نویس این امکان داده شده که نام های زیربرنامه ی پربارشده را تعریف نماید و به نمادهای عملگرهای موجود معانی اضافی دیگری را ضمیمه کند. عملگر پربارشده عملگری است که چندین عملیات را تحت پوشش قرار می دهد. چکیده ای از نکات ADA
اسلاید 15: دستور انتساب در Ada به صورت A:=B است.در زبان Ada بدنه می تواند شامل تعریف زیربرنامه های دیگری باشد.Ada از بین معدود زبان هایی است که به طور گسترده با جنبه های مجردسازی داده ها به کار می رود.در زبان Ada نوع داده ی رشته ای مستقیما ارائه نشده و رشته ی کاراکتری را به عنوان آرایه خطی از کاراکترها در نظر می گیرد.چکیده ای از نکات ADA
اسلاید 16: در زبان Ada عملیات ریاضی روی آرایه قابل انجام استAda از زبان های برنامه سازی با ساختار بلاکی است. (یعنی هر برنامه یا زیربرنامه به صورت مجموعه ای از بلاک های تودرتو سازماندهی می شود) از آنجایی که زبان Ada از ساختار بلاکی برخوردار است از قوانین حوزه ی ایستا پیروی می کند. حوزه ی ایستا: در صورتی که یک شناسه مورد مراجعه قرار گیرد و تعریف برای آن در آن بلاک وجود نداشته باشد، تعریف آن شناسه از بلاک بیرونی تر گرفته می شود.چکیده ای از نکات ADA
اسلاید 17: در زبان Ada به هنگام ورود به زیربرنامه، متغیرهای محلی آن ایجاد و به هنگام بازگشت از آن متغیرهای آن از بین می رود.در Ada برای ارسال پارامترها به زیربرنامه از روشها ی متفاوتی استفاده میشود:Pass By Value - - Pass By ResultPass By Value-Result - دستورات new و dispose برای تخصیص حافظه از فضای heap حافظه می گیرد.اشاره گر تنها به یک نوع داده می تواند اشاره کند.چکیده ای از نکات ADA
اسلاید 18: نکات برنامه نویسی با زبان Ada تعریف ثابت :days_per_week : constant Integer := 7;days_per_week : constant := 7;تعریف نوع:type INT is new Integer;a : INT;b : Integer;a := b; -- fails. subtype INT is Integer;a : INT;b : Integer;a := b; -- works.
اسلاید 19: تعریف محدوده برای string:type A_Record isrecordillegal : String;legal : String(1 .. 20);end record;procedure check(legal : in String);Name : String := Simon;
اسلاید 20: تعیین اندازه اعشار:type Fixed is delta 0.1 range -1.0..1.0;Enumerations:type All_Days is (Monday, Tuesday, Wednesday, Thursday,Friday, Saturday, Sunday); type Boolean is (FALSE, TRUE);
اسلاید 21: رکورد در زبان سی و ایدا:struct _device {int major_number;int minor_number;char name[20];};typedef struct _device Device;type struct_device isrecordmajor_number : Integer;minor_number : Integer;name : String(1 .. 19);end record;type Device is new struct_device;
اسلاید 22: Procedure typestypedef int (*callback_func)(int param1, int param2);type Callback_Func is access function(param_1 : in Integer;param_2 : in Integer)return Integer;
اسلاید 23: If in Ada:if expression thenstatementElse if expression thenstatementelsestatementend if;
اسلاید 24: Switch case:case expression iswhen value => statementwhen others => statementend case;Example:case integer_value iswhen 1 .. 4 => value_ok := 1;when 5 | 6 | 7 => null;end case;
اسلاید 25: While loop and loop and for:loopstatementend loop;while expression loopstatementend loop;for ident in range loopstatementend loop;
اسلاید 26: Exception handling:beginstatement1exceptionwhen ident => statement2when others => statement2end;
اسلاید 27: Sub programs:type int is new Integer;type int_star is access int;procedure func1(by_value : in int);procedure func2(by_address : in out int_star);procedure func3(by_reference : in out int);
نقد و بررسی ها
هیچ نظری برای این پاورپوینت نوشته نشده است.