آموزش زبان برنامه نویسی توربو پاسکال
تاریخچه
پاسکال بر پایه یک زبان برنامه نویسی Algol میباشد و به افتخار ریاضی دان و فیلسوف فرانسوی Blaise Pascal نام گذاری شد. آقای Wirth متعاقباٌ Modula-2 و Obern که شبیه پاسکال بودند را توسعه داد. قبل از آن و برای تهیه مقدمات پاسکال، ایشان زبان Euler که از Algol-W پیروی میکرد را توسعه دادند.
در ابتدا پاسکال بسیار وسیع و جامع بود، اما تنها به منظور یاددادن برنامه نویسی ساخت یافته به دانشجویان نبود. نسلهای متمادی از دانشجویان بر روی پاسکال به عنوان یک زبان مقدماتی در دورههای لیسانس کار کردند. همچنین نسخههای متفاوتی از پاسکال مکرراً برای هر چیزی از پروژههای تحقیقاتی گرفته تا بازی های رایانهای و سیستم های جاسازی شده استفاده شد. هم اکنون کامپایلر های جدید تر پاسکال موجود میباشند که که به طور وسیع و گسترده استفاده میشوند.
پاسکال نخستین زبان سطح بالا بود که برای توسعه و تکامل در Apple Lisa استفاده شد و در سال های اولیه Mac، قسمت هایی از سیستم عامل اصلی مکینتاش، از منابع پاسکال توسط دست به زبان اسمبلی 68000 Motorola ترجمه شد. حروفچینی محبوب سیستم TeX توسط Donald E.Knuth در WEB (سیستم برنامه نویسی آموزش دیده اصلی) نوشته شد، که بر پایه DEC PDP-10 Pascal میباشد، آن هم در هنگامی که یک برنامه کاربردی مانند Total Commander در Delphi (پاسکال شی گرا) نوشته شد.
چکیده
قصد آقای Wirth خلق یک زبان کار آمد بود (در هر دو مورد سرعت کامپایل و کد ساخته شده) که بر پایه به اصطلاح برنامه نویسی ساخت یافته (مفهومی که به تازگی محبوب شده است) میباشد. اصول و ریشههای پاسکال در زبان الگول 60 میباشد، اما علاوه بر آن مفاهیم و مکانیزم هایی را مافوق اعداد و آرایههای الگول معرفی کرد که برنامه نویسان را قادر به تعریف انواع داده (ساختمان) پیچیده خودشان میکرد و همچنین ساخت ساختمان دادههای بازگشتی و پویا مانند لیست ها، درخت ها و گرافها را آسانتر میکرد.
امکانات مهم که برای این امور اضافه شده بود، رکوردها، شمارش ها، زیر حوزه ها، متغیر های اختصاص داده شده پویا همراه اشاره گر های وابسته و مجموعهها میباشد. برای تحقق و معنی دار کردن این امر، پاسکال یک سیستم تایپ دهی قوی روی تمام اشیا دارد، به این معنی که یک نوع داده نمیتواند بدون تبدیل صریح، به عنوان نوع دیگر تفسیر و یا تبدیل شود. امروزه در بسیاری از زبان های برنامه نویسی مکانیزم های مشابهی به صورت استاندارد میباشند. زبان های دیگر که از توسعه پاسکال تأثیر گرفتند، کوبول، سیمولا 67 و Algol W خود آقای Wirth میباشند.
پاسکال مانند بسیاری از زبان های اسکریپتی امروزه ( اما بر خلاف زبان های خانواده C ) به تعریف پروسههای تودرتو تا هر عمقی و همچنین اکثر انواع تعریف ها و اعلان ها درون پروسهها و توابع اجازه میدهد. این امر یک نحو خیلی ساده و منسجم را امکان پذیر می سازدکه یک برنامه کامل از نظر نحوی، خیلی نزدیک به یک تابع و یا پروسه تنهاست (البته به استثنای خود کلمه کلیدی).
ساختارهای زبان
پاسکال در شکل اصلی خودش به طور خالص یک زبان رویهای است و دارای آرایش سنتی الگول است که شبیه ساختارهای کنترل به همراه کلمات رزروشده همچون if,then,else,while,for و ... میباشد. با این حال پاسکال بسیاری امکانات ساخت یافته دادهای و انتزاعی را داراست که در الگول 60 اصلی موجود نبودند. مانند تعاریف نوع ها، رکوردها، اشاره گرها، شمارش ها و مجموعه ها. یک همچنین ساختار هایی تا یک اندازه از Simula 67 ،Algol 68، Algol W خود آقای Wirth و پیشنهادات C.A.R. Hoare الهام گرفته شده و یا به ارث برده شدند.
انواع داده
یک تایپ در پاسکال و در عموم زبان های برنامه نویسی محبوب دیگر، یک متغیر را به گونهای در نظر میگیرد که درآن، حوزهای از مقادیر قابل قبول تعریف میشود که متغیر قادر به ذخیره آن میباشد و همچنین مجموعهای از عملگرها را لحاظ میکند که برروی آن متغیر با آن نوع مجاز است. انواع دادهها و توضیحی مختصر در مورد آنها در زیر آورده شده است.
نوع داده حوزه قابل ذخیره توسط متغیر integer تمام اعداد از32768- تا 32768 byte اعداد صحیح از0 تا 255 real 1E-38 تا 1E+38 اعداد اعشاری از boolean تنها مقادیر درست و نادرست را نگه میدارد. char هر کاراکتر درمجموعه کد اسکی
ساختارهای داده
انواع دادهای ساده پاسکال عبارتند از real,integer,character,Boolean,enumeration که enumeration یک نوع داده جدید میباشد که توسط پاسکال معرفی شد.
var r: Real; i: Integer; c: Char; b: Boolean; e: (apple, pear, banana, orange, lemon);زیرحوزههای هر نوع داده ترتیبی وصفی ( هر نوع ساده به غیر از real ) را میتوان تغییر داد و ساخت.
var x: 1..10; y: 'a'..'z'; z: pear..orange;برخلاف دیگر زبان های برنامه نویسی زمان خودش، پاسکال نوع داده مجموعهای را پشتیبانی میکند.
(set type) var set1: set of 1..10; set2: set of 'a'..'z'; set3: set of pear..orange;یک مجموعه، مفهومی اساسی برای ریاضیات مدرن میباشد و آنها ممکن است در الگوریتم های بزرگ زیادی استفاده شوند. این چنین امکانی بسیار مفید است و ممکن است از ساختن یک معادل در زبانی که مجموعهها را پشتیبانی نمیکند بسیار سریع تر باشد، برای مثال برای بسیاری از کامپایلر های پاسکال
if i in [5..10] then ...بسیار سریع تر است از
if (i>4) and (i<11) then ...تایپ ها میتوانند از دیگر تایپ ها با استفاده از اعلان تایپ تعریف شوند:
type x = Integer; y = x; ...علاوه بر این، نوع های پیچیده میتوانند از نوع های ساده ساخته شوند:
type a = Array [1..10] of Integer; b = record x: Integer; y: Char end; c = File of a;همان طور که در مثال بالا نشان داده شده است فایل های پاسکال سلسلهای از اجزا هستند. هر فایل یک متغیر بافر دارد که با f^ مشخص میشود. رویهها (procedure) متغیر بافر را برای خواندن(get) و نوشتن(put) به المان بعدی حرکت میدهند. خواندن به این صورت معرفی میشود که read(f,x) همانند x:=f^ ; get(f) میباشد. نوشتن به این صورت معرفی میشود که write(f,x) مانند f^:=x ; put(f) است. نوع داده متن به عنوان فایلی از کاراکترها از پیش تعریف شده است. هنگامی که متغیر بافر برای رسیدگی به کاراکتر بعدی میتواند مورد استفاده قرار گیرد، از آن استفاده به عمل خواهد آمد (بررسی یک رقم قبل از خواندن یک مقدار صحیح). این مفهوم منجر به اشکالات جدی برای برنامههای محاورهای با پیاده سازی های جدید شد، اما بعدها توسط مفهوم “lazy I/O” حل شد.
در پاسکال Jensen و Wirth رشتهها به صورت آرایه بسته بندی شدهای از کاراکتر ها نمایش داده میشوند. بنابراین آنها دارای طول ثابت اند و معمولاً دارای فضای خالی میباشند. بعضی گونهها یک نوع رشته سفارشی دارند.
اشاره گرها
پاسکال استفاده از اشاره گر ها را پشتیبانی میکند.
type a = ^b; b = record a: Integer; b: Char; c: a end; var pointertob: a;در اینجا متغیر اشاره گر به b، یک اشاره گر به نوع داده b که یک رکورد است، میباشد. اشاره گرها قبل از اینکه اعلان شوند، میتوانند استفاده شوند. این یک اعلان رو به جلو است، یک استثنا برای این قانون که اشیا قبل از استفاده باید تعریف شوند. برای ساخت یک رکورد جدید و اختصاص دادن مقدار 10 و کاراکتر A به قسمت های a و b در رکورد و برای مقداردهی اولیه اشاره گرc به تهی، دستورات باید به صورت زیر باشند.
new(pointer_to_b); pointertob^.a := 10; pointertob^.b := 'A'; pointertob^.c := nil; ...این امر میتواند با استفاده از عبارت with به صورت زیر نوشته شود.
new(pointer_to_b); with pointertob^ do begin a := 10; b := 'A'; c := nil end; ...توجه داشته باشید که درون حوزه عبارت with کامپایلر میداند که a و b به زیر حوزههای اشاره گر به رکورد pointertob ارجاع میدهد و نه به رکورد b و یا نوع داده اشاره گر a .
لیست های پیوندی، پشتهها و صف ها با داخل کردن یک نوع اشاره گر( c) به درون رکورد، قابل ساخت میباشند. (مفاهیم nil و null را در برنامه نویسی کامپیوتری مشاهده کنید)
ساختارهای کنترل
پاسکال یک زبان برنامه نویسی ساخت یافته است، به این معنا که جریان کنترل برنامه، به طور کامل در میان عبارات استاندارد ساخت یافتهای میباشد، البته بدون فرمان go to .
while a <> b do writeln('Waiting'); if a > b then writeln('Condition met') else writeln('Condition not met'); for i := 1 to 10 do writeln('Iteration: ', i:1); repeat a := a + 1 until a = 10; case i of 0: write('zero'); 1: write('one'); 2: write('two') end;
پردازهها و توابع
پاسکال برنامهها را به توابع و پردازهها شکل دهی میکند.
program mine(output); var i : integer; procedure print(var j: integer); function next(k: integer): integer; begin next :ه ا= k + 1 end; begin writeln('The total is: ', j); j := next(j) end; begin i := 1; while i <= 10 do print(i) end.پردازهها و توابع میتوانند تا هر عمقی به صورت تودرتو باشند و ساختار برنامه به صورت منطقی، بیرونی ترین بلوک در نظر گرفته میشود. هر پردازه یا تابع میتواند اعلان های خودش برای برچسب های goto، ثوابت، تایپ ها، متغیرها و دیگر پردازهها و توابع را داشته باشد که همگی باید در آن دسته قرار گیرند. این ملزومات ترتیبی، در اصل به قصد اجازه به کامپایل یک طرفه کارآمد بود. با این حال در بعضی نسخه ها، ملزومات الزامی ترتیبی قسمت اعلان ها، مورد نیاز نمیباشد.
دسته بندی ها
نسخه Niklaus Wirth’s Zurich زبان پاسکال در دو قالب اساسی به بیرون از ETH انتشار یافت، یکی منبع کامپایلر CDC6000 و دیگری کیت قابل حمل که سیستم Pascal-P نامیده میشد. کامپایلر Pascal-P امکانات متنوعی از زبان کامل را محدود کرد و مانع آنها شد. مثلاً پردازهها و توابع که به عنوان پارامتر استفاده میشدند، رکورد های گوناگون همسان، بسته بندی، مرتب کردن، goto های درون پردازهای و دیگر امکانات کامپایلر کامل کنار گذاشته شدند.
UCSD پاسکال زیر نظر پروفسور Kenneth Bowles بر پایه بسته Pascal-P2 بود، و در نتیجه بسیاری از محدودیت های زبان Pascal-P را نیز دارا بود. بعدها پاسکال UCSD به عنوان Apple Pascalنام گذاری شد و در نسخههای متعددی ادامه پیدا کرد. اگر چه UCSD پاسکال، زیر مجموعه پاسکال را در بسته Pascal-P با برگرداندن استانداردهای پاسکال گسترش داد، اما هنوز به صورت یک مجموعه استاندارد کامل برای پاسکال نبود.
توربو پاسکال برلند، توسط Anders Hejsberg در زبان اسمبلی و مستقل از کامپایلر های UCSD و زوریخ نوشته شد، با این حال او بسیاری از زیر مجموعههای مشابه و الحاقات کامپایلر UCSD را پذیرفته بود. احتمالاً این امر به این علت است که سیستم UCSD، عمومی ترین سیستم پاسکال بود که برای توسعه کاربردها برروی سیستم های ریزپردازندهای دارای منابع محدود در آن زمان مهیا بود.
لیست استانداردهای مربوط
•ISO 8651-2:1988 سیستم های پردازش اطلاعات—گرافیک های کامپیوتری— قیدهای زبانی سیستم با هسته گرافیکی (GKS)(Graphical Kernel System) – قسمت 2: پاسکال
جهت گیری ها
پاسکال در جامعه کامپیوتر واکنش های متعددی را برانگیخت که هم به صورت موافق بودند و هم به صورت انتقادی.
انتقادات
اگرچه پاسکال بسیار محبوب است (هرچند در سال های 1980 و اوایل 1990 خیلی بیشتر از حالا)، نسخههای ابتدایی پاسکال به علت نامناسب بودن به خاطر استفاده مشکل در کاربردی غیر از تدریس، به طور گسترده مورد انتقاد قرار گرفتند.
Brian Kernighan که زبان برنامه نویسی C را محبوب کرد، در زودترین زمان ممکن در سال 1981، انتقادات قابل توجه خود را در مقاله خودش با عنوان "چرا پاسکال زبان برنامه نویسی محبوب من نیست"، مطرح کرد. از سوی دیگر بسیاری از عمده تلاشهای توسعه در سالهای 1980، همچون آنهایی که برای Apple Lisa و Macintosh بودند، بشدت وابسته به پاسکال بودند (اشاره به این نکته که در آن هنگام رابط C برای API سیستم عامل Macintosh، مجبور به معامله با انواع دادهای پاسکال بود).
در دهههای پس از آن، پاسکال به رشد و گسترش خود ادامه داد و بیشتر ایرادات Kernighan به پیاده سازی های فعلی وارد نیستند. متأسفانه همان طور که او در مقاله اش پیش بینی کرده بود، بیشتر الحاقات برای تصحیح این ایرادات، در کامپایلرهای گوناگون ناسازگار بودند. در دهه اخیر، اگر چه عمده تغییرات در دو گروه عمده متمایل به ISO و متمایل به Borland خلاصه میشوند، با این حال، وضعیتی بهتر از پیش بینی Kernighan حاصل شده است.
هرچند Kernighan کمبود نوع های scape در پاسکال (هیچ scape وجود ندارد از مقاله چرا پاسکال زبان برنامه نویسی محبوب من نیست) و استفاده خارج از کنترل اشاره گرها و نوع های scape را برملا ساخت، با این حال این ها نکات انتقادی شدید و بسیار جدی بودند و زبان های java و C# و دیگر زبانها با توجه به این انتقاد وارده بر پاسکال، یک تغییر و برگشت هشیارانه را ترسیم کردند و نشان دادند، که این زبان ها، اشاره گرهای مدیریت شده “managed pointers” نامیده شدند که در واقع توسط آقایWirth با خلق پاسکال پیش بینی شده بودند.
بر پایه این تجربیات پاسکال (و قبلتر با Algol )، آقای Wirth زبان های متعدد و بیشتری را توسعه و بسط داد همانند modula، modula 2 و obern. این زبان ها که بعضی از ایرادات و اشکالات پاسکال را دارا میباشند، به قصد رواج در میان استفاده کنندگان گوناگون و به اهدافی دیگر طراحی شده بودند، اما هیچ یک نه تأثیری شگرف به وسعت پاسکال بر روی علم کامپیوتر و استفاده کنندگان آن گذاشتند و نه تاکنون در موفقیت تجاری مشابهی همانند موفقیت پاسکال دیده شدند.
مزایا و معایب زبان برنامه نویسی پاسکال
تاکنون دهها زبان برنامه نویسی مختلف در جهان به وجود آمده و از بین رفته اند که هر یک از آنها دارای مزایا و معایبی بوده اند ، زبان پاسکال نیز همانند دیگر زبانهای برنامه نویسی دارای مزایا و معایبی است . مزایای زبان پاسکال از معایب آن بیشتر است و این امر باعث دوام چند دههای آن شده است .
از مهمترین مزایای پاسکال ، قابل فهم بودن دستورات آن میباشد ، چرا که دستورات پاسکال به زبان محاورهای نزدیک هستند . مزیت دیگر زبان پاسکال ، داشتن توابع کتابخانهای است که باعث ایجاد سرعت و سهولت در برنامه نویسی میگردد . توابع کتابخانهای در حقیقت زیر برنامههایی هستند که از قبل نوشته شده اند و شما میتوانید از آنها در برنامههایتان استفاده کنید . برای مثال اگر بخواهید قدرمطلق عددی را به دست آورید میتوانید از تابع مربوطه که از قبل نوشته شده است ، استفاده کنید . همچنین از دیگر مزیتهای زبان پاسکال پشتیبانی از انواع اطلاعات میباشد و این مزیتی است که باعت برتری زبان پاسکال نسبت به بسیاری از زبانهای برنامه نویسی میگردد . زبان پاسکال از اعداد صحیح ، اعداد اعشاری ، کاراکترها ، مجموعه ها ،آرایه ها و . . . پشتیبانی میکند . ساخت یافته (structure base) بودن زبان پاسکال نیز از مهمترین مزایای آن است . برنامه ساخت یافته به برنامهای گفته میشود که از بلوکهای پی در پی یا متداخل تشکیل شده باشد .
برنامه نویسی ساخت یافته دارای مزایای متفاوتی است :
- با توجه به اینکه برنامه به قسمتهای کوچک تر تقسیم بندی میگردد ، بنابراین اشکال زدایی (debugging) آن ساده تر خواهد بود .
- خوانایی و درک برنامه ساده تر میگردد.
- اعمال تغییرات در برنامه ساده تر انجام میگیرد.
آخرین مزیتی را که میتوان مورد اشاره قرار داد ، داشتن محیط مجتمع برنامه نویسی است که به طور خلاصه به آن IDE گفته میشود . مترجم پاسکال قابلیت ترجمه برنامهها را در دو حالت مجتمع و خط فرمان دارا میباشد . در حالت اول میتوان برنامه را درون ویراستار مخصوص پاسکال نوشته و اجرا کرد . این ویراستار دارای امکانات ویرایشی متعددی میباشد که موجب ایجاد سرعت و سهولت در نوشتن برنامه میگردد . در حالت دوم میتوان برنامه را با استفاده از هر ویراستاری تهیه نموده سپس عمل ترجمه را از طریق خط فرمان سیستم عامل ویندوز انجام داد. پس از ذکر مزایای زبان پاسکال بهتر است به معایب آن اشاره داشته باشیم . نداشتن قابلیت انعطاف ، نداشتن قابلیت انتقال و عدم امکان تعریف رکورد با طول متغیر ، از جمله معایب این زبان هستند .
اجزای تشکیل دهنده یک برنامه
یک برنامه به زبان پاسکال از قسمت های مختلفی تشکیل میشود . کوچک ترین واحدهای معنی دار در زبان پاسکال توکن (Token ) نامیده میشود که عبارت اند از :
1 - حروف : حروف الفبای بزرگ ( از A تا Z ) و حروف الفبای کوچک ( a تا z )
2 - ارقام مبنای 10 : ارقام 0 تا 9
3 - ارقام مبنای 16 : ارقام 0 تا 9 و حروف A تا F و یا a تا f
4 - کاراکترهای تکی : + ، - ، / ، * ، = و . . .
5 - جفت کاراکترها : مانند <> ، => ، =< ، = و . . .
6 - شناسه ( Identifier ) : از شناسهها برای نام گذاری استفاده میشود . شناسه ترکیبی از حروف ، ارقام و کاراکتر زیر خط (-) است که میتواند دارای طول دلخواهی باشد اما پاسکال فقط 63 کاراکتر اول را در نظر خواهد گرفت . شناسه حتما باید با یک حرف یا علام زیر خط (-) آغاز شود . شناسههای به دو دسته تقسیم میشوند :
- الف ) شناسههای استاندارد : این شناسهها از قبل در پاسکال تعریف شده اند برای نمونه میتوان به Write و Read اشاره نمود .
- ب ) شناسههای غیر استاندارد : این شناسهها به وسیله کاربر به طور مجزا تعریف میشوند به همین دلیل به آن ها User defined گفته میشود .
لازم به ذکر است که پاسکال در تعریف شناسهها تفاوتی میان حروف بزرگ و کوچک قائل نمیشود بنابراین شناسههای counter و COUNTER با یکدیگر معادل اند .
7 - برچسب ( label ) : از برچسب برای مشخص نمودن خطوط خاصی از برنامه استفاده میشود . با استفاده از دستور goto میتوان کنترل برنامه را به خط مشخصی از برنامه منتقل نمود . برچسب ها میتوانند عدد صحیح در محدوده 0 تا 9999 و یا یک شناسه باشد .
8 - اعداد : اعداد میتوانند حقیقی یا صحیح ، مثبت یا منفی باشند . هرکدام به چند نوع تقسیم میشوند . باید توجه داشت که اعداد صحیح میتوانند از نوع هگزادسیمال نیز باشند که در این صورت باید اولا با علامت $ شروع شوند و ثانیا طول آن نباید از هشت رقم هگزادسیمال بیشتر باشد بنابراین محدوده قابل قبول برای اعداد صحیح هگزادسیمال از 00000000$ تا FFFFFFFF$ است و در ضمن نباید شامل علامت + یا – باشند .
9 - ثابت های رشته ای ( string constants ) : ثابت رشتهای ، عبارت از تعدادی کاراکتر است که درون دو علامت آپوستروف ( ' ) قرار میگیرند . استفاده از کاراکترهای کنترلی ( کاراکترهایی که دارای کد ASCII تا 30 میباشند ) در یک ثابت رشتهای مجاز است اما استفاده از کاراکترهای آپوستروف ( ' ) و carriage Return ( ) غیرمجاز است . همچنین در صورتی که از علامت # به همراه یک عدد مثبت بین 0 تا 255 استفاده شود باعث جایگزینی کاراکتر متناظر با عدد مربوط در جدول کدهای ASCII خواهد شد . کلمات رزرو شده ( Reserved words ) : به مجموعهای از کاراکترها اطلاق میشود که برای پاسکال دارای معنای خاصی میباشند و هرگز نمیتوان از آن ها به عنوان شناسه غیراستاندارد استفاده نمود .
ساختار کلی برنامه در زبان پاسکال
اجزای اصلی یک برنامه به زبان پاسکال عبارت اند از :
عنوان برنامه ( program Heading )
قسمت اطلاعات (Data section )
قسمت دستورالعمل ها ( code section )
1 - عنوان برنامه شامل دو قسمت زیر است
الف ) نام برنامه ( program Name )
ب ) فرمان های کامپایلر ( compiler Directives )
این قسمت که به عنوان اولین بخش از ساختمان یک برنامه در نظر گرفته میشود محل قرار گرفتن نام برنامه به همراه پارامترهای ورودی و خروجی و همچنین فرمان های کامپایلر که کنترل عمل کامپایل شدن برنامه را برعهده دارند میباشد . قسمت های الف و ب هر دو اختیاری بوده ، وجود آن ها باعث روشن شدن هر چه بیشتر وظیفه برنامه و شرایط ترجمه آن به زبان ماشین میباشد .
2 - قسمت اطلاعات ( Data section )
این قسمت خود شامل 4 قسمت دیگر میباشد که عبارت اند از :
الف ) اعلان ثابت ها Constant Declaration
ب ) اعلان انواع اطلاعات
ج ) اعلان متغیرها Variable Declatration
د ) اعلان برچسب ها Label Declatration
3 - در این قسمت دستورات به ترتیب اجرا مرحله به مرحله گنجانیده میشوند . این قطعه ، همواره شامل بلوک اصلی برنامه ( Main program Block ) بوده و میتواند در صورت لزوم شامل پروسیجرها و توابع نیز باشند . در بلوک اصلی برنامه که خود با کلمه رزرو شده begin شروع و با end ختم میگردد . دستورات عملیاتی مانند نسبت دادن مقادیر معلوم به متغیرها ، فراخوانی پروسیجرها و توابع اجرای حلقههای مختلف و غیره انجام میشود . این قسمت خود شامل سه قسمت دیگر میباشد که عبارت اند از :
الف ) پروسیجرها ( procedures )
ب ) توابع ( function )
ج ) بلوک اصلی برنامه
منابع
- راهنمای جامع برنامه نویسی پاسکال - مولف : مهرداد اسماعیلی
- سایت مرجع برنامه نویسی پاسکال و دلفی
- کتاب آموزش توربوپاسکال
مطالب مشابه :
مقایسه سیستمهای عامل (لینوکس ، مک ، سولاریس)
مکینتاش(سیستم عامل شرکت لینوکس است و میشود گفت که تمام مزایا و معایب آن را دارد به
مزایا و معایب نوکیا 5800 Xpress music (یه گوشی مناسب برای همه).
مزایا و معایب نوکیا 5800 Xpress music سیستم عامل سیستم عامل مکینتاش
نمونه سوالات امتحانی درس شبکه (قسمت اول)(نمونه سوالات شبکه)
5-مزایا و معایب 7- دو سیستم عامل سرور ویندوز 7 ، ویندوز ایکس پی ، اپل مکینتاش
فایروال چیست و چه کار می کند؟(آموزش اینترنت)
با اینکه هر یک از مدل های فوق دارای مزایا و معایب سیستم عامل مکینتاش. سیستم عامل
آموزش زبان برنامه نویسی توربو پاسکال
هایی از سیستم عامل اصلی مکینتاش، از API سیستم عامل Macintosh مزایا و معایب
انواع توپولوژی شبکه-مقالات آموزشی کامپیوتر-آموزش شبکه
توضیحاتی در مورد سیستم عامل مکینتاش. افزار ، آموزش سیستم عامل و تشکر از حسن
زبان برنامهنویسی پاسکال
هایی از سیستم عامل اصلی مکینتاش، از ها و سیستم عامل ها مزایا و معایب
برچسب :
مزایا و معایب سیستم عامل مکینتاش