صفحه 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