صفحه 1:
پسم الله الرحمن الرحیم ‎www,.Ginoo.lir‏ ‏موضوع: پررسی زیان ۸10

صفحه 2:
Says پخچ این زبان در سال 197200 توسط سازمان دفاع آمریکا طراحی شد.گرچه برای کاربردهای نظامی طراحی شدولی یک زبان همه منظوره برای حل بسیاری از مسائل برنامه نوسی است ساختار بلوکی و مكانيزه نوع داده آن مثل باسكال است ولى قابليت هايى براى كاربردهاى بى درنك و توزيعى دارد.بسته بندى و وراثت در اين زبان امكان يذير است. حصعر) واصرى8) 90) ‎١‏ اوليندلنشمند علوم كامبيوتر ميباشد. كه به لفتخار او لينزبان-94) نام كرفته لست 6 a ۳1 Poe S

صفحه 3:
3 در لبعا برلى؟ هدفطراحیش ده ب ود ۱- قابلیت طمینن و نگهداری برنامه Program reliability and maintenance) (Programming as a human activity) ti ld 5, clues cas ky -۲ ؟- كارابى ‎Efficiency)‏ خلاصه زيان 203: يك برنامة ايدا از يك يا بيش از يك واحد تشكيل شدهاست. واحدهاى برنامه ممكن است زيربرنامهها (كه الكوريتمهاى .قابل اجرا را تعريف مىكنند)؛ بكيجها (كه مجموعداى از موجوديتها را تعريف مىكنند)؛ واحدهاى وظيفه (كه محاسبات هبزمان را تعريف مىكنند)؛ واحدهاى حفاظت شده (كه عملياتى براى اشتراك هماهنك ذادءها بين وظيفهها را تعريف می‌کنند)» يا واحدهاى عمومى (كه فرمهاى بارامتردار بكيجها و زيربرنامهها را تعريف مىكنند) باشند. هر واحد برنامه معمولاً شامل دويخش است: يكى بخش ذكر خصوصيات: شامل اطلاعاتى كه بايد براى واحدهاى ديكر آشكار باشند و ديكرى بخش بدنة برنامه» شامل بيادمسازى جزئياتى كه لازم نيست براى واحدهاى ديكر قابل رؤيت باشد. بيشتر واحدهاى برنامد مرتوفنتد يه طور جداكانه كامهايل شوتد. Poe SD

صفحه 4:
سيستوهاي صورت برداخت: سيستم اکداری تجاری: سيستم معاملة سهميهبندى كلا اكتشافات زتوفيزيك و سيستم بردازش دادههاء و سيستم تجزية شيميابى مركز تجاري مخابرات تلفن همراه و برنامدهلى تجارى ارثباطلت راه دور در جهایت جلریسیست‌هایک نترلت رافیکهولیی سیستجهای دیابیو هلیتومان‌۴۸۸ روز شبيهسلزهاى آموزش هرواز .سفيتدهاى فضابى ناسا و محيطهلى ايستكامهلق ‎od‏ سر و تا سرا روت و نی ‎i‏ 1 اسيستوهاى نعبيه شدخ نظامى استرائؤيك. و اكثر برنامههابى كه در ‎lately‏ کلبردي و سیستمهلی بیدرنگ اسف © ع0

صفحه 5:
:ویژگی های زبان ایدا است که از لحاظ بينالمللى استاندارد شده توسط 81051 و 150 قبليك حمل : ‎ola al plas‏ ايذا معتبر هستفد و ايدا يك زيان طراحى نرمافزا می‌باشد. ‎yh ay las‏ "رها می تنب به بخش‌هایی عسیم شیند و این پجتی‌ها جداگانهترسط تبمهایی که به طور همزمان کلر می‌کننده توشته شوند و سپس با ‎veces se‏ قابلیت استفاده مجدد: مفهوم پکیج در 80/8 اجازه مىدهد كه كاربران اجزايى از نرمافزار را كه مىتوانند بازيابي: استفاده ويا تغيير داده شوند بدون ایکه بر بقیق اجزای بنامهاثر یذارند توسعه دهند. و03 30 © + Sala 5 اصلاح و بهبود نرمافزار نوشته شده برلى يك برنامهنويس ديكر- به دليل بيمانه اى بودن زبان- سا 66

صفحه 6:
ٍنقش زبان در سال ها مختلف نقش اين زبان بين سال هاى (07۳0-06): سخت افزار: ریزکامپیوتر هایی برای امور اقتصادی- سیستم های ذخیره انبوه بزرگ متدها: انتزاع داده ها-معناشناسی رسمی-تکنیک های برنامه نویسی همزمان-تعبیه شده و بی درنگ. نقش هاى ادا ©© بين سال های 06- 16600 : سخت افزار : کامپیوترهای شخصی- اولین ایستگاه های کاری-بازی های ویدئویی-شبکه های محلی-آر؛ زبرنامه نویسی شی گراءمحیط های محاوره ای-ویراستارهای نحوی. نقش های ادا 06 بین سال های 1900-06 : سخت افزار: ایستگاه های کاری سریع وکامپوترهای متوسط ارزان-معماری های موازی-صدا-تصویر-فاکس-چندررسانه ای a ۳1 ‎DS‏ وه

صفحه 7:
یک برنامه 6008)از یک یا بیش از یک واحد تشکیل شده‌است. واحدهای برنامه ممکن است هر یک از موارد زیر باشند: زیربرنامه‌ها ( مس سس ee واحدهای وظیفه(851): تعریف یک کار شامل ترتیبی از عملیات واحدهای حفاظت شده : تعريف عملياتى برلى اشتراك هماهنگ داده‌ها بین وظبقهها واحدهای عمومى: تعريف فرمهاى بارامتردار يكيجها و زيربرنامدها هر واحد برنامه معمولا شامل دو بخش است: ‎-١ *‏ دهم 0) ( بخش ذكر خصوصيات): كه شامل اطلاعاتى است كه بايد توسط واجد های دیگر قابل دیدن باشد. ۱ / ‎ ‏۰ 2۶-۲) شامل جزیات پیاده سازی است که نیازی نیست برای دیگر واحدها قابل ‎Pape?

صفحه 8:
اعمال اولیه عملیاتی هستند که به هنگام تعریف زبان تعیین می گردند. اعمال بايه اى كه زبان 90009 از آن حمايت مى کند عبارتند از: عمليات محاسباتى: سجر جام /,%,-, + ‎Ord,‏ عملیات رابطه ای: سا بر ما لین ‎Xor,‏ , ی م0 اضفر هر اص 3 عوهت

صفحه 9:
در داخل عبارات جبری عملیات با تقدم از چپ به راست انجام میشود . 2() دارای عملیات مدلر کوتاه 950 ‎Che‏ ((,) است. به طوری که اگر ارزیابی اولین عملوند برای تعیین مقدار عبارت کافی باشد فقط اولین عملوند را ارزیابی میکند - استئنا پرانتز است. بين دستورات ترتیب اجرا بدین ترتیب است که از آدرس پایین تر به آدرس بیشتر اجرا ميشود - استثنا ها : ‎Powe boop‏ : بين برنامه اصلى و فرعي استثنائ اين مورد بردلزش موازى است. 4 Pap SD

صفحه 10:
Page 0 ‎ct‏ دادهای کاربر ساز ‏داده هاى 082490 شكل توسعه یافته ای از انواع پاسکال هستند اما قدرت تعریف نوع جدید درآنها بیشتر است . ‏انواع داده ها : داده های اولیه - 2101 ‏۲ ساختمان داده - ‎SDT‏

صفحه 11:
انواع ‎eal‏ های اولید : ee : ‏بولى اثواع ساشتمان جاوه‎ ‏رشته ای‎ ‏بردارها‎ Soll ‏آرایه ها‎ iil ‏دادهاى تاربر‎ SH رکورد 9

صفحه 12:
دستورات و ساختارهای کنترل ترتیب اجرا عبارتند از: دم owe - - دستورات حلقه ‎(up).‏ ‏* حلفه بد سه صورت است و #سطجازه خروج از حلقه را می دهد ** از ضص* نیز می توان به طور محدود استفاده کرد. * تمام دستورات کنترلی با کلمه کلیدی 1 خاتمه مى يابندء مثل: ۴ 600 برای خروج از ‎aif‏ 4 1 ‎end loop‏ برلی‌خریج از ۰1000 Pap IC

صفحه 13:
«9 دستور انتساب دستورات شرطی دستور و سر دستورات تکرار دستور ‎boop‏ Por sys دستور اب دستور 4« 58 6

صفحه 14:
* در زبان ‎۸٩02‏ که هم برای قابلیت انعطاف و هم برای کارایی طراحی شده می توان زمان انقیاد (81۳001]0) را تعیین کرد. یعنی انقیاد می تواند هم زودرس(۲ 28) و هم ديررس (1 8 ا) باشد. در زبان 00 به برنامه نويس اين امکان داده شده که نام هاى زيربرنامه ى يربارشده را تعريف نمايد و به نمادهاى عملكرهاى موجود معانى اضافى ديكرى را ضميمه كند. عملگر پربارشده عملگری است که چندین عملیات را تحت يوشش قرار مى دهد. 46 / ‎a 5‏ بو

صفحه 15:
Pap IS دستور انتساب در ) به صورت 269:() است. در زبان 0999 بدنه مى تواند شامل تعریف زیربرنامه های دیگری )از بسیرمعدود زبان‌هایی‌لستکه بسه طور گسترده با چنبه هایم جردسازی‌داده ها به كار می‌رود. Oe ee Ce Mas ‏کاراکتری را به عنوان آرایه خطی از کاراکترها در‎

صفحه 16:
چکیده ای از نکات ۸۱۵۸ * در ‎da gb;‏ عملیات ریاضی روی آرایه قابل انجام است * 05 از زبان‌هایب رنامه سازیبا ساختر بسااکیلست(یعنی‌هر برنامه یا زیربرنامه به صورتمجموعه لعاز بلاکهایتودرتو دی ود *_از آنجایی که زبان 6900 از ساختار بلاکی برخوردار است از قوانین حوزه ی ایستا پیروی می کند. حوزه ی ایستا: در صورتی که یک شناسه مورد مراجعه قرار کیرد و تعرضه برای آن در آن بلاک وجوه تداخته ‎oe: atl‏ آن شناسه از بلاک بیرونی تر گرفته می شود. Pag 10

صفحه 17:
* در زبان 005 به هنگام ورود به زیربرنامه. متفیرهای محلی آن ایجاد و به هنگام بازگشت از آن متغیرهای آن از بین می روه * در 0() برای ارسال پارامترها به زیربرنامه از روشها ی متفاوتی استفاده میشود: - Pass By Value Pass By Result - - Pass By Value-Result De ‏دستورات سح و سصط برای تخصیص حافظه‎ ‏د حافظه مى كيرد.‎ ۰ اشاره گر تنها به یک نوع داده می تواند اشاره کند. زد Pag IP

صفحه 18:
نکات برنامه نویسی با زبان 0ظ) : تعریف ثابت ‎Ioteyer :2 0:‏ موه : ‎sdave_per_week‏ ‏:8 2: موه : ‎“daye_per_week‏ ‏:تعريف نوع اس ‎ype DT ty‏ ‎WD;‏ :د ها : با i= bj = Pals. > ‏سود‎ 10 ‘heer: 0: Page ©

صفحه 19:
تعریف محدوده برای ۲ بد: اس 0 لس ۰ تن : اما ۰ ‏)ایس :مسا‎ . 60(: + wad revord; prover check (brea: ‏ام م‎ "سد" تا ‎irre‏ : عرو( 6 a ۳1 Page ©

صفحه 20:
:تعیین اندازه اعشار ‎rece -1.0..0.0;‏ )۰( ماو ‎tope Pixed te‏ ‎(Gurnverdiow‏ ‏نجل ‎“ye Ol_Ows ts (Ora, Pesta, Deduesky,‏ ‎*Priday, Gaurd, Guaday);‏ ‎ype Orolo ts (POLEE, PROG);‏ ۰ © a 0 Pape SO

صفحه 21:
:رکورد در زبان سی و ایدا ) سم سود ماهد جوج فر 00 :60 ]سس سام 0 ‎yore wrt seve Device‏ ‎dee‏ مسد دور + 0 ‎Ieee‏ ایو ۳ (6 4ب ‎crew‏ + سل ۰ Pap 0

صفحه 22:
@rovedure pres ‎iat (*colback_Puar)(iot para, ict pore);‏ جر ‎۰ ‏رو‎ Oulbuck_Pucr ts were Puontiva(poran_( : to Isieyer; * poran_© | te Integer) ‎° returns Iotever; ‎4 ‏موه

صفحه 23:
AP ic Ota: 9 موه

صفحه 24:
سا حر ‎١‏ ٠ wheal... 6©© -< ‏عام_صاص‎ :> 0: ١ ‏لد << | ۱6 ماب‎ + gee To a 1 Pap OF

صفحه 25:
Ohite loop used loop ort Por? 9 موه

صفحه 26:
Pape SO تلم موی * whea edt << ‏سوه‎ ‎٠ whe vers => stated

صفحه 27:
:مكوسل جام طلظ) ها سهد طا أو را ۰ :كا 04590955 ۱ © provedure ‏ی رو‎ | ter int); © procedure Pua (by address | ta put ict_star); 9 ‏لحم‎ PuavO (by_rePercure | ta ut ict); Pap OP

Page 1 تاریخچه این زبان در سال 1970توسط سازمان دفاع آمریکا طراحی شد.گرچه برای کاربردهای نظامی طراحی شدولی یک زبان همه منظوره برای حل بسیاری از مسائل برنامه نویسی است.ساختار بلوکی و مکانیزم نوع داده آن مثل پاسکال است ولی قابلیت هایی برای کاربردهای بی درنگ و توزیعی دارد.بسته بندی و وراثت در این زبان امکان پذیر است. ، Ada Augusta Byronاولین دانشمند علوم کامپیوتر میباشد .که به افتخار او این زبان Adaنام گرفته است. ‏Page 2 Adaدر ابتدا براي ۳هدف طراحي شده بود: -1قابليت اطمينان و نگهداري برنامه ()Program reliability and maintenance -2برنامه نويسي به عنوان يک فعاليت انساني ()Programming as a human activity -3کارايي ()Efficiency خالصه زبان :ada یک برنامٔه ایدا از یک یا بیش از یک واحد تشکیل شده‌است .واحدهای برنامه ممکن است زیربرنامه‌ها (که الگوریتم‌های قابل اجرا را تعریف می‌کنند) ،پکیج‌ها (که مجموعه‌ای از موجودیت‌ها را تعریف می‌کنند) ،واحدهای وظیفه (که محاسبات هم‌زمان را تعریف می‌کنند) ،واحدهای حفاظت شده (که عملیاتی برای اشتراک هماهنگ داده‌ها بین وظیفه‌ها را تعریف می‌کنند) ،یا واحدهای عمومی (که فرم‌های پارامتردار پکیج‌ها و زیربرنامه‌ها را تعریف می‌کنند) باشند .هر واحد برنامه معموًال شامل دوبخش است :یکی بخش ذکر خصوصیات ،شامل اطالعاتی که باید برای واحدهای دیگر آشکار باشند؛ و دیگری بخش بدنٔه برنامه ،شامل پیاده‌سازی جزئیاتی که الزم نیست برای واحدهای دیگر قابل رؤیت باشد .بیشتر واحدهای برنامه می‌توانند به طور جداگانه کامپایل شوند. ‏Page 3 :کاربرد ها زبان ایدا سیستم‌های صورت پرداخت ،سیستم بانکداری تجاری ،سیستم معاملٔه سهمیه‌بندی کاال .اکتشافات ژئوفیزیک و سیستم پردازش داده‌ها ،و سیستم تجزیٔه شیمیایی مرکز تجاری مخابرات تلفن همراه و برنامه‌های تجاری ارتباطات راه دور در جت‌های تجاری ،سیستم‌های کنترل ترافیک هوایی ،سیستم‌های ردیابی و هدایت زمان FAA پرواز ،شبیه‌سازهای آموزش پرواز .سفینه‌های فضایی ناسا و محیط‌های ایستگاه‌های فضایی .سیستم‌های تولید خودکار ،سیستم‌های جوشکاری رباتیک و سیستم‌های مدیریت موجودی سیستم‌های تعبیه شدٔه نظامی استراتژیک ،و اکثر برنامه‌هایی که در برنامه‌های کاربردی و سیستم‌های بی‌درنگ ،استفاده می‌شوند ‏Page 4 :ویژگی های زبان ایدا تمام کامپایلرهای ایدا معتبر هستند و ایدا یک زبان طراحی نرم‌افزاری است که از لحاظ بین‌المللی استاندارد شده توسط ANSIو ISO می‌باشد. برنامه‌ها می توانند به بخش‌هایی تقسیم شوند و این بخش‌ها جداگانه توسط تیم‌هایی که به طور همزمان کار می‌کنند ،نوشته شوند و سپس با .یکدیگر مجتمع شوند مفهوم پکیج در ADAاجازه می‌دهد که کاربران اجزایی از نرم‌افزار را که می‌توانند بازیابی ،استفاده و یا تغییر داده شوند بدون اینکه بر بقیٔه اجزای برنامه اثر بگذارند ،توسعه دهند. به دلیل امکان تایپ کد قوی و وجود مکانیسم دستکاری و پردازش استثناء اصالح و بهبود نرم‌افزار نوشته شده برای یک برنامه‌نویس دیگر -به دلیل پیمانه ای بودن زبان -آسان‌ است ‏Page 5 :نقش زبان در سال ها مختلف • • • • • نقش این زبان بین سال های :1976-80سخت افزار :ریزکامپیوترهایی برای امور اقتصادی -سیستم های ذخیره انبوه بزرگ متدها :انتزاع داده ها-معناشناسی رسمی-تکنیک های برنامه نویسی همزمان-تعبیه شده و بی درنگ. نقش های ادا 83بین سال های : 1981 -85سخت افزار :کامپیوترهای شخصی- اولین ایستگاه های کاری-بازی های ویدئویی-شبکه های محلی-آرپانت متدها:برنامه نویسی شی گراء-محیط های محاوره ای-ویراستارهای نحوی. نقش های ادا 95بین سال های : 1991-95سخت افزار :ایستگاه های کاری سریع وکامپوترهای متوسط ارزان-معماری های موازی-صدا-تصویر-فاکس-چندرسانه ای ‏Page 6 یک برنامه ADAاز یک یا بیش از یک واحد تشکیل شده‌است .واحدهای برنامه ممکن است هر یک از موارد زیر باشند: ‏زیربرنامه‌ها ‏پکیج‌ها ‏واحدهای وظیفه( :)taskتعريف يک کار شامل ترتيبي از عمليات ‏واحدهای حفاظت شده :تعريف عملیاتی برای اشتراک هماهنگ داده‌ها بین وظیفه‌ها ‏واحدهای عمومی :تعریف فرم‌های پارامتردار پکیج‌ها و زیربرنامه‌ها ( )Procedure - Function هر واحد برنامه معموال شامل دو بخش است: • ( Specification -1بخش ذکر خصوصیات) :که شامل اطالعاتي است که بايد توسط واحد هاي ديگر قابل ديدن باشد. • : Body -2شامل جزيات پياده سازي است که نيازي نيست براي ديگر واحدها قابل ديدن باشد. ‏Page 7 اعمال اولیه عملیاتی هستند که به هنگام تعریف زبان تعیین می گردند. اعمال پایه ای که زبان ADAاز آن حمایت می کند عبارتند از: عملیات محاسباتی: ‏Mod , + , - , * , / ,abs ,rem عملیات رابطه ای: ==<، < ، => ، > ، = ، =/ عملیات انتساب: =: عملیات بیتی: ‏not , in , not in , And , Or , Xor , And then , Or Else ‏Page 8 • -1در داخل عبارات جبري: عمليات با تقدم از چپ به راست انجام ميشود Ada .داراي عمليات مدار کوتاه (And ) then,OR Elseاست .به طوري که اگر ارزيابي اولين عملوند براي تعيين مقدار عبارت کافي باشد فقط اولين عملوند را ارزيابي ميکند – استثنا پرانتز است. • -2بين دستورات : ترتيب اجرا بدين ترتيب است که از آدرس پايين تر به آدرس بيشتر اجرا ميشود – استثنا ها if case loop : • -3بين برنامه اصلي و فرعي: استثنائ اين مورد پردازش موازي است. ‏Page 9 • داده هاي Adaشکل توسعه يافته اي از انواع پاسکال هستند اما قدرت تعريف نوع جديد درآنها بيشتر است . • انواع داده ها : )1داده هاي اوليه EDT - )2ساختمان داده SDT - )3دادهاي کاربر ساز ‏Page 10 صحيح حقيقي کاراکتري بولي رشته اي اشاره گر بردارها آرايه ها فايلها رکورد ...زير نوع و ‏Page 11 دستورات و ساختارهاي کنترل ترتيب اجرا عبارتند از: if case -دستورات حلقه )loop( . حلقه به سه صورت است و exitاجازه خروج از حلقه را مي دهد. از gotoنيز مي توان به طور محدود استفاده کرد. تمام دستورات کنترلي با کلمه کليدي endخاتمه مي يابند ،مثل: end ifبراي خروج از ifو end loopبراي خروج از . loop ‏Page 12 • دستور انتساب • دستورات شرطي دستور if دستور case • دستورات تکرار دستور loop دستور for دستور goto • دستور exit ‏Page 13 • در زبان Adaکه هم برای قابلیت انعطاف و هم برای کارایی طراحی شده می توان زمان انقیاد ( )Bindingرا تعیین کرد. یعنی انقیاد می تواند هم زودرس( )EBTو هم دیررس ( )LBTباشد. • در زبان Adaبه برنامه نویس این امکان داده شده که نام های زیربرنامه ی پربارشده را تعریف نماید و به نمادهای عملگرهای موجود معانی اضافی دیگری را ضمیمه کند. عملگر پربارشده عملگری است که چندین عملیات را تحت پوشش قرار می دهد. ‏Page 14 • دستور انتساب در Adaبه صورت A:=Bاست. • در زبان Adaبدنه می تواند شامل تعریف زیربرنامه های دیگری باشد. • Adaاز بین معدود زبان هایی است که به طور گسترده با جنبه های مجردسازی داده ها به کار می رود. • در زبان Adaنوع داده ی رشته ای مستقیما ارائه نشده و رشته ی کاراکتری را به عنوان آرایه خطی از کاراکترها در نظر می گیرد. ‏Page 15 • در زبان Adaعملیات ریاضی روی آرایه قابل انجام است • Adaاز زبان های برنامه سازی با ساختار بالکی است( .یعنی هر برنامه یا زیربرنامه به صورت مجموعه ای از بالک های تودرتو سازماندهی می شود) • از آنجایی که زبان Adaاز ساختار بالکی برخوردار است از قوانین حوزه ی ایستا پیروی می کند. حوزه ی ایستا :در صورتی که یک شناسه مورد مراجعه قرار گیرد و تعریف برای آن در آن بالک وجود نداشته باشد ،تعریف آن شناسه از بالک بیرونی تر گرفته می شود. ‏Page 16 • در زبان Adaبه هنگام ورود به زیربرنامه ،متغیرهای محلی آن ایجاد و به هنگام بازگشت از آن متغیرهای آن از بین می رود. • در Adaبرای ارسال پارامترها به زیربرنامه از روشها ی متفاوتی استفاده میشود: - Pass By Value Pass By Result- Pass By Value-Result • دستورات newو disposeبرای تخصیص حافظه از فضای heapحافظه می گیرد. • اشاره گر تنها به یک نوع داده می تواند اشاره کند. ‏Page 17 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. Page 18 :string تعریف محدوده برای • • • • • • type A_Record is record illegal : String; legal : String(1 .. 20); end record; procedure check(legal : in String); Name : String := "Simon"; Page 19 تعیین اندازه اعشار: 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); Page 20 رکورد در زبان سی و ایدا: • • • • • • • • • • • • • struct _device { int major_number; int minor_number; char name[20]; }; typedef struct _device Device; type struct_device is record major_number : Integer; minor_number : Integer; name : String(1 .. 19); end record; type Device is new struct_device; Page 21 Procedure types • • • • typedef int (*callback_func)(int param1, int param2); type Callback_Func is access function(param_1 : in Integer; param_2 : in Integer) return Integer; Page 22 If in Ada: • • • • • • • if expression then statement Else if expression then statement else statement end if; Page 23 Switch case: • • • • • • • • • case expression is when value => statement when others => statement end case; Example: case integer_value is when 1 .. 4 => value_ok := 1; when 5 | 6 | 7 => null; end case; Page 24 While loop and loop and for: • • • loop statement end loop; • • • while expression loop statement end loop; • • • for ident in range loop statement end loop; Page 25 Exception handling: • • • • • • begin statement1 exception when ident => statement2 when others => statement2 end; Page 26 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); Page 27

51,000 تومان