وبلاگ دانشجویان کارشناسی رشته مهندسی کامپیوتر دانشگاه شهید رجایی ورودی ۹۴

برنامه نویسی بازگشتی 1

یکی از روش جالب برنامه نویسی ، برنامه سازی ریکرسیو ( recursive ) یا همون بازگشتیه .
در برنامه نویسی ، ما میتونیم در یک تابع ، توابع دیگه رو صدا بزنیم. در این حالت ، برنامه در این تابع متوقف میشه تا زمانی که مقدار تابع دوم محاسبه بشه و سپس ادامه پیدا میکنه. به مثال زیر توجه کنید : 
int sum2(int a ,int b)
{
	return a + b;
}
int sum3(int a,int b,int c)
{
	int temp = sum2(a, b);
	return sum2(temp , c);
}
در این جا ، اگر ما سه عدد را به تابع sum3 بدیم ، تابع در خط اول خودش متوقف میشه تا مقدار sum2 محاسبه بشه. بعد به خط دوم خودش میره و باز هم متوقف میشه تا باز هم مقدار این تابع محاسبه بشه.
با توجه به این حالت ، به نظر میرسد که مشکلی وجود نداره که تابعی را در خودش صدا بزنیم چون تابع قبلی متوقف میشه و تابع با مقادیر جدید اجرا میشه و بعد از محاسبه شدن این تابع با مقدار های جدید ، محاسبه تابع قبل ادامه پیدا میکنه.
به این حالت تابع بازگشتی میگن. یعنی صدا زدن تابعی در خودش. 
ادامه مطلب...
۱۶ فروردين ۹۵ ، ۰۰:۲۳ ۱ نظر موافقین ۲ مخالفین ۰
محمد قدوسی

محافظت از چشم | نیمه تاریک نور آبی!

نمیه تاریک نور آبی

« عکس از مقاله‌ ای که پایین‌تر معرفی شد برداشته شده »

صفحات نمایش همیشه برای آسیبی که به چشم می‌زنند چه برای رنگ، شدت نور و موارد دیگر مورد بحث بوده‌اند. برای ما دانشجویان کامپیوتر که روزانه چندین ساعت را پشت کامپیوتر می‌گذرانیم این تاثیر مهمتر و نگران کننده‌تر می‌شود ( البته عوامل دیگری مانند اندازه متن، فاصله از صفحه نمایش، نور محیط و غیره نیز بی‌تاثیر نیستند)

در این مطلب می‌خواهیم به بررسی نور آبی و تاثیر اون بر خواب و نحوه جلوگیری از اون بپردازیم.

ادامه مطلب...
۱۵ فروردين ۹۵ ، ۲۳:۱۸ ۲ نظر موافقین ۲ مخالفین ۰
محمد حسن ستاریان

آموزش کار با ویژوال استادیو _ 4

توی این قسمت میخوام یکم در باره argument های تابع مین صحبت کنیم و روش کار با اون ها.

اگه شما توی Dev تا حالا پروژه باز کرده باشید ، قطعا دیدید که وقتی کد جدید باز میکنی ، تابع main رو به این صورت مینویسه : 

int main(int argc, char** argv)

 حالا اینا چی هستن و چه معنی ای دارن؟

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

اول ببینیم این ها چی هستن. دو تا ورودی داریم : 
  1. یه عدد. این عدد تعداد ورودی هاست. 
  2. یه آرایه دو بعدی از کاراکتر. این آرایه ، حاوی تمام چیز هاییه که کاربر به تابع پاس داده. در حقیقت ، چند رشته هست. تعداد این رشته ها ، توی ورودی اول هست.
ادامه مطلب...
۱۳ فروردين ۹۵ ، ۱۲:۰۴ ۰ نظر موافقین ۲ مخالفین ۰
محمد قدوسی

سلام جهان !


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

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

ادامه مطلب...
۲۴ اسفند ۹۴ ، ۲۱:۴۶ ۰ نظر موافقین ۲ مخالفین ۰
محمد حسن ستاریان

سی پلاس پلاس در لینوکس - قسمت سوم

آموزش کار با vim – قسمت اول

Vim یه ادیتور قدرتمنده.همیشه در دسترسه و وقتی تو ترمینال کار می‌کنید، نیازی به باز کردن پنجره جدید نیست و همون جا می‌تونید ازش استفاده کنید. قابلیت سفارشی سازی زیادی داره تا اونطوری که خودتون میخواید ، اصلاحش کنید. طوری طراحی شده که نیازی به استفاده از ماوس نباشه و نیازی نیست برای جدا کردن دستتون از کیبورد انرژی مصرف کنید! 

ادامه مطلب...
۱۴ اسفند ۹۴ ، ۲۱:۰۱ ۰ نظر موافقین ۲ مخالفین ۰
محمد حسین خوش مهر

روش های موثر مطالعه، موفقیت شخصی و موفقیت مالی


بیشتر ما از روش‌های موثر مطالعه و یادگیری و همچنین مدیریت زمان آگاه نیستیم و بر آنها تسلط نداریم.

اگر شما هم مثل من در فکر تغییری در این زمینه هستید خوشحالم که می‌توانم با معرفی سایت college info geek کمکی به شما کرده باشم.


ادامه مطلب...
۱۲ اسفند ۹۴ ، ۲۲:۰۰ ۳ نظر موافقین ۲ مخالفین ۰
محمد حسن ستاریان

آموزش کار با ویژوال استادیو _ 3

این پست راجع به روش درست کردن سرایند شخصی میخوام توضیح بدم. 
 
 یه موضوع که خیلی به کارتون میاد. . . 
 
این کار خیلی به دردتون میخوره . شما میتونید توابع مورد نیاز ، کلاس های مورد نیاز و .... رو توی یه سرایند بزارید ، کد های مهم رو نگه دارید و یا حتی به کسی امکان استفاده از کدتون رو بدید. بدون این که اون بتونه کار شما رو بدزده ( توابعتونو عوض کنه مثلا ).
همچنین توی کار های گروهی ، هر فردی یه بخش از کار رو داره و برای راحتی میتونه اونو توی یه سرایند قرار بده و به فرد بالا دستیش بده تا اونا رو کنار هم بزاره.
ادامه مطلب...
۲۷ بهمن ۹۴ ، ۰۰:۱۹ ۰ نظر موافقین ۳ مخالفین ۰
محمد قدوسی

آموزش کار با ویژوال استادیو _ 2

تا اینجا یاد گرفتیم یه برنامه رو توی ویژوال استادیو بسازیم. ( آموزش قبلی )
حالا میخوایم به یکی از سخت ترین جنبه های برنامه نویسی بپردازیم. . . . 

باگ  😱😱😱😱😱😱

باگ ها معمولا برای همه پیش میان و وقت و انرژی زیادی پیدا کردن و رفع کردنشون میگیره
یکی از بهترین راه ها برای پیدا کردن باگ ، خروجی گرفتن از برنامه ست. 
قبل از if ، داخل if ، بعد از if و .... همه جا خروجی بگیرید از برنامه تا مطمئن بشید که داره درست کار میکنه. اما به مشکلی که هست اینجا اینه که صفحه console 300 خط تقریبا بیشتر حافظه نداره و پر میشه. ضمنان شما گاهی اوقات به مشکلاتی می خورید از قبیل هنگ کردن برنامه . شاید هم شما دارید یه سرایند می سازید؛ خب در این صورت شما نمی تونید اصلا برنامه رو اجرا کنید تا خروجی بگیرید.

یه راه خیلی خوب، استفاده کردن از break point هاست. دایره های قرمز دوست داشتنی ای که به ما در رفع باگ کمک میکنن.break point خیلی خیلی ساده عمل میکنه. 

ادامه مطلب...
۲۲ بهمن ۹۴ ، ۲۳:۰۸ ۰ نظر موافقین ۲ مخالفین ۰
محمد قدوسی

سی پلاس پلاس در لینوکس - قسمت دوم

این پست به طور مستقیم به cpp مربوط نمیشه؛ ولی از اون جایی که برای برنامه نویسی و هر کار دیگه ای تو لینوکس باید یه سری مقدمات رو بلد باشید، تصمیم گرفتم تو این قسمت یه کم در باره ی کار با فایل‌ ها تو ترمینال بگم.

ادامه مطلب...
۲۲ بهمن ۹۴ ، ۲۰:۵۱ ۰ نظر موافقین ۱ مخالفین ۰
محمد حسین خوش مهر

آموزش نصب ubuntu روی vmware و اجرای یک برنامه cpp

زحمت این پست رو آقای کسری قاسمی کشیدن. من خودم تا حالا با vmware کار نکرده بودم, که با این ویدیو کارم راه افتاد. پیشنهاد میکنم حتما دانلود کنید.

اصل مطلب:


سلام دوستان. براتون یک ویدیو درست کردم که امیدوارم لذت ببرید. این ویدیو اموزش نصب ubuntu روی wmwere و زدن کد ++c توی terminal هست.سعی کردم این ویدیو رو طوری درست کنم که بسیار ساده و قابل فهم باشه. طوری که اگه برای اولین بار با این برنامه ها کار میکنید, به راحتی بتونید این فرایند رو خودتون انجام بدید. امیدوارم که مورد پسندتون واقع باشه.





دریافت
مدت زمان: 8 دقیقه 13 ثانیه 

۱۷ بهمن ۹۴ ، ۲۲:۳۵ ۰ نظر موافقین ۱ مخالفین ۰
محمد حسین خوش مهر