زبان برنامهنویسی رایانه ای پاسکال یکی از زبانهای مشهور برنامهنویسی سطح بالای متداول است. پاسکال به عنوان زبان ساده شده زبان ALgOL طراحی شد و مقاصد آموزشی داشت. این زبان توسط نیکلاوس ویرت (Niklaus Wirth) پروفسور دانشگاه پلی تکنیک زوریخ در سوییس در سالهای ۱۹۶۸ و ۱۹۶۹ طراحی شد و در سال ۱۹۷۰ به عنوان یک زبان کارآمد و کوچک به منظور پیش برد و توسعه مهارتهای برنامه نویسی با استفاده از برنامه نویسی ساخت یافته و ساختمان دادهها، منتشر گردید. نام زبان پاسکال آن از نام بلز پاسکال، ریاضیدان فرانسوی، الهام گرفته شده است. پاسکال یک زبان برنامه نویسی امری و ساخت یافته تأثیر گذار میباشد که از خصوصیات این زبان میتوان به سادگی فراگیری آن اشاره کرد. استاندارد این زبان برنامهنویسی در سال ۱۹۸۳ نوشته شده است و دو سازمان IEEE و ANSI آن را تائید کردهاند. هم اکنون این زبان بیشتر بهعنوان زبان برنامهنویسی آموزشی برای مبتدیان در دانشگاهها تدریس میشود. سادگی و تجرید خوب این زبان امکان برنامهنویسی راحت بدون نیاز به آگاهی از ساختارهای پیچیدهٔ زیرین سیستمعامل را میدهد. یک نسخه برگرفته از پاسکال که با عنوان Object Pascal شناخته میشود، برای برنامه نویسی شی گرا طراحی شد. محتویات [نهفتن] ۱ تاریخچه۲ چکیده۳ پیاده سازی۴ ساختارهای زبان۵ Hello World۶ انواع داده۷ ساختارهای داده۸ اشاره گرها۹ ساختارهای کنترل۱۰ پردازهها و توابع۱۱ کامپایلرها و مفسر ها۱۲ استانداردها۱۳ دسته بندی ها۱۴ لیست استانداردهای مربوط۱۵ جهت گیری ها۱۶ انتقادات۱۷ مزایا و معایب زبان برنامه نویسی پاسکال۱۸ اجزای تشکیل دهنده یک برنامه۱۹ ساختار کلی برنامه در زبان پاسکال تاریخچه نیکلاوس ورث قبل از پاسکال و برای تهیه مقدمات آن، زبان Euler و سپس Algol-W را توسعه داد و بعدها زبانهای Modula-2 و Obern که شبیه به پاسکال بودند را بوجود آورد. در زمان اختراع پاسکال، زبانهای برنامه نویسی بسیار زیادی وجود داشت ولی تنها تعدادی از آنها بسیار استفاده میشدند که عبارت بودند از Fortran ، Assembler و Cobol. ایده اصلی زبان جدید نظم، مدیریت دادهها و نیاز به تعریف دادهها بود.این زبان از ابتدا به گونهای طراحی شده بود که یک زبان آموزشی باشد. در ابتدا پاسکال بسیار وسیع و جامع بود، اما تنها به منظور یاددادن برنامه نویسی ساخت یافته به دانشجویان نبود. نسلهای متمادی از دانشجویان بر روی پاسکال به عنوان یک زبان مقدماتی در دورههای لیسانس کار کردند. همچنین نسخههای متفاوتی از پاسکال مکرراً برای هر چیزی از پروژههای تحقیقاتی گرفته تا بازیهای رایانهای و سیستمهای جاسازی شده استفاده شد. هم اکنون کامپایلرهای جدید تر پاسکال موجود میباشند که که به طور وسیع و گسترده استفاده میشوند. پاسکال نخستین زبان سطح بالا بود که برای توسعه و تکامل در Apple Lisa استفاده شد و در سالهای اولیه Mac، قسمت هایی از سیستمعامل اصلی مکینتاش، از منابع پاسکال توسط دست به زبان اسمبلی 68000 Motorola ترجمه شد. حروفچینی محبوب سیستم TeX توسط Donald E.Knuth در WEB (سیستم برنامه نویسی آموزش دیده اصلی) نوشته شد، که بر پایه DEC PDP-10 Pascal میباشد، آن هم در هنگامی که یک برنامه کاربردی مانند Total Commander در Delphi (پاسکال شی گرا) نوشته شد. توربو پاسکال: پاسکال نیز مانند بسیاری از زبانهای برنامهنویسی دیگر دارای کامپایلرهای زیادی است که از معروفترین آنها میتوان به کامپایلر توربو پاسکال (Turbo Pascal) که متعلق به شرکت بورلند (Borland) است اشاره کرد. شرکت بورلند از پاسکال شیگرا بهعنوان زبان برنامهنویسی محیط توسعه نرمافزار خود به نام دلفی استفاده کرده است. توربو پاسکال در سال ۱۹۸۳ معرفی شد و همیشه در بین زبانهای برنامه نویسی از فروش بسیار بالایی برخوردار بود. توربو پاسکال مفهوم جدیدی به نام Integrated Development Environment یا (IDE) به معنای "محیط برنامه نویسی مجتمع" را معرفی کرد. در محیط IDE شما قادر خواهید بود کد را ویرایش کنید (در یک ویرایشگر هماهنگ با wordstar)، کامپایلر را آغاز کنید، خطاها را ببینید و به خط هایی که حاوی آن خطا هاست بروید، البته این مسئله هم اکنون بسیار بی معنی به نظر میآید، اما در گذشته لازم بود که شما از ویرایشگر بیرون بروید و به DOS برگردید و سپس کامپایلر را به صورت خط فرمانی آغاز کنید، سپس شماره خطاهای خط را یادداشت کنید، دوباره ویرایشگر را باز کنید و به خطهای حاوی خطا بروید و دوباره همه چیز را از اول انجام دهید. به علاوه بورلند توربو پاسکال خود را فقط 49دلار می فروخت، در حالیکه مایکروسافت کامپایلر پاسکال خود راچند صد دلار به فروش می رساند، تداوم موفقیت چند ساله توربو پاسکال سبب شد که درآمدهای مایکروسافت از فروش کامپایلر پاسکال بسیار کاهش یابد. پاسکال دلفی: بعد از 9 نسخه از انتشار توربو پاسکال و بورلند پاسکال، که به تدریج زبانهای بسیار گستردهای شده بودند، بورلند در سال ۱۹۹۵ دلفی را معرفی نمود که پاسکال را به یک محیط برنامه نویسی دیداری(VISUAL) تبدیل میکرد. زبان شیئ گرایی پاسکال که ما در دلفی از آن سود می جوییم در سال ۱۹۹۵ همراه با محیط برنامه نوسیس دیداری(VISUAL)دلفی اختراع نشد. این زبان توسعه یافته زبان پاسکال شیئ گرا بود که قبلاً در محصول بورلند پاسکال از آن استفاده شده بود، اما بورلند پاسکال آن را را اختراع نکرد بلکه تنها به گسترش وعمومی شدن آن کمک نمود. چکیده قصد پروفسور ورث خلق یک زبان کار آمد بود (در هر دو مورد سرعت کامپایل و کد ساخته شده) که بر پایه به اصطلاح برنامه نویسی ساخت یافته (مفهومی که به تازگی محبوب شده است) باشد. اصول و ریشههای پاسکال برپایه زبان الگول 60 پی ریزی شد، اما علاوه بر آن مفاهیم و مکانیزم هایی را مافوق اعداد و آرایههای الگول معرفی کرد که برنامه نویسان را قادر به تعریف انواع داده (ساختمان) پیچیده خودشان میکرد و همچنین ساخت ساختمان دادههای بازگشتی و پویا مانند لیست ها، درختها و گرافها را آسانتر مینمود. امکانات مهم که برای این امور اضافه شده بود، رکوردها، شمارش ها، زیر حوزه ها، متغیرهای اختصاص داده شده پویا همراه اشاره گرهای وابسته و مجموعهها میباشد. برای تحقق و معنی دار کردن این امر، پاسکال یک سیستم تایپ دهی قوی روی تمام اشیا دارد، به این معنی که یک نوع داده نمیتواند بدون تبدیل صریح، به عنوان نوع دیگر تفسیر و یا تبدیل شود. امروزه در بسیاری از زبانهای برنامه نویسی مکانیزمهای مشابهی به صورت استاندارد میباشند. زبانهای دیگر که از توسعه پاسکال تأثیر گرفتند، کوبول، سیمولا 67 و Algol W خود آقای Wirth میباشند. پاسکال مانند بسیاری از زبانهای اسکریپتی امروزه ( اما بر خلاف زبانهای خانواده C ) به تعریف پروسههای تودرتو تا هر عمقی و همچنین اکثر انواع تعریفها و اعلانها درون پروسهها و توابع اجازه میدهد. این امر یک نحو خیلی ساده و منسجم را امکان پذیر می سازدکه یک برنامه کامل از نظر نحوی، خیلی نزدیک به یک تابع و یا پروسه تنهاست (البته به استثنای خود کلمه کلیدی). پیاده سازی اولین کامپایلر پاسکال برای سری CDC 6000 خانواده کامپیوترهای پردازنده مرکزی در زوریخ طراحی شد. آقای Wirth گزارش میدهد که اولین کوشش برای پیاده سازی آن در فرترن در سال 1969 با توجه به نارسایی فرترن برای بیان ساختمان دادههای پیچیده، ناموفق بود. دومین تلاشها برای خود زبان پاسکال تنظیم و فرموله شد و در اواسط سال 1970 قابل استفاده شد. پس از آن بسیاری از کامپایلرهای پاسکال به طور مشابه، خودمیزبان بودند، به این معنا که خود کامپایلر در پاسکال نوشته شده است و کامپایلر هنگامی که امکانات جدید به زبان اضافه میشود و یا به محیطی جدید منتقل میشود، معمولاً قادر به دوباره کامپایل کردن خود میباشد. کامپایلر GNU Pascal یک استثنای قابل توجه در این مورد میباشد که در C نوشته شده است. اولین انتقال موفق کامپایلر CDC Pascal به یک کامپیتر پردازنده مرکزی دیگر، توسط Welsh و Quinn در دانشگا ه Queen در شهر Balfast در سال 1972 انجام گرفت. کامپیوتر هدف یک ICL 1900 بود. اولین کامپایلر پاسکال که در آمریکای شمالی نوشته شد، در دانشگاه Illinois زیر نظر Donald B.Gillies برای PDP-11 و کد ماشین تولید شده محلی، ساخته شد. پاسکال در سراسر سالهای 1970 و 1980 از محبوبیتی بزرگ برخوردار بود. به منظور انتشار سریع زبان، یک کامپایلر (porting kit) در زوریخ ساخته شد که شامل یک کامپایلر بود که برای یک ماشین پشته مجازی کد تولید میکرد(یعنی کدی که خودش را به یک تفسیر کارآمد معقول از خودش ارجاع میداد) به همراه یک مفسر برای این کد Pascal-P system. اگر چه کد SC (کامپیوتر استک) در ابتدا به قصد کامپایل به کد ماشین صحیح بود، حداقل یک سیستم (سیستم پاده سازی جالب توجه UCSD) از آن برای خلق مفسر UCSD P-system استفاده کرد. کامپایلرهای سیستم P، با P1 تا P4 نامیده میشوند. P1 به عنوان اولین نسخه و P4 به عنوان آخرین نسخه انتشار یافته از زوریخ. کامپایلر/ مفسرP4 هنوز برروی سیستمهای سازگار با پاسکال اصلی قابل اجرا و کامپایل است. با این حال خودش فقط یک زیرمجموعه از زبان پاسکال را قبول میکند. یک نسخه از P4 که زبان پاسکال کامل را قبول میکند و سازگار با ISO 7185 است، نیز ساخته شد و به نام کامپایلر P5 نامگذاری شد که به صورت منبع در دسترس و مهیاست. یک نسخه جایگزین از آن که به عنوان مدل پیاده سازی پاسکال شناخته میشودنیز پاسکال کامل را قبول میکند و با ISO 7185 سازگار است، اما در کامپیوترهای خواندنی فراهم نمیباشد. یک نسخه از کامپایلرهای P4 که اعداد باینری محلی را خلق کرد، برای کامپیوتر پردازنده مرکزی IBM System 370 توسط کمیسیون انرژی اتمی استرالیا ارائه شد. این کامپایلر AAECPascal Compiler نامیده شد پس از حروف اختصاری نام کمیسیون. یک نسخه از P4 از 6-1975 شامل منابع و اعداد باینری لازم برای کامپایلر و فایلهای کتابخانهای زمان اجرا، برای پردازنده مرکزی PDP-10 ممکن است از این پیوند قابل دریافت باشد. در اوایل 1980 WatcomPascal نیز برای IBM System 370 توسعه داده شد. IP Pascal یک پیاده سازی از زبان برنامه نویسی پاسکال بود که از Micropolis Dos استفاده میکرد، اما به سرعت به CP/M که برروی Z80 اجرا میشد، حرکت کرد. بعدها نیز به انواع ماشینهای 80386 در سال 1994 حرکت کرد و امروزه به صورت پیاده سازی شده در Linux و Windows/XP وجود دارد. در سال 2008 سیستم به یک سطح جدید ارتقا یافت و زبان حاصله به عنوان Pascaline (بعد از Pascal’s Calculator ) نامیده شد.آن زبان، شامل اشیا، کنترلهای فضای نام، آرایههای پویا، به همراه بسیاری الحاقات دیگر، و امکانات عمومی دارای کارکرد مشابه، و حفاظت نوع داده همانند C# میباشد. این تنها پیاده سازی است که با پیاده سازی پاسکال اصلی سازگارمی باشد (که در ISO 7185 استاندارد شده است). در اوایل 1980 به منظور مهیا کردن یک جایگزین ساخت یافته برای مفسرهای پایه که با ماشینها آمدند، UCSD Pascal به کامپیوترهای Apple II,Apple III انتقال یافت. کامپیوتر Apple، Lisa Pascal خودش را برای محیط کار Lisa در سال 1982 خلق کرد و این کامپایلر را به Apple Macintosh و MPW در سال 1985 منتقل کرد. در سال 1985 Larry Tesler در مشاوره با Niklaus Wirth پاسکال شی گرا را تعریف کردو این امکانات در هر دوی Lisa Pascal و Mac Pascal جای داده شدند. در سالهای 1980، Anders Hejlsberg کامپایلر Blue Label را برای Nascom-2 نوشت. یک پیاده سازی مجدد از این کامپایلر برای IBM PC تحت نامهای Compas Pascal و PolyPascal قبل از اینکه توسط Borland شناسایی شود، در معرض فروش قرار داده شد. نامگذاری مجدد به Turbo Pascal موجب افزایش محبوبیت و قدردانی شد. قدردانی در یک قسمت به خاطر یک راهبرد قیمت گذاری جسورانه و پر پشتکار و در یک قسمت به خاطر داشتن یکی از نخستین محیطهای توسعه یکپارچه تمام صفحه. علاوه بر اینها، Turbo در زبان اسمبلی نوشته شد و تماماً به نحو احسن بهینه شد که سبب شد در رقابت بسیار کوچکتر و سریعتر شود. در سال 1986، Anders، توربو پاسکال را به Macintosh منتقل کرد و الحاقات پاسکال شی گرای Apple را با Turbo درآمیخت. این الحاقات سپس مجدداً به توربو پاسکال نسخه PC شماره 5.5 اضافه شدند. کامپایلر ارزان بورلند یک تأثیر شگرف بر جامعه پاسکال گذاشت که سبب تمرکز ویژه برروی کامپیوترهای شخصی IBM در اواخر سالهای 1980 شد. بسیاری از علاقمندان به کامپیوترهای شخصی که در جستجوی یک جایگزین ساخت یافته برای BASIC بودند، شروع به استفاده از این محصول کردند. همچنین این محصول توسط استفاده کنندگان حرفهای نیز کم کم مورد پذیرش قرار گرفت. درهمین حین، تعدادی مفاهیم از C، به منظور اجازه دادن به برنامه نویسان پاسکال برای استفاده مستقیم از APIهای Microsoft Windows که بر پایه C بودند، وارد پاسکال شدند. این الحاقات مشتمل بر رشتههای بدون پایان، اشاره گرهای عددی و حسابی، اشاره گرهای توابع، آدرس عملگرها و انواع دادهای ناامن میباشند. با این حال، بورلند بعداً تصمیم گرفت که امکانات شی گرایی با دقت بیشتر و جزئیات دقیقتر می خواهد و آن را با استفاده از پیش نویسهای استاندارد پاسکال شی گرا که توسط Apple به عنوان اساس و پایه پیشنهاد شده بود، مجدداً در Delphi پیاده کرد( این پیش نویس Apple هنوز یک استاندارد رسمی نمیباشد). بنابراین اولین نسخههای زبان برنامه نویسی Delphi، پاسکال شی گرا (Object Pascal) نامیده شدند.الحاقات اصلی در مقایسه با پاسکال شی گرای قدیمی تر، مدل شی گرای مبتنی بر مرجع، سازندهها و مخربهای مجازی و جزئیات بودند. کامپایلرهای متعدد دیگر نیز این شیوه را اجرا و پیاده سازی کردند. توربو پاسکال و دیگر مشتقات به همراه واحدها یا مفاهیم پیمانه ای، هم از زبانهای پیمانهای هستند. با این حال، مفهوم پیمانه تودرتو و یا ورود و خروج صحیح نمادهای ویژه را مهیا نمیکنند. Super Pascal یک نوع دیگر بود که برچسبهای بدون عدد را اضافه کردکه یک دستور یا عبارت بازگشت به عنوان نام هایی از نوعها میباشد. دانشگاههای زوریخ، Karlsruhe و Wuppertal، یک قابلیت را برای محاسبات علمی توسعه دادند (XSC Pascal) که یک راه حل مفید را برای برنامه ریزی محاسبات عددی با دقت کنترل شده، مهیا میکند. در سال 2005 در کنفرانس WEB 2.0 ، Marfic Technology ابزاری معرفی کرد که توسعه کاربردهای WEBکه تماماً در Marfic Pascal نوشته شده بود را مهیا میکرد. Marfic Pascal یک گونه از پاسکال شی گرا است که بسیار نزدیک به Delphi میباشد. ساختارهای زبان پاسکال در شکل اصلی خودش به طور خالص یک زبان رویهای است و دارای آرایش سنتی الگول است که شبیه ساختارهای کنترل به همراه کلمات رزروشده همچون if,then,else,while,for و ... میباشد. با این حال پاسکال بسیاری امکانات ساخت یافته دادهای و انتزاعی را داراست که در الگول 60 اصلی موجود نبودند. مانند تعاریف نوع ها، رکوردها، اشاره گرها، شمارشها و مجموعه ها. یک همچنین ساختار هایی تا یک اندازه از Simula 67 ،Algol 68، Algol W خود آقای Wirth و پیشنهادات C.A.R. Hoare الهام گرفته شده و یا به ارث برده شدند. Hello World برنامههای پاسکال توسط کلمه کلیدی Program به همراه لیستی از فایلهای خارجی به عنوان پارامترها شروع میشوند. سپس بلوک عبارت اصلی که توسط کلمات کلیدی Begin و End بسته بندی شده است را دنبال میکنند. علامت semicolon (;) عبارات را از هم جدا میکند و نقطه آخر برنامه تمام برنامه را خاتمه میدهد. در پاسکال، بزرگ و کوچکی حروف مطرح نیست. بعضی کامپایلرها مثل توربو پاسکال در میان آنها کلمه کلیدی Program را اختیاری در نظر میگیرند. در اینجا یک مثال از کد برای یک برنامه خیلی ساده آورده شده است. Program HelloWorld(output); begin writeLn('Hello, World!') end. انواع داده یک تایپ در پاسکال و در عموم زبانهای برنامه نویسی محبوب دیگر، یک متغیر را به گونهای در نظر میگیرد که درآن، حوزهای از مقادیر قابل قبول تعریف میشود که متغیر قادر به ذخیره آن میباشد و همچنین مجموعهای از عملگرها را لحاظ میکند که برروی آن متغیر با آن نوع مجاز است. انواع دادهها و توضیحی مختصر در مورد آنها در زیر آورده شده است. نوع داده حوزه قابل ذخیره توسط متغیر 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، ثوابت، تایپ ها، متغیرها و دیگر پردازهها و توابع را داشته باشد که همگی باید در آن دسته قرار گیرند. این ملزومات ترتیبی، در اصل به قصد اجازه به کامپایل یک طرفه کارآمد بود. با این حال در بعضی نسخه ها، ملزومات الزامی ترتیبی قسمت اعلان ها، مورد نیاز نمیباشد. کامپایلرها و مفسر ها کامپایلرها و مفسرهای گوناگون پاسکال برای استفاده عمومی همگان مهیا است: •Delphi محصول شرکت CodeGear (Borland پیشین) میباشدکه این شرکت پرچمدار توسعه با شتاب برنامههای کاربردی (RAD)(Rapid Application Development) است. از زبان پاسکال شی گرا استفاده میکند(نام گذاری زبان برنامه نویسی Delphi توسط Borland )، زاده شده از پاسکال میباشد و به منظور خلق برنامههای کاربردی برای بستر windows تهیه شده است. نسخههای اخیر 2005 تا 2007 کامپایل به بستر .Net را نیز پشتیبانی میکنند. یک نسخه از(Turbo Delphi Explorer) برای دریافت رایگان مهیا میباشد. •Free Pascal (http://www.freepascal.org/) یک کامپایلر چند بستره میباشد که در پاسکال نوشته شده است (خود میزبان میباشد). هدف از آن فراهم کردن یک کامپایلر نیرومند و راحت بود که هم قادر به کامپایل برنامههای کاربردی قدیمی باشد و نیز ابزاری برای توسعه امکانات جدید. این کامپایلر زیر نظر GNU GPL توزیع شده است. با صرف نظر از روشهای سازگاری برای Turbo Pascal، Delphi و MacPascal، این کامپایلردارای حالتهای نحوی شی گرا و ساخت یافته خودش به همراه پشتیبانی امکانات توسعه یافته همانند سربارگذاری عملگرها میباشد. او همچنین بسیاری از platformها و سیستمعاملها را پشتیبانی میکند. •Lazarus(lazarus.freepascal.org) یک IDE پیوند زده شده با platform بصری شبیه Delphi میباشد که برای توسعه با شتاب برنامههای کاربردی(RAD) تهیه شده است. مبتنی بر freepascal میباشد، برای platformهای بسیاری شامل Linux، FreeBSD، Mac OS X و Windows آماده است. • Dev-Pascal یک محیط برنامه نویسی پاسکال است که در Borland Delphi طراحی شد و هر دوی Free Pascal و GNU Pascal را به صورت پیش فرض پشتیبانی میکند. او بر خلاف همزادش C++ سالهاست که دستاورد مهمی نداشته است. •Oxygene (قبل تر با نام Chrome شناخته میشد) کامپایلر نسل بعد پاسکال شی گرا برای .NET و platformهای تنها میباشد. او توسط RemObject Software ساخته و فروخته شد. •Kylix یکی از اولاد Delphi به همراه پشتیبانی برای سیستمعامل لینوکس و نیز یک کتابخانه شی ارتقا یافته بود. کامپایلر و محیط برنامه نویسی برای استفاده غیره تجاری هم اکنون موجود میباشند. این محصول توسط بورلند پشتیبانی نمیشود. •GNU Pascal Compiler(GPC) این کامپایلر پاسکال، مجموعه کامپایلرهای GNU است (GCC) GNU Compiler Collection. خود کامپایلر در C، وکتابخانه زمان اجرا عمدتاًدر پاسکال نوشته شده است. بصورت مجانی تحت لیسانس نشر عمومی GNU توزیع شده است. بر روی بسیاری از platformها و سیستمعاملها اجرا میشود. او زبانهای استاندارد ANSI/ISO و بخشی از زبانهای Borland/Turbo Pascal را پشتیبانی میکند. یکی از دردناکترین محذوفات، غیاب %100 نوع رشته سازگار با TP است. در این کامپایلر پشتیبانی Delphi و زبانهای متنوع دیگر به کلی محدود شده است به استثنای Mac Pascal که پشتیبانی برای آن به سرعت در حال رشد است. •Virtual Pascal توسط Vitaly Mirianov در سال 1995 به عنوان کامپایلر درونی OS/2 و سازگار با نحو بورلند پاسکال ساخته شد. پس از آن به صورت تجاری توسط fprint و اضافه کردن پشتیبانی Win32 توسعه یافت و در سال 2000 یک برنامه رایگان شد. امروزه برای Win32 و OS/2 و Linux دارای توانایی کامپایل است و با بورلند پاسکال و دلفی بسیار سازگار است. توسعه این کامپایلر در 4 آوریل 2005 لغو شد. •کامپایلر P4 که پایه و اساسی برای بسیاری کامپایلرهای پیاده سازی پاسکال در پاسکال میباشد، شامل UCSD p-System است. او یک زیر مجموعه از پاسکال کامل را پیاده سازی میکند. •کامپایلر P5 یک ISO 7185 (پاسکال کامل) برگرفته از P4 میباشد. •Turbo Pascal یک کامپایلر برتر پاسکال برای کامپیوترهای شخصی در سالهای 80 و اوایل 90 میباشد. به علت توانایی توسعه قوی اش و بویژه زمان کامپایل کوتاهش، دارای محبوبیت میباشد. توربو پاسکال به صورت فشرده نوشته شده است و میتواند تماماً در حافظه و بدون دسترسی به دیسک، کامپایل، اجرا و اشکالزدایی شود. در آن موقع فلاپی دیسکهای کند در بین برنامه نویسان رواج داشت که این نیز سبب بزرگنمایی مزیت توربوپاسکال شد. هم اکنون نسخههای قدیمی توربو پاسکال (بالاتر از 5.5) برای دریافت مجانی از سایت بورلند مهیا میباشند. •Turbo51(turbo51.com) یک کامپایلر مجانی پاسکال برای خانواده 8051 از میکروکنترلرها میباشد (از نحو توربو پاسکال 7.5 استفاده میکند). •Dr. Pascal یک مفسر است که پاسکال استاندارد را اجرا میکند. نکته قابل توجه، حالت اجرای مرئی آن میباشد، که در این حالت، یک برنامه در حال اجرا، و متغیرهای آن برنامه و امکان بررسی خطای زمان اجرا را به صورتی وسیع و گسترده نشان میدهد. برنامه را اجرا میکند، اما اعداد باینری اجرایی را تولید نمیکند. این مفسر، در MS-DOS و Windows (در پنجره DOS ) و در Macintoshهای قدیمی اجرا میشود. •کامپایلر پاسکال توسعه داده شده Dr Pascal: این کامپایلر بر روی DOS وWindows 3.1, 95, 98, NT تست شده است. •IP Pascal زبان Pascaline (نامگذاری شده بعد از Pascal’s calculator) را پیاده میکند که یک پاسکال توسعه یافته وسیع میباشد و براساس ISO 7185 سازگار با پاسکال اصلی تهیه شده است. این زبان، پیمانهها را به همراه کنترلهای فضای نام نشان میدهد که مشتمل بر پیمانههای وظایف موازی به همراه پرچمهای راهنما، اشیا، آرایههای پویا با هرتعداد بعد که در زمان اجرا تخصیص داده میشوند، سربارگذاری ها، لغو کردنها و بسیاری امکانات دیگر است. IP Pascal یک کتابخانه قابل نقل و انتقال در درون خود دارد که به صورت سفارشی برای زبان پاسکال ساخته شده است. به عنوان مثال یک برنامه کاربردی دارای خروجی استاندارد متنی از پاسکال اصلی سال 1970 را برای کار کردن در یک پنجره و حتی در ساختهای گرافیکی اضافه شده، میتوان مجدداً کامپایل کرد. •Pocket Stodio یک کامپایلر زیر مجموعهای پاسکال میباشد که با هدف قرار دادن سیستمعامل Palm به منظور توسعه با شتاب برنامههای کاربردی/ MC68xxx طراحی و ساخته شد. برای این امر از بعضی امکانات خودش، برای کمک به واسط ها، توسطAPI های Palm OS استفاده میکرد. •MidletPascal – یک کامپایلر پاسکال و یک IDE که کدهای بیتی سریع و کوچک جاوا را تولید میکند و مخصوصاً به منظور ساخت نرمافزار برای موبایل طراحی شده است. •Vector Pascal یک زبان است که در مجموعه دستور العمل SIMD همانند MMX وAMD 3d کنونی، در نظر گرفته شد که تمام پردازندههای Intel و AMD را به خوبی موتور Play Station 2 پشتیبانی کند. •Morfic Pascal که توسعه برنامههای کاربردی Web تماماً نوشته شده در پاسکال شی گرا را امکان پذیر می سازد (برای هردو قسمت کارگزار و مرورگر) •Web Pascal (http://www.codeide.com/) یک محیط نرمافزاری و کامپایلر پاسکال online میباشد. •WDSibyl یک محیط توسعه بصری و کامپایلر پاسکال برای Win32 و OS/2 است. •PP Compiler، یک کامپایلر برای سیستمعاملهای Palm است که مستقیماً برروی کامپیوتر هایی به اندازه کف دست اجرا میشود. یک لیست بلند بالا را در Pascaland میتوان پیدا کرد. این Site در فرانسه است، اما اساساً یک لیست به همراه URL هایی به کامپایلرهاست، با این حال یک مانع کوچک برای کسانی که فرانسوی زبان نیستند وجود دارد. این پایگاه و پایگاههای مرکز پاسکال، سایت مرکزی اطلاعاتی Mac Pascal و سایت advocacy، به همراه مجموعهای غنی از مقالات آرشیوی، به اضافه لینک هایی به بسیاری کامپایلرها و خودآموزها، نیز ممکن است جالب باشند. استانداردها در سال 1983، زبان در استاندارد بینالمللی ISO/ICE 7185 همانند استانداردهای ویژه کشورهای محلی، دارای استاندارد بود ودر برگیرنده استاندارد آمریکایی ANSI/IEEE770X3.97-1983 و ISO7185:1993 بود. این دو استاندارد فقط در اینکه استاندارد ISO یک بسط “level 1” برای آرا یههای صریح داشت و ANSI اجازه امکان این توسعه را به برنامه اصلی (نسخه آقای Wirth) نمیداد، متفاوت بودند. در سال 1989 استاندارد ISO7185 برای تصحیح خطاهای متنوع وابهاماتی که در سند اصلی موجود بود، بازنگری شد و منجر به ISO 7185:1990 شد. در 1990 یک پاسکال استاندارد توسعه یافته به عنوان ISO/ICE 10206 ساخته شد. در سال 1993 استاندارد ANSI توسط خود سازمان ANSI، با “pointer” به استاندارد ISO 7185:1990 ارتقا یافت. دراین استاندارد جدید، اتمام و انتهای وضعیت، به طور محسوسی متفاوت میباشد. قرار شد که ISO 7185 یک شرح روشن کننده و ابهام زدا برای زبان آقای Wirth در سال 1974 باشد، به همان صورتی که توسط دستورالعملهای راهنما و گزارش (Jenson & Wirth) شرح داده شده است. اما یک نکته قابل تأمل وجود دارد و آن اضافه نمودن پارامترهای آرایه همسان به عنوان level 1 برای این استاندارد و level 0 برای پاسکال بدون آرایههای همسان میباشد. توجه کنید که خود Nikulas Wirth به زبان 1974 به عنوان استاندارد ارجاع داد، مثلاً برای تفاوت گذاشتن میان آن و امکانات مخصوص ماشین برای کامپایلر CDC6000. این زبان سال 1974 برای پاسکال حرفهای به صورت سند در آمد و قسمت دوم کتابچه راهنمای استفاده کنندگان پاسکال و گزارشات مربوط به آن میباشد. پاسکال بر روی ماشینهای بزرگ (پردازندههای مرکزی و کامپیوترهای کوچک) شروع به کار کرد، و استانداردها عموماً پیروی میشدند. اما برروی کامپیوترهای شخصی IBM اینگونه نبود. برروی این کامپیوترها، استانداردهای توربو پاسکال و دلفی بورلند بیشترین تعداد استفاده کنندگان را دارا بود. بدین روی، عموماً درک این موضوع مهم میباشد که آیا یک پیاده سازی ویژه زبان، همانند زبان پاسکال اصلی میباشد یا یک نسخه برلند از آن همانند زبان پاسکال اصلی است. با آمدن UCSD Pascal نسخههای IBM-PC زبان، از نسخههای قبل متفاوت شدند. این نسخه یک پیاده سازی شفاهی است که توسعهها و امکانات زیادی، بهمراه کاستیها و تغییرات فراوانی را برای زبان بیان کرد. بسیاری از امکانات زبان UCSD در نسخههای بورلند، همچنان باقی مانده اند. دسته بندی ها نسخه 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 (
زبان برنامهنویسی رایانه ای پاسکال یکی از زبانهای مشهور برنامهنویسی سطح بالای متداول است. پاسکال به عنوان زبان ساده شده زبان ALgOL طراحی شد و مقاصد آموزشی داشت. این زبان توسط نیکلاوس ویرت (Niklaus Wirth) پروفسور دانشگاه پلی تکنیک زوریخ در سوییس در سالهای ۱۹۶۸ و ۱۹۶۹ طراحی شد و در سال ۱۹۷۰ به عنوان یک زبان کارآمد و کوچک به منظور پیش برد و توسعه مهارتهای برنامه نویسی با استفاده از برنامه نویسی ساخت یافته و ساختمان دادهها، منتشر گردید. نام زبان پاسکال آن از نام بلز پاسکال، ریاضیدان فرانسوی، الهام گرفته شده است. پاسکال یک زبان برنامه نویسی امری و ساخت یافته تأثیر گذار میباشد که از خصوصیات این زبان میتوان به سادگی فراگیری آن اشاره کرد. استاندارد این زبان برنامهنویسی در سال ۱۹۸۳ نوشته شده است و دو سازمان IEEE و ANSI آن را تائید کردهاند. هم اکنون این زبان بیشتر بهعنوان زبان برنامهنویسی آموزشی برای مبتدیان در دانشگاهها تدریس میشود. سادگی و تجرید خوب این زبان امکان برنامهنویسی راحت بدون نیاز به آگاهی از ساختارهای پیچیدهٔ زیرین سیستمعامل را میدهد. یک نسخه برگرفته از پاسکال که با عنوان Object Pascal شناخته میشود، برای برنامه نویسی شی گرا طراحی شد. محتویات [نهفتن] ۱ تاریخچه۲ چکیده۳ پیاده سازی۴ ساختارهای زبان۵ Hello World۶ انواع داده۷ ساختارهای داده۸ اشاره گرها۹ ساختارهای کنترل۱۰ پردازهها و توابع۱۱ کامپایلرها و مفسر ها۱۲ استانداردها۱۳ دسته بندی ها۱۴ لیست استانداردهای مربوط۱۵ جهت گیری ها۱۶ انتقادات۱۷ مزایا و معایب زبان برنامه نویسی پاسکال۱۸ اجزای تشکیل دهنده یک برنامه۱۹ ساختار کلی برنامه در زبان پاسکال تاریخچه نیکلاوس ورث قبل از پاسکال و برای تهیه مقدمات آن، زبان Euler و سپس Algol-W را توسعه داد و بعدها زبانهای Modula-2 و Obern که شبیه به پاسکال بودند را بوجود آورد. در زمان اختراع پاسکال، زبانهای برنامه نویسی بسیار زیادی وجود داشت ولی تنها تعدادی از آنها بسیار استفاده میشدند که عبارت بودند از Fortran ، Assembler و Cobol. ایده اصلی زبان جدید نظم، مدیریت دادهها و نیاز به تعریف دادهها بود.این زبان از ابتدا به گونهای طراحی شده بود که یک زبان آموزشی باشد. در ابتدا پاسکال بسیار وسیع و جامع بود، اما تنها به منظور یاددادن برنامه نویسی ساخت یافته به دانشجویان نبود. نسلهای متمادی از دانشجویان بر روی پاسکال به عنوان یک زبان مقدماتی در دورههای لیسانس کار کردند. همچنین نسخههای متفاوتی از پاسکال مکرراً برای هر چیزی از پروژههای تحقیقاتی گرفته تا بازیهای رایانهای و سیستمهای جاسازی شده استفاده شد. هم اکنون کامپایلرهای جدید تر پاسکال موجود میباشند که که به طور وسیع و گسترده استفاده میشوند. پاسکال نخستین زبان سطح بالا بود که برای توسعه و تکامل در Apple Lisa استفاده شد و در سالهای اولیه Mac، قسمت هایی از سیستمعامل اصلی مکینتاش، از منابع پاسکال توسط دست به زبان اسمبلی 68000 Motorola ترجمه شد. حروفچینی محبوب سیستم TeX توسط Donald E.Knuth در WEB (سیستم برنامه نویسی آموزش دیده اصلی) نوشته شد، که بر پایه DEC PDP-10 Pascal میباشد، آن هم در هنگامی که یک برنامه کاربردی مانند Total Commander در Delphi (پاسکال شی گرا) نوشته شد. توربو پاسکال: پاسکال نیز مانند بسیاری از زبانهای برنامهنویسی دیگر دارای کامپایلرهای زیادی است که از معروفترین آنها میتوان به کامپایلر توربو پاسکال (Turbo Pascal) که متعلق به شرکت بورلند (Borland) است اشاره کرد. شرکت بورلند از پاسکال شیگرا بهعنوان زبان برنامهنویسی محیط توسعه نرمافزار خود به نام دلفی استفاده کرده است. توربو پاسکال در سال ۱۹۸۳ معرفی شد و همیشه در بین زبانهای برنامه نویسی از فروش بسیار بالایی برخوردار بود. توربو پاسکال مفهوم جدیدی به نام Integrated Development Environment یا (IDE) به معنای "محیط برنامه نویسی مجتمع" را معرفی کرد. در محیط IDE شما قادر خواهید بود کد را ویرایش کنید (در یک ویرایشگر هماهنگ با wordstar)، کامپایلر را آغاز کنید، خطاها را ببینید و به خط هایی که حاوی آن خطا هاست بروید، البته این مسئله هم اکنون بسیار بی معنی به نظر میآید، اما در گذشته لازم بود که شما از ویرایشگر بیرون بروید و به DOS برگردید و سپس کامپایلر را به صورت خط فرمانی آغاز کنید، سپس شماره خطاهای خط را یادداشت کنید، دوباره ویرایشگر را باز کنید و به خطهای حاوی خطا بروید و دوباره همه چیز را از اول انجام دهید. به علاوه بورلند توربو پاسکال خود را فقط 49دلار می فروخت، در حالیکه مایکروسافت کامپایلر پاسکال خود راچند صد دلار به فروش می رساند، تداوم موفقیت چند ساله توربو پاسکال سبب شد که درآمدهای مایکروسافت از فروش کامپایلر پاسکال بسیار کاهش یابد. پاسکال دلفی: بعد از 9 نسخه از انتشار توربو پاسکال و بورلند پاسکال، که به تدریج زبانهای بسیار گستردهای شده بودند، بورلند در سال ۱۹۹۵ دلفی را معرفی نمود که پاسکال را به یک محیط برنامه نویسی دیداری(VISUAL) تبدیل میکرد. زبان شیئ گرایی پاسکال که ما در دلفی از آن سود می جوییم در سال ۱۹۹۵ همراه با محیط برنامه نوسیس دیداری(VISUAL)دلفی اختراع نشد. این زبان توسعه یافته زبان پاسکال شیئ گرا بود که قبلاً در محصول بورلند پاسکال از آن استفاده شده بود، اما بورلند پاسکال آن را را اختراع نکرد بلکه تنها به گسترش وعمومی شدن آن کمک نمود. چکیده قصد پروفسور ورث خلق یک زبان کار آمد بود (در هر دو مورد سرعت کامپایل و کد ساخته شده) که بر پایه به اصطلاح برنامه نویسی ساخت یافته (مفهومی که به تازگی محبوب شده است) باشد. اصول و ریشههای پاسکال برپایه زبان الگول 60 پی ریزی شد، اما علاوه بر آن مفاهیم و مکانیزم هایی را مافوق اعداد و آرایههای الگول معرفی کرد که برنامه نویسان را قادر به تعریف انواع داده (ساختمان) پیچیده خودشان میکرد و همچنین ساخت ساختمان دادههای بازگشتی و پویا مانند لیست ها، درختها و گرافها را آسانتر مینمود. امکانات مهم که برای این امور اضافه شده بود، رکوردها، شمارش ها، زیر حوزه ها، متغیرهای اختصاص داده شده پویا همراه اشاره گرهای وابسته و مجموعهها میباشد. برای تحقق و معنی دار کردن این امر، پاسکال یک سیستم تایپ دهی قوی روی تمام اشیا دارد، به این معنی که یک نوع داده نمیتواند بدون تبدیل صریح، به عنوان نوع دیگر تفسیر و یا تبدیل شود. امروزه در بسیاری از زبانهای برنامه نویسی مکانیزمهای مشابهی به صورت استاندارد میباشند. زبانهای دیگر که از توسعه پاسکال تأثیر گرفتند، کوبول، سیمولا 67 و Algol W خود آقای Wirth میباشند. پاسکال مانند بسیاری از زبانهای اسکریپتی امروزه ( اما بر خلاف زبانهای خانواده C ) به تعریف پروسههای تودرتو تا هر عمقی و همچنین اکثر انواع تعریفها و اعلانها درون پروسهها و توابع اجازه میدهد. این امر یک نحو خیلی ساده و منسجم را امکان پذیر می سازدکه یک برنامه کامل از نظر نحوی، خیلی نزدیک به یک تابع و یا پروسه تنهاست (البته به استثنای خود کلمه کلیدی). پیاده سازی اولین کامپایلر پاسکال برای سری CDC 6000 خانواده کامپیوترهای پردازنده مرکزی در زوریخ طراحی شد. آقای Wirth گزارش میدهد که اولین کوشش برای پیاده سازی آن در فرترن در سال 1969 با توجه به نارسایی فرترن برای بیان ساختمان دادههای پیچیده، ناموفق بود. دومین تلاشها برای خود زبان پاسکال تنظیم و فرموله شد و در اواسط سال 1970 قابل استفاده شد. پس از آن بسیاری از کامپایلرهای پاسکال به طور مشابه، خودمیزبان بودند، به این معنا که خود کامپایلر در پاسکال نوشته شده است و کامپایلر هنگامی که امکانات جدید به زبان اضافه میشود و یا به محیطی جدید منتقل میشود، معمولاً قادر به دوباره کامپایل کردن خود میباشد. کامپایلر GNU Pascal یک استثنای قابل توجه در این مورد میباشد که در C نوشته شده است. اولین انتقال موفق کامپایلر CDC Pascal به یک کامپیتر پردازنده مرکزی دیگر، توسط Welsh و Quinn در دانشگا ه Queen در شهر Balfast در سال 1972 انجام گرفت. کامپیوتر هدف یک ICL 1900 بود. اولین کامپایلر پاسکال که در آمریکای شمالی نوشته شد، در دانشگاه Illinois زیر نظر Donald B.Gillies برای PDP-11 و کد ماشین تولید شده محلی، ساخته شد. پاسکال در سراسر سالهای 1970 و 1980 از محبوبیتی بزرگ برخوردار بود. به منظور انتشار سریع زبان، یک کامپایلر (porting kit) در زوریخ ساخته شد که شامل یک کامپایلر بود که برای یک ماشین پشته مجازی کد تولید میکرد(یعنی کدی که خودش را به یک تفسیر کارآمد معقول از خودش ارجاع میداد) به همراه یک مفسر برای این کد Pascal-P system. اگر چه کد SC (کامپیوتر استک) در ابتدا به قصد کامپایل به کد ماشین صحیح بود، حداقل یک سیستم (سیستم پاده سازی جالب توجه UCSD) از آن برای خلق مفسر UCSD P-system استفاده کرد. کامپایلرهای سیستم P، با P1 تا P4 نامیده میشوند. P1 به عنوان اولین نسخه و P4 به عنوان آخرین نسخه انتشار یافته از زوریخ. کامپایلر/ مفسرP4 هنوز برروی سیستمهای سازگار با پاسکال اصلی قابل اجرا و کامپایل است. با این حال خودش فقط یک زیرمجموعه از زبان پاسکال را قبول میکند. یک نسخه از P4 که زبان پاسکال کامل را قبول میکند و سازگار با ISO 7185 است، نیز ساخته شد و به نام کامپایلر P5 نامگذاری شد که به صورت منبع در دسترس و مهیاست. یک نسخه جایگزین از آن که به عنوان مدل پیاده سازی پاسکال شناخته میشودنیز پاسکال کامل را قبول میکند و با ISO 7185 سازگار است، اما در کامپیوترهای خواندنی فراهم نمیباشد. یک نسخه از کامپایلرهای P4 که اعداد باینری محلی را خلق کرد، برای کامپیوتر پردازنده مرکزی IBM System 370 توسط کمیسیون انرژی اتمی استرالیا ارائه شد. این کامپایلر AAECPascal Compiler نامیده شد پس از حروف اختصاری نام کمیسیون. یک نسخه از P4 از 6-1975 شامل منابع و اعداد باینری لازم برای کامپایلر و فایلهای کتابخانهای زمان اجرا، برای پردازنده مرکزی PDP-10 ممکن است از این پیوند قابل دریافت باشد. در اوایل 1980 WatcomPascal نیز برای IBM System 370 توسعه داده شد. IP Pascal یک پیاده سازی از زبان برنامه نویسی پاسکال بود که از Micropolis Dos استفاده میکرد، اما به سرعت به CP/M که برروی Z80 اجرا میشد، حرکت کرد. بعدها نیز به انواع ماشینهای 80386 در سال 1994 حرکت کرد و امروزه به صورت پیاده سازی شده در Linux و Windows/XP وجود دارد. در سال 2008 سیستم به یک سطح جدید ارتقا یافت و زبان حاصله به عنوان Pascaline (بعد از Pascal’s Calculator ) نامیده شد.آن زبان، شامل اشیا، کنترلهای فضای نام، آرایههای پویا، به همراه بسیاری الحاقات دیگر، و امکانات عمومی دارای کارکرد مشابه، و حفاظت نوع داده همانند C# میباشد. این تنها پیاده سازی است که با پیاده سازی پاسکال اصلی سازگارمی باشد (که در ISO 7185 استاندارد شده است). در اوایل 1980 به منظور مهیا کردن یک جایگزین ساخت یافته برای مفسرهای پایه که با ماشینها آمدند، UCSD Pascal به کامپیوترهای Apple II,Apple III انتقال یافت. کامپیوتر Apple، Lisa Pascal خودش را برای محیط کار Lisa در سال 1982 خلق کرد و این کامپایلر را به Apple Macintosh و MPW در سال 1985 منتقل کرد. در سال 1985 Larry Tesler در مشاوره با Niklaus Wirth پاسکال شی گرا را تعریف کردو این امکانات در هر دوی Lisa Pascal و Mac Pascal جای داده شدند. در سالهای 1980، Anders Hejlsberg کامپایلر Blue Label را برای Nascom-2 نوشت. یک پیاده سازی مجدد از این کامپایلر برای IBM PC تحت نامهای Compas Pascal و PolyPascal قبل از اینکه توسط Borland شناسایی شود، در معرض فروش قرار داده شد. نامگذاری مجدد به Turbo Pascal موجب افزایش محبوبیت و قدردانی شد. قدردانی در یک قسمت به خاطر یک راهبرد قیمت گذاری جسورانه و پر پشتکار و در یک قسمت به خاطر داشتن یکی از نخستین محیطهای توسعه یکپارچه تمام صفحه. علاوه بر اینها، Turbo در زبان اسمبلی نوشته شد و تماماً به نحو احسن بهینه شد که سبب شد در رقابت بسیار کوچکتر و سریعتر شود. در سال 1986، Anders، توربو پاسکال را به Macintosh منتقل کرد و الحاقات پاسکال شی گرای Apple را با Turbo درآمیخت. این الحاقات سپس مجدداً به توربو پاسکال نسخه PC شماره 5.5 اضافه شدند. کامپایلر ارزان بورلند یک تأثیر شگرف بر جامعه پاسکال گذاشت که سبب تمرکز ویژه برروی کامپیوترهای شخصی IBM در اواخر سالهای 1980 شد. بسیاری از علاقمندان به کامپیوترهای شخصی که در جستجوی یک جایگزین ساخت یافته برای BASIC بودند، شروع به استفاده از این محصول کردند. همچنین این محصول توسط استفاده کنندگان حرفهای نیز کم کم مورد پذیرش قرار گرفت. درهمین حین، تعدادی مفاهیم از C، به منظور اجازه دادن به برنامه نویسان پاسکال برای استفاده مستقیم از APIهای Microsoft Windows که بر پایه C بودند، وارد پاسکال شدند. این الحاقات مشتمل بر رشتههای بدون پایان، اشاره گرهای عددی و حسابی، اشاره گرهای توابع، آدرس عملگرها و انواع دادهای ناامن میباشند. با این حال، بورلند بعداً تصمیم گرفت که امکانات شی گرایی با دقت بیشتر و جزئیات دقیقتر می خواهد و آن را با استفاده از پیش نویسهای استاندارد پاسکال شی گرا که توسط Apple به عنوان اساس و پایه پیشنهاد شده بود، مجدداً در Delphi پیاده کرد( این پیش نویس Apple هنوز یک استاندارد رسمی نمیباشد). بنابراین اولین نسخههای زبان برنامه نویسی Delphi، پاسکال شی گرا (Object Pascal) نامیده شدند.الحاقات اصلی در مقایسه با پاسکال شی گرای قدیمی تر، مدل شی گرای مبتنی بر مرجع، سازندهها و مخربهای مجازی و جزئیات بودند. کامپایلرهای متعدد دیگر نیز این شیوه را اجرا و پیاده سازی کردند. توربو پاسکال و دیگر مشتقات به همراه واحدها یا مفاهیم پیمانه ای، هم از زبانهای پیمانهای هستند. با این حال، مفهوم پیمانه تودرتو و یا ورود و خروج صحیح نمادهای ویژه را مهیا نمیکنند. Super Pascal یک نوع دیگر بود که برچسبهای بدون عدد را اضافه کردکه یک دستور یا عبارت بازگشت به عنوان نام هایی از نوعها میباشد. دانشگاههای زوریخ، Karlsruhe و Wuppertal، یک قابلیت را برای محاسبات علمی توسعه دادند (XSC Pascal) که یک راه حل مفید را برای برنامه ریزی محاسبات عددی با دقت کنترل شده، مهیا میکند. در سال 2005 در کنفرانس WEB 2.0 ، Marfic Technology ابزاری معرفی کرد که توسعه کاربردهای WEBکه تماماً در Marfic Pascal نوشته شده بود را مهیا میکرد. Marfic Pascal یک گونه از پاسکال شی گرا است که بسیار نزدیک به Delphi میباشد. ساختارهای زبان پاسکال در شکل اصلی خودش به طور خالص یک زبان رویهای است و دارای آرایش سنتی الگول است که شبیه ساختارهای کنترل به همراه کلمات رزروشده همچون if,then,else,while,for و ... میباشد. با این حال پاسکال بسیاری امکانات ساخت یافته دادهای و انتزاعی را داراست که در الگول 60 اصلی موجود نبودند. مانند تعاریف نوع ها، رکوردها، اشاره گرها، شمارشها و مجموعه ها. یک همچنین ساختار هایی تا یک اندازه از Simula 67 ،Algol 68، Algol W خود آقای Wirth و پیشنهادات C.A.R. Hoare الهام گرفته شده و یا به ارث برده شدند. Hello World برنامههای پاسکال توسط کلمه کلیدی Program به همراه لیستی از فایلهای خارجی به عنوان پارامترها شروع میشوند. سپس بلوک عبارت اصلی که توسط کلمات کلیدی Begin و End بسته بندی شده است را دنبال میکنند. علامت semicolon (;) عبارات را از هم جدا میکند و نقطه آخر برنامه تمام برنامه را خاتمه میدهد. در پاسکال، بزرگ و کوچکی حروف مطرح نیست. بعضی کامپایلرها مثل توربو پاسکال در میان آنها کلمه کلیدی Program را اختیاری در نظر میگیرند. در اینجا یک مثال از کد برای یک برنامه خیلی ساده آورده شده است. Program HelloWorld(output); begin writeLn('Hello, World!') end. انواع داده یک تایپ در پاسکال و در عموم زبانهای برنامه نویسی محبوب دیگر، یک متغیر را به گونهای در نظر میگیرد که درآن، حوزهای از مقادیر قابل قبول تعریف میشود که متغیر قادر به ذخیره آن میباشد و همچنین مجموعهای از عملگرها را لحاظ میکند که برروی آن متغیر با آن نوع مجاز است. انواع دادهها و توضیحی مختصر در مورد آنها در زیر آورده شده است. نوع داده حوزه قابل ذخیره توسط متغیر 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، ثوابت، تایپ ها، متغیرها و دیگر پردازهها و توابع را داشته باشد که همگی باید در آن دسته قرار گیرند. این ملزومات ترتیبی، در اصل به قصد اجازه به کامپایل یک طرفه کارآمد بود. با این حال در بعضی نسخه ها، ملزومات الزامی ترتیبی قسمت اعلان ها، مورد نیاز نمیباشد. کامپایلرها و مفسر ها کامپایلرها و مفسرهای گوناگون پاسکال برای استفاده عمومی همگان مهیا است: •Delphi محصول شرکت CodeGear (Borland پیشین) میباشدکه این شرکت پرچمدار توسعه با شتاب برنامههای کاربردی (RAD)(Rapid Application Development) است. از زبان پاسکال شی گرا استفاده میکند(نام گذاری زبان برنامه نویسی Delphi توسط Borland )، زاده شده از پاسکال میباشد و به منظور خلق برنامههای کاربردی برای بستر windows تهیه شده است. نسخههای اخیر 2005 تا 2007 کامپایل به بستر .Net را نیز پشتیبانی میکنند. یک نسخه از(Turbo Delphi Explorer) برای دریافت رایگان مهیا میباشد. •Free Pascal (http://www.freepascal.org/) یک کامپایلر چند بستره میباشد که در پاسکال نوشته شده است (خود میزبان میباشد). هدف از آن فراهم کردن یک کامپایلر نیرومند و راحت بود که هم قادر به کامپایل برنامههای کاربردی قدیمی باشد و نیز ابزاری برای توسعه امکانات جدید. این کامپایلر زیر نظر GNU GPL توزیع شده است. با صرف نظر از روشهای سازگاری برای Turbo Pascal، Delphi و MacPascal، این کامپایلردارای حالتهای نحوی شی گرا و ساخت یافته خودش به همراه پشتیبانی امکانات توسعه یافته همانند سربارگذاری عملگرها میباشد. او همچنین بسیاری از platformها و سیستمعاملها را پشتیبانی میکند. •Lazarus(lazarus.freepascal.org) یک IDE پیوند زده شده با platform بصری شبیه Delphi میباشد که برای توسعه با شتاب برنامههای کاربردی(RAD) تهیه شده است. مبتنی بر freepascal میباشد، برای platformهای بسیاری شامل Linux، FreeBSD، Mac OS X و Windows آماده است. • Dev-Pascal یک محیط برنامه نویسی پاسکال است که در Borland Delphi طراحی شد و هر دوی Free Pascal و GNU Pascal را به صورت پیش فرض پشتیبانی میکند. او بر خلاف همزادش C++ سالهاست که دستاورد مهمی نداشته است. •Oxygene (قبل تر با نام Chrome شناخته میشد) کامپایلر نسل بعد پاسکال شی گرا برای .NET و platformهای تنها میباشد. او توسط RemObject Software ساخته و فروخته شد. •Kylix یکی از اولاد Delphi به همراه پشتیبانی برای سیستمعامل لینوکس و نیز یک کتابخانه شی ارتقا یافته بود. کامپایلر و محیط برنامه نویسی برای استفاده غیره تجاری هم اکنون موجود میباشند. این محصول توسط بورلند پشتیبانی نمیشود. •GNU Pascal Compiler(GPC) این کامپایلر پاسکال، مجموعه کامپایلرهای GNU است (GCC) GNU Compiler Collection. خود کامپایلر در C، وکتابخانه زمان اجرا عمدتاًدر پاسکال نوشته شده است. بصورت مجانی تحت لیسانس نشر عمومی GNU توزیع شده است. بر روی بسیاری از platformها و سیستمعاملها اجرا میشود. او زبانهای استاندارد ANSI/ISO و بخشی از زبانهای Borland/Turbo Pascal را پشتیبانی میکند. یکی از دردناکترین محذوفات، غیاب %100 نوع رشته سازگار با TP است. در این کامپایلر پشتیبانی Delphi و زبانهای متنوع دیگر به کلی محدود شده است به استثنای Mac Pascal که پشتیبانی برای آن به سرعت در حال رشد است. •Virtual Pascal توسط Vitaly Mirianov در سال 1995 به عنوان کامپایلر درونی OS/2 و سازگار با نحو بورلند پاسکال ساخته شد. پس از آن به صورت تجاری توسط fprint و اضافه کردن پشتیبانی Win32 توسعه یافت و در سال 2000 یک برنامه رایگان شد. امروزه برای Win32 و OS/2 و Linux دارای توانایی کامپایل است و با بورلند پاسکال و دلفی بسیار سازگار است. توسعه این کامپایلر در 4 آوریل 2005 لغو شد. •کامپایلر P4 که پایه و اساسی برای بسیاری کامپایلرهای پیاده سازی پاسکال در پاسکال میباشد، شامل UCSD p-System است. او یک زیر مجموعه از پاسکال کامل را پیاده سازی میکند. •کامپایلر P5 یک ISO 7185 (پاسکال کامل) برگرفته از P4 میباشد. •Turbo Pascal یک کامپایلر برتر پاسکال برای کامپیوترهای شخصی در سالهای 80 و اوایل 90 میباشد. به علت توانایی توسعه قوی اش و بویژه زمان کامپایل کوتاهش، دارای محبوبیت میباشد. توربو پاسکال به صورت فشرده نوشته شده است و میتواند تماماً در حافظه و بدون دسترسی به دیسک، کامپایل، اجرا و اشکالزدایی شود. در آن موقع فلاپی دیسکهای کند در بین برنامه نویسان رواج داشت که این نیز سبب بزرگنمایی مزیت توربوپاسکال شد. هم اکنون نسخههای قدیمی توربو پاسکال (بالاتر از 5.5) برای دریافت مجانی از سایت بورلند مهیا میباشند. •Turbo51(turbo51.com) یک کامپایلر مجانی پاسکال برای خانواده 8051 از میکروکنترلرها میباشد (از نحو توربو پاسکال 7.5 استفاده میکند). •Dr. Pascal یک مفسر است که پاسکال استاندارد را اجرا میکند. نکته قابل توجه، حالت اجرای مرئی آن میباشد، که در این حالت، یک برنامه در حال اجرا، و متغیرهای آن برنامه و امکان بررسی خطای زمان اجرا را به صورتی وسیع و گسترده نشان میدهد. برنامه را اجرا میکند، اما اعداد باینری اجرایی را تولید نمیکند. این مفسر، در MS-DOS و Windows (در پنجره DOS ) و در Macintoshهای قدیمی اجرا میشود. •کامپایلر پاسکال توسعه داده شده Dr Pascal: این کامپایلر بر روی DOS وWindows 3.1, 95, 98, NT تست شده است. •IP Pascal زبان Pascaline (نامگذاری شده بعد از Pascal’s calculator) را پیاده میکند که یک پاسکال توسعه یافته وسیع میباشد و براساس ISO 7185 سازگار با پاسکال اصلی تهیه شده است. این زبان، پیمانهها را به همراه کنترلهای فضای نام نشان میدهد که مشتمل بر پیمانههای وظایف موازی به همراه پرچمهای راهنما، اشیا، آرایههای پویا با هرتعداد بعد که در زمان اجرا تخصیص داده میشوند، سربارگذاری ها، لغو کردنها و بسیاری امکانات دیگر است. IP Pascal یک کتابخانه قابل نقل و انتقال در درون خود دارد که به صورت سفارشی برای زبان پاسکال ساخته شده است. به عنوان مثال یک برنامه کاربردی دارای خروجی استاندارد متنی از پاسکال اصلی سال 1970 را برای کار کردن در یک پنجره و حتی در ساختهای گرافیکی اضافه شده، میتوان مجدداً کامپایل کرد. •Pocket Stodio یک کامپایلر زیر مجموعهای پاسکال میباشد که با هدف قرار دادن سیستمعامل Palm به منظور توسعه با شتاب برنامههای کاربردی/ MC68xxx طراحی و ساخته شد. برای این امر از بعضی امکانات خودش، برای کمک به واسط ها، توسطAPI های Palm OS استفاده میکرد. •MidletPascal – یک کامپایلر پاسکال و یک IDE که کدهای بیتی سریع و کوچک جاوا را تولید میکند و مخصوصاً به منظور ساخت نرمافزار برای موبایل طراحی شده است. •Vector Pascal یک زبان است که در مجموعه دستور العمل SIMD همانند MMX وAMD 3d کنونی، در نظر گرفته شد که تمام پردازندههای Intel و AMD را به خوبی موتور Play Station 2 پشتیبانی کند. •Morfic Pascal که توسعه برنامههای کاربردی Web تماماً نوشته شده در پاسکال شی گرا را امکان پذیر می سازد (برای هردو قسمت کارگزار و مرورگر) •Web Pascal (http://www.codeide.com/) یک محیط نرمافزاری و کامپایلر پاسکال online میباشد. •WDSibyl یک محیط توسعه بصری و کامپایلر پاسکال برای Win32 و OS/2 است. •PP Compiler، یک کامپایلر برای سیستمعاملهای Palm است که مستقیماً برروی کامپیوتر هایی به اندازه کف دست اجرا میشود. یک لیست بلند بالا را در Pascaland میتوان پیدا کرد. این Site در فرانسه است، اما اساساً یک لیست به همراه URL هایی به کامپایلرهاست، با این حال یک مانع کوچک برای کسانی که فرانسوی زبان نیستند وجود دارد. این پایگاه و پایگاههای مرکز پاسکال، سایت مرکزی اطلاعاتی Mac Pascal و سایت advocacy، به همراه مجموعهای غنی از مقالات آرشیوی، به اضافه لینک هایی به بسیاری کامپایلرها و خودآموزها، نیز ممکن است جالب باشند. استانداردها در سال 1983، زبان در استاندارد بینالمللی ISO/ICE 7185 همانند استانداردهای ویژه کشورهای محلی، دارای استاندارد بود ودر برگیرنده استاندارد آمریکایی ANSI/IEEE770X3.97-1983 و ISO7185:1993 بود. این دو استاندارد فقط در اینکه استاندارد ISO یک بسط “level 1” برای آرا یههای صریح داشت و ANSI اجازه امکان این توسعه را به برنامه اصلی (نسخه آقای Wirth) نمیداد، متفاوت بودند. در سال 1989 استاندارد ISO7185 برای تصحیح خطاهای متنوع وابهاماتی که در سند اصلی موجود بود، بازنگری شد و منجر به ISO 7185:1990 شد. در 1990 یک پاسکال استاندارد توسعه یافته به عنوان ISO/ICE 10206 ساخته شد. در سال 1993 استاندارد ANSI توسط خود سازمان ANSI، با “pointer” به استاندارد ISO 7185:1990 ارتقا یافت. دراین استاندارد جدید، اتمام و انتهای وضعیت، به طور محسوسی متفاوت میباشد. قرار شد که ISO 7185 یک شرح روشن کننده و ابهام زدا برای زبان آقای Wirth در سال 1974 باشد، به همان صورتی که توسط دستورالعملهای راهنما و گزارش (Jenson & Wirth) شرح داده شده است. اما یک نکته قابل تأمل وجود دارد و آن اضافه نمودن پارامترهای آرایه همسان به عنوان level 1 برای این استاندارد و level 0 برای پاسکال بدون آرایههای همسان میباشد. توجه کنید که خود Nikulas Wirth به زبان 1974 به عنوان استاندارد ارجاع داد، مثلاً برای تفاوت گذاشتن میان آن و امکانات مخصوص ماشین برای کامپایلر CDC6000. این زبان سال 1974 برای پاسکال حرفهای به صورت سند در آمد و قسمت دوم کتابچه راهنمای استفاده کنندگان پاسکال و گزارشات مربوط به آن میباشد. پاسکال بر روی ماشینهای بزرگ (پردازندههای مرکزی و کامپیوترهای کوچک) شروع به کار کرد، و استانداردها عموماً پیروی میشدند. اما برروی کامپیوترهای شخصی IBM اینگونه نبود. برروی این کامپیوترها، استانداردهای توربو پاسکال و دلفی بورلند بیشترین تعداد استفاده کنندگان را دارا بود. بدین روی، عموماً درک این موضوع مهم میباشد که آیا یک پیاده سازی ویژه زبان، همانند زبان پاسکال اصلی میباشد یا یک نسخه برلند از آن همانند زبان پاسکال اصلی است. با آمدن UCSD Pascal نسخههای IBM-PC زبان، از نسخههای قبل متفاوت شدند. این نسخه یک پیاده سازی شفاهی است که توسعهها و امکانات زیادی، بهمراه کاستیها و تغییرات فراوانی را برای زبان بیان کرد. بسیاری از امکانات زبان UCSD در نسخههای بورلند، همچنان باقی مانده اند. دسته بندی ها نسخه 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 (
رویارویی با مرگ
در تاریخ ۲۳ نوامبر سال ۱۶۵۴ او در تصادفی روی پل نیلی گرفتار شد که در آن اسبهای کالسکه که کنترل خود را از دست داده بودند از دیوارهِ پل پایین افتادند و کالسکه را به دنبال خود کشیدند. خوشبختانه در این حین میله اتصال شکسته شد و کالسکه از اسبها جدا شده و نیمی از آن از پل آویزان شد. پاسکال و دوستانش در این حادثه صدمهای ندیدند، اما فیلسوف احساساتی که مرگ را در جلوی چشمانش دیده بود، از وحشت غش کرد و مدتی بیهوش شد. او که ۱۵ روز بعد حوالی ساعت ۱۰٫۳۰ تا ۱۲٫۳۰ بهوش آمد، تصویر مذهبی قویای در ذهنش نقش بسته بود که آنرا در یادداشتی کوتاه سریعا ثبت کرد: آتش. «خدای ابراهیم، خدای اسحاق، خدای یعقوب، و نه خدای فلسفه دانان و دانشمندان و....». ا. یادداشت خود را با نیایش ۱۱۹:۱۶ ختم نمود: «پیغام تو را فراموش نخواهم کرد.آمین.» او این یادداشت را با دقت به کت خود دوخته بود و هرگاه لباس خود را عوض میکرد آنرا نیز جابجا میکرد. خدمتکار او این یادداشت را پس از مرگ پاسکال پیدا کرد..[۶] در طول زندگی اغلب به غلط از وی به عنوان مردی لاابالی یاد میشد و بعدها تنها بدلیل اینکه بستر مرگ برای خود ساخته بود، ترد شد.
پاسکال که عقاید و باورهای مذهبیش جان تازهای یافته بود در سفری ۲ هفتهای در ماه ژانویه سال ۱۶۵۵ به به صومعهای قدیمی در پورت رویال رفت. در این زمان یعنی بعد از تحولات مذهبی بود که او اولین اثر ادبی خود در مورد مذهب را با نام «نامههای ایالتی» نوشت.
نامههای ایالتی
پاسکال که نوشتن این مجموعه را در سال ۱۶۵۶ آغاز کرد، با این اثر ضربهای بیادماندنی به کازویستری، آیین مذهبی مذهب مشهوری که متفکران کاتولیسم در اوایل دوره مدرن (مخصوصا یسوعیان) از آن پیروی میکردند، وارد کرد. پاسکال مغلطهگری را استفاده از استدلال پیچیده برای توجیه بی بند باری اخلاقی عنوان کرد. روش استدلال وی بسیار زیرکانه بود: «نامههای ایالتی» به گونهای نگاشته شدهاست که چنین به نظر میرسد که شخصی پاریسی به دوستان ایالتی خود در موارد اخلاقی و الهیات، نامههایی را نوشته که پس از مدتی باعث ایجاد محافل مذهبی و اندیشمندانه در پایتخت میشود. پاسکال با تلفیق عقاید یک کشیش باهوش و تجربیات افراد عادی سطحی جدید از نگارش را در نثر فرانسه ایجاد کرد. این مجموعه ۱۸ نامهای طی سالهای ۱۶۵۶ و ۱۶۵۷ با تخلص لوئیس دی مونتالت چاپ شد که باعث خشم لوئیس چهاردهم گردید. پادشاه در سال ۱۶۶۰ دستور داد تا تمام نسخههای این مجموعه را بسوزانند.در سال ۱۶۶۱ مدرسهِ یانسنگراها در پورترویال محکوم و بسته شد.کسانیکه در آن مدرسه کار میکردند در سال ۱۶۶۵ سندی با عنوان فتوای پاپ را امضا کردند که تعالیم یانسن را محکوم کرد و آن را بدعت خواند. آخرین نامهِ پاسکال در سال ۱۶۵۷ نشاندهندهِ تمرد آشکارا از پاپ بود و باعث شد الکساندر هفتم نامهها را محکوم کند. اما این کار مانع خواندن این نامهها توسط تحصیلکردگان فرانسه نشد. حتی به نظر میرسید که الکساندر هفتم هم با اینکه نامهها را محکوم کرده، اما در خفا استدلالات پاسکال را پذیرفتهاست. چند سال بعد او بی بند و باری در کلیسا را محکوم کرد و دستور داد متون مغلط بازنویسی شوند.(۶۶-۱۶۶۵)
مجموعه «نامههای ایالتی» در کنار تأثیر مذهبیای که داشت، اثر ادبی مشهوری هم بود. استفاده از شوخی، مضحکه و هجو تند و گزنده در متن، مجموعه را برای خوانندگان کاملاً قابل هضم کرده بود و بر روی شیوه نگارش نویسندگان فرانسوی از جمله ولتر و ژان ژاک روسو تأثیر گذاشت. چند نامهِ اول به معرفی اصول و عقاید مکتب یانسنگرایی مانند دگمهای «قدرت بیواسطه» (نامهِ اول) و «لطف و مرحمت به اندازه» (در نامهِ دوم) اختصاص دارد و نشان میدهد چرا این عقاید بدعتگذارانه نیستند. پاسکال در نامههای بعدی به طرفداری و دفاع از یانسنگراهای پورترویال میپردازد—در این زمان فشارها بریانسنگراهای پورترویال برای دست کشیدن از آموزشها و عقاید خود افزایش یافته بود—و همچنین این نامهها محتوی انتفاد از مغلطهکاری و سفسطه بود. نامهِ شانزدهم شامل عذرخواهی منحصر به فردی و غیرعادی است، «اگر زمان میداشتم، نامهای کوتاه تر مینوشتم »
«نامههای ایالتی» با افبال عمومی بسیاری روبه رو شد تا آنجا که ولتر این مجموعه نامهها را بهترین کتاب نوشته شده در فرانسه خواند. .«[۷] و زمانیکه از بوسوت پرسیدند که اگر کتابهای خود را ننوشته بود دوست داشت کدام کتاب را نوشته باشد، در پاسخ گفت:»نامههای ایالتی«پاسکال [۸]
معجزه
پس از اینکه پاسکال از نظارت بر انتشار «نامه» آخرش فراغت یافت و به پاریس بازگشت، اعتقادات مذهبی وی بدلیل ارتباط نزدیکش با وقوع یک معجزه در دیر راهبههای پورت رویال افزایش یافت. خواهرزادهِ ۱۰ ساله پاسکال بنام مارگارت پریر دچار بیماری فیستول بود که باعث عفونی شدن بدنش شده بود و چشمها و بینیش را نیز تحت تأثیر قرار داده بود و پزشکان از مداوای وی ابراز ناامیدی کرده بودند. سپس در۲۴ مارس سال ۱۶۵۷ یک انسان معتقد چیزی را به پورترویال اهدا کرد که به عقیدهِ وی و سایر معتقدین خاری از تاجی بود که باعث شکنجه حضرت مسیح شده بود. راهبهها طی مراسمی با خواندن سرودهای مذهبی این خار را در محراب دیر خود قرار دادند. هر کدام از راهبهها به نوبت این جسم مقدس را میبوسیدند و یکی از آنها که مارگارت را در بین عبادتکنندگان دید، جسم مقدس را برداشت وبا آن پای دخترک را لمس کرد. غروب همان روز مارگارت اظهار داشت که چشمهایش دیگر درد نمیکنند و مادر مارگارت نیز متوجه شد که اثری از بیماری در بدن دخترک نیست و پزشک نیز از این قضیه را تاکید کرد. پاسکال و نه راهبه این قضیه را که به اعتقاد آنها یک معجزه بود، در دور و اطراف پخش کرد. هفت پزشک دیگر که از بیماری مارگارت مطلع بودند، اظهار داشتند که به عقیدهِ آنها معجزه اتفاق افتادهاست. ماموران اسقف نیز این مساله را بررسی کردند و به همان نتیجه رسیدند و اجازه برقراری مراسم مذهبی را در پورترویال دادند. جمعیت زیادی از معتقدین برای دیدن و بوسیدن این خار آمدند و تمامی کاتولیکهای پاریس نیزاز این معجزه احساس شادمانی کردند. بعدها هم کاتولیکها و هم یانسنگراها از این معجزهِ مستدل در دفاع از عقاید خود استفاده کردند. در سال ۱۷۲۸، پاپ بندیکت XIII با اشاره به این معجزه اظهار داشت که عصر معجزه هنوز به پایان نرسیدهاست.
تفکرات
متاسفانه پاسکال نتوانست پیش از مرگش مهمترین کار مذهبیش بنام Pensées («تفکرات») را به اتمام برساند. قرار بود که این اثر بررسی بینقض و جامعی در دفاع از مسیحیت باشد که عنوان اولیهِ آن''Apologie de la religion Chrétienne''گ] به معنای دفاع از مذهب مسیحیت بود. پس از مرگ وی صفحاتی دستنوشته در وسائل او یافت شد که بر روی آنها افکار مختلفی به صورت درهم اما گویا نوشته شده بودند. اولین نسخه از این نوشتههای مجزا در سال ۱۶۷۰ با نام Pensées de M. Pascal sur la réligion, et sur quelques autres sujets («تفکرات پاسکال در ارتباط با مذهب و سایر موضوعات) به صورت کتاب چاپ شد و بلافاصله به اثری ارزشمند تبدیل شد. نگرانی و هراس دوستان پاسکال و اندیشمندان از اینکه این»تفکرات« گسسته بجای زهد و دینداری منجر به ایجاد شبه در دین شود باعث شد تا آنها قسمتهای مورد شک رامخفی کرده و سایر قسمتها را تغییر دهند، به نحوی که موجب ناخشنودی شاه و یا کلیسا نشوند [۹] در آن زمان دیگرآزارها و اذیتهای قبلی متوجه پورترویال نبود و ویراستاران تمایل نداشتند که دوباره این آزارها و مشکلات از سر گرفته شوند. تا قبل از قرن نوزدهم»تفکرات" به صورت کامل و اصل منتشر نشد.
«تفکرات» پاسکال شاهکار و نقطهِ عطفی در نثر فرانسه محسوب میشود. سنت بیو در ارتباط با یکی از قسمتهای این کتاب اظهار داشت که این صفحات بهترین در زبان فرانسه هستند. .[۱۰] ویل دورانت، در اثر جامه یازده جلدیش ]]تاریخ تمدن [[ آنرا به عنوان بهترین کتاب نثر فرانسه مورد ستایش قرار داد. .«[۱۱] پاسکال در»تفکرات" چندین تناقض فلسفی را بررسی کرد: بیکرانی و هیچ، ایمان و خرد، درون و ماده، مرگ و زندگی، معنا و پوچی و ...و چنین به نظر میرسد که غیرازجهل، خضوع و گذشت به نتایج دیگری دست نیافت. و با ادغام آنها وی شروط پاسکال را ایجاد کرد.
کارهای پایانی و مرگ
تی اس الیوت پاسکال را در دوران زندگیاش به عنوان «مردی زمینی در میان زاهدان و»زاهدی در میان انسانهای زمینی«توصیف کرد. زندگی زاهدانهِ پاسکال نتیجهِ عقیدهای بود که طبیعتا برای رنجش یک فرد کافی بود. در سال ۱۶۵۹، پاسکال که هیچ گاه از نعمت سلامتی برخوردار نبود، بشدت احساس بیماری کرد.طی سالهای پایانی زندگیاش، پاسکال از درمان پزشکانش سرباز میزد و عنوان میکرد :»بیماری وضعیتی طبیعی برای مسیحیان است«. [۱۲]
لوئیس چهاردهم نهضت یانسنگرایی را در سال ۱۶۶۱ در پورترویال سرکوب کرد.در پاسخ پاسکال یکی از کارهای نهاییاش را بنام , Écrit sur la signature du formulaire (کتابی در باب نشان صورت)، که در آن یانسنگرا را از تسلیم شدن برحذر داشت.در همان سال خواهر پاسکال ژاکلین فوت کرد که باعث شد پاسکال بحث در مورد یانسنگرایی را خاتمه دهد. بزرگترین دستاورد پاسکال در ارتباط با نبوغ مکانیکی وی، ایجاد شاید اولین خط اتوبوس برای حمل مسافران در داخل پاریس در کالسکههایی با چندین صندلی بود.
در سال ۱۶۶۲ اوضاع بیماری پاسکال وخیم شد. پاسکال با آگاهی از اینکه سلامتیاش رو به وخامت است، خواستار بستری شدن در بیمارستان شد اما دکتر وی اعلام داشت که وضعیت او چنان ناپایدار است که نمیشود او را به بیمارستان منتقل کرد. در تاریخ ۱۸ آگوست سال ۱۶۶۲ در پاریس، پاسکال دچار تشنج شد و مراسم تدفین و نیایش برای وی به اجرا درآمد. صبح روز بعد وی جان باخت، در حالیکه این کلمات را بر زبان داشت «خدایا هرگز تنهایم نگذار» و بدن وی در گورستان Saint-Étienne-du-Mont دفن شد.[۱۳]
در کالبدشکافی انجام شده پس از مرگ معلوم شد که معدهِ پاسکال و همچنین شکم وی وضعیت بسیار بدی داشته و مغز او نیز دچار آسیب بودهاست. با وجود انجام کالبدشکافی، علت اصلی بیماری مداوم وی معلوم نشد، با این حال نظریاتی در مورد ابتلا به سل و سرطان معده و یا هر دوبطور همزمان در این مورد وجود داشت. .[۱۴] همچنین آسیب مغزی پاسکال به عنوان دلیل سردردهای وی عنوان شد.
میراث
به افتخار ابداعات علمی وی، نام «پاسکال» به واحد فشارSI، به زبانبرنامهنویسی و قانون پاسکال و همچنین همانطور که در بالا عنوان شد به مثلث پاسکال و شروط پاسکال داده شد.
مهمترین ابداع پاسکال در علم ریاضی تئوری احتمال بود. این تئوری که در ابتدا در مورد قمار کاربرد داشت، امروزه در علم اقتصاد و خصوصا در علوم آماری بسیار مهم است. جان راس در این باره نوشت، «تئوری احتمال و اکتشافات وابسته به آن دید ما به مسائلی مانند عدم قطعیت، ریسک، تصمیم گیری و توانایی شخص و جامعه برای تأثیر بر حوادث آتی را تغییر داد.»[۱۵] با این وجود باید اذعان داشت که اگرچه پاسکال و فرمات کارهای اولیهِ مهمی در ارتباط با احتمال انجام دادند، اما در این مورد چندان فرا نرفتند. کریستین هیگنز با آگاهی از مکاتبات پاسکال و فرمات در این زمینه، اولین کتاب خود را در این باب نوشت. افراد بعدی که در توسعهِ این تئوری نقش داشتند ابراهام دی مویور و پیر سیمون لاپلس بودند.
درادبیات نیز پاسکال از جمله مهمترین نویسندگان دوره کلاسیک فرانسه محسوب میشود وآثار وی امروزه به عنوان شاهکار نثر فرانسه در نظر گرفته میشوند. استفادهِ وی از هجو و طنزنگاری برمجادله گرهای بعدی تأثیر گذاشت. مضامین کارهای ادبی پاسکال بیش از همه برای مخالفتش با خردگرایی رنه دکارت و تاکید همزمان براین مطلب که فلسفه تجربهگرایی برای تعیین حقایق مهم ناکافی است در یادها میباشد.
سایر موارد
در کانادا یک مسابقه سالانه ریاضی بنام وی، پاسکال نام گرفتهاست. تمامی دانشآموزان کانادایی ۱۴ سال و کمتر که در کلاس نهم و یا پایینتر هستند میتوانند در این مسابقه شرکت کنند.
تبادل افکار در مورد پاسکال در فیلمی بنام My Night At Maud's توسط کارگردان فرانسوی اریک رومر به تصویر کشیده شدهاست.
کودکی [ویرایش]
پاسکال در سه سالگی مادرش را از دست داد و تحت آموزش پدرش قرار گرفت. کارهای اولیه پاسکال در علوم طبیعی و کاربردی بود که وی در آنجا نقشی مهم در ساخت ماشین حسابهای مکانیکی و مطالعه سیالات داشت. وی همچنین با عمومیت دادن کار ایوانگلیستا تریسلی نقشی مهم در توضیح مفهوم فشار و خلا نیز ایفا کرد. پاسکال همچنین در دفاع از روش علمی نوشتههای باارزشی دارد.
پاسکال به ایجاد دو زمینه جدید تحقیقاتی مهم کمک کرد. وی در ۱۶ سالگی رسالهای مهم در باب هندسه تصویری نوشت و در زمینه تئوری احتمال از ۱۶۵۴ با پیر دی فرمات مکاتباتی داشت، پاسکال همچنین تأثیر چشمگیری بر توسعه اقتصاد مدرن و علوم اجتماعی داشت.
او به دنبال تجربه یک وضعیت عرفان در ۱۶۵۴، کارهای علمی خود را رها کرد و خود را وقف فلسفه و الهیات کرد. دو اثر مشهور وی، Lettres provinciales و Pensées حاصل این دوران هستند. پاسکال سالهااز بیماری رنج میبرد و مرگ زود هنگام وی ۲ ماه پس از سی و نهمین سالروز تولدش به علایق و خواستههای او پایان داد.
دوران اولیه زندگی و تحصیلات [ویرایش]
پاسکال در منطقه کلرمانت-فراند در ناحیهِ Auvergneدر فرانسه متولد شد و در سن سه سالگی مادرش، آنتونیت بگن را از دست داد. پدرش، اتین پاسکال (۱۶۵۱-۱۵۸۸)، قاضی و عضو ''petite noblesse''بود و به علوم و ریاضی علاقه داشت. بلز پاسکال برادر ژاکلین پاسکال بود و دو خواهر دیگر داشت که تنها یکی ازآنها بنام گیلبرت دوران کودکی را به سلامت طی کرد.
در سال ۱۶۳۱، اتین به همراه فرزندانش به پاریس نقل مکان کرد. اتین با توجه به نبوغ فوقالعاده پسرش تصمیم به آموزش وی گرفت. پاسکال جوان در همان ابتدا استعداد خود را در ریاضیات و علوم طبیعی نشان داد، که شاید مکالمات همیشگی پدرش با عالمان برجسته علوم هندسه در پاریس از جمله رابروال، مرسن، دسارگوس، میدورگ، گاسندی و دسکارتس از جمله دلایل تمایل پاسکال بوده باشد. درسن یازده سالگی، وی رسالهای کوتاه درباره اصوات اجسام ارتعاشی نوشت و پدرش در جواب به این موضوع، مطالعه ریاضات را برای وی تا سن ۱۵ سالگی ممنوع کرد تا بلز از مطالعه لاتین و زبان یونانی بازنماند. با این وجود یکروز اتین متوجه شد که بلز(که در آن زمان ۱۲ سال داشت) با تکهای زغال بر روی دیوار، اثباتی مستقل در مورد اینکه مجموع زاویههای یک مثلث برابر است با دو زاویه قائمه نوشتهاست. ازآن زمان به بعد پاسکال اجازهِ مطالعه اقلیدس را داشت.
پاسکال علاقهای ویژه به مطالعه کارهای Descartes داشت. به دنبال مطالعه عقاید Descartes، پاسکال در سن ۱۶ سالگی رسالهای در باب مباحث مخروطیبنام ''Essai pour les coniques''(مقالهای درباره مخروطیها) نوشت. بخش اعظم این رساله اکنون از بین رفتهاست، ولی یک نتیجهِ مهم آن که به قضیه پاسکال معروف است به جای ماندهاست. کارهای پاسکال چنان با ارزش بودند که زمانی که دکارت دست نوشتههای وی را دید، نتوانست باور کند که این کارها توسط پدر پاسکال نوشته نشدهاند.
در سال ۱۶۳۸، مخالفت اتین با سیاستهای مالی کاردینال ریشیلیو خانوادهِ پاسکال را مجبور به فرار از پاریس کرد. تنها زمانی که ژاکلین در بازی بچهها با کاردینال ریشلو موفق عمل کرد، اتین بخشیده شد. در سال ۱۶۳۹، خانواده پاسکال به Rouen نقل مکان کردند و اتین در آنجا مامور جمعآوری مالیات شد.
در سن ۱۸ سالگی، پاسکال برای کمک به پدرش در انجام محاسباتش یک ماشینحساب مکانیکی ساخت که قادر به محاسبه جمع و تفریق بود و ماسینحساب پاسکال یا Pascaline نام گرفت. از جمله نمونههای اولیه این ماشینحساب در موزهZwinger در درسدن در آلمان قرار دارد. گرچه این ماشینحسابها در واقع مقدمه پیدایش مهندسی کامپیوتر بودهاند، اما آنها از لحاظ تجاری موفقیت چندانی بدست نیاوردند. طی دهه بعدی پاسکال طرح خود را ارتقاء داد و بیش از ۵۰ عدد از آنها را ساخت.
ابداعات در ریاضی [ویرایش]
علاوه بر دستاوردهای دوران کودکیش، پاسکال در بقیه دوران زندگیش نیز بر دانش ریاضی تأثیر گذاشت. در سال ۱۶۵۳، پاسکال رسالهای بنام «در باب مثلثات حساب» (به فرانسوی: Traité du triangle arithmétique) نوشت که در آن یک صورت جدولی راحت برای ضرایب دوجملهای شرح داد که امروزه مثلث پاسکال نامیده میشود. یانگ هو ریاضیدان چینی از سلسلهِ کین ۴ قرن پیش از پاسکال به مسالهای مشابه با مثلث پاسکال پرداخته بود.
در سال ۱۶۵۴ پاسکال تحت تأثیر یکی از دوستانش چوالیر دی مر که به مسائل قمار و شرط بندی علاقه داشت، با فرمت در این باب مکاتبه کرد و نتیجهِ آن مکاتبات تئوری احتمالات در ریاضی بود. و مشکل مورد نظر وی این بود که دو باریکن قمار که بازی را زودتر ترک میکنند، با توجه به وضعیت موجود بازی، میخواهند با توجه به شانسشان برای بردن بازی، سهام را عادلانه تقسیم کنند. از این مبحث نظر ارزش مورد انتظار بوجود آمد. پاسکال بعدها (در «تفکرات») از استدلالهای احتمالی استفاده میکرد، (شروط پاسکال)، تا ایمان و اعتقاد به خدا و زندگی زاهدانه را توجیح کند. کارهای ارزشمند فرمت و پاسکال در احتمالات و ریاضیات مبنایی بسیار مهم برای لایبنیتز در خلق فرمول ریاضیات بسخردی محسوب میشود. [۱]
پاسکال پس از تجربیات عرفانیش در سال ۱۶۵۴، کارها و مطالعات خود در ریاضییات را رها کرد. با این حال پس از یک شب بیخوابی کشیدن در سال ۱۶۵۸، او بصورت ناشناس جایزهای را برای تربیع سیکلوئید اختصاص داد. ژان والیس، هایجین، کریستفر ورن و چندی دیگر راهحلهایی را ارائه دادند. پاسکال هم تحت نامی مستعار راهحل خود را ارائه داد. پس از آنکه پاسکال خود را برنده اعلام کرد، مباحثات و مناقشات سختی در گرفت.
ابداعات در ریاضی [ویرایش]
دستاورد مهم پاسکال در ارتباط با فلسفهِ ریاضی مربوط به اثر وی بنام De l'Esprit géométrique (در باب مغهوم هندسه) بود که در ابتدا به عنوان مقدمهای برای کتاب هندسهِ برای یکی از مدارس معروف «مدارس کوچک پورترویال» (Les Petites-Ecoles de Port-Royal) نوشته شده بود. این کار برای مدت بیش از یک قرن از مرگ پاسکال انتشار نیافت.. در این اثر پاسکال به مسالهِ کشف حقایق پرداخت و عنوان کرد که بهترین راه برای این کار این است که تمامی موضوعات را در مورد حقایق از قبل اثبات شده پیدا کرد. در عین حال وی عنوان کرد که این کار غیر ممکن است چراکه برای اثبات این حقایق به اثبات رسیده به حقایق دیگری نیاز است و بنابراین اولین اصل قابل حصول نیست. بر این اساس، پاسکال عنوان کرد که روشهای مورد استفاده در علم هندسه با اصول خاص آن و درنظر گرفتن موضوعات مرتبط با آنها در حد امکان مناسب هستند . با این وجود راهی وجود نداشت که در مورد درستی اصول مطمئن شد.
پاسکال همچنین با استفاده از De l'Esprit géométrique یک تئوری در ارتباط با معنی بسط داد. وی دو گونه معنا را از هم متمایز ساخت، اولی معانی قراردادی هستند که توسط نویسنده طرح میشوند و دومی معانیای هستند که در داخل زبان هستند و همه آنها را میفهمند، و دلیل این است که مرجع به طور طبیعی مشخص است. نوع دوم ویژگی فلسفهِ ماهیتگراییاست. پاسکال ادعا کرد که تنها تعاریف گونهِ اول در مورد علوم و ریاضی مهم هستند و عنوان کرد که در این زمینهها باید فلسفهِ صورتگرایی مطروحه توسط دکارتز مورد استفاده قرار گیرد. درDe l'Art de persuader (در باب هنر قانعسازی)، پاسکال نگاهی دقیقتر به روش بدیهی هندسه داشت و خصوصا به این مورد پرداخت که چگونه مردم در مورد اصول بدیهیکه از آنها نتیجهگیری میکنند قانع میشوند. پاسکال با Montaigne هم عقیده بود که حصول اطمینان در مورد این بدیهیات و نتیجهگیری از طریق روشهای بشری غیرممکن است. وی اظهار داشت که این اصول تنها از طریق شهود قابل درک است و اینکه این حقیقت لزوم تسلیم در برابر خداوند برای رسیدن به حقایق را مورد تاکید قرار میدهد.
ابداعات در علوم فیزیکی [ویرایش]
مطالعات پاسکال در مورد سیالات (هیدرودینامیک و هیدروستاتیک) بر اساس اصول سیالات هیدرولیک بود.اختراعات او در این زمینه شامل فشار هیدرولیک (استفاده از فشار هیدرولیک برای افزایش نیرو) و سرنگ بود. در سال ۱۶۴۶، پاسکال از آزمایشها اوانجلیستا توریسلی[ در ارتباط با فشارسنج آگاهی یافت. وی این آزماشات را دوباره با استفاده از لولهای پر از جیوه تکرار کرد و این لوله را به صورت وارونه درون کاسهای از جیوه قرار داد و پاسکال این سئوال را مطرح کرد که چه نیرویی بخشی از جیوه را درون لوله نگهداشته و چه چیزی فضای بالای جیوه در لوله را پر کردهاست. در آن زمان اکثر عالمان بر این عقیده بودند که غیر از خلا مادهای نامرئی در آن فضا وجود دارد.
پاسکال بهدنبال انجام آزمایشها دیگری در این زمینه در سال ۱۶۴۷ پاسکال Experiences nouvelles touchant le vide ( تجربیات جدید از خلا) را نوشت که در آن قوانین اصلی در مورد میزان تأثیر فشار هوا بر مایعات مختلف عنوان شده بود. پاسکال همچنین دلایل این مساله را که چرا در بالای ستون مایعات در لوله بارومتر خلا وجود دارد را عنوان کرد.
در سال ۱۶۴۸، پاسکال مطالعات خود را در این زمینه ادامه داد و در همین راستا شوهرخواهرش یک بارومتر را به ارتفاعات بالا برد و این نکته به اثبات رسید که سطح جیوه تغییر میکند و پاسکال این آزمایش را با انتقال بارومتر به بالای برج یک کلیسا در پاریس و سپس به پایین آن تکرار کرد. این آزمایشها که در نهایت منجر به بنیاد نهادن اساس بارومترشد با تحسین مردم در سرتاسر اروپا مواجه شد.
درپاسخ به این نقدها که باید چیزی نامرئی در فضای خالیای که پایپسکال عنوان کرده وجود داشته باشد، پاسکال در پاسخ به استین نوئل یکی از مهمترین نظریات قرن هفده را در ارتباط با روش علمی ارائه داد: «برای اثبات یک فرضیه اینکه تمامی موارد مطابق آن باشند کافی نیست، اما اگر تنها یک مساله خلاف آن باشد، همان یک مورد برای نقض فرضیه مورد نطر کافی است» تاکید و پافشاری وی در مورد وجود خلا باعث اختلاف او با برخی دانشمندان مطرح زمان از جمله دسکارتس شد.
بزرگسالی، مذهب، فلسفه و ادبیات [ویرایش]
تغییر مذهب [ویرایش]
پاسکال در اثر اصلی خود Pensées موضعی برعلیه دین اسلام ومحمدبن عبدالله اتخاذکرد.اوعیسی مسیح ومحمدبن عبدالله راباهم مقایسه کرد، رابطهٔ آن دوراتضاداعلام نمودوبه بهشتی که درقرآن وصف شده تاخت.دریکی ازنسخههای منتشر شده ازPensées، فصلی هست مجزا تحت عنوانContre Mahomet.این جنبه ازتفکراواغلب، وبه خصوص درکشورهای اسلامی، نادیده گرفته شده.[نیازمند منبع]
با توجه به زندگی پاسکال میتوان گفت که دو مورد دلیل تغییر مذهب وی بودهاند: بیماری و یانسنگرایی. از حدود سن هجده سالگی بود که پاسکال به نوعی بیماری عصبی دچار شد که هر روزه وی را آزار میداد.در سال ۱۶۴۷، در پی یک حمله عصبی پاسکال دچار لمسی اندام شد، به طوریکه بدون استفاده ار عصا قادر به راه رفتن نبود. وی همیشه دچار سردرد بود و از آن پس همیشه مشکل سوزش روده و معده داشت، پاهای پاسکال همواره سرد بودند و برای جریان یافتن خون در آنها نیاز به کمک بیرونی بود، پاسکال برای گرم کردن پاهایش همواره جورابهایش را در شراب خیس میکرد. برای استفاده از روشهای درمانی بهتر وی به همراه خواهرش ژاکلین به پاریس رفت. سلامتی او بهبود یافت، اما سیستم عصبی پاسکال همچنان دچار مشکل بود. علاوه بر این وی دچار خودبیمار انگاری بود که تأثیر بسیاری بر شخصیت و نگرشش داشت. پاسکال بسیار عصبانی و تند خو شد و بسیار کم میخندید که این رفتارها از دید بعضی نشانههای غرور و سلطهجویی بودند. [۱] در سال ۱۶۴۵، لگن پدر پاسکال دچار آسیب دیدگی شد و در نتیجه وی تحت مراقبت یک دکتر یانسنگرا قرار گرفت. بلز اغلب با دکتر مکالماتی داشت و پس از درمان موفقیتآمیز پدرش از طریق وی کتابهایی از نویسندگان یانسنگرا به امانت گفت. در این دوره، پاسکال نوعی «دگرگونی اولیه» را تجربه کرد و طی سال پس از آن شروع به نوشتن درباره موضوعات دینی کرد.
پاسکال در این زمان احساس دوری از عقاید اولیه مذهبیش را داشت وطی چند سال این دوره را که به گفتهِ وی «دورهِ زمینی» بود سپری کرد. پدر پاسکال در سال ۱۶۵۱ از دنیا رفت و بهدنبال آن بلز اموال پدر را به ارث برد و سرپرست خواهرش ژاکلین شد که علیرقم میل برادر درهمان سال در پورت-رویال راهبه شد. زمانی که وقت سوگند پایانی ژاکلین بود، بلز از دادن پول ارث پدر به وی برای مخارج راهبه شدن(جهیزیه عروس مسیح) خوداری کرد. بدون پول، ژاکلین نمیتوانست موقعیت چندان مناسبی در دیر راهبهها داشته باشد. و به همین خاطر پاسکال نرم شد و تصمیم خود را عوض کرد. [۲]
پس از فراغت از امور خواهرش پاسکال دیگر هم آزاد بود و هم ثرتمند. وی یک خانه مجلل پر از خدم و حشم برای خود تهیه کرد و سوار بر کالسکهای با چهار و یا پنج اسب به پاریس میرفت. وی دوران فراغتش را با معاشرت با بذلهگویان، زنان و قماربازان (گواه کارهای وی در مورد حساب احتمالات است) سپری میکرد. زمانی وی یه دنبال یک بانوی زیبا و فهمیده در ناحیهِ اوورن بود که از آن بانو بنام سافوی دشت و صحرا یاد میکرد. [۳] در این زمان بود که پاسکال کتاب Discours sur les passions de l'amour («مکالمه در باب احساسات عاشقانه») را نوشت و به فکر ازدواج افتاد – که بعدها آنرا به عنوان «پستترین وضعیت زندگی که مسیحیان به آن مجاز شدهاند» شرح داد. [۴]
ژاکلین بلز را برای لهو ولعبش مورد نکوهش قرار داد و برای تغییر وی دعا کرد. در طی ملاقاتهایش با خواهرش در پورت رویال در سال ۱۶۵۴، وی امور دنیوی را خوار و حقیر عنوان میکرد ولی کششی به سوی خداوند نداشت. [۵]
77 انتظار متغير فايل مي رود
78 انتظار عبارت اشاره گر مي رود
79 انتظار عبارت صحيح و يا عبارت اعشاري مي رود
80 برچسب در داخل بلوك جاري نيست
81 برچسب قبلا تعريف شده
82 برچسب تعريف نشده در قسمت دستورالعمل قبلي
83 آرگومان غير قانوني @
84 انتظار Unit مي رود
85 انتظار ";" مي رود
86 انتظار ":" مي رود
87 انتظار "," مي رود
88 انتظار ")" مي رود
89 انتظار "(" مي رود
90 انتظار "=" مي رود
61 تغيير موقتي نوع داده ها غير قانوني است
62 تقسيم بر صفر
63 نوع فايل غير قانوني
64 متغيرهاي اين نوع را نمي تواند بخواند و يا بنويسد
65 انتظار متغير اشاره گر مي رود
66 انتظار متغير رشته اي مي رود
67 انتظار عبارت رشته اي مي رود
68 مراجعه واحد حلقوي دايره اي
69 ناسازگاري نام واحد
70 ناسازگاري نگارش واحد
71 سرريزي پشته داخلي
72 خطا در قالب فايل واحد
73 انتظار Implementation مي رود
74 نوع ثابت و نوع case سازگار نيستند
75 انتظار Record و يا متغير موضوعي مي رود
52 تعریف Extrn غیر قانونی
53 تعداد تعریف های Extrn بیش از اندازه زیاد است
54 انتظار Of می رود
55 انتظار Interface می رود
56 مراجعه جابجاپذیر (relocatable) غیرقانونی
57 انتظار Then می رود
58 انتظار To یا Downto می رود
59 شناسه بعدی Forward تعریف نشده است
60 تعداد روالها بیش از اندازه زیاد است
امتیاز دهی به دوره اول مسابقات رباتیک دانشگاه صنعتی امیرکبیر.
1- نظم که صفر بود
2- سطح داوری بسیار ضعیف
3- سطح برگزاری که نمی خوام بگم (سطحی نداشت که بگم)
4- سطح تیم ها که خوب بود
5- استقبال که نبود
6- خوابگاه همه رو بردن مسجد دانشگاه
7- زمان برگزاری با تاخیر 4 ساعته
8- اصلا معلوم نبود چی به چیه
9- پیش ثبت نام هم که مثل خودشون قاطی پاطی بود
در کل بهتره در این مسابقات شرکت نکنین. چرا عاقل کند کاری که باز آرد پشیمانی. شرکت در مسابقات رباتیک دانشگاه صنعتی امیرکبیر اشتباه محض هست. هنوز تو سال پیشش که کشوری بود موندن چه برسه به این که مثلا بین المللی هست.
من و کلیه تیم های استان تصمیم گرفتیم شرکت نکنیم
بخش اخبار که جدیدترین خبرهای مربوط به فوتبال آذربایجان رو در عرض تنها چند دقیقه در سایت قرار میده و می تونین به روزترین اخبار رو در این سایت مشاهده کنین
بخش تالار گفتمان شامل تالارهایی برای بحث و گفتگو درباره موضوعات متنوعی هستش
در بخش اخبار سایت های هواداران مطالب مربوط به دیگر سایت های هواداران فوتبال آذربایجان رو می تونین مشاهده کنین.
با عضویت در این سایت می تونین از امکانات بسیاری استفاده کنین که در دیگر سایت ها موجود نمی باشد
داشت یادم می رفت اونقدر راجع به سایت گفتم اینم لینکش www.traxtor.ir
اینم از لینک ثبت نام
کلیک کنیدبر روی ادامه مطلب کلیک کنید
ادامه مطلب
منبع : لینک دانلود از وبسایت رسمی سازمان ثبت اسناد و املاک کشور
نمیدانم سورنا چیست، چه قابلیتهایی دارد، و قرار است چه کارهایی بکند. اما همینقدر میدانم که آنچه در آن کلیپ خبری پخش شد، چیزی جز یک ربات ساده تعقیب خط نیست که به جای یک جعبه کوچک که معمولا به عنوان بدنه این رباتها استفاده میگردد، از یک هیبت ۱۶۰ سانتیمتری مشابه بدن آدمیزاد برای آن استفاده شده است. ضمنا یک بلندگوی ساده هم داخل آن تعبیه شده که متن از قبل ضبط شده ای را پخش میکند. فقط کافی است اطلاعات خیلی سطحی از رباتهای پیشرفته ای که در دنیا (و حتی در همین ایران خودمان) ساخته شده داشته باشید تا به سرعت دستگیرتان شود که سورنا (دست کم آنچه در آن خبرها نمایش داده شد) بیشتر به یک شوخی شبیه است.
شرم آور است که دستاورد بیش از ۱۰ سال فعالیت مستمر چند هزار دانشجو و دانش آموخته علاقمند ایرانی در حوزه رباتیک میشود یک ربات تعقیب خط! رباتیک در ایران، با وجود این علاقمندان بسیاری داشته و دارد که با عشق و علاقه در آن حوزه فعالیت میکنند، متاسفانه توسط گروهی نمایندگی میشود تنها به فکر گرفتن ماهی خویش از این آب گل آلود هستند. وقتی روابط عمومی فلان موسسه آموزش عالی، یا رییس فلان دانشگاه یا حتی فلان استاد دانشگاه سالی چند بار به دلایل مختلف در رادیو و تلویزیون و مطبوعات عالم و آدم را خبر میکنند که «آهای ملت! چه نشسته اید که رباتهای بچه هاتان قهرمان جام جهانی شده اند.»، دیگر چه توقعی دارید که دختر بیچاره ای خودش را ستاره دنباله دار ذهن کسی ننامد.
نیازی نیست ذکر کنم که در آن جلسه (که در ابتدا ذکر کردم) چقدر خجالت کشیدم، و چقدر تلاش کردم که نشان بدهم که من از آنها نیستم، و اینکه من اصلا به دلیل همین دروغ و دغل ها بود که عطای کار در این حوزه را به لقایش بخشیدم.
* * *
هنوز عرق شرم این واقعه از پیشانیم خشک نشده بود که دوست دیگری خبر هیجان انگیز دوم را به فهرست بلندبالایی از دوستان مشترک امان (همگی رباتیک کار) ارسال نمود. خبر را خودتان ببینید: «پدر علم هوش مصنوعي نوين در گفتگو با قدس: نخستين روبات انسان نماي سخنگوي ايراني بزودي رونمايي مي شود». از قضا این آقا قرار است مشاور رباتیک شهردار تهران هم بشود. خبرش را هم همشهری منتشر کرده.
ای کاش یک انجمن علمی، یا انجمن صنفی یا چیزی شبیه این در بین رباتیک بازان ایرانی تشکیل میشد که حداقل سخنگوی بدنه عاشق و علاقمند رباتیک ایران باشد. ای کاش به جای این بیانیه انجمن فیزیک ایران، دوستان کمیته کلی ربوکاپ ایران درباره این گونه اخبار موضع گیری میکردند. هرچند که رفتارها و موضع گیریهای این دوستان، خود بارزترین نمونه رفتارهایی است از این دست. آنجا که رییس این کمیته ملی، جلوی چشم صدها نفر از علاقمندان اعلام کرد که مسابقه ربوکاپ Iran Open آنقدر خوب است که مسابقات آمریکایی US Open را از دور خارج کرده است [!] ، به نظرتان انتظار موضع گیریهایی از جنس آنچه انجمن فیزیک انجام داده، انتظاری بیجا نیست؟
توضیح بعد از انتشار: بیانیه انجمن فیزیک مربوط به اخبار اخیر نیست. چند سال قبل منتشر شده. منظور از آوردن آن در این یادداشت، تاکید بر نوع نگاه حرفه ای است که در آن هست و ای کاش در جاهای دیگر نیز دیده شود.
به نقل از :http://aarashi.blogspot.com/
مي خوام مطالب وبلاگ رو ساماندهي كنم و موضوعات مطالب رو عوض كنم. هر كي پيشنهادي درباره وبلاگ داره مشتاقانه مي پذيرم
تو قسمت نظرات يه چيزي بنويس ديگه نامردي نكن
ولی آنچه مسلم است پادشاه هشتاد و چند ساله لیبی که مانند هنرپیشه های سینمایی هر روز گریم می کند دارای رفتارهای عجیبی است
مثلا گفته می شود او تا کنون در هیچ یک از دیدارهای رسمی یک لباس را دو بار نپوشیده است ، حال بماند که هر یک از لباسهای ایشان حکایت خاص خود را دارد و یا ایشان در اجلاس چند روز پیش سازمان ملل در نیویورک بجای استفاده از پانزده دقیقه وقت اختصاصی خود یکصد دقیقه سخنرانی نمود که بیش از نود دقیقه آن فحش و ناسزا بود. بطوریکه مترجم وی پس از سی و پنج دقیقه ترجمه همزمان کم آورد و شخص دیگری جایگزین او شد.

بد نیست بدانید سالها است که او جز در کاخ خودش در هیچ عمارت دیگری اقامت نمی کند و هر گاه برای سفرهای خارجی به دعوت روسای کشورهای دیگر به خارج از لیبی سفر میکند چادر و خیمه و خدم و حشم فراوان خود را به همراه می برد .

چند سال پیش در سفر به فرانسه در فضای سبز کاخ الیزه (یا ورسای) خیمه و بارگاه خود را برپا نمود و سوژه مناسبی برای خبرنگاران و مطبوعات شد و شایعات فراوانی را به دنبال داشت در سفر اخیر به نیویورک هم ابتدا در پارک ملی نیویورک چادر زدند که ماموران پلیس به دنبال اعتراض برخی از اهالی مبنی بر امنیتی شدن فضای پارک پلیس هیئت لیبیایی را مجبور به جمع کردن خیمه ها نمود و نهایتا هیئت لیبیایی فضای سبز چند هکتاری منزل یکی از ثروتمندان را در حومه نیویورک به مبلغ گزافی برای چند روز اجاره نمود و آنها چادر پادشاه لیبی را در این ملک برپا نمودند.

آنچه مسلم است پادشاه لیبی در سن هشتاد سالگی بسیار علاقه دارد که سوژه مطبوعات و رسانه ها باشد ولی شاید از همه جالب تر کادر حفاظتی و محافظین وی باشد ، کادر حفاظتی وی که بسیار ورزیده و جوان بوده پس از آزمونهای فراوان و گذراندن دوره های سخت انتخاب شده و بیش از چهارصد نفر می باشند که در شیفت های چهل نفره مسئول حفاظت از جان وی را برعهده دارند و در سفر نیویورک هنگامی که پادشاه لیبی برای خرید سوغاتی به یکی از فروشگاههای شهر نیویورک رفته بود این کاروان چهل نفره (البته به همراه تعداد بیشمار پلیسهای محلی) باعث راه بندان و ایجاد ترافیک در شهر نیویورک شد.
کادر حفاظتی ایشان که بر خلاف دیگر محافظین هیچگاه لباس شخصی (در حال شیفت و محافظت) نمی پوشند همگی از میان دختران مجرد انتخاب شده اند و تا زمانی که در خدمت هستند حق ازدواج ندارند.
اينم از وبسايت : http://rapidshare-search-engine.com/
http://www.olimex.com/pcb/dtools.html
ربات مسير ياب ويژه
1- طرح كلي
اين ربات قادر به تشخيص مسيرها و پيدا كردن مسير خود از روي تفاوت بازتاب نور مي باشد. ربات مسيرياب از سه قسمت الكترونيكي ، مكانيكي و برنامه نويسي تشكيل شده است. قسمت الكترونيكي ربات شامل سنسورها ، ميكروكنترلر ، منبع تغذيه و مدارات وقطعات ديگر مي باشد. قسمت مكانيكي شامل چرخ دنده ، بدنه و موتور ربات مي باشد كه ظاهر كلي و حركت ربات را تامين مي كند. برنامه نويسي كه هوش ربات را تامين كرده و تصميمات لازم را به صورت خودكار از روي مسير ربات در مورد حركت ربات مي گيرد برنامه نويسي شامل هوش مصنوعي و الگوريتم ربات مي باشد.
2- جزئيات
الف) الكترونيكي
قسمت الكترونيكي ربات از قطعات زير تشكيل شده است. شرح مختصري در مورد هر يك از قطعات آورده شده است.
· ATMEGA32 : يك ميكروكنترلر از نوع AVR سري ATMEGA بوده كه مغز ربات و مركز تصميم گيري آن مي باشد كه شامل 40 پايه كه 32 پايه به عنوان پايه هاي ورودي و خروجي مي باشد.ميكروكنترلر توسط برنامه اي كه براي آن نوشته شده است (در ادامه شرح مختصري داده خواهد شد) با توجه به ورودي هاي دريافتي از سنسورها تصميمات لازم را در خصوص جهت حركت و سرعت موتورهاي ربات مي گيرد.
· سنسور ON2179 : يك سنسور مادون قرمز بوده و از دو قسمت فرستنده و گيرنده مادون قرمز تشكيل شده است و وظيفه تشخیص مسیر را با توجه به تفاوت بازتاب نور از سطوح مختلف را دارا مي باشد. سنسور مادون قرمز تشخيص خود را از محيط پيرامون به صورت صفر و يك به ورودي ميكروكنترلر ATMEGA32 جهت تصميم گيري مي فرستد.
· ICLN324 : یک آی سی از نوع Op-Amp بوده که وظیفه تثبیت خروجی سنسورها را به منظور افزایش هرچه بیشتر قدرت ربات دارد.
· ICL298 : خروجی میکروکنترلر جریان لازم را به منظور حرکت موتورهای ربات نمی تواند تامین کند ، برای به حرکت در آوردن موتورها و تامین جریان لازم ، خروجی میکروکنترلر را توسط ICL298 تقویت کرده به موتورها می دهیم.
· دیود نورانی LED
· دیود IN4148
· IDC 14 Pin
· پتانسیومتر PT100K برای تنظیم فاصله دید سنسورها از سطح زمین
· LED بزرگ
· Pin Header
· Zif 40 Pin
ب) مکانیک ربات
موتور 800RPM حرکت ربات را تامین کرده و دستورات لازم را از میکروکنترلر توسط یک ICL298 می گیرد.
میله L برای نگهداری موتور
چرخ ربات
ج) برنامه نویسی ربات
برنامه ربات در کامپیوتر توسط نرم افزار CodeVision به زبان C نوشته شده و به وسیله پروگرمر STK200/300 به حافظه میکروکنترلر وارد می شود. برنامه ربات یکی از مهمترین قسمت های ربات بوده به طوریکه 2 ربات با مدارات مشابه می تواند عملکرد بسیار متفاوتی داشته باشد. برنامه ربات از روی الگوریتم ربات نوشته شده و هوش مصنوعی ربات را جهت تصمیم گیری مناسب از روی مسیر تامین می کند.
ج) مراحل ساخت ربات
1- آماده سازی سنسورها و نحوه قرارگیری آنها با توجه به قوانین مسیر داده شده.
2- نوشتن الگوریتم برنامه بر اساس داده های ورودی از سنسورها.
3- طراحی مدار ربات و تحلیل آن
4- طراحی بدنه ربات
5- مونتاژ بدنه ربات
6- مونتاژ مدار ربات
7- تست سنسورها و مدار
8- نوشتن برنامه ربات بر اساس الگوریتم نوشته شده و ترتیب قرار گیری سنسورها و نحوه اتصال آنها به میکروکنترلر به زبان C در محیط CodeVision
9- پروگرم کردن میکرو کنترلر ATMEGA32 توسط پروگرمر STK200/300
10- تست ربات به صورت دستی و تنظیم فاصله سنسورها با استفاده از پتانسیومتر
11- تست ربات و حرکت دادن در مسیر طراحی شده بر اساس قوانین داده شده.
12- اصلاح ساختار الگوریتم و یا برنامه در صورت نیاز
13- افزایش هرچه بیشتر سرعت ربات
14- انجام مراحل پایانی ساخت ربات
اين مستند که در 75 دقيقه خلاصه شده است بر محوريت پديده بودن تيم فوتبال تراکتورسازي و هواداران پرشور آن در ليگ برتر استوار است.
بر
اساس همين گزارش، باشگاه تراکتورسازي برنامه هاي فرهنگي بسياري را در دست
اجرا دارد و با رفع مشکلات مالي کارهاي فرهنگي اين باشگاه تداوم بيشتري
خواهد يافت.
ساخت فيلم تاريخچه تراکتورسازي يکي ديگر از برنامه هاي
فرهنگي اين باشگاه است که در آن تاريخچه چهل ساله تراکتور در اختيار
فوتبال دوستان و علاقه مندان تيم تراکتورسازي قرار مي گيرد تا هواداران با
پيشينه باشگاه خود بيشتر آشنا گردند.
سيدکاظم حسيني نامي کار نويسندگي و کارگرداني فيلم مستند "ت مثل تراکتور" رابر عهده داشت.
تغيير زمان 3 بازي ليگ برتر فوتبال
سازمان ليگ تصميم به تغيير در سه بازي ليگ در هفته بيست و هشتم تا سي ام گرفت كه به شرح زير است:ديدار تراكتور سازي تبريز و سپاهان از هفته بيست و هشتم كه قرار بود در تاريخ 14 اسفند برگزار شود در تاريخ 15 اسفند برگزار مي شود.
ديدار تراكتورسازي تبريز و استيل آذين از هفته بيست و نهم كه قرار بود 22 اسفند برگزار شود در تاريخ 21 اسفند برگزار مي شود.
ديدار استيل آذين و سپاهان از هفته سي ام كه قرار بود 14 فروردين برگزار شود در تاريخ 15 فروردين 89 برگزار مي شود.
سايت فدراسيون دليل تغيير زمان اين سه بازي را اعلام نكرده است.
شفق:۵ بازيكن تيم اميد، لياقت بازي در ليگ برتر را دارند
مديرعامل باشگاه فرهنگي و ورزشي تراكتورسازي تبريز گفت: حداقل 5 بازيكن تيم اميد ما لياقت بازي در ليگ برتر را دارند.ناصر شفق در گفت وگو با خبرنگار خبرگزاري دانشجويان ايران (ايسنا) منطقه آذربايجان شرقي، تصريح كرد: تيم اميد تراكتورسازي كه سال گذشته عنوان قهرماني ليگ برتر را كسب كرده اند از بازيكنان بسيار آماده و قبراقي سود مي برد كه در جام حذفي نيز شايستگي هاي خود را به نمايش گذاشتند.
وي يادآور شد: اگر تيم تراكتورسازي در ليگ برتر طي هفته هاي آتي به جايگاه صددرصد تثبيت شده و بدون تغييري دست يابد نفرات تيم اميد مي توانند در ادامه ليگ برتر به ميدان آمده و لياقت خود را نشان دهند.
شفق اضافه كرد: در جريان ديدار تيم هاي تراكتور و فولاد گستر در جام حذفي تعدادي از بازيكنان تيم اميد بسيار اميدواركننده ظاهر شدند كه از جمله آنها مي توان به اسامي نفراتي همچون دباغ، نريمان، غروي، لطفي و ابراهيم زاده اشاره كرد.
وي گفت: به دليل حضور شايسته بازيكنان تيم اميد در جام حذفي به هر يك از نفرات مبلغ يك ميليون ريال پاداش در نظر گرفته شده است.
بقیه در ادامه مطلب
ادامه مطلب
یک شبی مجنون نمازش را شکست
عشق آن شب مست مستش کرده بود
فارغ از جام الستش کرده بود
سجده ای زد بر لب درگاه او
پر زلیلا شد دل پر آه او
گفت یا رب از چه خوارم کرده ای
بر صلیب عشق دارم کرده ای
جام لیلا را به دستم داده ای
وندر این بازی شکستم داده ای
نشتر عشقش به جانم می زنی
دردم از لیلاست آنم می زنی
خسته ام زین عشق، دل خونم مکن
من که مجنونم تو مجنونم مکن
مرد این بازیچه دیگر نیستم
این تو و لیلای تو ... من نیستم
گفت: ای دیوانه لیلایت منم
در رگ پیدا و پنهانت منم
سال ها با جور لیلا ساختی
من کنارت بودم و نشناختی
عشق لیلا در دلت انداختم
صد قمار عشق یک جا باختم
کردمت آوارهء صحرا نشد
گفتم عاقل می شوی اما نشد
سوختم در حسرت یک یا ربت
غیر لیلا برنیامد از لبت
روز و شب او را صدا کردی ولی
دیدم امشب با منی گفتم بلی
مطمئن بودم به من سرمیزنی
در حریم خانه ام در میزنی
حال این لیلا که خوارت کرده بود
درس عشقش بیقرارت کرده بود
مرد راهم باش تا شاهت کنم
صد چو لیلا کشته در راهت کنم.
said_83_2004@yahoo.com
said.83.2004@gmail.com
من خیلی کم به نظرات وبلاگ نگاه می کنم اگه دیر بشه شرمنده می شم واسه همین ایمیل بزنین تا به درخواستتون رسیدگی بشه
من 3 سال پیش این وبلاگ رو به کمک دوستان راه انداختم ولی الان دیگه کسی کمکم نمی کنه و دست تنها شدم واسه همینم خیلی کم سر می زنم اگه خواسته ای داشتین ایمیل بزنین تا رسیدگی بشه
با اين حال خواست كه با پيشگويان معبد دلفي يونان مشورت كند.
پيشگو گفت:"مقدر شده است كه امپراتوري بزرگي به دست تو ويران شود."
كروسوس با شادماني اعلان جنگ كرد.
پس از دو روز نبرد،لوديه مغلوب ايرانيان شد،پايتختش قلع و قمع شد و كروسوس نيز به اسارت درآمد.
او خشمگين از سفيرش خواست تا به يونان برود و به كاهنان معبد دلفي بگويد كه در پيشگوييش چقدر به خطا رفته است.
كاهن به سفير گفت:"نه،آن كه اشتباه مي كرد تو بودي.
تو امپراتوري بزرگي را نابود كردي:لوديه."!
کودكي ده ساله كه دست
چپش به دليل يك حادثه رانندگي از بازو قطع شده بود، براي تعليم
فنون رزمي جودو به يك استاد سپرده شد...
پدر كودك اصرار داشت استاد از فرزندش يك قهرمان جودو بسازد!
استاد پذيرفت و به پدر كودك قول داد كه يك سال بعد مي تواند فرزندش
را در مقام قهرماني كل باشگاهها ببيند.
در طول شش ماه استاد فقط روي بدن سازي كودك كار كرد و در عرض اين
شش ماه حتي يك فن جودو را به او تعليم نداد.
بعد از شش ماه خبر رسيد كه يك ماه بعد مسابقات محلي در شهر برگزار
مي شود.
استاد به كودك ده ساله فقط يك فن آموزش داد و تا زمان برگزاري
مسابقات فقط روي آن تك فن كار كرد.
سر انجام مسابقات انجام شد و كودك توانست در ميان اعجاب همگان ، با
آن تك فن همه حريفان خود را شكست دهد!
سه ماه بعد كودك توانست در مسابقات بين باشگاهها نيز با استفاده از
همان تك فن برنده شود.
وقتي مسابقات به پايان رسيد، در راه بازگشت به منزل، كودك از استاد
راز پيروزي اش را پرسيد.
استاد گفت: "دليل پيروزي تو اين بود كه اولا به همان يك فن به خوبي
مسلط بودي.
ثانيا تنها اميدت همان يك فن بود و سوم اينكه تنها راه شناخته شده
براي مقابله با اين فن، گرفتن دست چپ حريف بود، كه تو چنين دستي
نداشتي!
ياد بگير كه در زندگي، از نقاط ضعف خود به عنوان نقاط قوت استفاده
كني.
راز موفقيت در زندگي، داشتن امكانات نيست، بلكه استفاده از "بي
امكاني" به عنوان نقطه قوت است.
زنی از خانه بیرون آمد و
سه پیرمرد را با چهره های زیبا جلوی در دید.
به آنها گفت: « من شما را نمی شناسم ولی فکر می کنم گرسنه باشید،
بفرمائید داخل تا چیزی برای خوردن به شما بدهم.»
آنها پرسیدند:« آیا شوهرتان خانه است؟»
زن گفت: « نه، او به دنبال کاری بیرون از خانه رفته.»
آنها گفتند: « پس ما نمی توانیم وارد شویم منتظر می مانیم.»
عصر وقتی شوهر به خانه برگشت، زن ماجرا را برای او تعریف کرد.
شوهرش به او گفت: « برو به آنها بگو شوهرم آمده، بفرمائید داخل.»
زن بیرون رفت و آنها را به خانه دعوت کرد. آنها گفتند: « ما با هم داخل
خانه نمی شویم.»
زن با تعجب پرسید: « چرا!؟» یکی از پیرمردها به دیگری اشاره کرد و
گفت:« نام او ثروت است.» و به پیرمرد دیگر اشاره کرد و گفت:« نام او
موفقیت است. و نام من عشق است، حالا انتخاب کنید که کدام یک از ما وارد
خانه شما شویم.»
زن پیش شوهرش برگشت و ماجرا را تعریف کرد. شوهـر گفت:« چه خوب، ثـروت
را دعوت کنیم تا خانه مان پر از ثروت شود! » ولی همسرش مخالفت کرد و
گفت:« چرا موفقیت را دعوت نکنیم؟»
فرزند خانه که سخنان آنها را می شنید، پیشنهاد کرد:« بگذارید عشق را
دعوت کنیم تا خانه پر از عشق و محبت شود.»
مرد و زن هر دو موافقت کردند. زن بیرون رفت و گفت:« کدام یک از شما عشق
است؟ او مهمان ماست.»
عشق بلند شد و ثروت و موفقیت هم بلند شدند و دنبال او راه افتادند. زن
با تعجب پرسید:« شما دیگر چرا می آیید؟»
پیرمردها با هم گفتند:« اگر شما ثروت یا موفقیت را دعوت می کردید، بقیه
نمی آمدند ولی هرجا که
عشق است
ثروت و
موفقیت هم
هست! »
شاید مادرزنتون بخواد شما رو هم امتحان کنه:
زنى سه دختر داشت که هر سه ازدواج کرده بودند.
یکروز تصمیم گرفت میزان علاقهاى که دامادهایش به او دارند را ارزیابى کند.
یکى از دامادها را به خانهاش دعوت کرد و در حالى که در کنار استخر قدم مىزدند از قصد وانمود کرد که پایش لیز خورده و خود را درون استخر انداخت.
دامادش فوراً شیرجه رفت توى آب و او را نجات داد.
فردا صبح یک ماشین پژو ٢٠٦ نو جلوى پارکینگ خانه داماد بود و روى شیشهاش نوشته بود: «متشکرم! از طرف مادر زنت»
زن همین کار را با داماد دومش هم کرد و این بار هم داماد فوراً شیرجه رفت توى آب وجان زن را نجات داد.
داماد دوم هم فرداى آن روز یک ماشین پژو ٢٠٦ نو هدیه گرفت که روى شیشهاش نوشته بود: «متشکرم! از طرف مادر زنت»
نوبت به داماد آخرى رسید.
زن باز هم همان صحنه را تکرار کرد و خود را به داخل استخر انداخت.
امّا داماد از جایش تکان نخورد.
او پیش خود فکر کرد وقتش رسیده که این پیرزن از دنیا برود پس چرا من خودم را به خطر بیاندازم.
همین طور ایستاد تا مادر زنش درآب غرق شد و مرد.
فردا صبح یک ماشین بىامو کورسى آخرین مدل جلوى پارکینگ خانه داماد سوم بود که روى شیشهاش نوشته بود: «متشکرم! از طرف پدر زنت»
(با تشکر از امیر بخاطر ارسال این مطلب)
(با تشکر از مهدی بخاطر ارسال این مطلب)

با اون ميشه يه خونه خريد،

ولي نميشه باهاش محل آسايش خريد.
ميتوني باهاش ساعت بخري،

ولي نميتوني باهاش فرصت بخري.
من ميتونم با پول برات مقام و درجه بخرم،
ولي احترام را نمیتونم واسهت بخرم.
ميتونم برات يه رختخواب بخرم،

ولي خواب خريدني نيست!
ميشه باهاش كتاب خريد.

ولي دانش و معرفت را نميشه.
اون ميتونه واسه تو دارو تهيه كنه،

اما تندرستي را نميتونه.
با پول ميشه خون تهيه كرد،

ولی زندگی خريدنـی نيست.
.
.
.
.
.
بنابراين ميبيني كه پول همه چيز نيست.
و اغلب هم باعث ايجاد رنج و زحمت ميشه.
من اينا را بهت گفتم، چون من دوست تو هستم
و به عنوان يه دوست ميخوام كه رنج و زحمت را ازت دور كنم.
بنابراین
هر چی پول داری، بفرست واسه من !!
و من رنج داشتن اونو به جاي تو تحمل ميكنم.
(لطفاً فقط وجه نقد بفرست و گوشه هاش هم حتما سالم باشه!)
