GuilanCS | علوم کامپیوتر
1.04K subscribers
1.61K photos
60 videos
225 files
1.01K links
💻انجمن علمی علوم کامپیوتر دانشگاه گیلان

🔶اینستاگرام انجمن:https://instagram.com/csguilan

🔷ارتباط با دبیر انجمن(اسماعیل ذوالفقاری):
@anon7vip


🔗گروه دانشجویان:
Download Telegram
خب حالا همین ابتدا سوالی پیش میاد :
چرا با وجود اینکه سرعت کامپیوتر ها در حال افزایش هست و حافظه هم در حال ارزانتر شدن ، بررسی کارایی یک الگوریتم ضرورت پیدا میکنه ؟
جواب رو بایک مثال متوجه خواهیم شد :
در ریاضیات یکی از موضوعات کاربردی ، دنباله ی فیبوناچی هست . برای پیدا کردن یکی از جملات این دنباله 2 راه حل داریم . یکی الگوریتم بازگشتی هست و دیگری الگوریتم تکراری .
int fibo (int n )
{
if (n<=1)
return n;
else return fibo(n-1) + fibo (n-2) ;
}
☝️☝️☝️☝️ الگوریتم بازگشتی محاسبه ی جمله ی n ام دنباله ی فیبوناچی
int fibo (int n)
{
index i ;
int f[0.n];
f [0] = 0 ;
if (n>0) {
f [1] = 1;
for ( i=2; i<= n ; i++)
f[ i ] = f [i-1] + f [i-2] ;
} return f[n];
}
☝️☝️☝️☝️ الگوریتم تکراری محاسبه ی جمله ی n ام دنباله ی فیبوناچی
فرض کنیم بخوایم جمله ی 100 ام این دنباله رو حساب کنیم . اگر با الگوریتم تکراری اینکارو کنیم ، 101 نانو ثانیه طول میکشه در حالی که با الگوریتم بازگشتی اینکار در 13 روز انجام خواهد پذیرفت . اگر جمله ی 120 ام رو بخوایم حساب کنیم ، با الگوریتم تکراری 121 نانو ثانیه وقت میخوایم ولی با روش بازگشتی 36 سال طول میکشه ..!!!!!!

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


🌴🌱🌿🍀🍃🌷🌼🌸💐🌳🌲🎄🌵
This media is not supported in your browser
VIEW IN TELEGRAM
💎 معرفی زبان برنامه نویسی پایتون


🌴🌱🌿🍀🍃🌷🌼🌸💐🌳🌲🎄🌵
پایتون ، یک زبان برنامه‌نویسی همه منظوره، سطح بالا،شیءگرا و مفسر است که توسط خودو فان روسوم در سال ۱۹۹۱ در کشور هلند طراحی شد.

فلسفهٔ ایجاد آن تاکید بر دو هدف اصلی خوانایی بالای برنامه‌های نوشته شده و کوتاهی و بازدهی نسبی بالای آن است. کلمات کلیدی و اصلی این زبان به صورت حداقلی تهیه شده‌اند و در مقابل کتابخانه‌هایی که در اختیار کاربر است بسیار وسیع هستند.

بر خلاف برخی زبان‌های برنامه‌نویسی رایج دیگر که بلاک‌های کد در آکولاد تعریف می‌شوند (به‌ویژه زبان‌هایی که از گرامر زبان سی پیروی می‌کنند) در زبان پایتون از نویسه فاصله و جلوبردن متن برنامه برای مشخص کردن بلاک‌های کد استفاده می‌شود. به این معنی که تعدادی یکسان از نویسه فاصله در ابتدای سطرهای هر بلاک قرار می‌گیرند، و این تعداد در بلاک‌های کد درونی‌تر افزایش می‌یابد. بدین ترتیب بلاک‌های کد به صورت خودکار ظاهری مرتب دارند.

پایتون مدل‌های مختلف برنامه نویسی (از جمله شیء گرا و برنامه نویسی دستوری و تابع محور) را پشتیبانی می‌کند و برای مشخص کردن نوع متغییرها از یک سامانهٔ پویا استفاده می‌کند.

این زبان از زبان‌های برنامه نویسی مفسر بوده و به صورت کامل یک زبان شی‌گرا است که در ویژگی‌ها با زبانهای تفسیری پرل، روبی، اسکیم، اسمال‌تاک و تی‌سی‌ال مشابهت دارد و از مدیریت خودکار حافظه استفاده می‌کند.

پایتون پروژه‌ای آزاد و متن‌باز توسعه‌یافته‌است و توسط بنیاد نرم‌افزار پایتون مدیریت می‌گردد.
خودو فان روسوم
پایتون یک زبان برنامه نویسی چند پارادایمی است، شیء گرایی و برنامه نویسی ساخت یافته کاملاً تحت پوشش هستند و تعدادی از خصوصیات زبان‌های برنامه نویسی هستند که برنامه نویسی تابعی و ظاهر سازی را پشتیبانی می‌کنند. پایتون از تایپ پویا و یک ترکیبی از شمارش مرجع و یک حلقه کشف و بازیافت قسمت‌های هدر رفته حافظه برای مدیریت حافظه، استفاده می‌کند. یک ویژگی مهم پایتون تحلیل نام پویا است، که روش‌ها و نام متغیرها را در طول اجرای برنامه به هم ملحق می‌کند.

هدف دیگر طراحی زبان آسان کردن توسعه پذیری است. ماژول‌هایی که تازه ساخته شده‌اند، به‌سادگی در C و C++ نوشته می‌شوند. پایتون همچنین می‌تواند به عنوان زبان توسعه برای ماژول‌ها و کاربردهای موجود که به برنامه واسط قابل برنامه ریزی نیاز دارد، استفاده شود. این طرح که یک زبان هسته کوچک با یک کتابخانه استاندارد بزرگ و یک مفسر آسان توسعه پذیر همراه باشد، توسط Van Rossum بیان شد.

طرح پایتون به پشتیبانی محدود برای برنامه نویسی تابعی به شیوه لیسپ، ارائه شد. اگر چه، تشابه‌های عمده‌ای بین پایتون و زبان خانواده لیسپ وجود دارد. این کتابخانه دو ماژول دارد (تکرار و تابعی) که ابزارهای تابعی را با اقتباس از هسکل و ام‌ال استاندارد پیاده‌سازی می‌کند.

وقتی انتخاب‌هایی در روش‌شناسی کدها ارائه شد، پایتون نحوهای فراوان را کنار گذاشت. همچنان‌که با پرل، توسعه دهندگان پایتون فوراً یک فرهنگ یا ایدئولوژی را بر مبنای آنچه از یک زبان می‌خواهند، ترقی دادند، ساختار زبان‌ها زیبا، آشکار و ساده شد. Alex Martelli این مطلب را در کتاب خود قرار داد: “برای توضیح برخی مسائل، در فرهنگ پایتون تعریفی مطرح نشده‌است. «پایتون روش پرل را (بیش از یک روش در انجام آن وجود دارد) در طراحی زبان در حمایت از» باید یک راه – و ترجیحاً فقط یک راه – آشکار برای انجام آن وجود دارد." رد کرد.

پایتون از بهینه‌سازی بی موقع اجتناب کرد، و بعلاوه به هم جور کردن قسمت‌های غیر ضروری سی پایتون را که افزایش سرعت نهایی در هزینه را ارائه می‌کرد، رد کرد. آن گاهی اوقات با نام ' slow ' شناخته می‌شود. اگر چه، بیشتر مسائل چندان بحرانی نیستند، و همین‌طور سرعت سخت‌افزار کامپیوتر با سرعت نمائی رو به رشد است. وقتی سرعت یک مسئله باشد، برنامه نویسان پایتون بیشتر تلاش می‌کنند تا عملیات محدود را با بهبود الگوریتم یا تغییر ساختار داده، بهینه کنند.
💎پایان معرفی زبان برنامه نویسی پایتون


🌴🌱🌿🍀🍃🌷🌼🌸💐🌳🌲🎄🌵
دوستان عزیز.. به پایان این قسمت از عیدانه می رسیم .. انشاءالله فردا هم خدمت شما هستیم ..
ایام به کام شما باشه .. خدانگهدارتون 🌹
🎄🌲🌳🌿🌱🌴🍀🌺🌹🌷🌸🌼💐

پایان قسمت پنجم عیدانه ی علوم کامپیوتری
🔑#معرفی_سایت_های_مفید🔑

➡️Stackoverflow .com⬅️

سایت Stackoverflow در سال 2008 تاسیس شد که صرفاً پس از گذشت چند سال به محبوبیتی جهانی در میان توسعه دهندگان و برنامه نویسان کشورهای مختلف جهان قرار گرفت. به طور خلاصه، این سایت به عنوان بهترین مکانی است که برنامه نویسان می‌توانند به سؤال و جواب در مورد برنامه نویسی و طراحی سایت بپردازند. اگر قصد ورود به دنیای برنامه نویسی را دارید، بدون شک این سایت یکی از دوستان نزدیک شما خواهد شد!

🔻جالب است بدانيد که Stack Overflow‌ با ASP.NET‌ کار شده است. در زیر مي‌توانيد ليستي از زبان‌ها و فناوري‌هايي که براي ساخت Stack Overflow استفاده شده است را ببينيد.


#Stackoverflow
@GuilanCs
Forwarded from My Language World
💡ضرب المثل

⚡️The only answer to fools is silence!
جواب ابلهان خاموشی است!

⚡️You made a capital of it
از کاه کوه ساختن
⚡️To get out of bed on the wrong side
از دنده چپ برخاستن

به کانال آموزش زبان انگلیسی انجمن علمی علوم کامپیوتر دانشگاه گیلان بپیوندید .
https://telegram.me/Mylanguageworld

💎گرامر
💎لغت
💎ضرب المثل
💎اصطلاح
💎نکات نگارشی
💎زبان تخصصی کامپیوتر
💎 و............