سلام دوستان.
خسته نباشید
امیدواریم بهتون تا اینجای عید خوش گذشته باشه ..
معذرت خواهی می کنیم که این قسمت دیر خدمت رسیدیم .. در عوض این قسمت از عیدانه رو فردا صبح به پایان می رسونیم و قسمت بعدی رو فردا بعدازظهر تقدیم حضورتون خواهیم کرد ..
با ما همراه باشید 🌹🌹
خسته نباشید
امیدواریم بهتون تا اینجای عید خوش گذشته باشه ..
معذرت خواهی می کنیم که این قسمت دیر خدمت رسیدیم .. در عوض این قسمت از عیدانه رو فردا صبح به پایان می رسونیم و قسمت بعدی رو فردا بعدازظهر تقدیم حضورتون خواهیم کرد ..
با ما همراه باشید 🌹🌹
زبان برنامهنویسی رایانه ای پاسکال یکی از زبانهای مشهور برنامهنویسی سطح بالای متداول است. پاسکال به عنوان زبان ساده شده زبان ALgOL طراحی شد و مقاصد آموزشی داشت. این زبان توسط نیکلاوس ویرت (Niklaus Wirth) پروفسور دانشگاه پلی تکنیک زوریخ در سوییس در سالهای ۱۹۶۸ و ۱۹۶۹ طراحی شد و در سال ۱۹۷۰ به عنوان یک زبان کارآمد و کوچک به منظور پیش برد و توسعه مهارتهای برنامهنویسی با استفاده از برنامهنویسی ساختیافته و ساختمان دادهها، منتشر گردید. نام زبان پاسکال از نام بلز پاسکال، ریاضیدان فرانسوی، الهام گرفته شده است. پاسکال یک زبان برنامهنویسی امری و ساختیافته تأثیر گذار میباشد که از خصوصیات این زبان میتوان به سادگی فراگیری آن اشاره کرد.
استاندارد این زبان برنامهنویسی در سال ۱۹۸۳ نوشته شده است و دو سازمان IEEE و ANSI آن را تائید کردهاند. هم اکنون این زبان بیشتر بهعنوان زبان برنامهنویسی آموزشی برای مبتدیان در دانشگاهها تدریس میشود. سادگی و تجرید خوب این زبان امکان برنامهنویسی راحت بدون نیاز به آگاهی از ساختارهای پیچیدهٔ زیرین سیستمعامل را میدهد.
یک نسخه برگرفته از پاسکال که با عنوان Object Pascal شناخته میشود، برای برنامهنویسی شی گرا طراحی شد.
استاندارد این زبان برنامهنویسی در سال ۱۹۸۳ نوشته شده است و دو سازمان IEEE و ANSI آن را تائید کردهاند. هم اکنون این زبان بیشتر بهعنوان زبان برنامهنویسی آموزشی برای مبتدیان در دانشگاهها تدریس میشود. سادگی و تجرید خوب این زبان امکان برنامهنویسی راحت بدون نیاز به آگاهی از ساختارهای پیچیدهٔ زیرین سیستمعامل را میدهد.
یک نسخه برگرفته از پاسکال که با عنوان Object Pascal شناخته میشود، برای برنامهنویسی شی گرا طراحی شد.
💡قصد پروفسور ورث خلق یک زبان کار آمد بود (در هر دو مورد سرعت کامپایل و کد ساخته شده) که بر پایه به اصطلاح برنامهنویسی ساخت یافته (مفهومی که به تازگی محبوب شده است) باشد. اصول و ریشههای پاسکال برپایه زبان الگول ۶۰ پی ریزی شد، اما علاوه بر آن مفاهیم و مکانیزمهایی را مافوق اعداد و آرایههای الگول معرفی کرد که برنامه نویسان را قادر به تعریف انواع داده (ساختمان) پیچیده خودشان میکرد و همچنین ساخت ساختمان دادههای بازگشتی و پویا مانند لیستها، درختها و گرافها را آسانتر مینمود.
⭐️امکانات مهم که برای این امور اضافه شده بود، رکوردها، شمارشها، زیر حوزهها، متغیرهای اختصاص داده شده پویا همراه اشاره گرهای وابسته و مجموعهها میباشد. برای تحقق و معنی دار کردن این امر، پاسکال یک سیستم تایپ دهی قوی روی تمام اشیا دارد، به این معنی که یک نوع داده نمیتواند بدون تبدیل صریح، به عنوان نوع دیگر تفسیر و یا تبدیل شود. امروزه در بسیاری از زبانهای برنامهنویسی مکانیزمهای مشابهی به صورت استاندارد میباشند. زبانهای دیگر که از توسعه پاسکال تأثیر گرفتند، کوبول، سیمولا ۶۷ و Algol W خود آقای Wirth میباشند.
پاسکال مانند بسیاری از زبانهای اسکریپتی امروزه (اما بر خلاف زبانهای خانواده C) به تعریف پروسههای تودرتو تا هر عمقی و همچنین اکثر انواع تعریفها و اعلانها درون پروسهها و توابع اجازه میدهد. این امر یک نحو خیلی ساده و منسجم را امکانپذیر می سازدکه یک برنامه کامل از نظر نحوی، خیلی نزدیک به یک تابع و یا پروسه تنهاست (البته به استثنای خود کلمه کلیدی).
⭐️امکانات مهم که برای این امور اضافه شده بود، رکوردها، شمارشها، زیر حوزهها، متغیرهای اختصاص داده شده پویا همراه اشاره گرهای وابسته و مجموعهها میباشد. برای تحقق و معنی دار کردن این امر، پاسکال یک سیستم تایپ دهی قوی روی تمام اشیا دارد، به این معنی که یک نوع داده نمیتواند بدون تبدیل صریح، به عنوان نوع دیگر تفسیر و یا تبدیل شود. امروزه در بسیاری از زبانهای برنامهنویسی مکانیزمهای مشابهی به صورت استاندارد میباشند. زبانهای دیگر که از توسعه پاسکال تأثیر گرفتند، کوبول، سیمولا ۶۷ و Algol W خود آقای Wirth میباشند.
پاسکال مانند بسیاری از زبانهای اسکریپتی امروزه (اما بر خلاف زبانهای خانواده C) به تعریف پروسههای تودرتو تا هر عمقی و همچنین اکثر انواع تعریفها و اعلانها درون پروسهها و توابع اجازه میدهد. این امر یک نحو خیلی ساده و منسجم را امکانپذیر می سازدکه یک برنامه کامل از نظر نحوی، خیلی نزدیک به یک تابع و یا پروسه تنهاست (البته به استثنای خود کلمه کلیدی).
⚡️پاسکال در شکل اصلی خودش به طور خالص یک زبان رویهای است و دارای آرایش سنتی الگول است که شبیه ساختارهای کنترل به همراه کلمات رزروشده همچون if,then,else,while,for و ... میباشد. با این حال پاسکال بسیاری امکانات ساخت یافته دادهای و انتزاعی را داراست که در الگول ۶۰ اصلی موجود نبودند. مانند تعاریف نوعها، رکوردها، اشاره گرها، شمارشها و مجموعهها. یک همچنین ساختارهایی تا یک اندازه از Simula 67 ،Algol 68، Algol W خود آقای Wirth و پیشنهادها C.A.R. Hoare الهام گرفته شده و یا به ارث برده شدند.
تاکنون دهها زبان برنامه نویسی مختلف در جهان به وجود آمده و از بین رفتهاند که هر یک از آنها دارای مزایا و معایبی بودهاند، زبان پاسکال نیز همانند دیگر زبانهای برنامه نویسی دارای مزایا و معایبی است. مزایای زبان پاسکال از معایب آن بیشتر است و این امر باعث دوام چند دههای آن شده است.
💡از مهمترین مزایای پاسکال، قابل فهم بودن دستورات آن میباشد، چرا که دستورات پاسکال به زبان محاورهای نزدیک هستند.
💡مزیت دیگر زبان پاسکال، داشتن توابع کتابخانهای است که باعث ایجاد سرعت و سهولت در برنامه نویسی میگردد. توابع کتابخانهای در حقیقت زیر برنامههایی هستند که از قبل نوشته شدهاند و شما میتوانید از آنها در برنامههایتان استفاده کنید. برای مثال اگر بخواهید قدرمطلق عددی را به دست آورید میتوانید از تابع مربوطه که از قبل نوشته شده است، استفاده کنید. همچنین از دیگر مزیتهای زبان پاسکال پشتیبانی از انواع اطلاعات میباشد و این مزیتی است که باعت برتری زبان پاسکال نسبت به بسیاری از زبانهای برنامه نویسی میگردد. زبان پاسکال از اعداد صحیح، اعداد اعشاری، کاراکترها، مجموعهها، آرایهها و . . . پشتیبانی میکند.
💡ساخت یافته (structure base) بودن زبان پاسکال نیز از مهمترین مزایای آن است. برنامه ساخت یافته به برنامهای گفته میشود که از بلوکهای پی در پی یا متداخل تشکیل شده باشد .
💡مزیت دیگر زبان پاسکال، داشتن توابع کتابخانهای است که باعث ایجاد سرعت و سهولت در برنامه نویسی میگردد. توابع کتابخانهای در حقیقت زیر برنامههایی هستند که از قبل نوشته شدهاند و شما میتوانید از آنها در برنامههایتان استفاده کنید. برای مثال اگر بخواهید قدرمطلق عددی را به دست آورید میتوانید از تابع مربوطه که از قبل نوشته شده است، استفاده کنید. همچنین از دیگر مزیتهای زبان پاسکال پشتیبانی از انواع اطلاعات میباشد و این مزیتی است که باعت برتری زبان پاسکال نسبت به بسیاری از زبانهای برنامه نویسی میگردد. زبان پاسکال از اعداد صحیح، اعداد اعشاری، کاراکترها، مجموعهها، آرایهها و . . . پشتیبانی میکند.
💡ساخت یافته (structure base) بودن زبان پاسکال نیز از مهمترین مزایای آن است. برنامه ساخت یافته به برنامهای گفته میشود که از بلوکهای پی در پی یا متداخل تشکیل شده باشد .
برنامه نویسی ساخت یافته دارای مزایای متفاوتی است:
💡با توجه به اینکه برنامه به قسمتهای کوچکتر تقسیم بندی میگردد، بنابراین اشکال زدایی (debugging) آن سادهتر خواهد بود.
💡خوانایی و درک برنامه سادهتر میگردد.
💡اعمال تغییرات در برنامه سادهتر انجام میگیرد.
💡با توجه به اینکه برنامه به قسمتهای کوچکتر تقسیم بندی میگردد، بنابراین اشکال زدایی (debugging) آن سادهتر خواهد بود.
💡خوانایی و درک برنامه سادهتر میگردد.
💡اعمال تغییرات در برنامه سادهتر انجام میگیرد.
آخرین مزیتی را که میتوان مورد اشاره قرار داد، داشتن محیط مجتمع برنامه نویسی است که به طور خلاصه به آن IDE گفته میشود. مترجم پاسکال قابلیت ترجمه برنامهها را در دو حالت مجتمع و خط فرمان دارا میباشد. در حالت اول میتوان برنامه را درون ویراستار مخصوص پاسکال نوشته و اجرا کرد. این ویراستار دارای امکانات ویرایشی متعددی میباشد که موجب ایجاد سرعت و سهولت در نوشتن برنامه میگردد. در حالت دوم میتوان برنامه را با استفاده از هر ویراستاری تهیه نموده سپس عمل ترجمه را از طریق خط فرمان سیستمعامل ویندوز انجام داد. پس از ذکر مزایای زبان پاسکال بهتر است به معایب آن اشاره داشته باشیم. نداشتن قابلیت انعطاف، نداشتن قابلیت انتقال و عدم امکان تعریف رکورد با طول متغیر، از جمله معایب این زبان هستند.
Forwarded from آموزش برنامه نویسی - از مبتدی تا حرفه ای
اجازه بدید یک خلاصه از مباحث جلسه ی قبل رو خدمت شما عرض کنم . در جلسه ی گذشته با یکسری از تعاریف اولیه ی مرتبط با الگوریتم و فلوچارت آشنا شدیم و همچنین ویژگی های الگوریتم رو بیان کردیم . کمی هم درباره ی کارآمدی الگوریتم مطالبی ارائه کردیم .
Forwarded from آموزش برنامه نویسی - از مبتدی تا حرفه ای
اما در این جلسه به طور کلی میخوایم درباره ی کارآمدی الگوریتم صحبت کنیم . همونطور که گفته شد ، ملاک و معیار کارایی یک الگوریتم ، پیچیدگی زمانی و پیچیدگی فضاست . ما دراین سری از آموزش ها بیشتر درباره ی پیچیدگی زمانی صحبت میکنیم .
Forwarded from آموزش برنامه نویسی - از مبتدی تا حرفه ای
اما اجازه بدید کمی راجع به پیچیدگی فضا صحبت کنیم تا بعد مفصل بریم سراغ پیچیدگی زمانی
Forwarded from آموزش برنامه نویسی - از مبتدی تا حرفه ای
شبه کد زیر رو در نظر بگیرید :
Forwarded from آموزش برنامه نویسی - از مبتدی تا حرفه ای
float OP1(float a , float b , float c){
return a+b+c*a/a+c+2.0 ;
}
return a+b+c*a/a+c+2.0 ;
}
Forwarded from آموزش برنامه نویسی - از مبتدی تا حرفه ای
این برنامه یک عبارت خاصی رو محاسبه میکنه و نتیجه رو برمیگردونه. فضای مورد نیاز برای یک چنین برنامه ای شامل دو بخش ثابت و متغیر است . بخش ثابت ، مستقل از بعضی ویژگی های ورودی و خروجی هست و شامل فضای دستور العمل ، فضای لازم برای ذخیره ی کد برنامه ، فضای لازم برای متغیر های ساختاری با اندازه ی ثابت و ثابت ها و غیره هست . بخش متغیر هم شامل فضای لازم برای متغیر های ساختاری و تغییر پذیر برنامه هست که وابسته به نمونه ی موجود در مسئله هستن . همچنین این بخش شامل فضای لازم برای متغیر های مرجع و پشته ی بازگشتی هم هست .
Forwarded from آموزش برنامه نویسی - از مبتدی تا حرفه ای
فضای لازم برای هر برنامه ای مثل P رو اگر S(P) فرض کنیم ، میشه به صورت S(P)=c+sp نوشت که توی اون c یک مقدار ثابت هست و sp مشخصات نمونه ی مسئله هست .